diff --git a/sapl/api/views.py b/sapl/api/views.py
index b9f0a2403..7a7579a01 100644
--- a/sapl/api/views.py
+++ b/sapl/api/views.py
@@ -3,6 +3,7 @@ import logging
from django import apps
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
+from django.core.exceptions import FieldError
from django.db.models import Q
from django.db.models.fields.files import FileField
from django.utils.decorators import classonlymethod
@@ -26,10 +27,11 @@ from sapl.base.models import Autor, AppConfig, DOC_ADM_OSTENSIVO
from sapl.materia.models import Proposicao, TipoMateriaLegislativa,\
MateriaLegislativa, Tramitacao
from sapl.norma.models import NormaJuridica
+from sapl.painel.models import Cronometro
from sapl.parlamentares.models import Parlamentar
from sapl.protocoloadm.models import DocumentoAdministrativo,\
DocumentoAcessorioAdministrativo, TramitacaoAdministrativo, Anexado
-from sapl.sessao.models import SessaoPlenaria, ExpedienteSessao
+from sapl.sessao.models import SessaoPlenaria, ExpedienteSessao, SessaoPlenariaPresenca
from sapl.utils import models_with_gr_for_model, choice_anos_com_sessaoplenaria
@@ -514,7 +516,6 @@ class _SessaoPlenariaViewSet:
@action(detail=False)
def years(self, request, *args, **kwargs):
years = choice_anos_com_sessaoplenaria()
-
serializer = ChoiceSerializer(years, many=True)
return Response(serializer.data)
@@ -533,6 +534,21 @@ class _SessaoPlenariaViewSet:
return Response(serializer.data)
+ @action(detail=True, methods=['GET'])
+ def parlamentares_presentes(self, request, *args, **kwargs):
+ sessao = self.get_object()
+ parlamentares = Parlamentar.objects.filter(sessaoplenariapresenca__sessao_plenaria=sessao)
+
+ page = self.paginate_queryset(parlamentares)
+ if page is not None:
+ serializer = SaplApiViewSetConstrutor.get_class_for_model(
+ Parlamentar).serializer_class(page, many=True)
+ return self.get_paginated_response(serializer.data)
+
+ serializer = self.get_serializer(page, many=True)
+ return Response(serializer.data)
+
+
@customize(NormaJuridica)
class _NormaJuridicaViewset:
@@ -540,3 +556,17 @@ class _NormaJuridicaViewset:
def destaques(self, request, *args, **kwargs):
self.queryset = self.get_queryset().filter(norma_de_destaque=True)
return self.list(request, *args, **kwargs)
+
+
+@customize(Cronometro)
+class _CronometroViewSet:
+
+ def get_queryset(self, *args, **kwargs):
+ qs = super().get_queryset()
+
+ try:
+ filter_condition = {k:v[0] for (k,v) in self.request.GET.items()}
+ qs = qs.filter(**filter_condition)
+ except FieldError as e:
+ pass
+ return qs
\ No newline at end of file
diff --git a/sapl/base/tests/test_login.py b/sapl/base/tests/test_login.py
index 6c6a75cb8..bbe9f0695 100755
--- a/sapl/base/tests/test_login.py
+++ b/sapl/base/tests/test_login.py
@@ -12,9 +12,13 @@ def user():
def test_login_aparece_na_barra_para_usuario_nao_logado(client):
+ import re
response = client.get('/')
- assert '
' in str(
- response.content)
+ content = str(response.content)
+ query = '
'
+
+ result = re.findall(query, content)
+ assert len(result) > 0
def test_username_do_usuario_logado_aparece_na_barra(client, user):
diff --git a/sapl/materia/views.py b/sapl/materia/views.py
index 54e94291f..0610f39eb 100644
--- a/sapl/materia/views.py
+++ b/sapl/materia/views.py
@@ -807,7 +807,7 @@ class ProposicaoCrud(Crud):
p = Proposicao.objects.get(id=kwargs['pk'])
msg_error = ''
- if p and p.autor.user == user:
+ if p and p.autor == user.autoruser.autor:
if action == 'send':
if p.data_envio and p.data_recebimento:
msg_error = _('Proposição já foi enviada e recebida.')
diff --git a/sapl/painel/urls.py b/sapl/painel/urls.py
index 3186e16e6..dfb0e30f3 100644
--- a/sapl/painel/urls.py
+++ b/sapl/painel/urls.py
@@ -4,7 +4,8 @@ from .apps import AppConfig
from .views import (cronometro_painel, get_dados_painel, painel_mensagem_view,
painel_parlamentar_view, painel_view, painel_votacao_view,
switch_painel, verifica_painel, votante_view, CronometroPainelCrud,
- PainelConfigCrud,ordena_cronometro, painel_parcial_view)
+ PainelConfigCrud, ordena_cronometro, painel_parcial_view, painel_discurso_view,
+ get_dados_painel_discurso)
app_name = AppConfig.name
@@ -12,6 +13,7 @@ urlpatterns = [
url(r'^painel-principal/(?P\d+)$', painel_view,
name="painel_principal"),
url(r'^painel/(?P\d+)/dados$', get_dados_painel, name='dados_painel'),
+
url(r'^painel/mensagem$', painel_mensagem_view, name="painel_mensagem"),
url(r'^painel/parlamentar$', painel_parlamentar_view,
name='painel_parlamentar'),
@@ -31,4 +33,9 @@ urlpatterns = [
url(r'^painel-parcial/(?P\d+)/(?P\d+)/$', painel_parcial_view,
name="painel_parcial"),
+
+ url(r'^painel-discurso/(?P\d+)/(?P\d+)/$', painel_discurso_view,
+ name="painel_discurso"),
+ url(r'^painel/(?P\d+)/(?P\d+)/dados-discurso$', get_dados_painel_discurso,
+ name='dados_painel_discurso'),
]
diff --git a/sapl/painel/views.py b/sapl/painel/views.py
index 207bbe0c3..7424ff0f5 100644
--- a/sapl/painel/views.py
+++ b/sapl/painel/views.py
@@ -1,6 +1,7 @@
import html
import json
import logging
+import os
from django.contrib import messages
from django.contrib.auth.decorators import user_passes_test
@@ -21,7 +22,8 @@ from sapl.parlamentares.models import Legislatura, Parlamentar, Votante
from sapl.sessao.models import (ExpedienteMateria, OradorExpediente, OrdemDia,
PresencaOrdemDia, RegistroVotacao,
SessaoPlenaria, SessaoPlenariaPresenca,
- VotoParlamentar, RegistroLeitura)
+ VotoParlamentar, CronometroLista, ListaDiscurso,
+ ParlamentarLista, RegistroLeitura)
from sapl.utils import filiacao_data, get_client_ip, sort_lista_chave
from .forms import CronometroForm, ConfiguracoesPainelForm
@@ -759,3 +761,71 @@ def get_dados_painel(request, pk):
# Retorna que não há nenhuma matéria já votada ou aberta
return response_nenhuma_materia(get_presentes(pk, response, None))
+
+@user_passes_test(check_permission)
+def painel_discurso_view(request, sessao_pk, lista_pk):
+ cronometros_ids = CronometroLista.objects.filter(tipo_lista_id=lista_pk).values_list('cronometro', flat=True)
+ cronometros = Cronometro.objects.filter(id__in=cronometros_ids)
+ lista = ListaDiscurso.objects.get(tipo_id=lista_pk, sessao_plenaria_id=sessao_pk)
+
+ context = {
+ 'head_title': str(_('Painel de Discurso')),
+ 'sessao_id': sessao_pk,
+ 'lista': lista,
+ 'cronometros': cronometros,
+ 'casa': CasaLegislativa.objects.last(),
+ 'painel_config': PainelConfig.objects.first(),
+ }
+ return render(request, 'painel/painel_discurso.html', context)
+
+
+@user_passes_test(check_permission)
+def get_dados_painel_discurso(request, pk, lista_pk):
+ sessao = SessaoPlenaria.objects.get(id=pk)
+
+ casa = CasaLegislativa.objects.first()
+
+ app_config = ConfiguracoesAplicacao.objects.first()
+
+ brasao = None
+ if casa and app_config and (bool(casa.logotipo)):
+ brasao = casa.logotipo.url \
+ if app_config.mostrar_brasao_painel else None
+
+ CRONOMETRO_STATUS = {
+ 'I': 'start',
+ 'R': 'reset',
+ 'S': 'stop',
+ 'C': 'increment'
+ }
+
+ cronometros = Cronometro.objects.filter(cronometrolista__tipo_lista_id=lista_pk)
+
+ dict_status_cronometros = dict(cronometros.order_by('ordenacao').values_list('id', 'status'))
+
+ for key, value in dict_status_cronometros.items():
+ dict_status_cronometros[key] = CRONOMETRO_STATUS[dict_status_cronometros[key]]
+
+ dict_duracao_cronometros = dict(cronometros.values_list('id', 'duracao_cronometro'))
+
+ for key, value in dict_duracao_cronometros.items():
+ dict_duracao_cronometros[key] = value.seconds
+
+ lista = ListaDiscurso.objects.get(tipo_id=lista_pk, sessao_plenaria_id=pk)
+ orador = lista.orador_atual
+ oradores = ParlamentarLista.objects.filter(lista=lista).order_by('ordenacao').values_list('parlamentar__nome_parlamentar', flat=True)
+
+ response = {
+ 'sessao_plenaria': str(sessao),
+ 'sessao_plenaria_data': sessao.data_inicio.strftime('%d/%m/%Y'),
+ 'sessao_plenaria_hora_inicio': sessao.hora_inicio,
+ 'cronometros': dict_status_cronometros,
+ 'duracao_cronometros': dict_duracao_cronometros,
+ 'sessao_finalizada': sessao.finalizada,
+ 'brasao': brasao,
+ 'orador': orador.nome_parlamentar if orador else '',
+ 'orador_img': orador.fotografia.url if orador and os.path.isfile(orador.fotografia.path) else None,
+ 'oradores': list(oradores)
+ }
+
+ return JsonResponse(response)
diff --git a/sapl/rules/map_rules.py b/sapl/rules/map_rules.py
index 5d5028b33..f9a592594 100644
--- a/sapl/rules/map_rules.py
+++ b/sapl/rules/map_rules.py
@@ -188,6 +188,10 @@ rules_group_sessao = {
(sessao.JustificativaAusencia, __base__, __perms_publicas__),
(sessao.RetiradaPauta, __base__, __perms_publicas__),
(sessao.RegistroLeitura, __base__, __perms_publicas__),
+ (sessao.ListaDiscurso, __base__, __perms_publicas__),
+ (sessao.TipoListaDiscurso, __base__, __perms_publicas__),
+ (sessao.CronometroLista, __base__, __perms_publicas__),
+ (sessao.ParlamentarLista, __base__, __perms_publicas__),
]
}
diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py
index 8c8909071..967cf8729 100644
--- a/sapl/sessao/forms.py
+++ b/sapl/sessao/forms.py
@@ -8,7 +8,7 @@ from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.db import transaction
from django.db.models import Q
-from django.forms import ModelForm
+from django.forms import ModelForm, widgets
from django.forms.widgets import CheckboxSelectMultiple
from django.utils.translation import ugettext_lazy as _
@@ -18,7 +18,12 @@ from sapl.crispy_layout_mixin import (form_actions, to_row,
from sapl.materia.forms import MateriaLegislativaFilterSet
from sapl.materia.models import (MateriaLegislativa, StatusTramitacao,
TipoMateriaLegislativa)
-
+from sapl.painel.models import Cronometro
+from sapl.parlamentares.models import Parlamentar, Mandato
+from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES,
+ MateriaPesquisaOrderingFilter, autor_label,
+ autor_modal, timezone, choice_anos_com_sessaoplenaria,
+ FileFieldCheckMixin, verifica_afastamento_parlamentar)
from sapl.parlamentares.models import Mandato, Parlamentar
from sapl.utils import (autor_label, autor_modal,
choice_anos_com_sessaoplenaria,
@@ -26,14 +31,14 @@ from sapl.utils import (autor_label, autor_modal,
MateriaPesquisaOrderingFilter,
RANGE_DIAS_MES, RANGE_MESES,
timezone, validar_arquivo)
-
from .models import (ExpedienteMateria,
JustificativaAusencia, OcorrenciaSessao, Orador,
OradorExpediente, OradorOrdemDia, OrdemDia,
ORDENACAO_RESUMO, PresencaOrdemDia,
RegistroLeitura, ResumoOrdenacao, RetiradaPauta,
SessaoPlenaria, SessaoPlenariaPresenca,
- TipoResultadoVotacao, TipoRetiradaPauta)
+ TipoResultadoVotacao, TipoRetiradaPauta,
+ CronometroLista)
MES_CHOICES = RANGE_MESES
DIA_CHOICES = RANGE_DIAS_MES
@@ -890,3 +895,52 @@ class OrdemExpedienteLeituraForm(forms.ModelForm):
form_actions(more=actions),
)
)
+
+
+class CronometroListaForm(ModelForm):
+
+ cronometro = forms.ModelChoiceField(
+ queryset=Cronometro.objects.all(),
+ label="Cronômetro"
+ )
+
+ nome_lista = forms.CharField(
+ label='Lista de Discussão',
+ widget=widgets.TextInput(attrs={'readonly': 'readonly'})
+ )
+
+ class Meta:
+ model = CronometroLista
+ exclude = []
+ widgets = {
+ 'tipo_lista': forms.HiddenInput(),
+ }
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+
+ row1 = to_row(
+ [('nome_lista', 6),('cronometro', 6),])
+ row2 = to_row(
+ [('tipo_lista', 6)]
+ )
+
+ actions = [HTML('Cancelar')]
+
+ self.helper = SaplFormHelper()
+ self.helper.layout = Layout(
+ Fieldset(_('Vincular Cronômetro à Lista de Discussão'),
+ row1, row2,
+ HTML(" "),
+ form_actions(more=actions)
+ )
+ )
+
+ def save(self):
+ cd = self.cleaned_data
+ cronometro = cd['cronometro']
+ tipo_lista = cd['tipo_lista']
+ cronometro_lista = CronometroLista.objects.create(cronometro=cronometro, tipo_lista=tipo_lista)
+
+ return cronometro_lista
diff --git a/sapl/sessao/migrations/0052_auto_20191209_0828.py b/sapl/sessao/migrations/0052_auto_20191209_0828.py
new file mode 100644
index 000000000..90cd6e933
--- /dev/null
+++ b/sapl/sessao/migrations/0052_auto_20191209_0828.py
@@ -0,0 +1,91 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-12-09 11:28
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('parlamentares', '0035_merge_20190802_0954'),
+ ('painel', '0011_cronometro_last_stop_duration'),
+ ('sessao', '0051_merge_20191209_0910'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='CronometroLista',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('cronometro', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='painel.Cronometro')),
+ ],
+ options={
+ 'verbose_name': 'Tipo de Lista de Discurso - Cronômetro',
+ 'verbose_name_plural': 'Tipo de Listas de Discurso - Cronômetros',
+ 'ordering': ['tipo_lista', 'cronometro'],
+ },
+ ),
+ migrations.CreateModel(
+ name='ListaDiscurso',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('orador_atual', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
+ ('sessao_plenaria', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.SessaoPlenaria', verbose_name='Sessão Plenária')),
+ ],
+ options={
+ 'verbose_name': 'Lista de Discurso',
+ 'verbose_name_plural': 'Listas de Discurso',
+ 'ordering': ['tipo', 'sessao_plenaria'],
+ },
+ ),
+ migrations.CreateModel(
+ name='ParlamentarLista',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('ordenacao', models.PositiveIntegerField(blank=True, null=True, verbose_name='Ordenação')),
+ ('lista', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.ListaDiscurso')),
+ ('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
+ ],
+ options={
+ 'verbose_name': 'Lista de Discurso - Parlamentar',
+ 'verbose_name_plural': 'Listas de Discurso - Parlamentares',
+ 'ordering': ['lista', 'parlamentar', 'ordenacao'],
+ },
+ ),
+ migrations.CreateModel(
+ name='TipoListaDiscurso',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('nome', models.CharField(max_length=100, verbose_name='Tipo')),
+ ],
+ options={
+ 'verbose_name': 'Tipo de Lista de Discurso',
+ 'verbose_name_plural': 'Tipos de Lista de Discurso',
+ 'ordering': ['nome'],
+ },
+ ),
+ migrations.AddField(
+ model_name='listadiscurso',
+ name='tipo',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.TipoListaDiscurso', verbose_name='Tipo de Lista de Discurso'),
+ ),
+ migrations.AddField(
+ model_name='cronometrolista',
+ name='tipo_lista',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='sessao.TipoListaDiscurso'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='parlamentarlista',
+ unique_together=set([('lista', 'parlamentar')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='listadiscurso',
+ unique_together=set([('tipo', 'sessao_plenaria')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='cronometrolista',
+ unique_together=set([('tipo_lista', 'cronometro')]),
+ ),
+ ]
diff --git a/sapl/sessao/models.py b/sapl/sessao/models.py
index 5c9c47bd3..b4c88c9aa 100644
--- a/sapl/sessao/models.py
+++ b/sapl/sessao/models.py
@@ -10,6 +10,7 @@ import reversion
from sapl.base.models import Autor
from sapl.materia.models import MateriaLegislativa
+from sapl.painel.models import Cronometro
from sapl.parlamentares.models import (CargoMesa, Legislatura, Parlamentar,
Partido, SessaoLegislativa)
from sapl.utils import (YES_NO_CHOICES, SaplGenericRelation,
@@ -873,4 +874,70 @@ class RegistroLeitura(models.Model):
raise ValidationError(
'RegistroLeitura deve ter exatamente um dos campos '
'ordem ou expediente preenchido. Ambos estão preenchidos: '
- '{}, {}'. format(self.ordem, self.expediente))
\ No newline at end of file
+ '{}, {}'. format(self.ordem, self.expediente))
+class TipoListaDiscurso(models.Model):
+ nome = models.CharField(max_length=100, verbose_name=_('Tipo'))
+
+ class Meta:
+ verbose_name = _('Tipo de Lista de Discurso')
+ verbose_name_plural = _('Tipos de Lista de Discurso')
+ ordering = ['nome']
+
+ def __str__(self):
+ return self.nome
+
+
+@reversion.register()
+class ListaDiscurso(models.Model):
+ tipo = models.ForeignKey(TipoListaDiscurso,
+ on_delete=models.PROTECT,
+ verbose_name=_('Tipo de Lista de Discurso'))
+ sessao_plenaria = models.ForeignKey(SessaoPlenaria,
+ on_delete=models.PROTECT,
+ verbose_name=_('Sessão Plenária'))
+ orador_atual = models.ForeignKey(Parlamentar,
+ on_delete=models.PROTECT,
+ blank=True,
+ null=True)
+
+ class Meta:
+ verbose_name = _('Lista de Discurso')
+ verbose_name_plural = _('Listas de Discurso')
+ ordering = ['tipo', 'sessao_plenaria']
+ unique_together = (('tipo', 'sessao_plenaria'),)
+
+ def __str__(self):
+ return str(self.tipo) + ' - ' + str(self.sessao_plenaria)
+
+@reversion.register()
+class CronometroLista(models.Model):
+ cronometro = models.ForeignKey(Cronometro, on_delete=models.PROTECT)
+ tipo_lista = models.ForeignKey(TipoListaDiscurso, on_delete=models.PROTECT)
+
+ class Meta:
+ verbose_name = _('Tipo de Lista de Discurso - Cronômetro')
+ verbose_name_plural = _('Tipo de Listas de Discurso - Cronômetros')
+ ordering = ['tipo_lista', 'cronometro']
+ unique_together = (('tipo_lista', 'cronometro'),)
+
+ def __str__(self):
+ return str(self.tipo_lista) + ' - ' + str(self.cronometro)
+
+@reversion.register()
+class ParlamentarLista(models.Model):
+ parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT)
+ lista = models.ForeignKey(ListaDiscurso, on_delete=models.PROTECT)
+ ordenacao = models.PositiveIntegerField(
+ blank=True,
+ null=True,
+ verbose_name=_("Ordenação")
+ )
+
+ class Meta:
+ verbose_name = _('Lista de Discurso - Parlamentar')
+ verbose_name_plural = _('Listas de Discurso - Parlamentares')
+ ordering = ['lista', 'parlamentar', 'ordenacao']
+ unique_together = (('lista', 'parlamentar'),)
+
+ def __str__(self):
+ return str(self.lista) + ' - ' + str(self.parlamentar)
diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py
index 0480c4416..d2415d405 100644
--- a/sapl/sessao/urls.py
+++ b/sapl/sessao/urls.py
@@ -38,7 +38,13 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
voto_nominal_parlamentar,
ExpedienteLeituraView,
OrdemDiaLeituraView,
- retirar_leitura)
+ retirar_leitura,
+ ListaDiscursoView,
+ TipoListaDiscursoCrud,
+ CronometroListaFormView,
+ salva_listadiscurso_parlamentares,
+ salva_orador_listadiscurso,
+ get_orador_listadiscurso)
from .apps import AppConfig
@@ -102,6 +108,10 @@ urlpatterns = [
include(TipoJustificativaCrud.get_urls())),
url(r'^sistema/sessao-plenaria/tipo-retirada-pauta/',
include(TipoRetiradaPautaCrud.get_urls())),
+ url(r'^sistema/sessao-plenaria/tipo-lista-discurso/',
+ include(TipoListaDiscursoCrud.get_urls())),
+
+
url(r'^sistema/resumo-ordenacao/',
resumo_ordenacao,
name='resumo_ordenacao'),
@@ -202,4 +212,20 @@ urlpatterns = [
url(r'^sessao/(?P\d+)/(?P\d+)/(?P\d+)/retirar-leitura$',
retirar_leitura, name='retirar_leitura'),
+
+ # Lista de Discurso
+ url(r'^sessao/(?P\d+)/lista-discurso/',
+ ListaDiscursoView.as_view(),
+ name='lista_discurso'),
+
+ url(r'^sistema/sessao-plenaria/lista-discurso/(?P\d+)/cronometro/create',
+ CronometroListaFormView.as_view(), name='cronometrolista_form'),
+
+ url(r'^sistema/salva-listadiscurso-parlamentares/$',
+ salva_listadiscurso_parlamentares, name='salva_listadiscurso_parlamentares'),
+ url(r'^sistema/salva-orador-listadiscurso/$',
+ salva_orador_listadiscurso, name='salva_orador_listadiscurso'),
+
+ url(r'^sistema/get-orador-lista/(?P\d+)/(?P\d+)/$',
+ get_orador_listadiscurso, name='get_orador_listadiscurso'),
]
diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py
index 5339eac10..0d1dced60 100755
--- a/sapl/sessao/views.py
+++ b/sapl/sessao/views.py
@@ -48,14 +48,15 @@ from .forms import (AdicionarVariasMateriasFilterSet, ExpedienteForm,
PresencaForm, SessaoPlenariaFilterSet,
SessaoPlenariaForm, VotacaoEditForm, VotacaoForm,
VotacaoNominalForm, RetiradaPautaForm, OradorOrdemDiaForm,
- OrdemExpedienteLeituraForm)
+ OrdemExpedienteLeituraForm,
+ CronometroListaForm)
from .models import (CargoMesa, ExpedienteMateria, ExpedienteSessao, OcorrenciaSessao, IntegranteMesa,
MateriaLegislativa, Orador, OradorExpediente, OrdemDia,
PresencaOrdemDia, RegistroVotacao, ResumoOrdenacao,
SessaoPlenaria, SessaoPlenariaPresenca, TipoExpediente,
TipoResultadoVotacao, TipoSessaoPlenaria, VotoParlamentar, TipoRetiradaPauta,
- RetiradaPauta, TipoJustificativa, JustificativaAusencia, OradorOrdemDia,
- ORDENACAO_RESUMO, RegistroLeitura)
+ RetiradaPauta, TipoJustificativa, JustificativaAusencia, OradorOrdemDia, ORDENACAO_RESUMO,
+ RegistroLeitura, TipoListaDiscurso, ListaDiscurso, CronometroLista, ParlamentarLista)
TipoSessaoCrud = CrudAux.build(TipoSessaoPlenaria, 'tipo_sessao_plenaria')
@@ -65,6 +66,19 @@ TipoResultadoVotacaoCrud = CrudAux.build(
TipoRetiradaPautaCrud = CrudAux.build(TipoRetiradaPauta, 'tipo_retirada_pauta')
+class TipoListaDiscursoCrud(CrudAux):
+ model = TipoListaDiscurso
+
+ class DetailView(CrudAux.DetailView):
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ tipo_lista = context['object']
+ cronometros_lista = CronometroLista.objects.filter(tipo_lista=tipo_lista)
+ context['cronometros_lista'] = cronometros_lista
+ return context
+
+
def reordernar_materias_expediente(request, pk):
expedientes = ExpedienteMateria.objects.filter(
sessao_plenaria_id=pk
@@ -4512,3 +4526,92 @@ def retirar_leitura(request, pk, iso, oid):
ordem_expediente.save()
return HttpResponseRedirect(succ_url)
+class ListaDiscursoView(TemplateView):
+ template_name = 'sessao/lista_discurso.html'
+
+ def get(self, request, *args, **kwargs):
+ return TemplateView.get(self, request, *args, **kwargs)
+
+
+ def get_context_data(self, **kwargs):
+ context = TemplateView.get_context_data(self, **kwargs)
+ sessao_pk = kwargs['pk']
+ sessao = SessaoPlenaria.objects.get(id=sessao_pk)
+
+ context.update({
+ 'root_pk': sessao_pk,
+ 'subnav_template_name': 'sessao/subnav.yaml',
+ 'sessaoplenaria': sessao,
+ })
+ return context
+
+
+class CronometroListaFormView(FormView):
+ form_class = CronometroListaForm
+ template_name = 'sessao/cronometrolista_form.html'
+
+ def get_initial(self):
+ initial = super().get_initial()
+ tipo_lista_pk = self.kwargs['pk']
+ tipo_lista = TipoListaDiscurso.objects.get(id=tipo_lista_pk)
+ initial['tipo_lista'] = tipo_lista
+ initial['nome_lista'] = tipo_lista.nome
+ return initial
+
+ def form_valid(self, form):
+ form.save()
+ return super().form_valid(form)
+
+ @property
+ def cancel_url(self):
+ return reverse('sapl.sessao:tipolistadiscurso_detail',
+ kwargs={'pk': self.kwargs['pk']})
+
+ def get_success_url(self):
+ return reverse('sapl.sessao:tipolistadiscurso_detail',
+ kwargs={'pk': self.kwargs['pk']})
+
+
+def salva_listadiscurso_parlamentares(request):
+ parlamentares_selecionados_ids = request.GET.getlist('parlamentares_selecionados[]')
+ tipo_lista_id = request.GET.get('lista_selecionada')
+ sessao_id = request.GET.get('sessao_pk')
+
+ if parlamentares_selecionados_ids:
+ lista = ListaDiscurso.objects.get_or_create(tipo_id=tipo_lista_id, sessao_plenaria_id=sessao_id)[0]
+ ParlamentarLista.objects.filter(lista=lista).delete()
+ parlamentares_lista = []
+ for i,parlamentar_id in enumerate(parlamentares_selecionados_ids):
+ parlamentares_lista.append(ParlamentarLista(lista=lista, parlamentar_id=parlamentar_id, ordenacao=i+1))
+ ParlamentarLista.objects.bulk_create(parlamentares_lista)
+ else:
+ ParlamentarLista.objects.filter(lista__tipo_id=tipo_lista_id, lista__sessao_plenaria_id=sessao_id).delete()
+ ListaDiscurso.objects.filter(tipo_id=tipo_lista_id, sessao_plenaria_id=sessao_id).delete()
+ return JsonResponse({})
+
+
+def salva_orador_listadiscurso(request):
+ tipo_id=request.GET.get('tipo_lista_pk')
+ sessao_id=request.GET.get('sessao_pk')
+ lista = ListaDiscurso.objects.get(tipo_id=tipo_id, sessao_plenaria_id=sessao_id)
+ orador_pk = request.GET.get('orador_pk')
+ if orador_pk != '-1':
+ lista.orador_atual = Parlamentar.objects.get(id=orador_pk)
+ else:
+ lista.orador_atual = None
+ lista.save()
+ return JsonResponse({})
+
+def get_orador_listadiscurso(request, spk, tpk):
+ # Não foi utilizado .get para não quebrar caso não exista registro
+ lista = ListaDiscurso.objects.filter(tipo_id=tpk, sessao_plenaria_id=spk).first()
+ parlamentares = []
+ orador_pk = -1
+ orador_nome = ''
+ if lista:
+ if lista.orador_atual:
+ orador_pk = lista.orador_atual.pk
+ orador_nome = lista.orador_atual.nome_parlamentar
+ parlamentares = ParlamentarLista.objects.filter(lista=lista).order_by('ordenacao').values_list('parlamentar__id', 'parlamentar__nome_parlamentar')
+ return JsonResponse({'orador': (orador_pk, orador_nome),
+ 'parlamentares': list(parlamentares)})
diff --git a/sapl/static/sapl/frontend/css/chunk-vendors.7da9088b.css b/sapl/static/sapl/frontend/css/chunk-vendors.c41142f2.css
similarity index 100%
rename from sapl/static/sapl/frontend/css/chunk-vendors.7da9088b.css
rename to sapl/static/sapl/frontend/css/chunk-vendors.c41142f2.css
diff --git a/sapl/static/sapl/frontend/css/chunk-vendors.7da9088b.css.gz b/sapl/static/sapl/frontend/css/chunk-vendors.c41142f2.css.gz
similarity index 100%
rename from sapl/static/sapl/frontend/css/chunk-vendors.7da9088b.css.gz
rename to sapl/static/sapl/frontend/css/chunk-vendors.c41142f2.css.gz
diff --git a/sapl/static/sapl/frontend/css/painel.5d957a9b.css.gz b/sapl/static/sapl/frontend/css/painel.5d957a9b.css.gz
deleted file mode 100644
index 419528089..000000000
Binary files a/sapl/static/sapl/frontend/css/painel.5d957a9b.css.gz and /dev/null differ
diff --git a/sapl/static/sapl/frontend/css/painel.5d957a9b.css b/sapl/static/sapl/frontend/css/painel.fd494bea.css
similarity index 77%
rename from sapl/static/sapl/frontend/css/painel.5d957a9b.css
rename to sapl/static/sapl/frontend/css/painel.fd494bea.css
index 765164703..31b25d2cb 100644
--- a/sapl/static/sapl/frontend/css/painel.5d957a9b.css
+++ b/sapl/static/sapl/frontend/css/painel.fd494bea.css
@@ -1 +1 @@
-.painel-principal{background:#1c1b1b;font-family:Verdana;font-size:x-large}.painel-principal .text-title{color:#4fa64d;margin:.5rem;font-weight:700}.painel-principal .text-subtitle{color:#459170;font-weight:700}.painel-principal .data-hora{font-size:180%}.painel-principal .text-value{color:#fff}.painel-principal .logo-painel{max-width:100%}.painel-principal .painels{-ms-flex-wrap:wrap;flex-wrap:wrap}.painel-principal .painel{margin-top:1rem}.painel-principal .painel table{width:100%}.painel-principal .painel h2{margin-bottom:.5rem}.painel-principal .painel #oradores_list,.painel-principal .painel #votacao{text-align:left;display:inline-block;margin-bottom:1rem}
\ No newline at end of file
+.painel-principal{background:#1c1b1b;font-family:Verdana;font-size:x-large}.painel-principal .text-title{color:#4fa64d;margin:.5rem;font-weight:700}.painel-principal .text-subtitle{color:#459170;font-weight:700}.painel-principal .data-hora{font-size:180%}.painel-principal .text-value{color:#fff}.painel-principal .logo-painel{max-width:100%}.painel-principal .painels{-ms-flex-wrap:wrap;flex-wrap:wrap}.painel-principal .painel{margin-top:1rem}.painel-principal .painel table{width:100%}.painel-principal .painel h2{margin-bottom:.5rem}.painel-principal .painel #oradores_list,.painel-principal .painel #votacao{text-align:left;display:inline-block;margin-bottom:1rem}.painel-principal body,.painel-principal html{max-width:100%;overflow-x:hidden}@media screen{.painel-principal li,.painel-principal ul{list-style-type:none}}
\ No newline at end of file
diff --git a/sapl/static/sapl/frontend/css/painel.fd494bea.css.gz b/sapl/static/sapl/frontend/css/painel.fd494bea.css.gz
new file mode 100644
index 000000000..485e8d516
Binary files /dev/null and b/sapl/static/sapl/frontend/css/painel.fd494bea.css.gz differ
diff --git a/sapl/static/sapl/frontend/css/sessao.559521f7.css b/sapl/static/sapl/frontend/css/sessao.559521f7.css
new file mode 100644
index 000000000..95f462d6e
--- /dev/null
+++ b/sapl/static/sapl/frontend/css/sessao.559521f7.css
@@ -0,0 +1 @@
+.current{background:#38b883;background-color:#ff0}.btSelecionado{background-color:#00aeff}
\ No newline at end of file
diff --git a/sapl/static/sapl/frontend/js/chunk-09995afe.57d24d72.js b/sapl/static/sapl/frontend/js/chunk-09995afe.98f3367d.js
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-09995afe.57d24d72.js
rename to sapl/static/sapl/frontend/js/chunk-09995afe.98f3367d.js
diff --git a/sapl/static/sapl/frontend/js/chunk-09995afe.57d24d72.js.gz b/sapl/static/sapl/frontend/js/chunk-09995afe.98f3367d.js.gz
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-09995afe.57d24d72.js.gz
rename to sapl/static/sapl/frontend/js/chunk-09995afe.98f3367d.js.gz
diff --git a/sapl/static/sapl/frontend/js/chunk-2d0c4a82.fa32849b.js b/sapl/static/sapl/frontend/js/chunk-2d0c4a82.624674a7.js
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-2d0c4a82.fa32849b.js
rename to sapl/static/sapl/frontend/js/chunk-2d0c4a82.624674a7.js
diff --git a/sapl/static/sapl/frontend/js/chunk-2d0c4a82.fa32849b.js.gz b/sapl/static/sapl/frontend/js/chunk-2d0c4a82.624674a7.js.gz
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-2d0c4a82.fa32849b.js.gz
rename to sapl/static/sapl/frontend/js/chunk-2d0c4a82.624674a7.js.gz
diff --git a/sapl/static/sapl/frontend/js/chunk-2d0e8be2.d5a075a3.js b/sapl/static/sapl/frontend/js/chunk-2d0e8be2.67905a03.js
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-2d0e8be2.d5a075a3.js
rename to sapl/static/sapl/frontend/js/chunk-2d0e8be2.67905a03.js
diff --git a/sapl/static/sapl/frontend/js/chunk-2d0e8be2.d5a075a3.js.gz b/sapl/static/sapl/frontend/js/chunk-2d0e8be2.67905a03.js.gz
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-2d0e8be2.d5a075a3.js.gz
rename to sapl/static/sapl/frontend/js/chunk-2d0e8be2.67905a03.js.gz
diff --git a/sapl/static/sapl/frontend/js/chunk-31d76f93.4b31bb6a.js b/sapl/static/sapl/frontend/js/chunk-31d76f93.968a637a.js
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-31d76f93.4b31bb6a.js
rename to sapl/static/sapl/frontend/js/chunk-31d76f93.968a637a.js
diff --git a/sapl/static/sapl/frontend/js/chunk-31d76f93.4b31bb6a.js.gz b/sapl/static/sapl/frontend/js/chunk-31d76f93.968a637a.js.gz
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-31d76f93.4b31bb6a.js.gz
rename to sapl/static/sapl/frontend/js/chunk-31d76f93.968a637a.js.gz
diff --git a/sapl/static/sapl/frontend/js/chunk-681dd124.64f6fdc0.js b/sapl/static/sapl/frontend/js/chunk-681dd124.08a628b0.js
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-681dd124.64f6fdc0.js
rename to sapl/static/sapl/frontend/js/chunk-681dd124.08a628b0.js
diff --git a/sapl/static/sapl/frontend/js/chunk-681dd124.64f6fdc0.js.gz b/sapl/static/sapl/frontend/js/chunk-681dd124.08a628b0.js.gz
similarity index 100%
rename from sapl/static/sapl/frontend/js/chunk-681dd124.64f6fdc0.js.gz
rename to sapl/static/sapl/frontend/js/chunk-681dd124.08a628b0.js.gz
diff --git a/sapl/static/sapl/frontend/js/chunk-vendors.7a4ea0f9.js.gz b/sapl/static/sapl/frontend/js/chunk-vendors.7a4ea0f9.js.gz
deleted file mode 100644
index 5cb3584d3..000000000
Binary files a/sapl/static/sapl/frontend/js/chunk-vendors.7a4ea0f9.js.gz and /dev/null differ
diff --git a/sapl/static/sapl/frontend/js/chunk-vendors.7a4ea0f9.js b/sapl/static/sapl/frontend/js/chunk-vendors.dfcd310b.js
similarity index 57%
rename from sapl/static/sapl/frontend/js/chunk-vendors.7a4ea0f9.js
rename to sapl/static/sapl/frontend/js/chunk-vendors.dfcd310b.js
index d7299186e..3814bd7bb 100644
--- a/sapl/static/sapl/frontend/js/chunk-vendors.7a4ea0f9.js
+++ b/sapl/static/sapl/frontend/js/chunk-vendors.dfcd310b.js
@@ -1,4 +1,4 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-vendors"],{"014b":function(t,e,n){"use strict";var r=n("e53d"),i=n("07e3"),o=n("8e60"),a=n("63b6"),s=n("9138"),l=n("ebfd").KEY,c=n("294c"),u=n("dbdb"),f=n("45f2"),d=n("62a0"),h=n("5168"),p=n("ccb9"),m=n("6718"),g=n("47ee"),v=n("9003"),b=n("e4ae"),A=n("f772"),y=n("241e"),w=n("36c3"),_=n("1bc3"),x=n("aebd"),C=n("a159"),E=n("0395"),S=n("bf0b"),O=n("9aa9"),k=n("d9f6"),T=n("c3a1"),D=S.f,B=k.f,P=E.f,I=r.Symbol,j=r.JSON,N=j&&j.stringify,M=h("_hidden"),R=h("toPrimitive"),F={}.propertyIsEnumerable,L=u("symbol-registry"),H=u("symbols"),z=u("op-symbols"),U=Object.prototype,$="function"==typeof I&&!!O.f,Q=r.QObject,V=!Q||!Q.prototype||!Q.prototype.findChild,W=o&&c((function(){return 7!=C(B({},"a",{get:function(){return B(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=D(U,e);r&&delete U[e],B(t,e,n),r&&t!==U&&B(U,e,r)}:B,Y=function(t){var e=H[t]=C(I.prototype);return e._k=t,e},G=$&&"symbol"==typeof I.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof I},q=function(t,e,n){return t===U&&q(z,e,n),b(t),e=_(e,!0),b(n),i(H,e)?(n.enumerable?(i(t,M)&&t[M][e]&&(t[M][e]=!1),n=C(n,{enumerable:x(0,!1)})):(i(t,M)||B(t,M,x(1,{})),t[M][e]=!0),W(t,e,n)):B(t,e,n)},J=function(t,e){b(t);for(var n,r=g(e=w(e)),i=0,o=r.length;o>i;)q(t,n=r[i++],e[n]);return t},K=function(t){var e=F.call(this,t=_(t,!0));return!(this===U&&i(H,t)&&!i(z,t))&&(!(e||!i(this,t)||!i(H,t)||i(this,M)&&this[M][t])||e)},X=function(t,e){if(t=w(t),e=_(e,!0),t!==U||!i(H,e)||i(z,e)){var n=D(t,e);return!n||!i(H,e)||i(t,M)&&t[M][e]||(n.enumerable=!0),n}},Z=function(t){for(var e,n=P(w(t)),r=[],o=0;n.length>o;)i(H,e=n[o++])||e==M||e==l||r.push(e);return r},tt=function(t){for(var e,n=t===U,r=P(n?z:w(t)),o=[],a=0;r.length>a;)!i(H,e=r[a++])||n&&!i(U,e)||o.push(H[e]);return o};$||(s((I=function(){if(this instanceof I)throw TypeError("Symbol is not a constructor!");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===U&&e.call(z,n),i(this,M)&&i(this[M],t)&&(this[M][t]=!1),W(this,t,x(1,n))};return o&&V&&W(U,t,{configurable:!0,set:e}),Y(t)}).prototype,"toString",(function(){return this._k})),S.f=X,k.f=q,n("6abf").f=E.f=Z,n("355d").f=K,O.f=tt,o&&!n("b8e3")&&s(U,"propertyIsEnumerable",K,!0),p.f=function(t){return Y(h(t))}),a(a.G+a.W+a.F*!$,{Symbol:I});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)h(et[nt++]);for(var rt=T(h.store),it=0;rt.length>it;)m(rt[it++]);a(a.S+a.F*!$,"Symbol",{for:function(t){return i(L,t+="")?L[t]:L[t]=I(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in L)if(L[e]===t)return e},useSetter:function(){V=!0},useSimple:function(){V=!1}}),a(a.S+a.F*!$,"Object",{create:function(t,e){return void 0===e?C(t):J(C(t),e)},defineProperty:q,defineProperties:J,getOwnPropertyDescriptor:X,getOwnPropertyNames:Z,getOwnPropertySymbols:tt});var ot=c((function(){O.f(1)}));a(a.S+a.F*ot,"Object",{getOwnPropertySymbols:function(t){return O.f(y(t))}}),j&&a(a.S+a.F*(!$||c((function(){var t=I();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))}))),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(A(e)||void 0!==t)&&!G(t))return v(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,N.apply(j,r)}}),I.prototype[R]||n("35e8")(I.prototype,R,I.prototype.valueOf),f(I,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),l=n("41a0"),c=n("7f20"),u=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,p,m,g,v){l(n,e,p);var b,A,y,w=function(t){if(!d&&t in E)return E[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},_=e+" Iterator",x="values"==m,C=!1,E=t.prototype,S=E[f]||E["@@iterator"]||m&&E[m],O=S||w(m),k=m?x?w("entries"):O:void 0,T="Array"==e&&E.entries||S;if(T&&(y=u(T.call(new t)))!==Object.prototype&&y.next&&(c(y,_,!0),r||"function"==typeof y[f]||a(y,f,h)),x&&S&&"values"!==S.name&&(C=!0,O=function(){return S.call(this)}),r&&!v||!d&&!C&&E[f]||a(E,f,O),s[e]=O,s[_]=h,m)if(b={values:x?O:w("values"),keys:g?O:w("keys"),entries:k},v)for(A in b)A in E||o(E,A,b[A]);else i(i.P+i.F*(d||C),e,b);return b}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),l=r(n),c=s.length;return l<0||l>=c?t?"":void 0:(o=s.charCodeAt(l))<55296||o>56319||l+1===c||(a=s.charCodeAt(l+1))<56320||a>57343?t?s.charAt(l):o:t?s.slice(l,l+2):a-56320+(o-55296<<10)+65536}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"0395":function(t,e,n){var r=n("36c3"),i=n("6abf").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return a.slice()}}(t):i(r(t))}},"0773":function(t,e,n){},"07d1":function(t,e,n){n("94ce")},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"097d":function(t,e,n){"use strict";var r=n("5ca1"),i=n("8378"),o=n("7726"),a=n("ebd6"),s=n("bcaa");r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return s(e,t()).then((function(){return n}))}:t,n?function(n){return s(e,t()).then((function(){throw n}))}:t)}})},"0a06":function(t,e,n){"use strict";var r=n("c532"),i=n("30b5"),o=n("f6b4"),a=n("5270"),s=n("4a7b");function l(t){this.defaults=t,this.interceptors={request:new o,response:new o}}l.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=s(this.defaults,t)).method=t.method?t.method.toLowerCase():"get";var e=[a,void 0],n=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));e.length;)n=n.then(e.shift(),e.shift());return n},l.prototype.getUri=function(t){return t=s(this.defaults,t),i(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){l.prototype[t]=function(e,n){return this.request(r.merge(n||{},{method:t,url:e}))}})),r.forEach(["post","put","patch"],(function(t){l.prototype[t]=function(e,n,i){return this.request(r.merge(i||{},{method:t,url:e,data:n}))}})),t.exports=l},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),a=n("9def"),s=n("cd1c");t.exports=function(t,e){var n=1==t,l=2==t,c=3==t,u=4==t,f=6==t,d=5==t||f,h=e||s;return function(e,s,p){for(var m,g,v=o(e),b=i(v),A=r(s,p,3),y=a(b.length),w=0,_=n?h(e,y):l?h(e,0):void 0;y>w;w++)if((d||w in b)&&(g=A(m=b[w],w,v),t))if(n)_[w]=g;else if(g)switch(t){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return f?-1:c||u?u:_}}},"0ae9":function(t,e,n){var r,i,o;
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-vendors"],{"014b":function(t,e,n){"use strict";var r=n("e53d"),i=n("07e3"),o=n("8e60"),a=n("63b6"),s=n("9138"),c=n("ebfd").KEY,l=n("294c"),u=n("dbdb"),f=n("45f2"),d=n("62a0"),h=n("5168"),p=n("ccb9"),m=n("6718"),g=n("47ee"),v=n("9003"),b=n("e4ae"),y=n("f772"),A=n("241e"),w=n("36c3"),_=n("1bc3"),x=n("aebd"),C=n("a159"),E=n("0395"),S=n("bf0b"),O=n("9aa9"),k=n("d9f6"),T=n("c3a1"),D=S.f,B=k.f,P=E.f,I=r.Symbol,j=r.JSON,N=j&&j.stringify,M=h("_hidden"),R=h("toPrimitive"),F={}.propertyIsEnumerable,L=u("symbol-registry"),H=u("symbols"),z=u("op-symbols"),U=Object.prototype,$="function"==typeof I&&!!O.f,Q=r.QObject,V=!Q||!Q.prototype||!Q.prototype.findChild,W=o&&l((function(){return 7!=C(B({},"a",{get:function(){return B(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=D(U,e);r&&delete U[e],B(t,e,n),r&&t!==U&&B(U,e,r)}:B,Y=function(t){var e=H[t]=C(I.prototype);return e._k=t,e},G=$&&"symbol"==typeof I.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof I},q=function(t,e,n){return t===U&&q(z,e,n),b(t),e=_(e,!0),b(n),i(H,e)?(n.enumerable?(i(t,M)&&t[M][e]&&(t[M][e]=!1),n=C(n,{enumerable:x(0,!1)})):(i(t,M)||B(t,M,x(1,{})),t[M][e]=!0),W(t,e,n)):B(t,e,n)},J=function(t,e){b(t);for(var n,r=g(e=w(e)),i=0,o=r.length;o>i;)q(t,n=r[i++],e[n]);return t},K=function(t){var e=F.call(this,t=_(t,!0));return!(this===U&&i(H,t)&&!i(z,t))&&(!(e||!i(this,t)||!i(H,t)||i(this,M)&&this[M][t])||e)},X=function(t,e){if(t=w(t),e=_(e,!0),t!==U||!i(H,e)||i(z,e)){var n=D(t,e);return!n||!i(H,e)||i(t,M)&&t[M][e]||(n.enumerable=!0),n}},Z=function(t){for(var e,n=P(w(t)),r=[],o=0;n.length>o;)i(H,e=n[o++])||e==M||e==c||r.push(e);return r},tt=function(t){for(var e,n=t===U,r=P(n?z:w(t)),o=[],a=0;r.length>a;)!i(H,e=r[a++])||n&&!i(U,e)||o.push(H[e]);return o};$||(s((I=function(){if(this instanceof I)throw TypeError("Symbol is not a constructor!");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===U&&e.call(z,n),i(this,M)&&i(this[M],t)&&(this[M][t]=!1),W(this,t,x(1,n))};return o&&V&&W(U,t,{configurable:!0,set:e}),Y(t)}).prototype,"toString",(function(){return this._k})),S.f=X,k.f=q,n("6abf").f=E.f=Z,n("355d").f=K,O.f=tt,o&&!n("b8e3")&&s(U,"propertyIsEnumerable",K,!0),p.f=function(t){return Y(h(t))}),a(a.G+a.W+a.F*!$,{Symbol:I});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)h(et[nt++]);for(var rt=T(h.store),it=0;rt.length>it;)m(rt[it++]);a(a.S+a.F*!$,"Symbol",{for:function(t){return i(L,t+="")?L[t]:L[t]=I(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in L)if(L[e]===t)return e},useSetter:function(){V=!0},useSimple:function(){V=!1}}),a(a.S+a.F*!$,"Object",{create:function(t,e){return void 0===e?C(t):J(C(t),e)},defineProperty:q,defineProperties:J,getOwnPropertyDescriptor:X,getOwnPropertyNames:Z,getOwnPropertySymbols:tt});var ot=l((function(){O.f(1)}));a(a.S+a.F*ot,"Object",{getOwnPropertySymbols:function(t){return O.f(A(t))}}),j&&a(a.S+a.F*(!$||l((function(){var t=I();return"[null]"!=N([t])||"{}"!=N({a:t})||"{}"!=N(Object(t))}))),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(y(e)||void 0!==t)&&!G(t))return v(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,N.apply(j,r)}}),I.prototype[R]||n("35e8")(I.prototype,R,I.prototype.valueOf),f(I,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),c=n("41a0"),l=n("7f20"),u=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,p,m,g,v){c(n,e,p);var b,y,A,w=function(t){if(!d&&t in E)return E[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},_=e+" Iterator",x="values"==m,C=!1,E=t.prototype,S=E[f]||E["@@iterator"]||m&&E[m],O=S||w(m),k=m?x?w("entries"):O:void 0,T="Array"==e&&E.entries||S;if(T&&(A=u(T.call(new t)))!==Object.prototype&&A.next&&(l(A,_,!0),r||"function"==typeof A[f]||a(A,f,h)),x&&S&&"values"!==S.name&&(C=!0,O=function(){return S.call(this)}),r&&!v||!d&&!C&&E[f]||a(E,f,O),s[e]=O,s[_]=h,m)if(b={values:x?O:w("values"),keys:g?O:w("keys"),entries:k},v)for(y in b)y in E||o(E,y,b[y]);else i(i.P+i.F*(d||C),e,b);return b}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),c=r(n),l=s.length;return c<0||c>=l?t?"":void 0:(o=s.charCodeAt(c))<55296||o>56319||c+1===l||(a=s.charCodeAt(c+1))<56320||a>57343?t?s.charAt(c):o:t?s.slice(c,c+2):a-56320+(o-55296<<10)+65536}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"0395":function(t,e,n){var r=n("36c3"),i=n("6abf").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return a.slice()}}(t):i(r(t))}},"0773":function(t,e,n){},"07d1":function(t,e,n){n("94ce")},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"097d":function(t,e,n){"use strict";var r=n("5ca1"),i=n("8378"),o=n("7726"),a=n("ebd6"),s=n("bcaa");r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return s(e,t()).then((function(){return n}))}:t,n?function(n){return s(e,t()).then((function(){throw n}))}:t)}})},"0a06":function(t,e,n){"use strict";var r=n("c532"),i=n("30b5"),o=n("f6b4"),a=n("5270"),s=n("4a7b");function c(t){this.defaults=t,this.interceptors={request:new o,response:new o}}c.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=s(this.defaults,t)).method=t.method?t.method.toLowerCase():"get";var e=[a,void 0],n=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));e.length;)n=n.then(e.shift(),e.shift());return n},c.prototype.getUri=function(t){return t=s(this.defaults,t),i(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){c.prototype[t]=function(e,n){return this.request(r.merge(n||{},{method:t,url:e}))}})),r.forEach(["post","put","patch"],(function(t){c.prototype[t]=function(e,n,i){return this.request(r.merge(i||{},{method:t,url:e,data:n}))}})),t.exports=c},"0a49":function(t,e,n){var r=n("9b43"),i=n("626a"),o=n("4bf8"),a=n("9def"),s=n("cd1c");t.exports=function(t,e){var n=1==t,c=2==t,l=3==t,u=4==t,f=6==t,d=5==t||f,h=e||s;return function(e,s,p){for(var m,g,v=o(e),b=i(v),y=r(s,p,3),A=a(b.length),w=0,_=n?h(e,A):c?h(e,0):void 0;A>w;w++)if((d||w in b)&&(g=y(m=b[w],w,v),t))if(n)_[w]=g;else if(g)switch(t){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return f?-1:l||u?u:_}}},"0ae9":function(t,e,n){var r,i,o;
/*!
* jQuery UI :data 1.12.1
* http://jqueryui.com
@@ -6,7 +6,7 @@
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
- */i=[n("1157"),n("4309")],void 0===(o="function"==typeof(r=function(t){return t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo((function(e){return function(n){return!!t.data(n,e)}})):function(e,n,r){return!!t.data(e,r[3])}})})?r.apply(e,i):r)||(t.exports=o)},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0c7c":function(t,e,n){"use strict";function r(t,e,n,r,i,o,a,s){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,l):[l]}return{exports:t,options:c}}n.d(e,"a",(function(){return r}))},"0c9b":function(t,e,n){},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0df6":function(t,e,n){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):o(t,e)}},1157:function(t,e,n){var r;
+ */i=[n("1157"),n("4309")],void 0===(o="function"==typeof(r=function(t){return t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo((function(e){return function(n){return!!t.data(n,e)}})):function(e,n,r){return!!t.data(e,r[3])}})})?r.apply(e,i):r)||(t.exports=o)},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0c7c":function(t,e,n){"use strict";function r(t,e,n,r,i,o,a,s){var c,l="function"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:l}}n.d(e,"a",(function(){return r}))},"0c9b":function(t,e,n){},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},"0df6":function(t,e,n){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},"0fc9":function(t,e,n){var r=n("3a38"),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):o(t,e)}},1157:function(t,e,n){var r;
/*!
* jQuery JavaScript Library v3.4.1
* https://jquery.com/
@@ -19,7 +19,7 @@
* https://jquery.org/license
*
* Date: 2019-05-01T21:04Z
- */!function(e,n){"use strict";"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,(function(n,i){"use strict";var o=[],a=n.document,s=Object.getPrototypeOf,l=o.slice,c=o.concat,u=o.push,f=o.indexOf,d={},h=d.toString,p=d.hasOwnProperty,m=p.toString,g=m.call(Object),v={},b=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType},A=function(t){return null!=t&&t===t.window},y={type:!0,src:!0,nonce:!0,noModule:!0};function w(t,e,n){var r,i,o=(n=n||a).createElement("script");if(o.text=t,e)for(r in y)(i=e[r]||e.getAttribute&&e.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function _(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?d[h.call(t)]||"object":typeof t}var x=function(t,e){return new x.fn.init(t,e)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function E(t){var e=!!t&&"length"in t&&t.length,n=_(t);return!b(t)&&!A(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}x.fn=x.prototype={jquery:"3.4.1",constructor:x,length:0,toArray:function(){return l.call(this)},get:function(t){return null==t?l.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=x.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return x.each(this,t)},map:function(t){return this.pushStack(x.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n0&&e-1 in t)}x.fn=x.prototype={jquery:"3.4.1",constructor:x,length:0,toArray:function(){return c.call(this)},get:function(t){return null==t?c.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=x.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return x.each(this,t)},map:function(t){return this.pushStack(x.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(c.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n+~]|"+R+")"+R+"*"),V=new RegExp(R+"|>"),W=new RegExp(H),Y=new RegExp("^"+F+"$"),G={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),TAG:new RegExp("^("+F+"|[*])"),ATTR:new RegExp("^"+L),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+M+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},q=/HTML$/i,J=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,X=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tt=/[+~]/,et=new RegExp("\\\\([\\da-f]{1,6}"+R+"?|("+R+")|.)","ig"),nt=function(t,e,n){var r="0x"+e-65536;return r!=r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},rt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,it=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},ot=function(){d()},at=yt((function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{I.apply(D=j.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(t){I={apply:D.length?function(t,e){P.apply(t,j.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}function st(t,e,r,i){var o,s,c,u,f,p,v,b=e&&e.ownerDocument,_=e?e.nodeType:9;if(r=r||[],"string"!=typeof t||!t||1!==_&&9!==_&&11!==_)return r;if(!i&&((e?e.ownerDocument||e:w)!==h&&d(e),e=e||h,m)){if(11!==_&&(f=Z.exec(t)))if(o=f[1]){if(9===_){if(!(c=e.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(b&&(c=b.getElementById(o))&&A(e,c)&&c.id===o)return r.push(c),r}else{if(f[2])return I.apply(r,e.getElementsByTagName(t)),r;if((o=f[3])&&n.getElementsByClassName&&e.getElementsByClassName)return I.apply(r,e.getElementsByClassName(o)),r}if(n.qsa&&!O[t+" "]&&(!g||!g.test(t))&&(1!==_||"object"!==e.nodeName.toLowerCase())){if(v=t,b=e,1===_&&V.test(t)){for((u=e.getAttribute("id"))?u=u.replace(rt,it):e.setAttribute("id",u=y),s=(p=a(t)).length;s--;)p[s]="#"+u+" "+At(p[s]);v=p.join(","),b=tt.test(t)&&vt(e.parentNode)||e}try{return I.apply(r,b.querySelectorAll(v)),r}catch(e){O(t,!0)}finally{u===y&&e.removeAttribute("id")}}}return l(t.replace(U,"$1"),e,r,i)}function lt(){var t=[];return function e(n,i){return t.push(n+" ")>r.cacheLength&&delete e[t.shift()],e[n+" "]=i}}function ct(t){return t[y]=!0,t}function ut(t){var e=h.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ft(t,e){for(var n=t.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=e}function dt(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function ht(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function pt(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function mt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&at(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function gt(t){return ct((function(e){return e=+e,ct((function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function vt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=st.support={},o=st.isXML=function(t){var e=t.namespaceURI,n=(t.ownerDocument||t).documentElement;return!q.test(e||n&&n.nodeName||"HTML")},d=st.setDocument=function(t){var e,i,a=t?t.ownerDocument||t:w;return a!==h&&9===a.nodeType&&a.documentElement?(p=(h=a).documentElement,m=!o(h),w!==h&&(i=h.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ot,!1):i.attachEvent&&i.attachEvent("onunload",ot)),n.attributes=ut((function(t){return t.className="i",!t.getAttribute("className")})),n.getElementsByTagName=ut((function(t){return t.appendChild(h.createComment("")),!t.getElementsByTagName("*").length})),n.getElementsByClassName=X.test(h.getElementsByClassName),n.getById=ut((function(t){return p.appendChild(t).id=y,!h.getElementsByName||!h.getElementsByName(y).length})),n.getById?(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&m){var n=e.getElementById(t);return n?[n]:[]}}):(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&m){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&m)return e.getElementsByClassName(t)},v=[],g=[],(n.qsa=X.test(h.querySelectorAll))&&(ut((function(t){p.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+R+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||g.push("\\["+R+"*(?:value|"+M+")"),t.querySelectorAll("[id~="+y+"-]").length||g.push("~="),t.querySelectorAll(":checked").length||g.push(":checked"),t.querySelectorAll("a#"+y+"+*").length||g.push(".#.+[+~]")})),ut((function(t){t.innerHTML="";var e=h.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&g.push("name"+R+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),p.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),g.push(",.*:")}))),(n.matchesSelector=X.test(b=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&ut((function(t){n.disconnectedMatch=b.call(t,"*"),b.call(t,"[s!='']:x"),v.push("!=",H)})),g=g.length&&new RegExp(g.join("|")),v=v.length&&new RegExp(v.join("|")),e=X.test(p.compareDocumentPosition),A=e||X.test(p.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},k=e?function(t,e){if(t===e)return f=!0,0;var r=!t.compareDocumentPosition-!e.compareDocumentPosition;return r||(1&(r=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===r?t===h||t.ownerDocument===w&&A(w,t)?-1:e===h||e.ownerDocument===w&&A(w,e)?1:u?N(u,t)-N(u,e):0:4&r?-1:1)}:function(t,e){if(t===e)return f=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,a=[t],s=[e];if(!i||!o)return t===h?-1:e===h?1:i?-1:o?1:u?N(u,t)-N(u,e):0;if(i===o)return dt(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?dt(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},h):h},st.matches=function(t,e){return st(t,null,null,e)},st.matchesSelector=function(t,e){if((t.ownerDocument||t)!==h&&d(t),n.matchesSelector&&m&&!O[e+" "]&&(!v||!v.test(e))&&(!g||!g.test(e)))try{var r=b.call(t,e);if(r||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){O(e,!0)}return st(e,h,null,[t]).length>0},st.contains=function(t,e){return(t.ownerDocument||t)!==h&&d(t),A(t,e)},st.attr=function(t,e){(t.ownerDocument||t)!==h&&d(t);var i=r.attrHandle[e.toLowerCase()],o=i&&T.call(r.attrHandle,e.toLowerCase())?i(t,e,!m):void 0;return void 0!==o?o:n.attributes||!m?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},st.escape=function(t){return(t+"").replace(rt,it)},st.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},st.uniqueSort=function(t){var e,r=[],i=0,o=0;if(f=!n.detectDuplicates,u=!n.sortStable&&t.slice(0),t.sort(k),f){for(;e=t[o++];)e===t[o]&&(i=r.push(o));for(;i--;)t.splice(r[i],1)}return u=null,t},i=st.getText=function(t){var e,n="",r=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=i(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[r++];)n+=i(e);return n},(r=st.selectors={cacheLength:50,createPseudo:ct,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||st.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&st.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return G.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&W.test(n)&&(e=a(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=C[t+" "];return e||(e=new RegExp("(^|"+R+")"+t+"("+R+"|$)"))&&C(t,(function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))},ATTR:function(t,e,n){return function(r){var i=st.attr(r,t);return null==i?"!="===e:!e||(i+="","="===e?i===n:"!="===e?i!==n:"^="===e?n&&0===i.indexOf(n):"*="===e?n&&i.indexOf(n)>-1:"$="===e?n&&i.slice(-n.length)===n:"~="===e?(" "+i.replace(z," ")+" ").indexOf(n)>-1:"|="===e&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,l){var c,u,f,d,h,p,m=o!==a?"nextSibling":"previousSibling",g=e.parentNode,v=s&&e.nodeName.toLowerCase(),b=!l&&!s,A=!1;if(g){if(o){for(;m;){for(d=e;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=m="only"===t&&!p&&"nextSibling"}return!0}if(p=[a?g.firstChild:g.lastChild],a&&b){for(A=(h=(c=(u=(f=(d=g)[y]||(d[y]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]||[])[0]===_&&c[1])&&c[2],d=h&&g.childNodes[h];d=++h&&d&&d[m]||(A=h=0)||p.pop();)if(1===d.nodeType&&++A&&d===e){u[t]=[_,h,A];break}}else if(b&&(A=h=(c=(u=(f=(d=e)[y]||(d[y]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]||[])[0]===_&&c[1]),!1===A)for(;(d=++h&&d&&d[m]||(A=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++A||(b&&((u=(f=d[y]||(d[y]={}))[d.uniqueID]||(f[d.uniqueID]={}))[t]=[_,A]),d!==e)););return(A-=i)===r||A%r==0&&A/r>=0}}},PSEUDO:function(t,e){var n,i=r.pseudos[t]||r.setFilters[t.toLowerCase()]||st.error("unsupported pseudo: "+t);return i[y]?i(e):i.length>1?(n=[t,t,"",e],r.setFilters.hasOwnProperty(t.toLowerCase())?ct((function(t,n){for(var r,o=i(t,e),a=o.length;a--;)t[r=N(t,o[a])]=!(n[r]=o[a])})):function(t){return i(t,0,n)}):i}},pseudos:{not:ct((function(t){var e=[],n=[],r=s(t.replace(U,"$1"));return r[y]?ct((function(t,e,n,i){for(var o,a=r(t,null,i,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))})):function(t,i,o){return e[0]=t,r(e,null,o,n),e[0]=null,!n.pop()}})),has:ct((function(t){return function(e){return st(t,e).length>0}})),contains:ct((function(t){return t=t.replace(et,nt),function(e){return(e.textContent||i(e)).indexOf(t)>-1}})),lang:ct((function(t){return Y.test(t||"")||st.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=m?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}})),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===h.activeElement&&(!h.hasFocus||h.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:mt(!1),disabled:mt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!r.pseudos.empty(t)},header:function(t){return K.test(t.nodeName)},input:function(t){return J.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:gt((function(){return[0]})),last:gt((function(t,e){return[e-1]})),eq:gt((function(t,e,n){return[n<0?n+e:n]})),even:gt((function(t,e){for(var n=0;ne?e:n;--r>=0;)t.push(r);return t})),gt:gt((function(t,e,n){for(var r=n<0?n+e:n;++r1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function _t(t,e,n,r,i){for(var o,a=[],s=0,l=t.length,c=null!=e;s-1&&(o[c]=!(a[c]=f))}}else v=_t(v===a?v.splice(p,v.length):v),i?i(null,a,v,l):I.apply(a,v)}))}function Ct(t){for(var e,n,i,o=t.length,a=r.relative[t[0].type],s=a||r.relative[" "],l=a?1:0,u=yt((function(t){return t===e}),s,!0),f=yt((function(t){return N(e,t)>-1}),s,!0),d=[function(t,n,r){var i=!a&&(r||n!==c)||((e=n).nodeType?u(t,n,r):f(t,n,r));return e=null,i}];l1&&wt(d),l>1&&At(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(U,"$1"),n,l0,i=t.length>0,o=function(o,a,s,l,u){var f,p,g,v=0,b="0",A=o&&[],y=[],w=c,x=o||i&&r.find.TAG("*",u),C=_+=null==w?1:Math.random()||.1,E=x.length;for(u&&(c=a===h||a||u);b!==E&&null!=(f=x[b]);b++){if(i&&f){for(p=0,a||f.ownerDocument===h||(d(f),s=!m);g=t[p++];)if(g(f,a||h,s)){l.push(f);break}u&&(_=C)}n&&((f=!g&&f)&&v--,o&&A.push(f))}if(v+=b,n&&b!==v){for(p=0;g=e[p++];)g(A,y,a,s);if(o){if(v>0)for(;b--;)A[b]||y[b]||(y[b]=B.call(l));y=_t(y)}I.apply(l,y),u&&!o&&y.length>0&&v+e.length>1&&st.uniqueSort(l)}return u&&(_=C,c=w),A};return n?ct(o):o}(o,i))).selector=t}return s},l=st.select=function(t,e,n,i){var o,l,c,u,f,d="function"==typeof t&&t,h=!i&&a(t=d.selector||t);if(n=n||[],1===h.length){if((l=h[0]=h[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===e.nodeType&&m&&r.relative[l[1].type]){if(!(e=(r.find.ID(c.matches[0].replace(et,nt),e)||[])[0]))return n;d&&(e=e.parentNode),t=t.slice(l.shift().value.length)}for(o=G.needsContext.test(t)?0:l.length;o--&&(c=l[o],!r.relative[u=c.type]);)if((f=r.find[u])&&(i=f(c.matches[0].replace(et,nt),tt.test(l[0].type)&&vt(e.parentNode)||e))){if(l.splice(o,1),!(t=i.length&&At(l)))return I.apply(n,i),n;break}}return(d||s(t,h))(i,e,!m,n,!e||tt.test(t)&&vt(e.parentNode)||e),n},n.sortStable=y.split("").sort(k).join("")===y,n.detectDuplicates=!!f,d(),n.sortDetached=ut((function(t){return 1&t.compareDocumentPosition(h.createElement("fieldset"))})),ut((function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")}))||ft("type|href|height|width",(function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)})),n.attributes&&ut((function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")}))||ft("value",(function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue})),ut((function(t){return null==t.getAttribute("disabled")}))||ft(M,(function(t,e,n){var r;if(!n)return!0===t[e]?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null})),st}(n);x.find=S,x.expr=S.selectors,x.expr[":"]=x.expr.pseudos,x.uniqueSort=x.unique=S.uniqueSort,x.text=S.getText,x.isXMLDoc=S.isXML,x.contains=S.contains,x.escapeSelector=S.escape;var O=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&x(t).is(n))break;r.push(t)}return r},k=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},T=x.expr.match.needsContext;function D(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function P(t,e,n){return b(e)?x.grep(t,(function(t,r){return!!e.call(t,r,t)!==n})):e.nodeType?x.grep(t,(function(t){return t===e!==n})):"string"!=typeof e?x.grep(t,(function(t){return f.call(e,t)>-1!==n})):x.filter(e,t,n)}x.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?x.find.matchesSelector(r,t)?[r]:[]:x.find.matches(t,x.grep(e,(function(t){return 1===t.nodeType})))},x.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(x(t).filter((function(){for(e=0;e1?x.uniqueSort(n):n},filter:function(t){return this.pushStack(P(this,t||[],!1))},not:function(t){return this.pushStack(P(this,t||[],!0))},is:function(t){return!!P(this,"string"==typeof t&&T.test(t)?x(t):t||[],!1).length}});var I,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(x.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||I,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:j.exec(t))||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof x?e[0]:e,x.merge(this,x.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:a,!0)),B.test(r[1])&&x.isPlainObject(e))for(r in e)b(this[r])?this[r](e[r]):this.attr(r,e[r]);return this}return(i=a.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):b(t)?void 0!==n.ready?n.ready(t):t(x):x.makeArray(t,this)}).prototype=x.fn,I=x(a);var N=/^(?:parents|prev(?:Until|All))/,M={children:!0,contents:!0,next:!0,prev:!0};function R(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}x.fn.extend({has:function(t){var e=x(t,this),n=e.length;return this.filter((function(){for(var t=0;t-1:1===n.nodeType&&x.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?x.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?f.call(x(t),this[0]):f.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(x.uniqueSort(x.merge(this.get(),x(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),x.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return O(t,"parentNode")},parentsUntil:function(t,e,n){return O(t,"parentNode",n)},next:function(t){return R(t,"nextSibling")},prev:function(t){return R(t,"previousSibling")},nextAll:function(t){return O(t,"nextSibling")},prevAll:function(t){return O(t,"previousSibling")},nextUntil:function(t,e,n){return O(t,"nextSibling",n)},prevUntil:function(t,e,n){return O(t,"previousSibling",n)},siblings:function(t){return k((t.parentNode||{}).firstChild,t)},children:function(t){return k(t.firstChild)},contents:function(t){return void 0!==t.contentDocument?t.contentDocument:(D(t,"template")&&(t=t.content||t),x.merge([],t.childNodes))}},(function(t,e){x.fn[t]=function(n,r){var i=x.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(M[t]||x.uniqueSort(i),N.test(t)&&i.reverse()),this.pushStack(i)}}));var F=/[^\x20\t\r\n\f]+/g;function L(t){return t}function H(t){throw t}function z(t,e,n,r){var i;try{t&&b(i=t.promise)?i.call(t).done(e).fail(n):t&&b(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}x.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return x.each(t.match(F)||[],(function(t,n){e[n]=!0})),e}(t):x.extend({},t);var e,n,r,i,o=[],a=[],s=-1,l=function(){for(i=i||t.once,r=e=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(t){return t?x.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=[t,(n=n||[]).slice?n.slice():n],a.push(n),e||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},x.extend({Deferred:function(t){var e=[["notify","progress",x.Callbacks("memory"),x.Callbacks("memory"),2],["resolve","done",x.Callbacks("once memory"),x.Callbacks("once memory"),0,"resolved"],["reject","fail",x.Callbacks("once memory"),x.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return x.Deferred((function(n){x.each(e,(function(e,r){var i=b(t[r[4]])&&t[r[4]];o[r[1]]((function(){var t=i&&i.apply(this,arguments);t&&b(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)}))})),t=null})).promise()},then:function(t,r,i){var o=0;function a(t,e,r,i){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(t=o&&(r!==H&&(s=void 0,l=[n]),e.rejectWith(s,l))}};t?u():(x.Deferred.getStackHook&&(u.stackTrace=x.Deferred.getStackHook()),n.setTimeout(u))}}return x.Deferred((function(n){e[0][3].add(a(0,n,b(i)?i:L,n.notifyWith)),e[1][3].add(a(0,n,b(t)?t:L)),e[2][3].add(a(0,n,b(r)?r:H))})).promise()},promise:function(t){return null!=t?x.extend(t,i):i}},o={};return x.each(e,(function(t,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add((function(){r=s}),e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=l.call(arguments),o=x.Deferred(),a=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?l.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(z(t,o.done(a(n)).resolve,o.reject,!e),"pending"===o.state()||b(i[n]&&i[n].then)))return o.then();for(;n--;)z(i[n],a(n),o.reject);return o.promise()}});var U=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;x.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&U.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},x.readyException=function(t){n.setTimeout((function(){throw t}))};var $=x.Deferred();function Q(){a.removeEventListener("DOMContentLoaded",Q),n.removeEventListener("load",Q),x.ready()}x.fn.ready=function(t){return $.then(t).catch((function(t){x.readyException(t)})),this},x.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--x.readyWait:x.isReady)||(x.isReady=!0,!0!==t&&--x.readyWait>0||$.resolveWith(a,[x]))}}),x.ready.then=$.then,"complete"===a.readyState||"loading"!==a.readyState&&!a.documentElement.doScroll?n.setTimeout(x.ready):(a.addEventListener("DOMContentLoaded",Q),n.addEventListener("load",Q));var V=function(t,e,n,r,i,o,a){var s=0,l=t.length,c=null==n;if("object"===_(n))for(s in i=!0,n)V(t,e,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,b(r)||(a=!0),c&&(a?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(x(t),n)})),e))for(;s1,null,!0)},removeData:function(t){return this.each((function(){Z.remove(this,t)}))}}),x.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=X.get(t,e),n&&(!r||Array.isArray(n)?r=X.access(t,e,x.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=x.queue(t,e),r=n.length,i=n.shift(),o=x._queueHooks(t,e);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,(function(){x.dequeue(t,e)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return X.get(t,n)||X.access(t,n,{empty:x.Callbacks("once memory").add((function(){X.remove(t,[e+"queue",n])}))})}}),x.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]*)/i,vt=/^$|^module$|\/(?:java|ecma)script/i,bt={option:[1,""],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function At(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&D(t,e)?x.merge([t],n):n}function yt(t,e){for(var n=0,r=t.length;n-1)i&&i.push(o);else if(c=st(o),a=At(f.appendChild(o),"script"),c&&yt(a),n)for(u=0;o=a[u++];)vt.test(o.type||"")&&n.push(o);return f}wt=a.createDocumentFragment().appendChild(a.createElement("div")),(_t=a.createElement("input")).setAttribute("type","radio"),_t.setAttribute("checked","checked"),_t.setAttribute("name","t"),wt.appendChild(_t),v.checkClone=wt.cloneNode(!0).cloneNode(!0).lastChild.checked,wt.innerHTML="",v.noCloneChecked=!!wt.cloneNode(!0).lastChild.defaultValue;var Et=/^key/,St=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ot=/^([^.]*)(?:\.(.+)|)/;function kt(){return!0}function Tt(){return!1}function Dt(t,e){return t===function(){try{return a.activeElement}catch(t){}}()==("focus"===e)}function Bt(t,e,n,r,i,o){var a,s;if("object"==typeof e){for(s in"string"!=typeof n&&(r=r||n,n=void 0),e)Bt(t,s,n,r,e[s],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Tt;else if(!i)return t;return 1===o&&(a=i,(i=function(t){return x().off(t),a.apply(this,arguments)}).guid=a.guid||(a.guid=x.guid++)),t.each((function(){x.event.add(this,e,i,r,n)}))}function Pt(t,e,n){n?(X.set(t,e,!1),x.event.add(t,e,{namespace:!1,handler:function(t){var r,i,o=X.get(this,e);if(1&t.isTrigger&&this[e]){if(o.length)(x.event.special[e]||{}).delegateType&&t.stopPropagation();else if(o=l.call(arguments),X.set(this,e,o),r=n(this,e),this[e](),o!==(i=X.get(this,e))||r?X.set(this,e,!1):i={},o!==i)return t.stopImmediatePropagation(),t.preventDefault(),i.value}else o.length&&(X.set(this,e,{value:x.event.trigger(x.extend(o[0],x.Event.prototype),o.slice(1),this)}),t.stopImmediatePropagation())}})):void 0===X.get(t,e)&&x.event.add(t,e,kt)}x.event={global:{},add:function(t,e,n,r,i){var o,a,s,l,c,u,f,d,h,p,m,g=X.get(t);if(g)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&x.find.matchesSelector(at,i),n.guid||(n.guid=x.guid++),(l=g.events)||(l=g.events={}),(a=g.handle)||(a=g.handle=function(e){return void 0!==x&&x.event.triggered!==e.type?x.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(F)||[""]).length;c--;)h=m=(s=Ot.exec(e[c])||[])[1],p=(s[2]||"").split(".").sort(),h&&(f=x.event.special[h]||{},h=(i?f.delegateType:f.bindType)||h,f=x.event.special[h]||{},u=x.extend({type:h,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&x.expr.match.needsContext.test(i),namespace:p.join(".")},o),(d=l[h])||((d=l[h]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,p,a)||t.addEventListener&&t.addEventListener(h,a)),f.add&&(f.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,u):d.push(u),x.event.global[h]=!0)},remove:function(t,e,n,r,i){var o,a,s,l,c,u,f,d,h,p,m,g=X.hasData(t)&&X.get(t);if(g&&(l=g.events)){for(c=(e=(e||"").match(F)||[""]).length;c--;)if(h=m=(s=Ot.exec(e[c])||[])[1],p=(s[2]||"").split(".").sort(),h){for(f=x.event.special[h]||{},d=l[h=(r?f.delegateType:f.bindType)||h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;o--;)u=d[o],!i&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(d.splice(o,1),u.selector&&d.delegateCount--,f.remove&&f.remove.call(t,u));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(t,p,g.handle)||x.removeEvent(t,h,g.handle),delete l[h])}else for(h in l)x.event.remove(t,h+e[c],n,r,!0);x.isEmptyObject(l)&&X.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,a,s=x.event.fix(t),l=new Array(arguments.length),c=(X.get(this,"events")||{})[s.type]||[],u=x.event.special[s.type]||{};for(l[0]=s,e=1;e=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],a={},n=0;n-1:x.find(i,this,null,[c]).length),a[i]&&o.push(r);o.length&&s.push({elem:c,handlers:o})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,jt=/
+