{"version":3,"file":"main.bundle.js","sources":["webpack:///./~/date-fns/esm/toDate/index.js","webpack:///./src/app/app.service.ts","webpack:///./~/ng2-semantic-ui/dist/misc/util/index.js","webpack:///./~/chart.js/src/helpers/index.js","webpack:///./~/chart.js/src/core/core.defaults.js","webpack:///./~/ng2-validation/dist/util/lang.js","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/rxjs/Rx.js","webpack:///./~/ng2-bootstrap/modal/index.js","webpack:///./src/app/configERP.ts","webpack:///./src/app/admisiones/modalsolicitud/modalsolicitud.ts","webpack:///./src/app/app.helpers.ts","webpack:///./~/moment-timezone/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/transition/index.js","webpack:///./~/rxjs/scheduler/async.js","webpack:///./src/app/directives/storage.service.ts","webpack:///./~/text-mask-addons/dist/createNumberMask.js","webpack:///./~/ng2-bootstrap/utils/ng2-bootstrap-config.js","webpack:///./~/ng2-semantic-ui/dist/behaviors/localization/index.js","webpack:///./~/chart.js/src/core/core.element.js","webpack:///./~/chart.js/src/elements/index.js","webpack:///./~/date-fns/esm/_lib/cloneObject/index.js","webpack:///./~/ng2-bootstrap/component-loader/index.js","webpack:///./~/date-fns/esm/compareAsc/index.js","webpack:///./~/date-fns/esm/startOfISOWeek/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/services/calendar-range.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/views/calendar-view.js","webpack:///./~/ng2-semantic-ui/dist/modules/dropdown/index.js","webpack:///./src/entity/seguridad.ts","webpack:///./~/core-js/library/modules/_global.js","webpack:///./~/core-js/library/modules/_wks.js","webpack:///./~/date-fns/esm/getISOYear/index.js","webpack:///./~/libphonenumber-js/es6/metadata.js","webpack:///./~/libphonenumber-js/es6/parse.js","webpack:///./~/ng2-bootstrap/positioning/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/classes/date-parser.js","webpack:///./~/ng2-bootstrap/index.js","webpack:///./~/core-js/library/modules/_core.js","webpack:///./~/@ng-idle/core/src/idleexpiry.js","webpack:///./~/chart.js/src/core/core.layouts.js","webpack:///./~/chart.js/src/core/core.ticks.js","webpack:///./~/core-js/library/modules/_descriptors.js","webpack:///./~/core-js/library/modules/_hide.js","webpack:///./~/date-fns/esm/addDays/index.js","webpack:///./~/date-fns/esm/addMilliseconds/index.js","webpack:///./~/date-fns/esm/differenceInCalendarDays/index.js","webpack:///./~/date-fns/esm/locale/en-US/index.js","webpack:///./~/date-fns/esm/startOfISOYear/index.js","webpack:///./~/ng2-bootstrap/datepicker/datepicker-inner.component.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/services/calendar.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/classes/popup-config.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/index.js","webpack:///./~/rxjs/scheduler/AsyncAction.js","webpack:///./~/rxjs/scheduler/AsyncScheduler.js","webpack:///./~/angular2-moment/index.js","webpack:///./~/chart.js/src/helpers/helpers.core.js","webpack:///./~/core-js/library/modules/_an-object.js","webpack:///./~/core-js/library/modules/_has.js","webpack:///./~/core-js/library/modules/_iterators.js","webpack:///./~/core-js/library/modules/_object-dp.js","webpack:///./~/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack:///./~/date-fns/esm/addMonths/index.js","webpack:///./~/date-fns/esm/differenceInMilliseconds/index.js","webpack:///./~/date-fns/esm/startOfWeek/index.js","webpack:///./~/libphonenumber-js/es6/common.js","webpack:///./~/libphonenumber-js/es6/format.js","webpack:///./~/libphonenumber-js/es6/get number type.js","webpack:///./~/ng2-bootstrap/dropdown/dropdown.directive.js","webpack:///./~/ng2-bootstrap/dropdown/dropdown.service.js","webpack:///./~/ng2-bootstrap/pagination/pagination.config.js","webpack:///./~/ng2-bootstrap/popover/popover.config.js","webpack:///./~/ng2-bootstrap/tooltip/tooltip.config.js","webpack:///./~/ng2-bootstrap/utils/facade/browser.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/directives/calendar-item.js","webpack:///./~/rxjs/AsyncSubject.js","webpack:///./~/rxjs/util/ArgumentOutOfRangeError.js","webpack:///./~/rxjs/util/isDate.js","webpack:///./~/text-mask-core/dist/textMaskCore.js","webpack:///./~/angular-datatables/index.js","webpack:///./~/file-saver/FileSaver.js","webpack:///./~/ng2-semantic-ui/dist/public.js","webpack:///./~/chart.js/src/chart.js","webpack:///./~/core-js/library/modules/_export.js","webpack:///./~/angular-moment-timezone/index.js","webpack:///./src/app/admisiones/modalsolicitud/dictamen/dictamenpestana/dictamenpestana.component.ts","webpack:///./src/app/admisiones/modalsolicitud/dictamen/ficha/ficha.component.ts","webpack:///./~/@ng-idle/core/src/eventtargetinterruptsource.js","webpack:///./~/@ng-idle/core/src/localstorage.js","webpack:///./~/@ng-idle/core/src/localstorageexpiry.js","webpack:///./~/babel-runtime/core-js/get-iterator.js","webpack:///./~/core-js/library/modules/_defined.js","webpack:///./~/core-js/library/modules/_fails.js","webpack:///./~/core-js/library/modules/_is-object.js","webpack:///./~/core-js/library/modules/_shared-key.js","webpack:///./~/core-js/library/modules/_to-integer.js","webpack:///./~/core-js/library/modules/_to-iobject.js","webpack:///./~/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack:///./~/date-fns/esm/addWeeks/index.js","webpack:///./~/date-fns/esm/differenceInMonths/index.js","webpack:///./~/date-fns/esm/differenceInSeconds/index.js","webpack:///./~/date-fns/esm/getDaysInMonth/index.js","webpack:///./~/date-fns/esm/startOfDay/index.js","webpack:///./~/date-fns/esm/subMinutes/index.js","webpack:///./~/ng2-bootstrap/accordion/accordion.component.js","webpack:///./~/ng2-bootstrap/accordion/accordion.config.js","webpack:///./~/ng2-bootstrap/alert/alert.config.js","webpack:///./~/ng2-bootstrap/carousel/carousel.component.js","webpack:///./~/ng2-bootstrap/carousel/carousel.config.js","webpack:///./~/ng2-bootstrap/collapse/collapse.module.js","webpack:///./~/ng2-bootstrap/datepicker/datepicker.config.js","webpack:///./~/ng2-bootstrap/dropdown/dropdown.config.js","webpack:///./~/ng2-bootstrap/modal/modal-backdrop.component.js","webpack:///./~/ng2-bootstrap/popover/popover-container.component.js","webpack:///./~/ng2-bootstrap/progressbar/progress.directive.js","webpack:///./~/ng2-bootstrap/progressbar/progressbar.config.js","webpack:///./~/ng2-bootstrap/sortable/draggable-item.service.js","webpack:///./~/ng2-bootstrap/tabs/tab.directive.js","webpack:///./~/ng2-bootstrap/tabs/tabset.component.js","webpack:///./~/ng2-bootstrap/tabs/tabset.config.js","webpack:///./~/ng2-bootstrap/timepicker/timepicker.config.js","webpack:///./~/ng2-bootstrap/tooltip/tooltip-container.component.js","webpack:///./~/ng2-bootstrap/typeahead/typeahead-container.component.js","webpack:///./~/ng2-bootstrap/typeahead/typeahead-utils.js","webpack:///./~/ng2-bootstrap/utils/decorators.js","webpack:///./~/ng2-semantic-ui/dist/modules/accordion/components/accordion-panel.js","webpack:///./~/ng2-semantic-ui/dist/modules/checkbox/components/radio.js","webpack:///./~/ng2-semantic-ui/dist/modules/collapse/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/classes/calendar-config.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/components/datepicker.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/directives/datepicker.directive.js","webpack:///./~/ng2-semantic-ui/dist/modules/dimmer/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/dropdown/directives/dropdown-menu.js","webpack:///./~/ng2-semantic-ui/dist/modules/dropdown/services/dropdown.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/classes/modal-config.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/classes/modal-controls.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/components/modal.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/classes/popup-controller.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/components/popup.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/services/popup.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/search/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/classes/select-base.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/components/select-option.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/directives/select-search.js","webpack:///./~/ng2-semantic-ui/dist/modules/sidebar/components/sidebar-sibling.js","webpack:///./~/ng2-semantic-ui/dist/modules/sidebar/components/sidebar.js","webpack:///./~/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/tabs/directives/tab-content.js","webpack:///./~/ng2-semantic-ui/dist/modules/tabs/directives/tab-header.js","webpack:///./~/rxjs/ReplaySubject.js","webpack:///./~/rxjs/operator/combineLatest.js","webpack:///./~/rxjs/operator/concat.js","webpack:///./~/rxjs/operator/zip.js","webpack:///./~/rxjs/util/isNumeric.js","webpack:///./src/app/environment.ts","webpack:///./~/mydatepicker/index.js","webpack:///./~/mydaterangepicker/index.js","webpack:///./~/angular2-text-mask/dist/angular2TextMask.js","webpack:///./src/app/Pipe/pipe.module.ts","webpack:///./src/app/componenetesgenerales/estadocuenta/estadocuenta.component.ts","webpack:///./~/core-js/library/modules/_cof.js","webpack:///./~/core-js/library/modules/_dom-create.js","webpack:///./src/app/admisiones/modalsolicitud/dictamen/dictamen.component.ts","webpack:///./src/app/admisiones/modalsolicitud/modalfotos/modalfotos.component.ts","webpack:///./src/app/componenetesgenerales/foto/foto.component.ts","webpack:///./~/@ng-idle/core/index.js","webpack:///./~/ng2-webcam/lib/fallback/ts/fallback.dispatcher.ts","webpack:///./src/app/admisiones/modalsolicitud/areamedica/areamedica.component.ts","webpack:///./src/app/admisiones/modalsolicitud/comentarios/comentarios.component.ts","webpack:///./src/app/admisiones/modalsolicitud/datosaspirante/datosaspirante.component.ts","webpack:///./src/app/admisiones/modalsolicitud/datosfamiliares/datosfamiliares.component.ts","webpack:///./src/app/admisiones/modalsolicitud/dinamicafamiliar/dinamicafamiliar.component.ts","webpack:///./src/app/admisiones/modalsolicitud/documentacion/documentacion.component.ts","webpack:///./src/app/admisiones/modalsolicitud/encuesta/encuesta.component.ts","webpack:///./src/app/admisiones/modalsolicitud/evaluaciones/evaluaciones.component.ts","webpack:///./src/app/admisiones/modalsolicitud/expediente/expediente.component.ts","webpack:///./src/app/admisiones/modalsolicitud/fotografia/fotografia.component.ts","webpack:///./src/app/admisiones/modalsolicitud/hermanos/hermanos.component.ts","webpack:///./src/app/admisiones/modalsolicitud/otrosprocesos/otrosprocesos.component.ts","webpack:///./src/app/componenetesgenerales/dictamen/ficha/ficha.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/fotosalumno/fotosalumno.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/admisiones/admisiones.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicaidec/areamedicaidec.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicalux.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/becas/becas.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/certificaciones/certificaciones.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/contactosemergencia/contactosemergencia.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/custodia/custodia.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/datosgenerales/datosgenerales.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/extraordinarios/extraordinarios.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/familia/familia.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialacademico/historialacademico.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialfinanciero/historialacademico.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/horario/horario.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/padretutor.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/subgrupos/subgrupos.ts","webpack:///./~/@ng-idle/core/src/documentinterruptsource.js","webpack:///./~/@ng-idle/core/src/idle.js","webpack:///./~/@ng-idle/core/src/interruptargs.js","webpack:///./~/@ng-idle/core/src/interruptsource.js","webpack:///./~/@ng-idle/core/src/keepalivesvc.js","webpack:///./~/@ng-idle/core/src/storageinterruptsource.js","webpack:///./~/@ng-idle/core/src/windowinterruptsource.js","webpack:///./~/@ng-idle/keepalive/src/keepalive.js","webpack:///./~/angular-datatables/src/angular-datatables.directive.js","webpack:///./~/angular-moment-timezone/tz.pipe.js","webpack:///./~/angular2-moment/add.pipe.js","webpack:///./~/angular2-moment/calendar.pipe.js","webpack:///./~/angular2-moment/date-format.pipe.js","webpack:///./~/angular2-moment/difference.pipe.js","webpack:///./~/angular2-moment/duration.pipe.js","webpack:///./~/angular2-moment/from-unix.pipe.js","webpack:///./~/angular2-moment/local.pipe.js","webpack:///./~/angular2-moment/locale.pipe.js","webpack:///./~/angular2-moment/parse.pipe.js","webpack:///./~/angular2-moment/subtract.pipe.js","webpack:///./~/angular2-moment/time-ago.pipe.js","webpack:///./~/angular2-moment/utc.pipe.js","webpack:///./~/ap-angular2-fullcalendar/index.js","webpack:///./~/ap-angular2-fullcalendar/src/calendar/calendar.js","webpack:///./~/chart.js/src/core/core.interaction.js","webpack:///./~/chart.js/src/core/core.plugins.js","webpack:///./~/chart.js/src/platforms/platform.js","webpack:///./~/chartjs-color/index.js","webpack:///./~/color-convert/conversions.js","webpack:///./~/color-name/index.js","webpack:///./~/core-js/library/modules/_enum-bug-keys.js","webpack:///./~/core-js/library/modules/_iobject.js","webpack:///./~/core-js/library/modules/_iter-define.js","webpack:///./~/core-js/library/modules/_object-keys.js","webpack:///./~/core-js/library/modules/_property-desc.js","webpack:///./~/core-js/library/modules/_set-to-string-tag.js","webpack:///./~/core-js/library/modules/_shared.js","webpack:///./~/core-js/library/modules/_to-object.js","webpack:///./~/core-js/library/modules/_uid.js","webpack:///./~/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack:///./~/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack:///./~/date-fns/esm/addHours/index.js","webpack:///./~/date-fns/esm/addISOYears/index.js","webpack:///./~/date-fns/esm/addMinutes/index.js","webpack:///./~/date-fns/esm/addQuarters/index.js","webpack:///./~/date-fns/esm/addSeconds/index.js","webpack:///./~/date-fns/esm/addYears/index.js","webpack:///./~/date-fns/esm/differenceInCalendarISOYears/index.js","webpack:///./~/date-fns/esm/differenceInCalendarMonths/index.js","webpack:///./~/date-fns/esm/differenceInCalendarYears/index.js","webpack:///./~/date-fns/esm/differenceInDays/index.js","webpack:///./~/date-fns/esm/endOfDay/index.js","webpack:///./~/date-fns/esm/endOfMonth/index.js","webpack:///./~/date-fns/esm/endOfWeek/index.js","webpack:///./~/date-fns/esm/format/index.js","webpack:///./~/date-fns/esm/getISODay/index.js","webpack:///./~/date-fns/esm/getISOWeek/index.js","webpack:///./~/date-fns/esm/getQuarter/index.js","webpack:///./~/date-fns/esm/isLeapYear/index.js","webpack:///./~/date-fns/esm/isSameWeek/index.js","webpack:///./~/date-fns/esm/isValid/index.js","webpack:///./~/date-fns/esm/lastDayOfWeek/index.js","webpack:///./~/date-fns/esm/setISOYear/index.js","webpack:///./~/date-fns/esm/setMonth/index.js","webpack:///./~/date-fns/esm/startOfHour/index.js","webpack:///./~/date-fns/esm/startOfMinute/index.js","webpack:///./~/date-fns/esm/startOfQuarter/index.js","webpack:///./~/date-fns/esm/startOfSecond/index.js","webpack:///./~/date-fns/esm/startOfYear/index.js","webpack:///./~/date-fns/esm/subISOYears/index.js","webpack:///./src/assets/img/loading.gif","webpack:///./src/assets/Semantic/themes/default/assets/fonts/icons.eot","webpack:///./src/app/config.json","webpack:///./~/libphonenumber-js/es6/as you type.js","webpack:///./~/libphonenumber-js/es6/validate.js","webpack:///./~/mydatepicker/dist/my-date-picker.component.js","webpack:///./~/mydaterangepicker/dist/my-date-range-picker.component.js","webpack:///./~/ng2-bootstrap/accordion/accordion-group.component.js","webpack:///./~/ng2-bootstrap/accordion/accordion.module.js","webpack:///./~/ng2-bootstrap/alert/alert.component.js","webpack:///./~/ng2-bootstrap/alert/alert.module.js","webpack:///./~/ng2-bootstrap/buttons/button-checkbox.directive.js","webpack:///./~/ng2-bootstrap/buttons/button-radio.directive.js","webpack:///./~/ng2-bootstrap/buttons/buttons.module.js","webpack:///./~/ng2-bootstrap/carousel/carousel.module.js","webpack:///./~/ng2-bootstrap/carousel/slide.component.js","webpack:///./~/ng2-bootstrap/collapse/collapse.directive.js","webpack:///./~/ng2-bootstrap/component-loader/component-loader.class.js","webpack:///./~/ng2-bootstrap/component-loader/component-loader.factory.js","webpack:///./~/ng2-bootstrap/component-loader/content-ref.class.js","webpack:///./~/ng2-bootstrap/datepicker/date-formatter.js","webpack:///./~/ng2-bootstrap/datepicker/datepicker.component.js","webpack:///./~/ng2-bootstrap/datepicker/datepicker.module.js","webpack:///./~/ng2-bootstrap/datepicker/daypicker.component.js","webpack:///./~/ng2-bootstrap/datepicker/monthpicker.component.js","webpack:///./~/ng2-bootstrap/datepicker/yearpicker.component.js","webpack:///./~/ng2-bootstrap/dropdown/dropdown-menu.directive.js","webpack:///./~/ng2-bootstrap/dropdown/dropdown-toggle.directive.js","webpack:///./~/ng2-bootstrap/dropdown/dropdown.module.js","webpack:///./~/ng2-bootstrap/modal/modal-options.class.js","webpack:///./~/ng2-bootstrap/modal/modal.component.js","webpack:///./~/ng2-bootstrap/modal/modal.module.js","webpack:///./~/ng2-bootstrap/pagination/pager.component.js","webpack:///./~/ng2-bootstrap/pagination/pagination.component.js","webpack:///./~/ng2-bootstrap/pagination/pagination.module.js","webpack:///./~/ng2-bootstrap/popover/popover.directive.js","webpack:///./~/ng2-bootstrap/popover/popover.module.js","webpack:///./~/ng2-bootstrap/positioning/ng-positioning.js","webpack:///./~/ng2-bootstrap/progressbar/bar.component.js","webpack:///./~/ng2-bootstrap/progressbar/progressbar.component.js","webpack:///./~/ng2-bootstrap/progressbar/progressbar.module.js","webpack:///./~/ng2-bootstrap/rating/rating.component.js","webpack:///./~/ng2-bootstrap/rating/rating.module.js","webpack:///./~/ng2-bootstrap/sortable/index.js","webpack:///./~/ng2-bootstrap/sortable/sortable.component.js","webpack:///./~/ng2-bootstrap/tabs/ng-transclude.directive.js","webpack:///./~/ng2-bootstrap/tabs/tab-heading.directive.js","webpack:///./~/ng2-bootstrap/tabs/tabs.module.js","webpack:///./~/ng2-bootstrap/timepicker/timepicker.component.js","webpack:///./~/ng2-bootstrap/timepicker/timepicker.module.js","webpack:///./~/ng2-bootstrap/tooltip/tooltip.directive.js","webpack:///./~/ng2-bootstrap/tooltip/tooltip.module.js","webpack:///./~/ng2-bootstrap/typeahead/latin-map.js","webpack:///./~/ng2-bootstrap/typeahead/typeahead-match.class.js","webpack:///./~/ng2-bootstrap/typeahead/typeahead.directive.js","webpack:///./~/ng2-bootstrap/typeahead/typeahead.module.js","webpack:///./~/ng2-bootstrap/utils/index.js","webpack:///./~/ng2-bootstrap/utils/trigger.class.js","webpack:///./~/ng2-bootstrap/utils/utils.class.js","webpack:///./~/ng2-semantic-ui/dist/behaviors/index.js","webpack:///./~/ng2-semantic-ui/dist/behaviors/localization/services/localization.service.js","webpack:///./~/ng2-semantic-ui/dist/collections/index.js","webpack:///./~/ng2-semantic-ui/dist/collections/message/components/message.js","webpack:///./~/ng2-semantic-ui/dist/collections/message/index.js","webpack:///./~/ng2-semantic-ui/dist/collections/pagination/components/pagination.js","webpack:///./~/ng2-semantic-ui/dist/collections/pagination/index.js","webpack:///./~/ng2-semantic-ui/dist/misc/index.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/helpers/util.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/services/component-factory.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/accordion/components/accordion.js","webpack:///./~/ng2-semantic-ui/dist/modules/accordion/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/accordion/services/accordion.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/checkbox/components/checkbox.js","webpack:///./~/ng2-semantic-ui/dist/modules/checkbox/directives/radio-manager.js","webpack:///./~/ng2-semantic-ui/dist/modules/checkbox/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/collapse/directives/collapse.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/classes/calendar-mappings.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/classes/date-comparer.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/components/calendar-view-title.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/directives/input.directive.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/helpers/date-fns.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/views/date-view.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/views/hour-view.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/views/minute-view.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/views/month-view.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/views/year-view.js","webpack:///./~/ng2-semantic-ui/dist/modules/dimmer/components/dimmer.js","webpack:///./~/ng2-semantic-ui/dist/modules/dropdown/directives/dropdown.js","webpack:///./~/ng2-semantic-ui/dist/modules/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/classes/active-modal.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/services/modal.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/classes/popup-template-controller.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/components/popup-arrow.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/directives/popup.directive.js","webpack:///./~/ng2-semantic-ui/dist/modules/progress/components/progress.js","webpack:///./~/ng2-semantic-ui/dist/modules/progress/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/rating/components/rating.js","webpack:///./~/ng2-semantic-ui/dist/modules/rating/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/search/components/search-result.js","webpack:///./~/ng2-semantic-ui/dist/modules/search/components/search.js","webpack:///./~/ng2-semantic-ui/dist/modules/search/services/search.service.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/components/multi-select-label.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/components/multi-select.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/components/select.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/sidebar/components/sidebar-container.js","webpack:///./~/ng2-semantic-ui/dist/modules/sidebar/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/tabs/classes/tab.js","webpack:///./~/ng2-semantic-ui/dist/modules/tabs/components/tabset.js","webpack:///./~/ng2-semantic-ui/dist/modules/tabs/index.js","webpack:///./~/ng2-semantic-ui/dist/modules/transition/classes/transition-controller.js","webpack:///./~/ng2-semantic-ui/dist/modules/transition/classes/transition.js","webpack:///./~/ng2-semantic-ui/dist/modules/transition/directives/transition.js","webpack:///./~/ng2-validation/dist/base64/index.js","webpack:///./~/ng2-validation/dist/credit-card/index.js","webpack:///./~/ng2-validation/dist/date-ios/index.js","webpack:///./~/ng2-validation/dist/date/index.js","webpack:///./~/ng2-validation/dist/digits/index.js","webpack:///./~/ng2-validation/dist/email/index.js","webpack:///./~/ng2-validation/dist/equal-to/index.js","webpack:///./~/ng2-validation/dist/equal/index.js","webpack:///./~/ng2-validation/dist/greater-than-equal/index.js","webpack:///./~/ng2-validation/dist/greater-than/index.js","webpack:///./~/ng2-validation/dist/json/index.js","webpack:///./~/ng2-validation/dist/less-than-equal/index.js","webpack:///./~/ng2-validation/dist/less-than/index.js","webpack:///./~/ng2-validation/dist/max-date/index.js","webpack:///./~/ng2-validation/dist/max/index.js","webpack:///./~/ng2-validation/dist/min-date/index.js","webpack:///./~/ng2-validation/dist/min/index.js","webpack:///./~/ng2-validation/dist/not-equal-to/index.js","webpack:///./~/ng2-validation/dist/not-equal/index.js","webpack:///./~/ng2-validation/dist/number/index.js","webpack:///./~/ng2-validation/dist/phone/index.js","webpack:///./~/ng2-validation/dist/range-length/index.js","webpack:///./~/ng2-validation/dist/range/index.js","webpack:///./~/ng2-validation/dist/url/index.js","webpack:///./~/ng2-validation/dist/uuid/index.js","webpack:///./~/rxjs/add/observable/from.js","webpack:///./~/rxjs/add/observable/fromEvent.js","webpack:///./~/rxjs/add/observable/of.js","webpack:///./~/rxjs/add/operator/debounceTime.js","webpack:///./~/rxjs/add/operator/filter.js","webpack:///./~/rxjs/add/operator/throttleTime.js","webpack:///./~/rxjs/add/operator/toArray.js","webpack:///./~/rxjs/observable/dom/AjaxObservable.js","webpack:///./~/rxjs/operator/distinctUntilChanged.js","webpack:///./~/rxjs/operator/find.js","webpack:///./~/rxjs/operator/mergeMapTo.js","webpack:///./~/rxjs/operator/onErrorResumeNext.js","webpack:///./~/rxjs/operator/race.js","webpack:///./~/rxjs/operator/timeInterval.js","webpack:///./~/rxjs/operator/timestamp.js","webpack:///./~/rxjs/scheduler/VirtualTimeScheduler.js","webpack:///./~/rxjs/scheduler/asap.js","webpack:///./~/rxjs/scheduler/queue.js","webpack:///./~/rxjs/testing/SubscriptionLog.js","webpack:///./~/rxjs/testing/SubscriptionLoggable.js","webpack:///./~/rxjs/util/TimeoutError.js","webpack:///./~/rxjs/util/applyMixins.js","webpack:///./~/rxjs/util/noop.js","webpack:///./src/app/index.ts","webpack:///./src/app/componenetesgenerales/alumno/alumno.component.ts","webpack:///./src/app/shared/ld/general.css","webpack:///./~/ng2-validation/dist/index.js","webpack:///./src/app/componenetesgenerales/familia/familia.component.ts","webpack:///./src/app/componenetesgenerales/alumno/alumno.ts","webpack:///./src/app/admisiones/modalsolicitud/menusolicitud.component.ts","webpack:///./src/app/componenetesgenerales/calendario/calendario.component.ts","webpack:///./src/app/app.config.ts","webpack:///./src/app/componenetesgenerales/componenetesgenerales.module.ts","webpack:///./~/@ctrl/ngx-chartjs/fesm5/ctrl-ngx-chartjs.js","webpack:///./src/app/componenetesgenerales/familia/familia.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/modalalumno.component.ts","webpack:///./~/core-js/library/modules/_ctx.js","webpack:///./~/core-js/library/modules/_html.js","webpack:///./src/app/componenetesgenerales/reciboinscripcion/reciboinscripcion.component.ts","webpack:///./~/ng2-webcam/index.ts","webpack:///./~/ng2-webcam/lib/webcam.component.ts","webpack:///./src/app/Pipe/safeiframe.ts","webpack:///./src/app/admisiones/modalsolicitud/modalsolicitud.module.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.resolver.ts","webpack:///./src/app/app.routes.ts","webpack:///./src/app/componenetesgenerales/calendario/calendario.ts","webpack:///./src/app/componenetesgenerales/tablero/tablero.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/componentesacademico.module.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicaluxcomponent/areamedicaluxcomponent.component.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/alumno.model.ts","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/padretutor.model.ts","webpack:///./src/app/directives/lada.directive.ts","webpack:///./src/app/directives/phonenumber.directive.ts","webpack:///./~/@ng-idle/core/src/alternativestorage.js","webpack:///./~/@ng-idle/core/src/interrupt.js","webpack:///./~/@ng-idle/core/src/module.js","webpack:///./~/@ng-idle/core/src/simpleexpiry.js","webpack:///./~/@ng-idle/keepalive/index.js","webpack:///./~/@ng-idle/keepalive/src/module.js","webpack:///./~/angular-datatables/src/angular-datatables.module.js","webpack:///./~/angular-moment-timezone/moment-timezone.module.js","webpack:///./~/angular2-moment/from-utc.pipe.js","webpack:///./~/angular2-moment/moment.module.js","webpack:///./~/ap-angular2-fullcalendar/angular2-fullcalendar.js","webpack:///./~/babel-runtime/core-js/object/assign.js","webpack:///./~/babel-runtime/core-js/object/define-property.js","webpack:///./~/babel-runtime/helpers/classCallCheck.js","webpack:///./~/babel-runtime/helpers/createClass.js","webpack:///./~/babel-runtime/helpers/extends.js","webpack:///./~/bowser/src/bowser.js","webpack:///./~/chart.js/src/charts/Chart.Bar.js","webpack:///./~/chart.js/src/charts/Chart.Bubble.js","webpack:///./~/chart.js/src/charts/Chart.Doughnut.js","webpack:///./~/chart.js/src/charts/Chart.Line.js","webpack:///./~/chart.js/src/charts/Chart.PolarArea.js","webpack:///./~/chart.js/src/charts/Chart.Radar.js","webpack:///./~/chart.js/src/charts/Chart.Scatter.js","webpack:///./~/chart.js/src/controllers/controller.bar.js","webpack:///./~/chart.js/src/controllers/controller.bubble.js","webpack:///./~/chart.js/src/controllers/controller.doughnut.js","webpack:///./~/chart.js/src/controllers/controller.line.js","webpack:///./~/chart.js/src/controllers/controller.polarArea.js","webpack:///./~/chart.js/src/controllers/controller.radar.js","webpack:///./~/chart.js/src/controllers/controller.scatter.js","webpack:///./~/chart.js/src/core/core.animation.js","webpack:///./~/chart.js/src/core/core.controller.js","webpack:///./~/chart.js/src/core/core.datasetController.js","webpack:///./~/chart.js/src/core/core.helpers.js","webpack:///./~/chart.js/src/core/core.js","webpack:///./~/chart.js/src/core/core.scale.js","webpack:///./~/chart.js/src/core/core.scaleService.js","webpack:///./~/chart.js/src/core/core.tooltip.js","webpack:///./~/chart.js/src/elements/element.arc.js","webpack:///./~/chart.js/src/elements/element.line.js","webpack:///./~/chart.js/src/elements/element.point.js","webpack:///./~/chart.js/src/elements/element.rectangle.js","webpack:///./~/chart.js/src/helpers/helpers.canvas.js","webpack:///./~/chart.js/src/helpers/helpers.easing.js","webpack:///./~/chart.js/src/helpers/helpers.options.js","webpack:///./~/chart.js/src/platforms/platform.basic.js","webpack:///./~/chart.js/src/platforms/platform.dom.js","webpack:///./~/chart.js/src/plugins/index.js","webpack:///./~/chart.js/src/plugins/plugin.filler.js","webpack:///./~/chart.js/src/plugins/plugin.legend.js","webpack:///./~/chart.js/src/plugins/plugin.title.js","webpack:///./~/chart.js/src/scales/scale.category.js","webpack:///./~/chart.js/src/scales/scale.linear.js","webpack:///./~/chart.js/src/scales/scale.linearbase.js","webpack:///./~/chart.js/src/scales/scale.logarithmic.js","webpack:///./~/chart.js/src/scales/scale.radialLinear.js","webpack:///./~/chart.js/src/scales/scale.time.js","webpack:///./~/chartjs-color-string/color-string.js","webpack:///./~/color-convert/index.js","webpack:///./~/color-convert/route.js","webpack:///./~/core-js/library/fn/get-iterator.js","webpack:///./~/core-js/library/fn/object/assign.js","webpack:///./~/core-js/library/fn/object/define-property.js","webpack:///./~/core-js/library/modules/_a-function.js","webpack:///./~/core-js/library/modules/_add-to-unscopables.js","webpack:///./~/core-js/library/modules/_array-includes.js","webpack:///./~/core-js/library/modules/_classof.js","webpack:///./~/core-js/library/modules/_ie8-dom-define.js","webpack:///./~/core-js/library/modules/_iter-create.js","webpack:///./~/core-js/library/modules/_iter-step.js","webpack:///./~/core-js/library/modules/_library.js","webpack:///./~/core-js/library/modules/_object-assign.js","webpack:///./~/core-js/library/modules/_object-create.js","webpack:///./~/core-js/library/modules/_object-dps.js","webpack:///./~/core-js/library/modules/_object-gops.js","webpack:///./~/core-js/library/modules/_object-gpo.js","webpack:///./~/core-js/library/modules/_object-keys-internal.js","webpack:///./~/core-js/library/modules/_object-pie.js","webpack:///./~/core-js/library/modules/_redefine.js","webpack:///./~/core-js/library/modules/_string-at.js","webpack:///./~/core-js/library/modules/_to-index.js","webpack:///./~/core-js/library/modules/_to-length.js","webpack:///./~/core-js/library/modules/_to-primitive.js","webpack:///./~/core-js/library/modules/core.get-iterator-method.js","webpack:///./~/core-js/library/modules/core.get-iterator.js","webpack:///./~/core-js/library/modules/es6.array.iterator.js","webpack:///./~/core-js/library/modules/es6.object.assign.js","webpack:///./~/core-js/library/modules/es6.object.define-property.js","webpack:///./~/core-js/library/modules/es6.string.iterator.js","webpack:///./~/core-js/library/modules/web.dom.iterable.js","webpack:///./src/assets/steps/smart_wizard.min.css","webpack:///./src/assets/steps/smart_wizard_theme_arrows.min.css","webpack:///./src/assets/steps/smart_wizard_theme_circles.min.css","webpack:///./src/assets/steps/smart_wizard_theme_dots.min.css","webpack:///./~/date-fns/esm/_lib/addUTCMinutes/index.js","webpack:///./~/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack:///./~/date-fns/esm/_lib/setUTCDay/index.js","webpack:///./~/date-fns/esm/_lib/setUTCISODay/index.js","webpack:///./~/date-fns/esm/_lib/setUTCISOWeekYear/index.js","webpack:///./~/date-fns/esm/_lib/setUTCISOWeek/index.js","webpack:///./~/date-fns/esm/areIntervalsOverlapping/index.js","webpack:///./~/date-fns/esm/closestIndexTo/index.js","webpack:///./~/date-fns/esm/closestTo/index.js","webpack:///./~/date-fns/esm/compareDesc/index.js","webpack:///./~/date-fns/esm/differenceInCalendarISOWeeks/index.js","webpack:///./~/date-fns/esm/differenceInCalendarQuarters/index.js","webpack:///./~/date-fns/esm/differenceInCalendarWeeks/index.js","webpack:///./~/date-fns/esm/differenceInHours/index.js","webpack:///./~/date-fns/esm/differenceInISOYears/index.js","webpack:///./~/date-fns/esm/differenceInMinutes/index.js","webpack:///./~/date-fns/esm/differenceInQuarters/index.js","webpack:///./~/date-fns/esm/differenceInWeeks/index.js","webpack:///./~/date-fns/esm/differenceInYears/index.js","webpack:///./~/date-fns/esm/eachDayOfInterval/index.js","webpack:///./~/date-fns/esm/endOfHour/index.js","webpack:///./~/date-fns/esm/endOfISOWeek/index.js","webpack:///./~/date-fns/esm/endOfISOYear/index.js","webpack:///./~/date-fns/esm/endOfMinute/index.js","webpack:///./~/date-fns/esm/endOfQuarter/index.js","webpack:///./~/date-fns/esm/endOfSecond/index.js","webpack:///./~/date-fns/esm/endOfYear/index.js","webpack:///./~/date-fns/esm/formatDistanceStrict/index.js","webpack:///./~/date-fns/esm/formatDistance/index.js","webpack:///./~/date-fns/esm/formatRelative/index.js","webpack:///./~/date-fns/esm/format/_lib/formatters/index.js","webpack:///./~/date-fns/esm/getDate/index.js","webpack:///./~/date-fns/esm/getDayOfYear/index.js","webpack:///./~/date-fns/esm/getDay/index.js","webpack:///./~/date-fns/esm/getDaysInYear/index.js","webpack:///./~/date-fns/esm/getHours/index.js","webpack:///./~/date-fns/esm/getISOWeeksInYear/index.js","webpack:///./~/date-fns/esm/getMilliseconds/index.js","webpack:///./~/date-fns/esm/getMinutes/index.js","webpack:///./~/date-fns/esm/getMonth/index.js","webpack:///./~/date-fns/esm/getOverlappingDaysInIntervals/index.js","webpack:///./~/date-fns/esm/getSeconds/index.js","webpack:///./~/date-fns/esm/getTime/index.js","webpack:///./~/date-fns/esm/getYear/index.js","webpack:///./~/date-fns/esm/index.js","webpack:///./~/date-fns/esm/isAfter/index.js","webpack:///./~/date-fns/esm/isBefore/index.js","webpack:///./~/date-fns/esm/isEqual/index.js","webpack:///./~/date-fns/esm/isFirstDayOfMonth/index.js","webpack:///./~/date-fns/esm/isFriday/index.js","webpack:///./~/date-fns/esm/isLastDayOfMonth/index.js","webpack:///./~/date-fns/esm/isMonday/index.js","webpack:///./~/date-fns/esm/isSameDay/index.js","webpack:///./~/date-fns/esm/isSameHour/index.js","webpack:///./~/date-fns/esm/isSameISOWeek/index.js","webpack:///./~/date-fns/esm/isSameISOYear/index.js","webpack:///./~/date-fns/esm/isSameMinute/index.js","webpack:///./~/date-fns/esm/isSameMonth/index.js","webpack:///./~/date-fns/esm/isSameQuarter/index.js","webpack:///./~/date-fns/esm/isSameSecond/index.js","webpack:///./~/date-fns/esm/isSameYear/index.js","webpack:///./~/date-fns/esm/isSaturday/index.js","webpack:///./~/date-fns/esm/isSunday/index.js","webpack:///./~/date-fns/esm/isThursday/index.js","webpack:///./~/date-fns/esm/isTuesday/index.js","webpack:///./~/date-fns/esm/isWednesday/index.js","webpack:///./~/date-fns/esm/isWeekend/index.js","webpack:///./~/date-fns/esm/isWithinInterval/index.js","webpack:///./~/date-fns/esm/lastDayOfISOWeek/index.js","webpack:///./~/date-fns/esm/lastDayOfISOYear/index.js","webpack:///./~/date-fns/esm/lastDayOfMonth/index.js","webpack:///./~/date-fns/esm/lastDayOfQuarter/index.js","webpack:///./~/date-fns/esm/lastDayOfYear/index.js","webpack:///./~/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack:///./~/date-fns/esm/locale/_lib/buildLocalizeArrayFn/index.js","webpack:///./~/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack:///./~/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack:///./~/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack:///./~/date-fns/esm/locale/_lib/buildParseFn/index.js","webpack:///./~/date-fns/esm/locale/_lib/parseDecimal/index.js","webpack:///./~/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack:///./~/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack:///./~/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack:///./~/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack:///./~/date-fns/esm/locale/en-US/_lib/match/index.js","webpack:///./~/date-fns/esm/max/index.js","webpack:///./~/date-fns/esm/min/index.js","webpack:///./~/date-fns/esm/parse/_lib/parsers/index.js","webpack:///./~/date-fns/esm/parse/_lib/units/index.js","webpack:///./~/date-fns/esm/parse/index.js","webpack:///./~/date-fns/esm/setDate/index.js","webpack:///./~/date-fns/esm/setDayOfYear/index.js","webpack:///./~/date-fns/esm/setDay/index.js","webpack:///./~/date-fns/esm/setHours/index.js","webpack:///./~/date-fns/esm/setISODay/index.js","webpack:///./~/date-fns/esm/setISOWeek/index.js","webpack:///./~/date-fns/esm/setMilliseconds/index.js","webpack:///./~/date-fns/esm/setMinutes/index.js","webpack:///./~/date-fns/esm/setQuarter/index.js","webpack:///./~/date-fns/esm/setSeconds/index.js","webpack:///./~/date-fns/esm/setYear/index.js","webpack:///./~/date-fns/esm/startOfMonth/index.js","webpack:///./~/date-fns/esm/subDays/index.js","webpack:///./~/date-fns/esm/subHours/index.js","webpack:///./~/date-fns/esm/subMilliseconds/index.js","webpack:///./~/date-fns/esm/subMonths/index.js","webpack:///./~/date-fns/esm/subQuarters/index.js","webpack:///./~/date-fns/esm/subSeconds/index.js","webpack:///./~/date-fns/esm/subWeeks/index.js","webpack:///./~/date-fns/esm/subYears/index.js","webpack:///./~/date-fns/locale/_lib/buildFormatLongFn/index.js","webpack:///./~/date-fns/locale/_lib/buildLocalizeArrayFn/index.js","webpack:///./~/date-fns/locale/_lib/buildLocalizeFn/index.js","webpack:///./~/date-fns/locale/_lib/buildMatchFn/index.js","webpack:///./~/date-fns/locale/_lib/buildMatchPatternFn/index.js","webpack:///./~/date-fns/locale/_lib/buildParseFn/index.js","webpack:///./~/date-fns/locale/_lib/parseDecimal/index.js","webpack:///./~/date-fns/locale/en-US/_lib/formatDistance/index.js","webpack:///./~/date-fns/locale/en-US/_lib/formatLong/index.js","webpack:///./~/date-fns/locale/en-US/_lib/formatRelative/index.js","webpack:///./~/date-fns/locale/en-US/_lib/localize/index.js","webpack:///./~/date-fns/locale/en-US/_lib/match/index.js","webpack:///./~/date-fns/locale/en-US/index.js","webpack:///./~/element-closest/element-closest.js","webpack:///./~/datatables.net-buttons-dt/css/buttons.dataTables.css","webpack:///./~/datatables.net-dt/css/jquery.dataTables.css","webpack:///./~/dragula/dist/dragula.css","webpack:///./~/fullcalendar/dist/fullcalendar.min.css","webpack:///./~/pace/themes/pace-theme-center-radar.css","webpack:///./src/app/admisiones/modalsolicitud/modalsolicitud.css","webpack:///./src/app/componenetesgenerales/estadocuenta/tabla.css","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/datosgenerales/estilos.css","webpack:///./src/assets/Semantic/semantic.css","webpack:///./src/assets/bootstrap-colorselector-0.2.0/css/bootstrap-colorselector.css","webpack:///./src/assets/datapicker/bootstrap-material-datetimepicker.css","webpack:///./src/assets/datatable/responsive.dataTables.min.css","webpack:///./src/assets/datatable/rowReorder.dataTables.min.css","webpack:///./src/assets/fileinput/fileinput.min.css","webpack:///./src/assets/general.css","webpack:///./src/assets/icon/google-icons.css","webpack:///./~/extend/index.js","webpack:///./~/datatables.net-dt/images/sort_asc.png","webpack:///./~/datatables.net-dt/images/sort_asc_disabled.png","webpack:///./~/datatables.net-dt/images/sort_both.png","webpack:///./~/datatables.net-dt/images/sort_desc.png","webpack:///./~/datatables.net-dt/images/sort_desc_disabled.png","webpack:///./~/ng2-webcam/lib/fallback/jscam.swf","webpack:///./~/ng2-webcam/lib/fallback/jscam_canvas_only.swf","webpack:///./src/assets/Semantic/themes/default/assets/images/flags.png","webpack:///./src/assets/icon/guardando.gif","webpack:///./src/assets/img/loading-sm.gif","webpack:///./src/assets/Semantic/themes/default/assets/fonts/icons.svg","webpack:///./src/assets/Semantic/themes/default/assets/fonts/icons.ttf","webpack:///./src/assets/Semantic/themes/default/assets/fonts/icons.woff","webpack:///./src/assets/Semantic/themes/default/assets/fonts/icons.woff2","webpack:///./src/assets/fonts/roboto/Roboto-Light.ttf","webpack:///./src/assets/icon/google-element/google-element.woff2","webpack:///./~/fullcalendar/dist/fullcalendar.js","webpack:///./~/is-ua-webview/data/rules.js","webpack:///./~/is-ua-webview/index.js","webpack:///./~/libphonenumber-js/metadata.min.json","webpack:///./~/moment-timezone/data/packed/latest.json","webpack:///./~/libphonenumber-js/index.es6.js","webpack:///./~/moment-timezone/moment-timezone.js","webpack:///./~/mydatepicker/dist/directives/my-date-picker.focus.directive.js","webpack:///./~/mydatepicker/dist/interfaces/my-calendar-view-changed.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-date-model.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-date-range.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-date.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-day-labels.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-default-month.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-input-field-changed.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-input-focus-blur.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-marked-date.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-marked-dates.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-month-labels.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-options.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-selector.interface.js","webpack:///./~/mydatepicker/dist/interfaces/my-weekday.interface.js","webpack:///./~/mydatepicker/dist/my-date-picker.module.js","webpack:///./~/mydatepicker/dist/services/my-date-picker.locale.service.js","webpack:///./~/mydatepicker/dist/services/my-date-picker.util.service.js","webpack:///./~/mydaterangepicker/dist/directives/my-date-range-picker.focus.directive.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-calendar-view-changed.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-date-range-model.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-date-range.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-date-selected.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-date.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-day-labels.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-default-month.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-input-field-changed.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-input-focus-blur.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-month-labels.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-options.interface.js","webpack:///./~/mydaterangepicker/dist/interfaces/my-weekday.interface.js","webpack:///./~/mydaterangepicker/dist/my-date-range-picker.module.js","webpack:///./~/mydaterangepicker/dist/services/my-date-range-picker.date.range.util.service.js","webpack:///./~/ng2-bootstrap/accordion/index.js","webpack:///./~/ng2-bootstrap/alert/index.js","webpack:///./~/ng2-bootstrap/buttons/index.js","webpack:///./~/ng2-bootstrap/carousel/index.js","webpack:///./~/ng2-bootstrap/collapse/index.js","webpack:///./~/ng2-bootstrap/datepicker/index.js","webpack:///./~/ng2-bootstrap/dropdown/index.js","webpack:///./~/ng2-bootstrap/pagination/index.js","webpack:///./~/ng2-bootstrap/popover/index.js","webpack:///./~/ng2-bootstrap/positioning/positioning.service.js","webpack:///./~/ng2-bootstrap/progressbar/index.js","webpack:///./~/ng2-bootstrap/rating/index.js","webpack:///./~/ng2-bootstrap/sortable/sortable.module.js","webpack:///./~/ng2-bootstrap/tabs/index.js","webpack:///./~/ng2-bootstrap/timepicker/index.js","webpack:///./~/ng2-bootstrap/tooltip/index.js","webpack:///./~/ng2-bootstrap/typeahead/index.js","webpack:///./~/ng2-bootstrap/typeahead/typeahead-options.class.js","webpack:///./~/ng2-bootstrap/utils/linked-list.class.js","webpack:///./~/ng2-bootstrap/utils/triggers.js","webpack:///./~/ng2-semantic-ui/dist/behaviors/localization/locales/en-GB.js","webpack:///./~/ng2-semantic-ui/dist/behaviors/localization/localization.module.js","webpack:///./~/ng2-semantic-ui/dist/behaviors/localization/public.js","webpack:///./~/ng2-semantic-ui/dist/behaviors/public.js","webpack:///./~/ng2-semantic-ui/dist/collections/message/message.module.js","webpack:///./~/ng2-semantic-ui/dist/collections/message/public.js","webpack:///./~/ng2-semantic-ui/dist/collections/pagination/pagination.module.js","webpack:///./~/ng2-semantic-ui/dist/collections/pagination/public.js","webpack:///./~/ng2-semantic-ui/dist/collections/public.js","webpack:///./~/ng2-semantic-ui/dist/index.js","webpack:///./~/ng2-semantic-ui/dist/misc/public.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/helpers/custom-validator.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/helpers/custom-value-accessor.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/helpers/date.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/public.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/services/positioning.service.js","webpack:///./~/ng2-semantic-ui/dist/misc/util/util.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/accordion/accordion.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/accordion/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/checkbox/checkbox.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/checkbox/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/collapse/collapse.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/collapse/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/datepicker.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/helpers/is-webview.js","webpack:///./~/ng2-semantic-ui/dist/modules/datepicker/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/dimmer/dimmer.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/dimmer/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/dropdown/dropdown.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/dropdown/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/classes/modal-template.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/modal.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/modal/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/classes/popup-component-controller.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/popup.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/popup/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/progress/progress.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/progress/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/rating/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/rating/rating.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/search/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/search/search.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/select/select.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/sidebar/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/sidebar/sidebar.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/tabs/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/tabs/tab.module.js","webpack:///./~/ng2-semantic-ui/dist/modules/transition/public.js","webpack:///./~/ng2-semantic-ui/dist/modules/transition/transition.module.js","webpack:///./~/ng2-semantic-ui/dist/sui.module.js","webpack:///./~/ng2-validation/dist/base64/directive.js","webpack:///./~/ng2-validation/dist/base64/validator.js","webpack:///./~/ng2-validation/dist/credit-card/directive.js","webpack:///./~/ng2-validation/dist/credit-card/validator.js","webpack:///./~/ng2-validation/dist/date-ios/directive.js","webpack:///./~/ng2-validation/dist/date-ios/validator.js","webpack:///./~/ng2-validation/dist/date/directive.js","webpack:///./~/ng2-validation/dist/date/validator.js","webpack:///./~/ng2-validation/dist/digits/directive.js","webpack:///./~/ng2-validation/dist/digits/validator.js","webpack:///./~/ng2-validation/dist/email/directive.js","webpack:///./~/ng2-validation/dist/email/validator.js","webpack:///./~/ng2-validation/dist/equal-to/directive.js","webpack:///./~/ng2-validation/dist/equal-to/validator.js","webpack:///./~/ng2-validation/dist/equal/directive.js","webpack:///./~/ng2-validation/dist/equal/validator.js","webpack:///./~/ng2-validation/dist/greater-than-equal/directive.js","webpack:///./~/ng2-validation/dist/greater-than-equal/validator.js","webpack:///./~/ng2-validation/dist/greater-than/directive.js","webpack:///./~/ng2-validation/dist/greater-than/validator.js","webpack:///./~/ng2-validation/dist/json/directive.js","webpack:///./~/ng2-validation/dist/json/validator.js","webpack:///./~/ng2-validation/dist/less-than-equal/directive.js","webpack:///./~/ng2-validation/dist/less-than-equal/validator.js","webpack:///./~/ng2-validation/dist/less-than/directive.js","webpack:///./~/ng2-validation/dist/less-than/validator.js","webpack:///./~/ng2-validation/dist/max-date/directive.js","webpack:///./~/ng2-validation/dist/max-date/validator.js","webpack:///./~/ng2-validation/dist/max/directive.js","webpack:///./~/ng2-validation/dist/max/validator.js","webpack:///./~/ng2-validation/dist/min-date/directive.js","webpack:///./~/ng2-validation/dist/min-date/validator.js","webpack:///./~/ng2-validation/dist/min/directive.js","webpack:///./~/ng2-validation/dist/min/validator.js","webpack:///./~/ng2-validation/dist/not-equal-to/directive.js","webpack:///./~/ng2-validation/dist/not-equal-to/validator.js","webpack:///./~/ng2-validation/dist/not-equal/directive.js","webpack:///./~/ng2-validation/dist/not-equal/validator.js","webpack:///./~/ng2-validation/dist/number/directive.js","webpack:///./~/ng2-validation/dist/number/validator.js","webpack:///./~/ng2-validation/dist/phone/directive.js","webpack:///./~/ng2-validation/dist/phone/validator.js","webpack:///./~/ng2-validation/dist/range-length/directive.js","webpack:///./~/ng2-validation/dist/range-length/validator.js","webpack:///./~/ng2-validation/dist/range/directive.js","webpack:///./~/ng2-validation/dist/range/validator.js","webpack:///./~/ng2-validation/dist/url/directive.js","webpack:///./~/ng2-validation/dist/url/validator.js","webpack:///./~/ng2-validation/dist/uuid/directive.js","webpack:///./~/ng2-validation/dist/uuid/validator.js","webpack:///./~/popper.js/dist/esm/popper.js","webpack:///./~/ng2-webcam/lib/webcam.component.html","webpack:///./src/assets/alert/notifications.style.scss","webpack:///./src/assets/scss/application.scss","webpack:///./src/app/admisiones/modalsolicitud/areamedica/areamedica.component.html","webpack:///./src/app/admisiones/modalsolicitud/comentarios/comentarios.component.html","webpack:///./src/app/admisiones/modalsolicitud/datosaspirante/datosaspirante.component.html","webpack:///./src/app/admisiones/modalsolicitud/datosfamiliares/datosfamiliares.component.html","webpack:///./src/app/admisiones/modalsolicitud/dictamen/dictamen.component.html","webpack:///./src/app/admisiones/modalsolicitud/dictamen/dictamenpestana/dictamenpestana.component.html","webpack:///./src/app/admisiones/modalsolicitud/dictamen/ficha/ficha.component.html","webpack:///./src/app/admisiones/modalsolicitud/dinamicafamiliar/dinamicafamiliar.component.html","webpack:///./src/app/admisiones/modalsolicitud/documentacion/documentacion.component.html","webpack:///./src/app/admisiones/modalsolicitud/encuesta/encuesta.component.html","webpack:///./src/app/admisiones/modalsolicitud/evaluaciones/evaluaciones.component.html","webpack:///./src/app/admisiones/modalsolicitud/expediente/expediente.component.html","webpack:///./src/app/admisiones/modalsolicitud/fotografia/fotografia.component.html","webpack:///./src/app/admisiones/modalsolicitud/hermanos/hermanos.component.html","webpack:///./src/app/admisiones/modalsolicitud/menusolicitud.component.html","webpack:///./src/app/admisiones/modalsolicitud/modalfotos/modalfotos.component.html","webpack:///./src/app/admisiones/modalsolicitud/otrosprocesos/otrosprocesos.component.html","webpack:///./src/app/componenetesgenerales/alumno/alumno.component.html","webpack:///./src/app/componenetesgenerales/calendario/calendario.component.html","webpack:///./src/app/componenetesgenerales/dictamen/ficha/ficha.component.html","webpack:///./src/app/componenetesgenerales/estadocuenta/estadocuenta.component.html","webpack:///./src/app/componenetesgenerales/familia/familia.component.html","webpack:///./src/app/componenetesgenerales/foto/foto.component.html","webpack:///./src/app/componenetesgenerales/reciboinscripcion/reciboinscripcion.component.html","webpack:///./src/app/componenetesgenerales/tablero/tablero.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/fotosalumno/fotosalumno.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/admisiones/admisiones.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicaidec/areamedicaidec.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicalux.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicaluxcomponent/areamedicaluxcomponent.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/becas/becas.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/certificaciones/certificaciones.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/contactosemergencia/contactosemergencia.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/custodia/custodia.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/datosgenerales/datosgenerales.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/extraordinarios/extraordinarios.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/familia/familia.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialacademico/historialacademico.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialfinanciero/historialfinanciero.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/horario/horario.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/modalalumno.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/padretutor.component.html","webpack:///./src/app/controlescolar/alumnos/componentesacademico/modalalumno/subgrupos/subgrupos.component.html","webpack:///./~/rxjs/Scheduler.js","webpack:///./~/rxjs/add/observable/bindCallback.js","webpack:///./~/rxjs/add/observable/bindNodeCallback.js","webpack:///./~/rxjs/add/observable/combineLatest.js","webpack:///./~/rxjs/add/observable/concat.js","webpack:///./~/rxjs/add/observable/defer.js","webpack:///./~/rxjs/add/observable/dom/ajax.js","webpack:///./~/rxjs/add/observable/dom/webSocket.js","webpack:///./~/rxjs/add/observable/empty.js","webpack:///./~/rxjs/add/observable/forkJoin.js","webpack:///./~/rxjs/add/observable/fromEventPattern.js","webpack:///./~/rxjs/add/observable/fromPromise.js","webpack:///./~/rxjs/add/observable/generate.js","webpack:///./~/rxjs/add/observable/if.js","webpack:///./~/rxjs/add/observable/interval.js","webpack:///./~/rxjs/add/observable/merge.js","webpack:///./~/rxjs/add/observable/never.js","webpack:///./~/rxjs/add/observable/onErrorResumeNext.js","webpack:///./~/rxjs/add/observable/pairs.js","webpack:///./~/rxjs/add/observable/race.js","webpack:///./~/rxjs/add/observable/range.js","webpack:///./~/rxjs/add/observable/throw.js","webpack:///./~/rxjs/add/observable/timer.js","webpack:///./~/rxjs/add/observable/using.js","webpack:///./~/rxjs/add/observable/zip.js","webpack:///./~/rxjs/add/operator/audit.js","webpack:///./~/rxjs/add/operator/auditTime.js","webpack:///./~/rxjs/add/operator/buffer.js","webpack:///./~/rxjs/add/operator/bufferCount.js","webpack:///./~/rxjs/add/operator/bufferTime.js","webpack:///./~/rxjs/add/operator/bufferToggle.js","webpack:///./~/rxjs/add/operator/bufferWhen.js","webpack:///./~/rxjs/add/operator/catch.js","webpack:///./~/rxjs/add/operator/combineAll.js","webpack:///./~/rxjs/add/operator/combineLatest.js","webpack:///./~/rxjs/add/operator/concat.js","webpack:///./~/rxjs/add/operator/concatAll.js","webpack:///./~/rxjs/add/operator/concatMap.js","webpack:///./~/rxjs/add/operator/concatMapTo.js","webpack:///./~/rxjs/add/operator/count.js","webpack:///./~/rxjs/add/operator/debounce.js","webpack:///./~/rxjs/add/operator/defaultIfEmpty.js","webpack:///./~/rxjs/add/operator/delay.js","webpack:///./~/rxjs/add/operator/delayWhen.js","webpack:///./~/rxjs/add/operator/dematerialize.js","webpack:///./~/rxjs/add/operator/distinct.js","webpack:///./~/rxjs/add/operator/distinctUntilChanged.js","webpack:///./~/rxjs/add/operator/distinctUntilKeyChanged.js","webpack:///./~/rxjs/add/operator/do.js","webpack:///./~/rxjs/add/operator/elementAt.js","webpack:///./~/rxjs/add/operator/every.js","webpack:///./~/rxjs/add/operator/exhaust.js","webpack:///./~/rxjs/add/operator/exhaustMap.js","webpack:///./~/rxjs/add/operator/expand.js","webpack:///./~/rxjs/add/operator/finally.js","webpack:///./~/rxjs/add/operator/find.js","webpack:///./~/rxjs/add/operator/findIndex.js","webpack:///./~/rxjs/add/operator/first.js","webpack:///./~/rxjs/add/operator/groupBy.js","webpack:///./~/rxjs/add/operator/ignoreElements.js","webpack:///./~/rxjs/add/operator/isEmpty.js","webpack:///./~/rxjs/add/operator/last.js","webpack:///./~/rxjs/add/operator/let.js","webpack:///./~/rxjs/add/operator/mapTo.js","webpack:///./~/rxjs/add/operator/materialize.js","webpack:///./~/rxjs/add/operator/max.js","webpack:///./~/rxjs/add/operator/merge.js","webpack:///./~/rxjs/add/operator/mergeAll.js","webpack:///./~/rxjs/add/operator/mergeMapTo.js","webpack:///./~/rxjs/add/operator/mergeScan.js","webpack:///./~/rxjs/add/operator/min.js","webpack:///./~/rxjs/add/operator/multicast.js","webpack:///./~/rxjs/add/operator/observeOn.js","webpack:///./~/rxjs/add/operator/onErrorResumeNext.js","webpack:///./~/rxjs/add/operator/pairwise.js","webpack:///./~/rxjs/add/operator/partition.js","webpack:///./~/rxjs/add/operator/pluck.js","webpack:///./~/rxjs/add/operator/publish.js","webpack:///./~/rxjs/add/operator/publishBehavior.js","webpack:///./~/rxjs/add/operator/publishLast.js","webpack:///./~/rxjs/add/operator/publishReplay.js","webpack:///./~/rxjs/add/operator/race.js","webpack:///./~/rxjs/add/operator/reduce.js","webpack:///./~/rxjs/add/operator/repeat.js","webpack:///./~/rxjs/add/operator/repeatWhen.js","webpack:///./~/rxjs/add/operator/retry.js","webpack:///./~/rxjs/add/operator/retryWhen.js","webpack:///./~/rxjs/add/operator/sample.js","webpack:///./~/rxjs/add/operator/sampleTime.js","webpack:///./~/rxjs/add/operator/scan.js","webpack:///./~/rxjs/add/operator/sequenceEqual.js","webpack:///./~/rxjs/add/operator/share.js","webpack:///./~/rxjs/add/operator/single.js","webpack:///./~/rxjs/add/operator/skip.js","webpack:///./~/rxjs/add/operator/skipUntil.js","webpack:///./~/rxjs/add/operator/skipWhile.js","webpack:///./~/rxjs/add/operator/startWith.js","webpack:///./~/rxjs/add/operator/subscribeOn.js","webpack:///./~/rxjs/add/operator/switch.js","webpack:///./~/rxjs/add/operator/switchMap.js","webpack:///./~/rxjs/add/operator/switchMapTo.js","webpack:///./~/rxjs/add/operator/take.js","webpack:///./~/rxjs/add/operator/takeLast.js","webpack:///./~/rxjs/add/operator/takeUntil.js","webpack:///./~/rxjs/add/operator/takeWhile.js","webpack:///./~/rxjs/add/operator/throttle.js","webpack:///./~/rxjs/add/operator/timeInterval.js","webpack:///./~/rxjs/add/operator/timeout.js","webpack:///./~/rxjs/add/operator/timeoutWith.js","webpack:///./~/rxjs/add/operator/timestamp.js","webpack:///./~/rxjs/add/operator/toPromise.js","webpack:///./~/rxjs/add/operator/window.js","webpack:///./~/rxjs/add/operator/windowCount.js","webpack:///./~/rxjs/add/operator/windowTime.js","webpack:///./~/rxjs/add/operator/windowToggle.js","webpack:///./~/rxjs/add/operator/windowWhen.js","webpack:///./~/rxjs/add/operator/withLatestFrom.js","webpack:///./~/rxjs/add/operator/zip.js","webpack:///./~/rxjs/add/operator/zipAll.js","webpack:///./~/rxjs/observable/BoundCallbackObservable.js","webpack:///./~/rxjs/observable/BoundNodeCallbackObservable.js","webpack:///./~/rxjs/observable/DeferObservable.js","webpack:///./~/rxjs/observable/ErrorObservable.js","webpack:///./~/rxjs/observable/FromEventObservable.js","webpack:///./~/rxjs/observable/FromEventPatternObservable.js","webpack:///./~/rxjs/observable/GenerateObservable.js","webpack:///./~/rxjs/observable/IfObservable.js","webpack:///./~/rxjs/observable/IntervalObservable.js","webpack:///./~/rxjs/observable/NeverObservable.js","webpack:///./~/rxjs/observable/PairsObservable.js","webpack:///./~/rxjs/observable/RangeObservable.js","webpack:///./~/rxjs/observable/SubscribeOnObservable.js","webpack:///./~/rxjs/observable/TimerObservable.js","webpack:///./~/rxjs/observable/UsingObservable.js","webpack:///./~/rxjs/observable/bindCallback.js","webpack:///./~/rxjs/observable/bindNodeCallback.js","webpack:///./~/rxjs/observable/combineLatest.js","webpack:///./~/rxjs/observable/concat.js","webpack:///./~/rxjs/observable/defer.js","webpack:///./~/rxjs/observable/dom/WebSocketSubject.js","webpack:///./~/rxjs/observable/dom/ajax.js","webpack:///./~/rxjs/observable/dom/webSocket.js","webpack:///./~/rxjs/observable/empty.js","webpack:///./~/rxjs/observable/fromEvent.js","webpack:///./~/rxjs/observable/fromEventPattern.js","webpack:///./~/rxjs/observable/if.js","webpack:///./~/rxjs/observable/interval.js","webpack:///./~/rxjs/observable/never.js","webpack:///./~/rxjs/observable/pairs.js","webpack:///./~/rxjs/observable/range.js","webpack:///./~/rxjs/observable/throw.js","webpack:///./~/rxjs/observable/timer.js","webpack:///./~/rxjs/observable/using.js","webpack:///./~/rxjs/observable/zip.js","webpack:///./~/rxjs/operator/audit.js","webpack:///./~/rxjs/operator/auditTime.js","webpack:///./~/rxjs/operator/buffer.js","webpack:///./~/rxjs/operator/bufferCount.js","webpack:///./~/rxjs/operator/bufferTime.js","webpack:///./~/rxjs/operator/bufferToggle.js","webpack:///./~/rxjs/operator/bufferWhen.js","webpack:///./~/rxjs/operator/combineAll.js","webpack:///./~/rxjs/operator/concatMapTo.js","webpack:///./~/rxjs/operator/count.js","webpack:///./~/rxjs/operator/debounce.js","webpack:///./~/rxjs/operator/debounceTime.js","webpack:///./~/rxjs/operator/defaultIfEmpty.js","webpack:///./~/rxjs/operator/delay.js","webpack:///./~/rxjs/operator/delayWhen.js","webpack:///./~/rxjs/operator/dematerialize.js","webpack:///./~/rxjs/operator/distinct.js","webpack:///./~/rxjs/operator/distinctUntilKeyChanged.js","webpack:///./~/rxjs/operator/do.js","webpack:///./~/rxjs/operator/elementAt.js","webpack:///./~/rxjs/operator/exhaust.js","webpack:///./~/rxjs/operator/exhaustMap.js","webpack:///./~/rxjs/operator/expand.js","webpack:///./~/rxjs/operator/finally.js","webpack:///./~/rxjs/operator/findIndex.js","webpack:///./~/rxjs/operator/groupBy.js","webpack:///./~/rxjs/operator/ignoreElements.js","webpack:///./~/rxjs/operator/isEmpty.js","webpack:///./~/rxjs/operator/let.js","webpack:///./~/rxjs/operator/mapTo.js","webpack:///./~/rxjs/operator/materialize.js","webpack:///./~/rxjs/operator/max.js","webpack:///./~/rxjs/operator/mergeScan.js","webpack:///./~/rxjs/operator/min.js","webpack:///./~/rxjs/operator/pairwise.js","webpack:///./~/rxjs/operator/partition.js","webpack:///./~/rxjs/operator/pluck.js","webpack:///./~/rxjs/operator/publish.js","webpack:///./~/rxjs/operator/publishBehavior.js","webpack:///./~/rxjs/operator/publishLast.js","webpack:///./~/rxjs/operator/publishReplay.js","webpack:///./~/rxjs/operator/repeat.js","webpack:///./~/rxjs/operator/repeatWhen.js","webpack:///./~/rxjs/operator/retry.js","webpack:///./~/rxjs/operator/retryWhen.js","webpack:///./~/rxjs/operator/sample.js","webpack:///./~/rxjs/operator/sampleTime.js","webpack:///./~/rxjs/operator/scan.js","webpack:///./~/rxjs/operator/sequenceEqual.js","webpack:///./~/rxjs/operator/single.js","webpack:///./~/rxjs/operator/skip.js","webpack:///./~/rxjs/operator/skipUntil.js","webpack:///./~/rxjs/operator/skipWhile.js","webpack:///./~/rxjs/operator/startWith.js","webpack:///./~/rxjs/operator/subscribeOn.js","webpack:///./~/rxjs/operator/switch.js","webpack:///./~/rxjs/operator/switchMap.js","webpack:///./~/rxjs/operator/switchMapTo.js","webpack:///./~/rxjs/operator/take.js","webpack:///./~/rxjs/operator/takeLast.js","webpack:///./~/rxjs/operator/takeUntil.js","webpack:///./~/rxjs/operator/takeWhile.js","webpack:///./~/rxjs/operator/throttle.js","webpack:///./~/rxjs/operator/throttleTime.js","webpack:///./~/rxjs/operator/timeout.js","webpack:///./~/rxjs/operator/timeoutWith.js","webpack:///./~/rxjs/operator/toArray.js","webpack:///./~/rxjs/operator/toPromise.js","webpack:///./~/rxjs/operator/window.js","webpack:///./~/rxjs/operator/windowCount.js","webpack:///./~/rxjs/operator/windowTime.js","webpack:///./~/rxjs/operator/windowToggle.js","webpack:///./~/rxjs/operator/windowWhen.js","webpack:///./~/rxjs/operator/withLatestFrom.js","webpack:///./~/rxjs/operator/zipAll.js","webpack:///./~/rxjs/scheduler/Action.js","webpack:///./~/rxjs/scheduler/AnimationFrameAction.js","webpack:///./~/rxjs/scheduler/AnimationFrameScheduler.js","webpack:///./~/rxjs/scheduler/AsapAction.js","webpack:///./~/rxjs/scheduler/AsapScheduler.js","webpack:///./~/rxjs/scheduler/QueueAction.js","webpack:///./~/rxjs/scheduler/QueueScheduler.js","webpack:///./~/rxjs/scheduler/animationFrame.js","webpack:///./~/rxjs/testing/ColdObservable.js","webpack:///./~/rxjs/testing/HotObservable.js","webpack:///./~/rxjs/testing/TestScheduler.js","webpack:///./~/rxjs/util/AnimationFrame.js","webpack:///./~/rxjs/util/FastMap.js","webpack:///./~/rxjs/util/Immediate.js","webpack:///./~/rxjs/util/Map.js","webpack:///./~/rxjs/util/MapPolyfill.js","webpack:///./~/rxjs/util/Set.js","webpack:///./~/rxjs/util/assign.js","webpack:///./~/rxjs/util/not.js","webpack:///./src/main.browser.ts"],"sourcesContent":["var MILLISECONDS_IN_HOUR = 3600000\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\nvar DEFAULT_ADDITIONAL_DIGITS = 2\r\n\r\nvar patterns = {\r\n  dateTimeDelimeter: /[T ]/,\r\n  plainTime: /:/,\r\n\r\n  // year tokens\r\n  YY: /^(\\d{2})$/,\r\n  YYY: [\r\n    /^([+-]\\d{2})$/, // 0 additional digits\r\n    /^([+-]\\d{3})$/, // 1 additional digit\r\n    /^([+-]\\d{4})$/ // 2 additional digits\r\n  ],\r\n  YYYY: /^(\\d{4})/,\r\n  YYYYY: [\r\n    /^([+-]\\d{4})/, // 0 additional digits\r\n    /^([+-]\\d{5})/, // 1 additional digit\r\n    /^([+-]\\d{6})/ // 2 additional digits\r\n  ],\r\n\r\n  // date tokens\r\n  MM: /^-(\\d{2})$/,\r\n  DDD: /^-?(\\d{3})$/,\r\n  MMDD: /^-?(\\d{2})-?(\\d{2})$/,\r\n  Www: /^-?W(\\d{2})$/,\r\n  WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\r\n\r\n  HH: /^(\\d{2}([.,]\\d*)?)$/,\r\n  HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\r\n  HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\r\n\r\n  // timezone tokens\r\n  timezone: /([Z+-].*)$/,\r\n  timezoneZ: /^(Z)$/,\r\n  timezoneHH: /^([+-])(\\d{2})$/,\r\n  timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/\r\n}\r\n\r\n/**\r\n * @name toDate\r\n * @category Common Helpers\r\n * @summary Convert the given argument to an instance of Date.\r\n *\r\n * @description\r\n * Convert the given argument to an instance of Date.\r\n *\r\n * If the argument is an instance of Date, the function returns its clone.\r\n *\r\n * If the argument is a number, it is treated as a timestamp.\r\n *\r\n * If an argument is a string, the function tries to parse it.\r\n * Function accepts complete ISO 8601 formats as well as partial implementations.\r\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\r\n *\r\n * If all above fails, the function passes the given argument to Date constructor.\r\n *\r\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\r\n * All *date-fns* functions will throw `RangeError` if `options.additionalDigits` is not 0, 1, 2 or undefined.\r\n *\r\n * @param {Date|String|Number} argument - the value to convert\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\r\n * @returns {Date} the parsed date in the local time zone\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Convert string '2014-02-11T11:30:30' to date:\r\n * var result = toDate('2014-02-11T11:30:30')\r\n * //=> Tue Feb 11 2014 11:30:30\r\n *\r\n * @example\r\n * // Convert string '+02014101' to date,\r\n * // if the additional number of digits in the extended year format is 1:\r\n * var result = toDate('+02014101', {additionalDigits: 1})\r\n * //=> Fri Apr 11 2014 00:00:00\r\n */\r\nexport default function toDate (argument, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n\r\n  var additionalDigits = options.additionalDigits === undefined ? DEFAULT_ADDITIONAL_DIGITS : Number(options.additionalDigits)\r\n  if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\r\n    throw new RangeError('additionalDigits must be 0, 1 or 2')\r\n  }\r\n\r\n  // Clone the date\r\n  if (argument instanceof Date) {\r\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\r\n    return new Date(argument.getTime())\r\n  } else if (typeof argument !== 'string') {\r\n    return new Date(argument)\r\n  }\r\n\r\n  var dateStrings = splitDateString(argument)\r\n\r\n  var parseYearResult = parseYear(dateStrings.date, additionalDigits)\r\n  var year = parseYearResult.year\r\n  var restDateString = parseYearResult.restDateString\r\n\r\n  var date = parseDate(restDateString, year)\r\n\r\n  if (date) {\r\n    var timestamp = date.getTime()\r\n    var time = 0\r\n    var offset\r\n\r\n    if (dateStrings.time) {\r\n      time = parseTime(dateStrings.time)\r\n    }\r\n\r\n    if (dateStrings.timezone) {\r\n      offset = parseTimezone(dateStrings.timezone)\r\n    } else {\r\n      // get offset accurate to hour in timezones that change offset\r\n      offset = new Date(timestamp + time).getTimezoneOffset()\r\n      offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()\r\n    }\r\n\r\n    return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)\r\n  } else {\r\n    return new Date(argument)\r\n  }\r\n}\r\n\r\nfunction splitDateString (dateString) {\r\n  var dateStrings = {}\r\n  var array = dateString.split(patterns.dateTimeDelimeter)\r\n  var timeString\r\n\r\n  if (patterns.plainTime.test(array[0])) {\r\n    dateStrings.date = null\r\n    timeString = array[0]\r\n  } else {\r\n    dateStrings.date = array[0]\r\n    timeString = array[1]\r\n  }\r\n\r\n  if (timeString) {\r\n    var token = patterns.timezone.exec(timeString)\r\n    if (token) {\r\n      dateStrings.time = timeString.replace(token[1], '')\r\n      dateStrings.timezone = token[1]\r\n    } else {\r\n      dateStrings.time = timeString\r\n    }\r\n  }\r\n\r\n  return dateStrings\r\n}\r\n\r\nfunction parseYear (dateString, additionalDigits) {\r\n  var patternYYY = patterns.YYY[additionalDigits]\r\n  var patternYYYYY = patterns.YYYYY[additionalDigits]\r\n\r\n  var token\r\n\r\n  // YYYY or ±YYYYY\r\n  token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString)\r\n  if (token) {\r\n    var yearString = token[1]\r\n    return {\r\n      year: parseInt(yearString, 10),\r\n      restDateString: dateString.slice(yearString.length)\r\n    }\r\n  }\r\n\r\n  // YY or ±YYY\r\n  token = patterns.YY.exec(dateString) || patternYYY.exec(dateString)\r\n  if (token) {\r\n    var centuryString = token[1]\r\n    return {\r\n      year: parseInt(centuryString, 10) * 100,\r\n      restDateString: dateString.slice(centuryString.length)\r\n    }\r\n  }\r\n\r\n  // Invalid ISO-formatted year\r\n  return {\r\n    year: null\r\n  }\r\n}\r\n\r\nfunction parseDate (dateString, year) {\r\n  // Invalid ISO-formatted year\r\n  if (year === null) {\r\n    return null\r\n  }\r\n\r\n  var token\r\n  var date\r\n  var month\r\n  var week\r\n\r\n  // YYYY\r\n  if (dateString.length === 0) {\r\n    date = new Date(0)\r\n    date.setUTCFullYear(year)\r\n    return date\r\n  }\r\n\r\n  // YYYY-MM\r\n  token = patterns.MM.exec(dateString)\r\n  if (token) {\r\n    date = new Date(0)\r\n    month = parseInt(token[1], 10) - 1\r\n    date.setUTCFullYear(year, month)\r\n    return date\r\n  }\r\n\r\n  // YYYY-DDD or YYYYDDD\r\n  token = patterns.DDD.exec(dateString)\r\n  if (token) {\r\n    date = new Date(0)\r\n    var dayOfYear = parseInt(token[1], 10)\r\n    date.setUTCFullYear(year, 0, dayOfYear)\r\n    return date\r\n  }\r\n\r\n  // YYYY-MM-DD or YYYYMMDD\r\n  token = patterns.MMDD.exec(dateString)\r\n  if (token) {\r\n    date = new Date(0)\r\n    month = parseInt(token[1], 10) - 1\r\n    var day = parseInt(token[2], 10)\r\n    date.setUTCFullYear(year, month, day)\r\n    return date\r\n  }\r\n\r\n  // YYYY-Www or YYYYWww\r\n  token = patterns.Www.exec(dateString)\r\n  if (token) {\r\n    week = parseInt(token[1], 10) - 1\r\n    return dayOfISOYear(year, week)\r\n  }\r\n\r\n  // YYYY-Www-D or YYYYWwwD\r\n  token = patterns.WwwD.exec(dateString)\r\n  if (token) {\r\n    week = parseInt(token[1], 10) - 1\r\n    var dayOfWeek = parseInt(token[2], 10) - 1\r\n    return dayOfISOYear(year, week, dayOfWeek)\r\n  }\r\n\r\n  // Invalid ISO-formatted date\r\n  return null\r\n}\r\n\r\nfunction parseTime (timeString) {\r\n  var token\r\n  var hours\r\n  var minutes\r\n\r\n  // hh\r\n  token = patterns.HH.exec(timeString)\r\n  if (token) {\r\n    hours = parseFloat(token[1].replace(',', '.'))\r\n    return (hours % 24) * MILLISECONDS_IN_HOUR\r\n  }\r\n\r\n  // hh:mm or hhmm\r\n  token = patterns.HHMM.exec(timeString)\r\n  if (token) {\r\n    hours = parseInt(token[1], 10)\r\n    minutes = parseFloat(token[2].replace(',', '.'))\r\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\r\n      minutes * MILLISECONDS_IN_MINUTE\r\n  }\r\n\r\n  // hh:mm:ss or hhmmss\r\n  token = patterns.HHMMSS.exec(timeString)\r\n  if (token) {\r\n    hours = parseInt(token[1], 10)\r\n    minutes = parseInt(token[2], 10)\r\n    var seconds = parseFloat(token[3].replace(',', '.'))\r\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\r\n      minutes * MILLISECONDS_IN_MINUTE +\r\n      seconds * 1000\r\n  }\r\n\r\n  // Invalid ISO-formatted time\r\n  return null\r\n}\r\n\r\nfunction parseTimezone (timezoneString) {\r\n  var token\r\n  var absoluteOffset\r\n\r\n  // Z\r\n  token = patterns.timezoneZ.exec(timezoneString)\r\n  if (token) {\r\n    return 0\r\n  }\r\n\r\n  // ±hh\r\n  token = patterns.timezoneHH.exec(timezoneString)\r\n  if (token) {\r\n    absoluteOffset = parseInt(token[2], 10) * 60\r\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\r\n  }\r\n\r\n  // ±hh:mm or ±hhmm\r\n  token = patterns.timezoneHHMM.exec(timezoneString)\r\n  if (token) {\r\n    absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)\r\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\r\n  }\r\n\r\n  return 0\r\n}\r\n\r\nfunction dayOfISOYear (isoYear, week, day) {\r\n  week = week || 0\r\n  day = day || 0\r\n  var date = new Date(0)\r\n  date.setUTCFullYear(isoYear, 0, 4)\r\n  var fourthOfJanuaryDay = date.getUTCDay() || 7\r\n  var diff = week * 7 + day + 1 - fourthOfJanuaryDay\r\n  date.setUTCDate(date.getUTCDate() + diff)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/toDate/index.js\n// module id = 4\n// module chunks = 3","import {Injectable} from '@angular/core';\r\nimport {Http, Response, Headers, ResponseContentType} from '@angular/http';\r\nimport {Config, ConfigERP} from './configERP';\r\nimport 'rxjs/add/operator/map';\r\nimport {Observable} from 'rxjs/Observable';\r\nimport {StorageService} from \"app/directives/storage.service\";\r\nimport {HttpErrorResponse } from '@angular/common/http';\r\n\r\ndeclare var $: any;\r\n\r\nexport type InteralStateType = {\r\n    [key: string]: any\r\n};\r\n\r\n@Injectable()\r\nexport class AppState {\r\n    _state: InteralStateType = {};\r\n    // Variable p�blica de tipo string para la Url.\r\n    public url: string;\r\n    public urlSeguridad: string;\r\n    public qa: any;\r\n\r\n    //Constructor.- Anexamos el par�metro de tipo Http para que inicialice los permisos de llamadas a Urls.\r\n    constructor(private _http: Http, private _config: ConfigERP, private storage: StorageService) {\r\n        var config: Config = this._config.getConfig();\r\n\r\n        switch (process.env.NODE_ENV) {\r\n            case 'prod':\r\n            case 'production':\r\n                /*this.url = config.url.produccion.servicios;\r\n                this.urlSeguridad = config.url.produccion.seguridad;\r\n                this.qa = 0; */\r\n                this.url = config.url.produccion.servicios;\r\n                this.urlSeguridad = config.url.produccion.seguridad;\r\n                this.qa = 0;\r\n                break;\r\n            case 'dev':\r\n            case 'development':\r\n            default:\r\n                this.url = config.url.qa.servicios;\r\n                this.urlSeguridad = config.url.qa.seguridad;\r\n                this.qa = 1;\r\n        }\r\n\r\n        //this.urlSeguridad = \"http://18.222.34.197:8017/api/\";\r\n        //this.url = \"http://localhost/api/\";\r\n        //this.url = \"http://134.209.1.0/inceptioQA/Jesuitas_webServices/web/api/\";\r\n        //this.url = \"http://localhost/Jesuitas_webServices/web/api/\";\r\n        //this.url = \"https://webpereyra.com.mx/Jesuitas_webServices/web/api/\";\r\n        //this.urlSeguridad = \"https://apppereyra.com.mx:8015/api/\";\r\n\r\n    }\r\n\r\n\r\n        /* Funcion para validar campos */\r\n        inputValidateDanger(id: any, text: any) {\r\n            $(\"#\" + id).addClass(\"inputValidate\");\r\n            $(\"#\" + id + \"massageError\").text(text);\r\n            $(\"#\" + id + \"massageError\").show();\r\n        };\r\n\r\n        /* Funcion para validar campos */\r\n        inputValidateSuccess(id: any) {\r\n            $(\"#\" + id).removeClass(\"inputValidate\");\r\n            $(\"#\" + id + \"massageError\").hide();\r\n        };\r\n\r\n    ///Llamadas a servicios http-----------------------------------------------------------------------------\r\n\r\n    getSeguridad(metodo: string) {\r\n        return this._http.get(this.urlSeguridad + metodo).map((response: Response) => {\r\n            return {status: response.status, body: response.json()};\r\n        });\r\n    }\r\n\r\n    postSeguridad(metodo: string, body: any) {\r\n        let options = {headers: new Headers({'Content-Type': 'application/x-www-form-urlencoded'})};\r\n        return this._http.post(metodo, body, options).map((response: Response) => {\r\n            return {status: response.status, body: response.json()};\r\n        });\r\n    }\r\n\r\n\r\n    //Ejemplo de una petici�n  GET\r\n    getElemento(metodo, seguridad?) {\r\n        var url = seguridad ? this.urlSeguridad : this.url;\r\n        var token = this.storage.getItem(\"token\");\r\n        let headers = new Headers();\r\n        //headers.append('Content-Type', 'application/json');\r\n\r\n        if (token && !seguridad) {\r\n            headers.append('X-AUTH-TOKEN', token);\r\n        }\r\n        let options = {headers: headers};\r\n        //metodo: Identifica el nombre del m�todo a llamar.\r\n        return this._http.get(url + metodo, options).map((response: Response) => {\r\n            let data = response.json()\r\n            if (response.headers.get('X-AUTH-VERSION')) {\r\n                if (data.status == 'success') {\r\n                    if (data.data) {\r\n                        return {status: response.status, body: data.data};\r\n                    } else {\r\n                        return {status: response.status, body: data.message};\r\n                    }\r\n                } else {\r\n                    return {status: data.error.code, body: data.error.message}\r\n                }\r\n            } else {\r\n                return {status: response.status, body: response.json()};\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    async get(metodo) {\r\n        const httpOptions = {\r\n            responseType: ResponseContentType.Blob as ResponseContentType.Json\r\n          };\r\n\r\n    }\r\n\r\n    getx(metodo, id) {\r\n        //id(opcional): Identificador del elemento a Descargar.\r\n        //metodo: Identifica el nombre del m�todo a llamar.\r\n        var token = this.storage.getItem(\"token\");;\r\n        let headers = new Headers({\r\n            'X-AUTH-TOKEN': token\r\n        });\r\n        let options = {headers: headers, responseType: ResponseContentType.Json};\r\n        return this._http.get(this.url + metodo + \"/\" + id, options).map((response: Response) => {\r\n            let body = new Blob([response.blob()], {type: response.headers.get(\"content-type\")});\r\n            return {status: response.status, body: body};\r\n        });\r\n    }\r\n\r\n    //Ejemplo de una petici�n  POST\r\n    postElemento(metodo, body, seguridad?, version?) {\r\n        var url = seguridad ? this.urlSeguridad : this.url;\r\n        if (version) {\r\n            if (typeof body.datos === 'string') {\r\n                body = seguridad ? body : JSON.parse(body.datos);\r\n            }\r\n            var token = this.storage.getItem(\"token\");\r\n            let headers = new Headers();\r\n            //headers.append('Content-Type', 'application/json');\r\n\r\n            if (token && !seguridad) {\r\n                headers.append('X-AUTH-TOKEN', token);\r\n            }\r\n            let options = {headers: headers};\r\n            return this._http.post(url + metodo, JSON.stringify(body), options).map((response: Response) => {\r\n                let data = response.json()\r\n                if (response.headers.get('X-AUTH-VERSION')) {\r\n                    if (data.status == 'success') {\r\n                        if (data.data) {\r\n                            return {status: response.status, body: data.data};\r\n                        } else {\r\n                            return {status: response.status, body: data.message};\r\n                        }\r\n                    } else {\r\n                        return {status: data.error.code, body: data.error.message}\r\n                    }\r\n                } else {\r\n                    return {status: response.status, body: response.json()};\r\n                }\r\n            });\r\n        } else {\r\n            body = seguridad ? JSON.stringify(body) : $.param(body);\r\n            var token = this.storage.getItem(\"token\");\r\n            let headers = new Headers();\r\n            headers.append('Content-Type', 'application/x-www-form-urlencoded');\r\n\r\n            if (token) {\r\n                headers.append('X-AUTH-TOKEN', token);\r\n            }\r\n            let options = {headers: headers};\r\n            return this._http.post(url + metodo, body, options).map((response: Response) => {\r\n                return {status: response.status, body: response.json()};\r\n            });\r\n        }\r\n    }\r\n\r\n    //Ejemplo de una petici�n PUT\r\n    putElemento(metodo, body, seguridad?, version?) {\r\n        if (version) {\r\n            if (typeof body.datos === 'string') {\r\n                body = seguridad ? JSON.stringify(body) : JSON.parse(body.datos);\r\n            } else {\r\n                body = seguridad ? JSON.stringify(body) : body;\r\n            }\r\n            var token = this.storage.getItem(\"token\");\r\n            let headers = new Headers({\r\n                'Content-Type': 'application/json; charset=utf-8',\r\n                'X-AUTH-TOKEN': token\r\n            });\r\n            let options = {headers: headers};\r\n            return this._http.put(this.url + metodo, body, options).map((response: Response) => {\r\n                let data = response.json()\r\n                if (response.headers.get('X-AUTH-VERSION')) {\r\n                    if (data.status == 'success') {\r\n                        if (data.data) {\r\n                            return {status: response.status, body: data.data};\r\n                        } else {\r\n                            return {status: response.status, body: data.message};\r\n                        }\r\n                    } else {\r\n                        return {status: data.error.code, body: data.error.message}\r\n                    }\r\n                } else {\r\n                    return {status: response.status, body: response.json()};\r\n                }\r\n            });\r\n        } else {\r\n            body = seguridad ? JSON.stringify(body) : $.param(body);\r\n            var token = this.storage.getItem(\"token\");\r\n            let headers = new Headers({\r\n                'Content-Type': 'application/x-www-form-urlencoded',\r\n                'X-AUTH-TOKEN': token\r\n            });\r\n            let options = {headers: headers};\r\n            return this._http.put(this.url + metodo, body, options).map((response: Response) => {\r\n                return {status: response.status, body: response.json()};\r\n            });\r\n        }\r\n\r\n    }\r\n\r\n    //Ejemplo de una petici�n DELETE\r\n    deleteElemento(metodo, id) {\r\n        //id: Identificador del elemento a Eliminar.\r\n        //metodo: Identifica el nombre del m�todo a llamar.\r\n        var token = this.storage.getItem(\"token\");;\r\n        let headers = new Headers({\r\n            'X-AUTH-TOKEN': token\r\n        });\r\n        let options = {headers: headers};\r\n        return this._http.delete(this.url + metodo + \"/\" + id, options).map((response: Response) => {\r\n            let data = response.json()\r\n            if (response.headers.get('X-AUTH-VERSION')) {\r\n                if (data.status == 'success') {\r\n                    if (data.data) {\r\n                        return {status: response.status, body: data.data};\r\n                    } else {\r\n                        return {status: response.status, body: data.message};\r\n                    }\r\n                } else {\r\n                    return {status: data.error.code, body: data.error.message}\r\n                }\r\n            } else {\r\n                return {status: response.status, body: response.json()};\r\n            }\r\n\r\n        });\r\n    }\r\n\r\n    //Ejemplo de una petici�n GET que devuelve un archivo\r\n    getArchivo(metodo, id) {\r\n        //id(opcional): Identificador del elemento a Descargar.\r\n        //metodo: Identifica el nombre del m�todo a llamar.\r\n        var token = this.storage.getItem(\"token\");;\r\n        let headers = new Headers({\r\n            'X-AUTH-TOKEN': token\r\n        });\r\n        let options = {headers: headers, responseType: ResponseContentType.Blob};\r\n        return this._http.get(this.url + metodo + \"/\" + id, options).map((response: Response) => {\r\n            let body = new Blob([response.blob()], {type: response.headers.get(\"content-type\")});\r\n            return {status: response.status, body: body};\r\n        });\r\n    }\r\n\r\n    //Ejemplo de una petición POST que sube un archivo al servidor\r\n    postArchivo(metodo, body) {\r\n        //metodo: Identifica el nombre del metodo a llamar.\r\n        //body: objeto de tipo any, que ser� enviado en el cuerpo de la petici�n.\r\n        var token = this.storage.getItem(\"token\");;\r\n        let headers = new Headers({\r\n            \"Accept\": 'application/json',\r\n            'X-AUTH-TOKEN': token\r\n        });\r\n        let options = {headers: headers};\r\n        return this._http.post(this.url + metodo, body, options).map((response: Response) => {\r\n            return {status: response.status, body: response.json()};\r\n        });\r\n    }\r\n\r\n    postDownloadArchivo(metodo, body): Observable<{status: number, body: any, filename?: any}> {\r\n        //id(opcional): Identificador del elemento a Descargar.\r\n        //metodo: Identifica el nombre del m�todo a llamar.\r\n        var token = this.storage.getItem(\"token\");;\r\n        let headers = new Headers({\r\n            \"Accept\": 'application/json',\r\n            'X-AUTH-TOKEN': token\r\n        });\r\n        let options = {headers: headers, responseType: ResponseContentType.Blob};\r\n        return this._http.post(this.url + metodo, body, options).map((response: Response) => {\r\n            let contentTypeD = response.headers.get(\"content-type\").split(';')\r\n            let contentType = contentTypeD[0]\r\n            let filename = contentTypeD[1]\r\n            let body = new Blob([response.blob()], {type: contentType});\r\n            return {status: response.status, body: body, filename: filename};\r\n\r\n        });\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/app.service.ts","export * from \"./helpers/custom-validator\";\r\nexport * from \"./helpers/custom-value-accessor\";\r\nexport * from \"./helpers/date\";\r\nexport * from \"./helpers/util\";\r\nexport * from \"./services/component-factory.service\";\r\nexport * from \"./services/positioning.service\";\r\nexport * from \"./util.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/index.js\n// module id = 10\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = require('./helpers.core');\r\nmodule.exports.easing = require('./helpers.easing');\r\nmodule.exports.canvas = require('./helpers.canvas');\r\nmodule.exports.options = require('./helpers.options');\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/helpers/index.js\n// module id = 14\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\n\r\nmodule.exports = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.defaults.js\n// module id = 16\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nfunction isPresent(obj) {\r\n    return obj !== undefined && obj !== null;\r\n}\r\nexports.isPresent = isPresent;\r\nfunction isDate(obj) {\r\n    return !/Invalid|NaN/.test(new Date(obj).toString());\r\n}\r\nexports.isDate = isDate;\r\n//# sourceMappingURL=lang.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/util/lang.js\n// module id = 19\n// module chunks = 3","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t//  when a module is imported multiple times with different media queries.\r\n\t\t\t//  I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 22\n// module chunks = 3","\"use strict\";\r\n/* tslint:disable:no-unused-variable */\r\n// Subject imported before Observable to bypass circular dependency issue since\r\n// Subject extends Observable and Observable references Subject in it's\r\n// definition\r\nvar Subject_1 = require('./Subject');\r\nexports.Subject = Subject_1.Subject;\r\nexports.AnonymousSubject = Subject_1.AnonymousSubject;\r\n/* tslint:enable:no-unused-variable */\r\nvar Observable_1 = require('./Observable');\r\nexports.Observable = Observable_1.Observable;\r\n// statics\r\n/* tslint:disable:no-use-before-declare */\r\nrequire('./add/observable/bindCallback');\r\nrequire('./add/observable/bindNodeCallback');\r\nrequire('./add/observable/combineLatest');\r\nrequire('./add/observable/concat');\r\nrequire('./add/observable/defer');\r\nrequire('./add/observable/empty');\r\nrequire('./add/observable/forkJoin');\r\nrequire('./add/observable/from');\r\nrequire('./add/observable/fromEvent');\r\nrequire('./add/observable/fromEventPattern');\r\nrequire('./add/observable/fromPromise');\r\nrequire('./add/observable/generate');\r\nrequire('./add/observable/if');\r\nrequire('./add/observable/interval');\r\nrequire('./add/observable/merge');\r\nrequire('./add/observable/race');\r\nrequire('./add/observable/never');\r\nrequire('./add/observable/of');\r\nrequire('./add/observable/onErrorResumeNext');\r\nrequire('./add/observable/pairs');\r\nrequire('./add/observable/range');\r\nrequire('./add/observable/using');\r\nrequire('./add/observable/throw');\r\nrequire('./add/observable/timer');\r\nrequire('./add/observable/zip');\r\n//dom\r\nrequire('./add/observable/dom/ajax');\r\nrequire('./add/observable/dom/webSocket');\r\n//operators\r\nrequire('./add/operator/buffer');\r\nrequire('./add/operator/bufferCount');\r\nrequire('./add/operator/bufferTime');\r\nrequire('./add/operator/bufferToggle');\r\nrequire('./add/operator/bufferWhen');\r\nrequire('./add/operator/catch');\r\nrequire('./add/operator/combineAll');\r\nrequire('./add/operator/combineLatest');\r\nrequire('./add/operator/concat');\r\nrequire('./add/operator/concatAll');\r\nrequire('./add/operator/concatMap');\r\nrequire('./add/operator/concatMapTo');\r\nrequire('./add/operator/count');\r\nrequire('./add/operator/dematerialize');\r\nrequire('./add/operator/debounce');\r\nrequire('./add/operator/debounceTime');\r\nrequire('./add/operator/defaultIfEmpty');\r\nrequire('./add/operator/delay');\r\nrequire('./add/operator/delayWhen');\r\nrequire('./add/operator/distinct');\r\nrequire('./add/operator/distinctUntilChanged');\r\nrequire('./add/operator/distinctUntilKeyChanged');\r\nrequire('./add/operator/do');\r\nrequire('./add/operator/exhaust');\r\nrequire('./add/operator/exhaustMap');\r\nrequire('./add/operator/expand');\r\nrequire('./add/operator/elementAt');\r\nrequire('./add/operator/filter');\r\nrequire('./add/operator/finally');\r\nrequire('./add/operator/find');\r\nrequire('./add/operator/findIndex');\r\nrequire('./add/operator/first');\r\nrequire('./add/operator/groupBy');\r\nrequire('./add/operator/ignoreElements');\r\nrequire('./add/operator/isEmpty');\r\nrequire('./add/operator/audit');\r\nrequire('./add/operator/auditTime');\r\nrequire('./add/operator/last');\r\nrequire('./add/operator/let');\r\nrequire('./add/operator/every');\r\nrequire('./add/operator/map');\r\nrequire('./add/operator/mapTo');\r\nrequire('./add/operator/materialize');\r\nrequire('./add/operator/max');\r\nrequire('./add/operator/merge');\r\nrequire('./add/operator/mergeAll');\r\nrequire('./add/operator/mergeMap');\r\nrequire('./add/operator/mergeMapTo');\r\nrequire('./add/operator/mergeScan');\r\nrequire('./add/operator/min');\r\nrequire('./add/operator/multicast');\r\nrequire('./add/operator/observeOn');\r\nrequire('./add/operator/onErrorResumeNext');\r\nrequire('./add/operator/pairwise');\r\nrequire('./add/operator/partition');\r\nrequire('./add/operator/pluck');\r\nrequire('./add/operator/publish');\r\nrequire('./add/operator/publishBehavior');\r\nrequire('./add/operator/publishReplay');\r\nrequire('./add/operator/publishLast');\r\nrequire('./add/operator/race');\r\nrequire('./add/operator/reduce');\r\nrequire('./add/operator/repeat');\r\nrequire('./add/operator/repeatWhen');\r\nrequire('./add/operator/retry');\r\nrequire('./add/operator/retryWhen');\r\nrequire('./add/operator/sample');\r\nrequire('./add/operator/sampleTime');\r\nrequire('./add/operator/scan');\r\nrequire('./add/operator/sequenceEqual');\r\nrequire('./add/operator/share');\r\nrequire('./add/operator/single');\r\nrequire('./add/operator/skip');\r\nrequire('./add/operator/skipUntil');\r\nrequire('./add/operator/skipWhile');\r\nrequire('./add/operator/startWith');\r\nrequire('./add/operator/subscribeOn');\r\nrequire('./add/operator/switch');\r\nrequire('./add/operator/switchMap');\r\nrequire('./add/operator/switchMapTo');\r\nrequire('./add/operator/take');\r\nrequire('./add/operator/takeLast');\r\nrequire('./add/operator/takeUntil');\r\nrequire('./add/operator/takeWhile');\r\nrequire('./add/operator/throttle');\r\nrequire('./add/operator/throttleTime');\r\nrequire('./add/operator/timeInterval');\r\nrequire('./add/operator/timeout');\r\nrequire('./add/operator/timeoutWith');\r\nrequire('./add/operator/timestamp');\r\nrequire('./add/operator/toArray');\r\nrequire('./add/operator/toPromise');\r\nrequire('./add/operator/window');\r\nrequire('./add/operator/windowCount');\r\nrequire('./add/operator/windowTime');\r\nrequire('./add/operator/windowToggle');\r\nrequire('./add/operator/windowWhen');\r\nrequire('./add/operator/withLatestFrom');\r\nrequire('./add/operator/zip');\r\nrequire('./add/operator/zipAll');\r\n/* tslint:disable:no-unused-variable */\r\nvar Subscription_1 = require('./Subscription');\r\nexports.Subscription = Subscription_1.Subscription;\r\nvar Subscriber_1 = require('./Subscriber');\r\nexports.Subscriber = Subscriber_1.Subscriber;\r\nvar AsyncSubject_1 = require('./AsyncSubject');\r\nexports.AsyncSubject = AsyncSubject_1.AsyncSubject;\r\nvar ReplaySubject_1 = require('./ReplaySubject');\r\nexports.ReplaySubject = ReplaySubject_1.ReplaySubject;\r\nvar BehaviorSubject_1 = require('./BehaviorSubject');\r\nexports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;\r\nvar ConnectableObservable_1 = require('./observable/ConnectableObservable');\r\nexports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;\r\nvar Notification_1 = require('./Notification');\r\nexports.Notification = Notification_1.Notification;\r\nvar EmptyError_1 = require('./util/EmptyError');\r\nexports.EmptyError = EmptyError_1.EmptyError;\r\nvar ArgumentOutOfRangeError_1 = require('./util/ArgumentOutOfRangeError');\r\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\r\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\r\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError;\r\nvar TimeoutError_1 = require('./util/TimeoutError');\r\nexports.TimeoutError = TimeoutError_1.TimeoutError;\r\nvar UnsubscriptionError_1 = require('./util/UnsubscriptionError');\r\nexports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError;\r\nvar timeInterval_1 = require('./operator/timeInterval');\r\nexports.TimeInterval = timeInterval_1.TimeInterval;\r\nvar timestamp_1 = require('./operator/timestamp');\r\nexports.Timestamp = timestamp_1.Timestamp;\r\nvar TestScheduler_1 = require('./testing/TestScheduler');\r\nexports.TestScheduler = TestScheduler_1.TestScheduler;\r\nvar VirtualTimeScheduler_1 = require('./scheduler/VirtualTimeScheduler');\r\nexports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler;\r\nvar AjaxObservable_1 = require('./observable/dom/AjaxObservable');\r\nexports.AjaxResponse = AjaxObservable_1.AjaxResponse;\r\nexports.AjaxError = AjaxObservable_1.AjaxError;\r\nexports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError;\r\nvar asap_1 = require('./scheduler/asap');\r\nvar async_1 = require('./scheduler/async');\r\nvar queue_1 = require('./scheduler/queue');\r\nvar animationFrame_1 = require('./scheduler/animationFrame');\r\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\r\nvar iterator_1 = require('./symbol/iterator');\r\nvar observable_1 = require('./symbol/observable');\r\n/* tslint:enable:no-unused-variable */\r\n/**\r\n * @typedef {Object} Rx.Scheduler\r\n * @property {Scheduler} queue Schedules on a queue in the current event frame\r\n * (trampoline scheduler). Use this for iteration operations.\r\n * @property {Scheduler} asap Schedules on the micro task queue, which uses the\r\n * fastest transport mechanism available, either Node.js' `process.nextTick()`\r\n * or Web Worker MessageChannel or setTimeout or others. Use this for\r\n * asynchronous conversions.\r\n * @property {Scheduler} async Schedules work with `setInterval`. Use this for\r\n * time-based operations.\r\n * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.\r\n * Use this for synchronizing with the platform's painting\r\n */\r\nvar Scheduler = {\r\n    asap: asap_1.asap,\r\n    queue: queue_1.queue,\r\n    animationFrame: animationFrame_1.animationFrame,\r\n    async: async_1.async\r\n};\r\nexports.Scheduler = Scheduler;\r\n/**\r\n * @typedef {Object} Rx.Symbol\r\n * @property {Symbol|string} rxSubscriber A symbol to use as a property name to\r\n * retrieve an \"Rx safe\" Observer from an object. \"Rx safety\" can be defined as\r\n * an object that has all of the traits of an Rx Subscriber, including the\r\n * ability to add and remove subscriptions to the subscription chain and\r\n * guarantees involving event triggering (can't \"next\" after unsubscription,\r\n * etc).\r\n * @property {Symbol|string} observable A symbol to use as a property name to\r\n * retrieve an Observable as defined by the [ECMAScript \"Observable\" spec](https://github.com/zenparsing/es-observable).\r\n * @property {Symbol|string} iterator The ES6 symbol to use as a property name\r\n * to retrieve an iterator from an object.\r\n */\r\nvar Symbol = {\r\n    rxSubscriber: rxSubscriber_1.$$rxSubscriber,\r\n    observable: observable_1.$$observable,\r\n    iterator: iterator_1.$$iterator\r\n};\r\nexports.Symbol = Symbol;\r\n//# sourceMappingURL=Rx.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/Rx.js\n// module id = 23\n// module chunks = 3","export { ModalBackdropComponent, ModalBackdropOptions } from './modal-backdrop.component';\r\nexport { ModalDirective } from './modal.component';\r\nexport { ModalModule } from './modal.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/modal/index.js\n// module id = 24\n// module chunks = 3","import {Injectable} from '@angular/core';\nimport * as config from './config.json'\nimport {StorageService} from \"app/directives/storage.service\";\n\nexport class Config {\n    version: number;\n    stringPestana: string;\n    url: {\n        qa: {\n            servicios: string\n            seguridad: string\n        },\n        produccion: {\n            servicios: string\n            seguridad: string\n        }\n    }\n    logo: string;\n    banco: string;\n    bancoReactivos: boolean;\n    pantalla: {\n        controlescolar: {\n            configuracion: {}\n        },\n        admisiones: {\n            configuracion: {},\n            procesoadmision: {\n                aplicacionentrevista: {\n                    vistasolicitudadmision: boolean;\n                    camara: boolean;\n                }\n            }\n        },\n        cobranza: {\n            procesocobranza: {\n                modalacuerdo: {\n                    documentosgarantia: boolean\n                }\n            }\n        }\n    }\n}\n\n@Injectable()\nexport class ConfigERP {\n    //1 = lux  2 = \"ciencias\"\n    tipo: number;\n    config: Config;\n    constructor(private storage: StorageService) {\n        this.tipo = localStorage.getItem(\"sistema\") ? parseInt(localStorage.getItem(\"sistema\")) : config.sistema;\n        switch (this.tipo) {\n            case 1:\n                this.config = {\n                    version: this.tipo,\n                    stringPestana: 'Instituto Lux - ERP',\n                    //URL de los servicios\n                    url: {\n                        qa: {\n                            servicios: \"https://lux.org.mx/QA/Jesuitas_webServices/web/app.php/api/\",\n                            seguridad: \"https://secapp.lux.org.mx:8018/api/\"\n                        },\n                        produccion: {\n                            servicios: \"https://lux.org.mx/Jesuitas_webServices/web/app.php/api/\",\n                            seguridad: \"https://secapp.lux.org.mx:8015/api/\"\n                        }\n                    },\n                    //imagenes\n                    logo: 'logoBLux.png',\n                    //Nombre del banco para los depositos\n                    banco: \"BanBajio\",\n                    //banco de reactivos\n                    bancoReactivos: false,\n                    //Pantalla\n                    pantalla: {\n                        controlescolar: {\n                            configuracion: {\n                            }\n                        },\n                        admisiones: {\n                            configuracion: {\n                            },\n                            procesoadmision: {\n                                aplicacionentrevista: {\n                                    vistasolicitudadmision: false,\n                                    camara: false\n                                }\n                            }\n                        },\n                        cobranza: {\n                            procesocobranza: {\n                                modalacuerdo: {\n                                    documentosgarantia: false\n                                }\n                            }\n                        }\n                    }\n                }\n                break;\n                case 2:\n                    this.config = {\n                        version: this.tipo,\n                        stringPestana: 'Carlos Pereyra - ERP',\n                        //URL de los servicios\n                        url: {\n                            qa: {\n                                servicios: \"https://webpereyra.com.mx/QA/Jesuitas_webServices/web/api/\",\n                                seguridad: \"https://apppereyra.com.mx:8017/api/\"\n                            },\n                            produccion: {\n                                servicios: \"https://webpereyra.com.mx/Jesuitas_webServices/web/api/\",\n                                seguridad: \"https://apppereyra.com.mx:8015/api/\"\n                            }\n                        },\n                        //imagenes\n                        logo: 'newlogoPer.png',\n                        //Nombre del banco para los depositos\n                        banco: \"Santander\",\n                        //banco de reactivos\n                        bancoReactivos: true,\n                        //Pantalla\n                        pantalla: {\n                            controlescolar: {\n                                configuracion: {\n                                }\n                            },\n                            admisiones: {\n                                configuracion: {\n                                },\n                                procesoadmision: {\n                                    aplicacionentrevista: {\n                                        vistasolicitudadmision: true,\n                                        camara: true\n                                    }\n                                }\n                            },\n                            cobranza: {\n                                procesocobranza: {\n                                    modalacuerdo: {\n                                        documentosgarantia: true\n                                    }\n                                }\n                            }\n                        }\n                    }\n                    break;\n        }\n    }\n\n    getConfig(): Config {\n        return this.config;\n    }\n}\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/configERP.ts","import {ViewContainerRef} from '@angular/core';\r\n\r\nexport class parametrosModalSolicitud {\r\n    public modalGenerica: ViewContainerRef;\r\n    public modoIndividual: boolean;\r\n    public pestana: number;\r\n    public edicion: boolean;\r\n    public listaespera: string;\r\n    public version: number;\r\n    public catalogo: any;\r\n    public clave: any;\r\n    public entidad: any;\r\n    public buscar: boolean;\r\n    public guardar: boolean;\r\n    public estatusGuardado: number;\r\n\r\n    public configpestana: {\r\n        datosaspirante: {visible: boolean, editable: boolean},\r\n        datosfamiliares: {visible: boolean, editable: boolean},\r\n        fotografia: {visible: boolean, editable: boolean},\r\n        encuesta: {visible: boolean, editable: boolean},\r\n        evaluaciones: {visible: boolean, editable: boolean},\r\n        documentacion: {visible: boolean, editable: boolean},\r\n        comentarios: {visible: boolean, editable: boolean},\r\n        hermanos: {visible: boolean, editable: boolean},\r\n        dinamicafamiliar: {visible: boolean, editable: boolean},\r\n        areamedica: {visible: boolean, editable: boolean},\r\n        otrosprocesos: {visible: boolean, editable: boolean},\r\n        dictaminacion: {visible: boolean, editable: boolean},\r\n        expediente: {visible: boolean, editable: boolean}\r\n    };\r\n\r\n    public pestanaDatosAspirante: {\r\n        nacionalidades: any[],\r\n        DatosAspirante: any,\r\n        selectViveCon: any[];\r\n        labelnacionalidad: string;\r\n        selectNacionalidad: any[];\r\n        selectPais: any[];\r\n        selectEstados: any[];\r\n        selectMunicipios: any[];\r\n    }\r\n\r\n    public pestanaExpediente: {\r\n        NivelSelect: any[];\r\n        GradoSelectFull: any[];\r\n        EscuelajesuitaSelect: any[];\r\n        arrayGradosrepetidos: any[];\r\n        ExpedienteAspirante: any;\r\n    }\r\n\r\n    public pestanaDatosFamiliares: {\r\n        parentescoSelect: any[];\r\n        SelectSituacion: any[];\r\n        SelectEscolaridad: any[];\r\n        SelectGeneracion: any[];\r\n        SelectNacionalidad: any[];\r\n\r\n        arrayPadres: any[],\r\n        familia: any,\r\n\r\n        SelectEstados: any[];\r\n        SelectMunicipios: any[];\r\n        SelectColonias: any[];\r\n        DatosFamiliares: any;\r\n\r\n        arrayPersonaRecoge: any[],\r\n    }\r\n\r\n    public pestanaEncuesta: {\r\n        parentescoSelect: any[];\r\n        Selectmedio1: any[];\r\n        Selectmedio2: any[];\r\n        Selectmedio3: any[];\r\n        Encuestaform: any[]\r\n    }\r\n\r\n    public pestanaEvaluaciones: {\r\n        arrayEvaluacionFaltantes: any[],\r\n        arrayEvaluacion: any[],\r\n    }\r\n\r\n\r\n    public pestanaDocumentacion: {\r\n        arrayDoc: any[],\r\n        documentacion: any[]\r\n    }\r\n\r\n    public pestanaComentarios: {\r\n        arrayComentarios: any[],\r\n    }\r\n\r\n    public pestanaAreaMedica: {\r\n        selectenfermedad: any[];\r\n        selectParentesco: any[];\r\n        arrayAlergia: any[];\r\n        arrayAntecedentes: any[];\r\n        sanguineo: any[];\r\n        AreaMedicaForm: any[];\r\n        DatosMedicosForm: any[];\r\n        arrayContactos: any[];\r\n    }\r\n\r\n    public pestanaHermanos: {\r\n        arrayHermano1: any[],\r\n    }\r\n\r\n\r\n    public pestanaotrosprocesos: {\r\n        arrayProcesos: any[],\r\n    }\r\n\r\n    public pestanaDinamicaFamiliar: {\r\n        DinamicaFamiliarForm: any[],\r\n        Selectparentesco: any[]\r\n    }\r\n\r\n    public pestanaDictamen: {\r\n        ficha: {\r\n            arrayTablerosBIGeneral: any,\r\n            arrayTablerosBIEntrevista: any,\r\n            arrayTablerosBIPsicometrico: any;\r\n        },\r\n        dictaminacion: {\r\n            dictamen: any[],\r\n            cartas: any[],\r\n            entregaresultados: any,\r\n            factoresapoyo: any[],\r\n            EstatusSelect: any[],\r\n            CartaSelect: any[],\r\n            EvaluadorSelect: any[],\r\n            FactoresapoyoSelect: any[],\r\n            NivelSelect: any[],\r\n            GradoFull: any[]\r\n        }\r\n    }\r\n\r\n    constructor() {\r\n        this.entidad = null;\r\n        this.pestana = null;\r\n        this.edicion = null;\r\n        this.listaespera = null;\r\n        this.version = null;\r\n\r\n        this.modoIndividual = null;\r\n        this.buscar = null;\r\n\r\n        this.configpestana = {\r\n            datosaspirante: {visible: null, editable: null},\r\n            datosfamiliares: {visible: null, editable: null},\r\n            fotografia: {visible: null, editable: null},\r\n            encuesta: {visible: null, editable: null},\r\n            evaluaciones: {visible: null, editable: null},\r\n            documentacion: {visible: null, editable: null},\r\n            comentarios: {visible: null, editable: null},\r\n            hermanos: {visible: null, editable: null},\r\n            dinamicafamiliar: {visible: null, editable: null},\r\n            areamedica: {visible: null, editable: null},\r\n            otrosprocesos: {visible: null, editable: null},\r\n            dictaminacion: {visible: null, editable: true},\r\n            expediente: {visible: null, editable: null}\r\n        }\r\n\r\n        this.pestanaDatosAspirante = {\r\n            nacionalidades: null,\r\n            DatosAspirante: null,\r\n            selectViveCon: null,\r\n            labelnacionalidad: null,\r\n            selectNacionalidad: null,\r\n            selectPais: null,\r\n            selectEstados: null,\r\n            selectMunicipios: null,\r\n        }\r\n\r\n        this.pestanaExpediente = {\r\n            NivelSelect: null,\r\n            GradoSelectFull: null,\r\n            EscuelajesuitaSelect: null,\r\n            arrayGradosrepetidos: null,\r\n            ExpedienteAspirante: null,\r\n        }\r\n\r\n        this.pestanaDatosFamiliares = {\r\n            SelectSituacion: null,\r\n            SelectEscolaridad: null,\r\n            SelectNacionalidad: null,\r\n            familia: null,\r\n            arrayPadres: null,\r\n            arrayPersonaRecoge: null,\r\n            DatosFamiliares: null,\r\n            SelectEstados: null,\r\n            SelectMunicipios: null,\r\n            SelectColonias: null,\r\n            SelectGeneracion: null,\r\n            parentescoSelect: null,\r\n        }\r\n\r\n        this.pestanaEncuesta = {\r\n            parentescoSelect: null,\r\n            Selectmedio1: null,\r\n            Selectmedio2: null,\r\n            Selectmedio3: null,\r\n            Encuestaform: null,\r\n        }\r\n\r\n\r\n        this.pestanaEvaluaciones = {\r\n            arrayEvaluacionFaltantes: null,\r\n            arrayEvaluacion: null,\r\n        }\r\n\r\n\r\n        this.pestanaDocumentacion = {\r\n            arrayDoc: null,\r\n            documentacion: null\r\n        }\r\n\r\n\r\n        this.pestanaComentarios = {\r\n            arrayComentarios: null,\r\n        }\r\n\r\n        this.pestanaHermanos = {\r\n            arrayHermano1: null,\r\n        }\r\n\r\n        this.pestanaAreaMedica = {\r\n            selectenfermedad: null,\r\n            selectParentesco: null,\r\n            arrayAlergia: null,\r\n            arrayAntecedentes: null,\r\n            sanguineo: null,\r\n            AreaMedicaForm: null,\r\n            DatosMedicosForm: null,\r\n            arrayContactos: null\r\n        }\r\n\r\n        this.pestanaotrosprocesos = {\r\n            arrayProcesos: null,\r\n        }\r\n\r\n        this.pestanaDinamicaFamiliar = {\r\n            DinamicaFamiliarForm: null,\r\n            Selectparentesco: null\r\n        }\r\n\r\n        this.pestanaDictamen = {\r\n            ficha: {\r\n                arrayTablerosBIGeneral: null,\r\n                arrayTablerosBIEntrevista: null,\r\n                arrayTablerosBIPsicometrico: null\r\n            },\r\n            dictaminacion: {\r\n                dictamen: null,\r\n                cartas: null,\r\n                entregaresultados: null,\r\n                factoresapoyo: null,\r\n                EstatusSelect: null,\r\n                CartaSelect: null,\r\n                EvaluadorSelect: null,\r\n                FactoresapoyoSelect: null,\r\n                NivelSelect: null,\r\n                GradoFull: null\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/modalsolicitud.ts","import {Injectable} from '@angular/core';\r\n\r\ndeclare var $: any;\r\ndeclare var html2canvas: any;\r\ndeclare var jsPDF: any;\r\n\r\n@Injectable()\r\nexport class Helpers {\r\n\r\n    constructor() {}\r\n\r\n    /**\r\n    * Esta función sirve para imprimir HTML\r\n    * @param {contenido} HTML\r\n    * @returns PRINT\r\n    */\r\n    print(contenido: string) {\r\n        // Primero obtenemos todos los <style></style> del <head>\r\n        let styles = $('head').find('style')\r\n        // Declaramos una variable donde alojaremos todos los CSS\r\n        let style = ''\r\n        // Recorremos cada <style>\r\n        styles.each(function (i, e) {\r\n            // Obtenemos el css y lo agregamos a nuestra variable style\r\n            style += $(e)[0].innerText;\r\n        })\r\n        var hiddenFrame = $('<iframe></iframe>').appendTo('body')[0];\r\n        hiddenFrame.contentWindow.printAndRemove = function () {\r\n            hiddenFrame.contentWindow.print();\r\n            $(hiddenFrame).remove();\r\n        };\r\n        var htmlDocument = \"<!doctype html>\" +\r\n            `<html>\r\n            <style>${style}</style>\r\n            <body onload=\"printAndRemove();\">${contenido}</body></html>`;\r\n        var doc = hiddenFrame.contentWindow.document.open(\"text/html\", \"replace\");\r\n        doc.write(htmlDocument);\r\n        doc.close();\r\n    }\r\n\r\n    /**\r\n     * Esta función sirve para imprimir archivos PDF desde un BLOB o bien\r\n     * desde una URL\r\n     * @param {blob}\r\n     * @param {type}\r\n     * @return Empty\r\n     */\r\n    printPDF(blob: any, type: string = 'blob') {\r\n        // Verificamos si el tipo de impresión viene de un blob o una URL\r\n        if (type == 'url') {\r\n            // Hacemos una llamada AJAX al archivo\r\n            var oReq = new XMLHttpRequest();\r\n            // Abrimos la conexión AJAX\r\n            oReq.open(\"GET\", blob, true);\r\n            // Le decimos a la petición que la respuesta deberá ser  {arraybuffer}\r\n            oReq.responseType = \"arraybuffer\";\r\n            // Asignamos una función callback cuando recibamos una respuesta\r\n            oReq.onload = function (oEvent) {\r\n                // Generamos un blob del buffer recibido\r\n                var blob = new Blob([oReq.response], {type: 'application/pdf'});\r\n                // Generamos una URL con este blob\r\n                const blobUrl = URL.createObjectURL(blob);\r\n                // Creamos un iframe\r\n                const iframe = document.createElement('iframe');\r\n                // Le asignamos a este iframe un display: none para que no se muestre\r\n                iframe.style.display = 'none';\r\n                // Le añadimos al src la url recien creada\r\n                iframe.src = blobUrl;\r\n                // Agregamos nuestor iframe a nuestro body\r\n                document.body.appendChild(iframe);\r\n                // Ejecutamos la función print en este iframe\r\n                iframe.contentWindow.print();\r\n            };\r\n\r\n            oReq.send();\r\n        } else {\r\n            // Generamos un blob del buffer recibido\r\n            blob = new Blob([blob], {type: 'application/pdf'});\r\n            // Generamos una URL con este blob\r\n            const blobUrl = URL.createObjectURL(blob);\r\n            // Creamos un iframe\r\n            const iframe = document.createElement('iframe');\r\n            // Le asignamos a este iframe un display: none para que no se muestre\r\n            iframe.style.display = 'none';\r\n            // Le aÃ±adimos al src la url recien creada\r\n            iframe.src = blobUrl;\r\n            // Agregamos nuestor iframe a nuestro body\r\n            document.body.appendChild(iframe);\r\n            // Ejecutamos la funciÃ³n print en este iframe\r\n            iframe.contentWindow.print();\r\n        }\r\n    }\r\n\r\n    domToPDF(element: string, name: string, options: {\r\n        orientation: \"l\" | \"p\",\r\n        unit: \"pt\" | \"mm\" | \"cm\" | \"in\" ,\r\n        format: \"a3\" | \"a4\" | \"a5\" | \"letter\" | \"legal\"\r\n    }){\r\n        return new Promise((resolve , reject) => {\r\n            html2canvas(document.querySelector(element)).then(canvas => {\r\n                var imgData = canvas.toDataURL(\"image/jpeg\", 1.0);\r\n                var pdf = new jsPDF(options.orientation, options.unit, options.format);\r\n\r\n                var maxWidth = pdf.internal.pageSize.getWidth(); // Max width for the image\r\n                var maxHeight = pdf.internal.pageSize.getHeight();    // Max height for the image\r\n                var ratio = 0;  // Used for aspect ratio\r\n                var finalHeight = canvas.height\r\n                var finalWidth = canvas.width;\r\n                var width = canvas.width;    // Current image width\r\n                var height = canvas.height;  // Current image height\r\n\r\n                // Check if the current width is larger than the max\r\n                if(width > maxWidth){\r\n                    ratio = maxWidth / width;   // get ratio for scaling image\r\n                    finalHeight = height * ratio\r\n                    finalWidth = maxWidth;\r\n                    height = height * ratio;    // Reset height to match scaled image\r\n                    width = width * ratio;    // Reset width to match scaled image\r\n                }\r\n\r\n\r\n                pdf.addImage(imgData, 'JPEG', 0, 0, finalWidth, finalHeight);\r\n                pdf.save(name + \".pdf\");\r\n                resolve(canvas)\r\n            });\r\n        })\r\n    }\r\n\r\n    /**\r\n     * Esta función sirve para dividir el telefono en lada y telefono\r\n     * @param {telefono}\r\n     * @return [lada,telefono]\r\n     */\r\n    ParseTelefono(telefono: string): string[] {\r\n        try {\r\n            if (telefono) {\r\n                telefono = telefono.replace(/ +?/g, '')\r\n                let lada;\r\n                let tel;\r\n                if (telefono.length == 10) {\r\n                    lada = \"(\" + telefono.substring(0, 3) + \")\";\r\n                    tel = telefono.substring(3, 10).substring(0, 3) + \"-\" + telefono.substring(3, 10).substring(3, 7);\r\n                } else if (telefono.length == 11) {\r\n                    lada = \"(\" + telefono.split(\"-\")[0] + \")\";\r\n                    telefono = telefono.split(\"-\")[1];\r\n                    if (lada.length == 5) {\r\n                        tel = telefono.substring(0, 3) + \"-\" + telefono.substring(3, 7);\r\n                    } else {\r\n                        tel = telefono.substring(0, 4) + \"-\" + telefono.substring(4, 8);\r\n                    }\r\n                } else {\r\n                    lada = null;\r\n                    tel = null;\r\n                }\r\n                return [lada, tel]\r\n            } else {\r\n                return [null, null];\r\n            }\r\n        } catch (error) {\r\n            return [null, null];\r\n        }\r\n    }\r\n\r\n    /**\r\n    * Esta función sirve para unir el telefono quitandole la mascara\r\n    * @param {lada}\r\n    * @param {telefono}\r\n    * @return telefono\r\n    */\r\n    UnitTelefono(lada: string, telefono: string): string {\r\n        if (lada && telefono) {\r\n            //Quitamos las mascara\r\n            lada = lada.match(/\\d/g).join('');\r\n            telefono = telefono.match(/\\d/g).join('');\r\n            //Unimos el telefono\r\n            return lada + \"-\" + telefono;\r\n        } else {\r\n            return null;\r\n        }\r\n    }\r\n\r\n    /**\r\n    * Esta función sirve para convertir el objeto del control de fecha por un string con formato yyyy-mm-dd\r\n    * @param {objFecha}\r\n    * @return fecha\r\n    */\r\n    FechaObjetoToString(date: {day: number, month: number, year: number}) {\r\n        return date.year + '-' + date.month + '-' + date.day;\r\n    };\r\n    \r\n    \r\n    /**\r\n    * Esta función sirve para convertir el objeto del control de fecha por un string con formato dd/mm/yyyy\r\n    * @param {objFecha}\r\n    * @return fecha\r\n    */\r\n    FechaObjetoToStringFormat(date: {day: number, month: number, year: number}) {\r\n        return date.day + '/' + date.month + '/' + date.year;\r\n    };\r\n\r\n\r\n    /**\r\n    * Esta función sirve para convertir una fecha string en el objeto para setar al control de la fecha\r\n    * @param fecha\r\n    * @return {day: number, month: number, year: number}\r\n    */\r\n    FechaToStringObjeto(date: string) {\r\n        if (date) {\r\n            let fecha = date.split(\"T\")\r\n            if (fecha[0]) {\r\n                fecha = fecha[0].split(\"-\");\r\n                return {year: Number(fecha[0]), month: Number(fecha[1]), day: Number(fecha[2])}\r\n            } else {\r\n                null;\r\n            }\r\n        } else {\r\n            return null;\r\n        }\r\n    };\r\n    \r\n    /**\r\n    * Esta función sirve para convertir una fecha string en el objeto para setar al control de la fecha\r\n    * @param fecha\r\n    * @return {day: number, month: number, year: number}\r\n    */\r\n    FechaToStringObjetoFormat(date: string) {\r\n        if (date) {\r\n            let fecha = date.split(\"T\")\r\n            if (fecha[0]) {\r\n                fecha = fecha[0].split(\"/\");\r\n                return {year: Number(fecha[2]), month: Number(fecha[1]), day: Number(fecha[0])}\r\n            } else {\r\n                null;\r\n            }\r\n        } else {\r\n            return null;\r\n        }\r\n    };\r\n\r\n    /**\r\n    * Esta función sirve para capitalizar un string (primera letra de una palabra en mayuscula)\r\n    * @param texto\r\n    * @return texto\r\n    */\r\n    capitalize(texto: string) {\r\n        if (texto) {\r\n            texto = texto.toLowerCase();\r\n            return texto.replace(/(^|\\s)[a-z\\u00E0-\\u00FC]/g, c => c.toUpperCase());\r\n        } else {\r\n            return null;\r\n        }\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/app.helpers.ts","var moment = module.exports = require(\"./moment-timezone\");\r\nmoment.tz.load(require('./data/packed/latest.json'));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/moment-timezone/index.js\n// module id = 36\n// module chunks = 3","export * from \"./classes/transition-controller\";\r\nexport * from \"./classes/transition\";\r\nexport * from \"./directives/transition\";\r\nexport * from \"./transition.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/transition/index.js\n// module id = 37\n// module chunks = 3","\"use strict\";\r\nvar AsyncAction_1 = require('./AsyncAction');\r\nvar AsyncScheduler_1 = require('./AsyncScheduler');\r\nexports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);\r\n//# sourceMappingURL=async.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/async.js\n// module id = 39\n// module chunks = 3","import { Injectable } from '@angular/core';\r\ndeclare let CryptoJS: any;\r\n/**\r\n * Este servicio sirve para encriptar y dividir en chunks el localStorage para mantener la seguridad * de los datos\r\n * Este servicio funciona como el uso normal del localStorage\r\n * this.storage.getItem()\r\n * this.storage.setItem()\r\n * this.storage.removeItem()\r\n * this.storage.clear()\r\n */\r\n@Injectable()\r\nexport class StorageService {\r\n    //Prefijo del sistema\r\n    perfix: string = 'ERP';\r\n    secret: string = 'Inceptio2020';\r\n    // Metadata de encripción\r\n    parts: any = {}\r\n    /**\r\n     * Inicializamos la variable parts(@metadata) obteniendo el binario guardado en el localStorage y * lo desencriptamos\r\n     */\r\n    constructor() {\r\n        // Si existe el metadata\r\n        if(localStorage.getItem(this.perfix + '_MJSDUDF76dHDGFnd')){\r\n            // Lo desencriptamos y guardamos en la variable parts\r\n            this.parts = JSON.parse(this.binaryToString(localStorage.getItem(this.perfix + '_MJSDUDF76dHDGFnd')))\r\n        }\r\n    }\r\n\r\n    base64url(source) {\r\n        // Encode in classical base64\r\n        let encodedSource = CryptoJS.enc.Base64.stringify(source);\r\n      \r\n        // Remove padding equal characters\r\n        encodedSource = encodedSource.replace(/=+$/, '');\r\n      \r\n        // Replace characters according to base64url specifications\r\n        encodedSource = encodedSource.replace(/\\+/g, '-');\r\n        encodedSource = encodedSource.replace(/\\//g, '_');\r\n      \r\n        return encodedSource;\r\n    }\r\n\r\n    EncodeJwt(data){\r\n        var header = {\r\n            \"alg\": \"HS256\",\r\n            \"typ\": \"JWT\"\r\n        };\r\n          \r\n        var stringifiedHeader = CryptoJS.enc.Utf8.parse(JSON.stringify(header));\r\n        var encodedHeader = this.base64url(stringifiedHeader);\r\n        \r\n        var stringifiedData = CryptoJS.enc.Utf8.parse(JSON.stringify(data));\r\n        var encodedData = this.base64url(stringifiedData);\r\n        \r\n        var token = encodedHeader + \".\" + encodedData;\r\n\r\n        var signature = CryptoJS.HmacSHA256(token, this.secret);\r\n        signature = this.base64url(signature);\r\n\r\n        return token + \".\" + signature;\r\n    }\r\n\r\n    DecodeJwt (token) {\r\n        var base64Url = token.split('.')[1];\r\n        var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n        var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {\r\n            return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n        }).join(''));\r\n    \r\n        try {\r\n            return JSON.parse(jsonPayload)\r\n        } catch (error) {\r\n            return jsonPayload\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Guardamos la variable encriptada dividida en chunks y guardamos en el localStorage\r\n     * @param name \r\n     * @param value \r\n     */\r\n    setItem(name, value){\r\n        value = this.EncodeJwt(value);\r\n        // Dividimos  el JWT por .\r\n        let parts = value.split('.')\r\n        // Reseteamos la llave del metadata\r\n        this.parts[name] = []\r\n        // Por cada parte en el JWT\r\n        parts.map((part, i) => {\r\n            // Si el index es mayor a 0 concatenamos un . al inicio de esta parte\r\n            if(i > 0){\r\n                // El punto sirve para la union de los tokens de JWT\r\n                part = '.' + part\r\n            }\r\n            // Generamos un nombre random\r\n            let token = this.makeid(20);\r\n            // Agregamos al metadata el nombre creado\r\n            this.parts[name].push(this.getName(token))\r\n            // Guardamos esta parte encriptada en binario con el nombre creado\r\n            localStorage.setItem(this.getName(token), this.stringToBinary(part))\r\n        })\r\n        // Guardamos el metadata\r\n        this.save()\r\n    }\r\n    /**\r\n     * Sirve para generar strings random\r\n     * @param length \r\n     */\r\n    makeid(length) {\r\n        var result           = '';\r\n        var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n        var charactersLength = characters.length;\r\n        for ( var i = 0; i < length; i++ ) {\r\n           result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n        }\r\n        return result;\r\n    }\r\n    /**\r\n     * Construimos el valor original de la variable y la regresamos\r\n     * @param name \r\n     */\r\n    getItem(name){\r\n        \r\n        // Obtenemos los chunks del localStorage para esta variable\r\n        let chunks = this.getChunk(name)\r\n        // Si no existe regresamos null\r\n        if(!chunks){\r\n            return null;\r\n        }\r\n        // Creamos la instancia del binario\r\n        let binary = ''\r\n        // Por cada chunk obtenemos el binario guardado en localStorage\r\n        chunks.map(chunk => {\r\n            // Lo concatenamos a la variable binary para ir construyendo el binario completo\r\n            binary += localStorage.getItem(chunk)\r\n\r\n        })\r\n\r\n        // Convertimos el binario en encripción JWT\r\n        let token = this.binaryToString(binary)\r\n        try {\r\n            return this.DecodeJwt(token)\r\n        } catch (error) {\r\n            return null;\r\n        }\r\n\r\n    }\r\n    /**\r\n     * Obtenemos los chunks por una variable\r\n     * @param name \r\n     */\r\n    getChunk(name){\r\n        // Si existe el metadata en el localStorage\r\n        if(localStorage.getItem(this.perfix + '_MJSDUDF76dHDGFnd')){\r\n            // Desencriptamos el binario\r\n            let parse = JSON.parse(this.binaryToString(localStorage.getItem(this.perfix + '_MJSDUDF76dHDGFnd')))\r\n            // Obtenemos los chunks por el nombre buscado\r\n            if(parse[name]){\r\n                return parse[name]\r\n            }\r\n        }\r\n        // Si no existe o no se encuentra la variable regresamos nulll\r\n        return null\r\n    }\r\n    /**\r\n     * Eliminamos los chunks del localStorage y del metadata\r\n     * @param name \r\n     */\r\n    removeItem(name){\r\n        // Obtenemos los chunks por el nombre de la variable\r\n        let chunks = this.getChunk(name)\r\n        // Si existe\r\n        if(chunks){\r\n            // Eliminamos los chunks del metadata\r\n            delete this.parts[name]\r\n            // Por cada chunk\r\n            chunks.map(chunk => {\r\n                // lo eliminamos del localStorage\r\n                localStorage.removeItem(chunk)\r\n            })\r\n        }\r\n        // Guardamos el metadata\r\n        this.save()\r\n    }\r\n    /**\r\n     * Sirve para guardar el metadata y los chunks en el localStorage\r\n     */\r\n    save(){\r\n        // Obtenemos todas las variables del localStorage\r\n        let data = Object.assign({}, localStorage);\r\n        // Limpiamos el localStorage\r\n        this.ClearLocalStorage();\r\n        // Por cada elemento del localStorage\r\n\r\n        Object.keys(data).filter(storage=> {\r\n            if(new RegExp(this.perfix).test(storage)) {\r\n                return true;\r\n            }\r\n            return false;\r\n        }).map(storage => {\r\n            // Iteramos el metadata\r\n            Object.keys(this.parts).map(part => {\r\n                // Por cada chunk del metadata\r\n                this.parts[part].map(key => {\r\n                    // Si el elemento del localStorage aun existe en el metadata\r\n                    if(key == storage){\r\n                        // lo guardamos en el localStorage\r\n                        localStorage.setItem(storage, data[storage])\r\n                    }\r\n                })\r\n            })\r\n        })\r\n        // Guardamos en el localStorage el metadata\r\n        localStorage.setItem(this.perfix + '_MJSDUDF76dHDGFnd', this.stringToBinary(JSON.stringify(this.parts)))\r\n    }\r\n    /**\r\n     * Convierte un string a binario\r\n     * @param input \r\n     */\r\n    stringToBinary(input) {\r\n        var characters = input.split('');\r\n        return characters.map(function(char) {\r\n          const binary = char.charCodeAt(0).toString(2)\r\n          const pad = Math.max(8 - binary.length, 0);\r\n          return '0'.repeat(pad) + binary;\r\n        }).join('');\r\n    }\r\n    /**\r\n     * Convierte un binario a un string\r\n     * @param input \r\n     */\r\n    binaryToString(input) {\r\n        let bytesLeft = input;\r\n        let result = '';\r\n        while (bytesLeft.length) {\r\n          const byte = bytesLeft.substr(0, 8);\r\n          bytesLeft = bytesLeft.substr(8);\r\n          result += String.fromCharCode(parseInt(byte, 2));\r\n        }\r\n        return result;\r\n    }\r\n    /**\r\n     * Crea un nombre con el prefijo concatenado\r\n     * @param name \r\n     */\r\n    getName(name){\r\n        return this.perfix + '_' + name\r\n    }\r\n    /**\r\n     * Limpia todo el localStorage\r\n     */\r\n    clear(){\r\n        this.ClearLocalStorage()\r\n    }\r\n\r\n    ClearLocalStorage() {\r\n        let keys = Object.keys(localStorage);\r\n        keys.map((x: string)=>{\r\n            if(new RegExp(this.perfix).test(x)) {\r\n                localStorage.removeItem(x);\r\n            }\r\n        })\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/directives/storage.service.ts","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.createNumberMask=t():e.createNumberMask=t()}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var o={};return t.m=e,t.c=o,t.p=\"\",t(0)}([function(e,t,o){e.exports=o(2)},,function(e,t){\"use strict\";function o(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=e.length;if(e===l||e[0]===y[0]&&1===t)return y.split(l).concat([v]).concat(g.split(l));if(e===k&&M)return y.split(l).concat([\"0\",k,v]).concat(g.split(l));var o=e[0]===s&&q;o&&(e=e.toString().substr(1));var c=e.lastIndexOf(k),u=c!==-1,a=void 0,b=void 0,h=void 0;if(e.slice(T*-1)===g&&(e=e.slice(0,T*-1)),u&&(M||$)?(a=e.slice(e.slice(0,R)===y?R:0,c),b=e.slice(c+1,t),b=n(b.replace(f,l))):a=e.slice(0,R)===y?e.slice(R):e,P&&(\"undefined\"==typeof P?\"undefined\":r(P))===p){var S=\".\"===j?\"[.]\":\"\"+j,w=(a.match(new RegExp(S,\"g\"))||[]).length;a=a.slice(0,P+w*Z)}return a=a.replace(f,l),E||(a=a.replace(/^0+(0$|[^0])/,\"$1\")),a=x?i(a,j):a,h=n(a),(u&&M||$===!0)&&(e[c-1]!==k&&h.push(m),h.push(k,m),b&&((\"undefined\"==typeof L?\"undefined\":r(L))===p&&(b=b.slice(0,L)),h=h.concat(b)),$===!0&&e[c-1]===k&&h.push(v)),R>0&&(h=y.split(l).concat(h)),o&&(h.length===R&&h.push(v),h=[d].concat(h)),g.length>0&&(h=h.concat(g.split(l))),h}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=t.prefix,y=void 0===o?c:o,b=t.suffix,g=void 0===b?l:b,h=t.includeThousandsSeparator,x=void 0===h||h,S=t.thousandsSeparatorSymbol,j=void 0===S?u:S,w=t.allowDecimal,M=void 0!==w&&w,N=t.decimalSymbol,k=void 0===N?a:N,D=t.decimalLimit,L=void 0===D?2:D,O=t.requireDecimal,$=void 0!==O&&O,_=t.allowNegative,q=void 0!==_&&_,B=t.allowLeadingZeroes,E=void 0!==B&&B,I=t.integerLimit,P=void 0===I?null:I,R=y&&y.length||0,T=g&&g.length||0,Z=j&&j.length||0;return e.instanceOf=\"createNumberMask\",e}function n(e){return e.split(l).map(function(e){return v.test(e)?v:e})}function i(e,t){return e.replace(/\\B(?=(\\d{3})+(?!\\d))/g,t)}Object.defineProperty(t,\"__esModule\",{value:!0});var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};t.default=o;var c=\"$\",l=\"\",u=\",\",a=\".\",s=\"-\",d=/-/,f=/\\D+/g,p=\"number\",v=/\\d/,m=\"[]\"}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/text-mask-addons/dist/createNumberMask.js\n// module id = 45\n// module chunks = 3","import { window } from './facade/browser';\r\nexport function isBs3() {\r\n    return window.__theme !== 'bs4';\r\n}\r\n//# sourceMappingURL=ng2-bootstrap-config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/ng2-bootstrap-config.js\n// module id = 49\n// module chunks = 3","export * from \"./services/localization.service\";\r\nexport * from \"./localization.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/behaviors/localization/index.js\n// module id = 50\n// module chunks = 3","'use strict';\r\n\r\nvar color = require('chartjs-color');\r\nvar helpers = require('../helpers/index');\r\n\r\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = color(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = color(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (type === 'number' && isFinite(origin) && isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers.extend(Element.prototype, {\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers.clone(me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = model;\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers.isNumber(this._model.x) && helpers.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers.inherits;\r\n\r\nmodule.exports = Element;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.element.js\n// module id = 52\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = {};\r\nmodule.exports.Arc = require('./element.arc');\r\nmodule.exports.Line = require('./element.line');\r\nmodule.exports.Point = require('./element.point');\r\nmodule.exports.Rectangle = require('./element.rectangle');\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/elements/index.js\n// module id = 62\n// module chunks = 3","export default function cloneObject (dirtyObject) {\r\n  dirtyObject = dirtyObject || {}\r\n  var object = {}\r\n\r\n  for (var property in dirtyObject) {\r\n    if (dirtyObject.hasOwnProperty(property)) {\r\n      object[property] = dirtyObject[property]\r\n    }\r\n  }\r\n\r\n  return object\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/cloneObject/index.js\n// module id = 68\n// module chunks = 3","export { ComponentLoader } from './component-loader.class';\r\nexport { ComponentLoaderFactory } from './component-loader.factory';\r\nexport { ContentRef } from './content-ref.class';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/component-loader/index.js\n// module id = 69\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name compareAsc\r\n * @category Common Helpers\r\n * @summary Compare the two dates and return -1, 0 or 1.\r\n *\r\n * @description\r\n * Compare the two dates and return 1 if the first date is after the second,\r\n * -1 if the first date is before the second or 0 if dates are equal.\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to compare\r\n * @param {Date|String|Number} dateRight - the second date to compare\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the result of the comparison\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Compare 11 February 1987 and 10 July 1989:\r\n * var result = compareAsc(\r\n *   new Date(1987, 1, 11),\r\n *   new Date(1989, 6, 10)\r\n * )\r\n * //=> -1\r\n *\r\n * @example\r\n * // Sort the array of dates:\r\n * var result = [\r\n *   new Date(1995, 6, 2),\r\n *   new Date(1987, 1, 11),\r\n *   new Date(1989, 6, 10)\r\n * ].sort(compareAsc)\r\n * //=> [\r\n * //   Wed Feb 11 1987 00:00:00,\r\n * //   Mon Jul 10 1989 00:00:00,\r\n * //   Sun Jul 02 1995 00:00:00\r\n * // ]\r\n */\r\nexport default function compareAsc (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var diff = dateLeft.getTime() - dateRight.getTime()\r\n\r\n  if (diff < 0) {\r\n    return -1\r\n  } else if (diff > 0) {\r\n    return 1\r\n  // Return 0 if diff is 0; return NaN if diff is NaN\r\n  } else {\r\n    return diff\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/compareAsc/index.js\n// module id = 80\n// module chunks = 3","import startOfWeek from '../startOfWeek/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\n\r\n/**\r\n * @name startOfISOWeek\r\n * @category ISO Week Helpers\r\n * @summary Return the start of an ISO week for the given date.\r\n *\r\n * @description\r\n * Return the start of an ISO week for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of an ISO week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of an ISO week for 2 September 2014 11:55:00:\r\n * var result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Mon Sep 01 2014 00:00:00\r\n */\r\nexport default function startOfISOWeek (dirtyDate, dirtyOptions) {\r\n  var startOfWeekOptions = cloneObject(dirtyOptions)\r\n  startOfWeekOptions.weekStartsOn = 1\r\n  return startOfWeek(dirtyDate, startOfWeekOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfISOWeek/index.js\n// module id = 81\n// module chunks = 3","import { DateUtil, Util } from \"../../../misc/util/index\";\r\nimport { CalendarItem } from \"../directives/calendar-item\";\r\nimport { DateComparer } from \"../classes/date-comparer\";\r\nvar CalendarRange = (function () {\r\n    function CalendarRange(start, dates, items, grouped, comparer) {\r\n        this.start = start;\r\n        this.dates = dates;\r\n        this.items = items;\r\n        this.groupedItems = grouped;\r\n        this._comparer = comparer;\r\n    }\r\n    Object.defineProperty(CalendarRange.prototype, \"inRange\", {\r\n        get: function () {\r\n            return this.items.filter(function (i) { return !i.isOutsideRange; });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    CalendarRange.prototype.find = function (item) {\r\n        var _this = this;\r\n        return this.items.find(function (i) { return _this._comparer.equal(i.date, item.date); });\r\n    };\r\n    CalendarRange.prototype.findIndex = function (item) {\r\n        var _this = this;\r\n        if (!item) {\r\n            return -1;\r\n        }\r\n        return this.items.findIndex(function (i) { return _this._comparer.equal(i.date, item.date); });\r\n    };\r\n    CalendarRange.prototype.containsDate = function (date) {\r\n        var _this = this;\r\n        return !!this.inRange.find(function (i) { return _this._comparer.equal(i.date, date); });\r\n    };\r\n    return CalendarRange;\r\n}());\r\nexport { CalendarRange };\r\nvar CalendarRangeService = (function () {\r\n    function CalendarRangeService(interval, rows, columns) {\r\n        this.interval = interval;\r\n        this.marginal = interval + 1;\r\n        this.rows = rows;\r\n        this.columns = columns;\r\n    }\r\n    Object.defineProperty(CalendarRangeService.prototype, \"dateComparer\", {\r\n        get: function () {\r\n            return new DateComparer(this.marginal, this.service.inFinalView);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarRangeService.prototype, \"length\", {\r\n        get: function () {\r\n            return this.rows * this.columns;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarRangeService.prototype, \"canMoveNext\", {\r\n        get: function () {\r\n            var firstItem = this.next.inRange[0];\r\n            if (firstItem && this.service.maxDate) {\r\n                return firstItem.date <= this.service.maxDate;\r\n            }\r\n            return true;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarRangeService.prototype, \"canMovePrevious\", {\r\n        get: function () {\r\n            var lastItem = this.previous.inRange.slice(-1).pop();\r\n            if (lastItem && this.service.minDate) {\r\n                return lastItem.date >= this.service.minDate;\r\n            }\r\n            return true;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    CalendarRangeService.prototype.loadService = function (service) {\r\n        this.service = service;\r\n        this.refresh();\r\n    };\r\n    CalendarRangeService.prototype.refresh = function () {\r\n        this.current = this.calcRange(this.service.currentDate);\r\n        this.next = this.calcRange(DateUtil.next(this.interval, DateUtil.clone(this.service.currentDate)));\r\n        this.previous = this.calcRange(DateUtil.previous(this.interval, DateUtil.clone(this.service.currentDate)));\r\n    };\r\n    CalendarRangeService.prototype.move = function (forwards) {\r\n        if (forwards) {\r\n            return this.moveNext();\r\n        }\r\n        return this.movePrevious();\r\n    };\r\n    CalendarRangeService.prototype.moveNext = function () {\r\n        DateUtil.next(this.interval, this.service.currentDate);\r\n        this.previous = this.current;\r\n        this.current = this.next;\r\n        this.next = this.calcRange(DateUtil.next(this.interval, DateUtil.clone(this.service.currentDate)));\r\n    };\r\n    CalendarRangeService.prototype.movePrevious = function () {\r\n        DateUtil.previous(this.interval, this.service.currentDate);\r\n        this.next = this.current;\r\n        this.current = this.previous;\r\n        this.previous = this.calcRange(DateUtil.previous(this.interval, DateUtil.clone(this.service.currentDate)));\r\n    };\r\n    CalendarRangeService.prototype.calc = function (forwards) {\r\n        if (forwards) {\r\n            return this.next;\r\n        }\r\n        return this.previous;\r\n    };\r\n    CalendarRangeService.prototype.calcRange = function (startDate) {\r\n        var start = this.calcStart(startDate);\r\n        if (this.service.inFinalView) {\r\n            DateUtil.startOf(this.marginal, start, true);\r\n        }\r\n        var dates = this.calcDates(start);\r\n        var items = this.calcItems(dates, startDate);\r\n        return new CalendarRange(start, dates, items, Util.Array.group(items, this.columns), this.dateComparer);\r\n    };\r\n    CalendarRangeService.prototype.calcStart = function (date) {\r\n        return DateUtil.startOf(this.interval, DateUtil.clone(date));\r\n    };\r\n    CalendarRangeService.prototype.calcDates = function (rangeStart) {\r\n        var _this = this;\r\n        return Util.Array\r\n            .range(this.length)\r\n            .map(function (i) { return DateUtil.add(_this.marginal, DateUtil.clone(rangeStart), i); });\r\n    };\r\n    CalendarRangeService.prototype.calcItems = function (dateRange, baseDate) {\r\n        var _this = this;\r\n        return dateRange.map(function (date) {\r\n            var item = new CalendarItem(date);\r\n            item.isDisabled = !_this.dateComparer.between(item.date, _this.service.minDate, _this.service.maxDate);\r\n            item.isActive = _this.dateComparer.equal(item.date, _this.service.selectedDate);\r\n            item.isToday = _this.dateComparer.equal(item.date, new Date());\r\n            item.isSelectable = item.isDisabled;\r\n            _this.configureItem(item, baseDate);\r\n            return item;\r\n        });\r\n    };\r\n    return CalendarRangeService;\r\n}());\r\nexport { CalendarRangeService };\r\n//# sourceMappingURL=calendar-range.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/services/calendar-range.service.js\n// module id = 82\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Input, QueryList, ViewChildren } from \"@angular/core\";\r\nimport { KeyCode } from \"../../../misc/util/index\";\r\nimport { SuiCalendarItem } from \"../directives/calendar-item\";\r\nimport { CalendarService } from \"../services/calendar.service\";\r\nexport var CalendarViewType;\r\n(function (CalendarViewType) {\r\n    CalendarViewType[CalendarViewType[\"Year\"] = 0] = \"Year\";\r\n    CalendarViewType[CalendarViewType[\"Month\"] = 1] = \"Month\";\r\n    CalendarViewType[CalendarViewType[\"Date\"] = 2] = \"Date\";\r\n    CalendarViewType[CalendarViewType[\"Hour\"] = 3] = \"Hour\";\r\n    CalendarViewType[CalendarViewType[\"Minute\"] = 4] = \"Minute\";\r\n})(CalendarViewType || (CalendarViewType = {}));\r\nvar CalendarView = (function () {\r\n    function CalendarView(renderer, viewType, ranges) {\r\n        var _this = this;\r\n        this._type = viewType;\r\n        this.ranges = ranges;\r\n        this._documentKeyDownListener = renderer.listen(\"document\", \"keydown\", function (e) { return _this.onDocumentKeyDown(e); });\r\n    }\r\n    Object.defineProperty(CalendarView.prototype, \"service\", {\r\n        get: function () {\r\n            return this._service;\r\n        },\r\n        set: function (service) {\r\n            var _this = this;\r\n            this._service = service;\r\n            this.ranges.loadService(service);\r\n            this.service.onManualUpdate = function () {\r\n                _this.ranges.refresh();\r\n                delete _this._highlightedItem;\r\n                _this.autoHighlight();\r\n            };\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarView.prototype, \"currentDate\", {\r\n        get: function () {\r\n            return this.service.currentDate;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarView.prototype, \"selectedDate\", {\r\n        get: function () {\r\n            return this.service.selectedDate;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // Template Methods\r\n    CalendarView.prototype.setDate = function (item) {\r\n        this.service.changeDate(item.date, this._type);\r\n    };\r\n    CalendarView.prototype.zoomOut = function () {\r\n        this.service.zoomOut(this._type);\r\n    };\r\n    // Keyboard Control\r\n    CalendarView.prototype.ngAfterViewInit = function () {\r\n        var _this = this;\r\n        this._renderedItems.changes.subscribe(function () { return _this.onRenderedItemsChanged(); });\r\n        this.onRenderedItemsChanged();\r\n    };\r\n    CalendarView.prototype.onRenderedItemsChanged = function () {\r\n        var _this = this;\r\n        this._renderedItems.forEach(function (i) {\r\n            return i.onFocussed.subscribe(function (hasFocus) {\r\n                if (hasFocus) {\r\n                    _this.highlightItem(i.item);\r\n                }\r\n            });\r\n        });\r\n        this.autoHighlight();\r\n        this.highlightItem(this._highlightedItem);\r\n    };\r\n    CalendarView.prototype.autoHighlight = function () {\r\n        var _this = this;\r\n        var date = this.selectedDate && this.ranges.current.containsDate(this.selectedDate) ? this.selectedDate : this.currentDate;\r\n        if (this._highlightedItem && this.ranges.current.containsDate(this._highlightedItem.date)) {\r\n            date = this._highlightedItem.date;\r\n        }\r\n        var initiallyHighlighted = this.ranges.current.items.find(function (i) { return _this.ranges.dateComparer.equal(i.date, date); });\r\n        if (initiallyHighlighted && !initiallyHighlighted.isDisabled) {\r\n            this._highlightedItem = initiallyHighlighted;\r\n        }\r\n    };\r\n    CalendarView.prototype.highlightItem = function (item) {\r\n        if (item) {\r\n            this._renderedItems.forEach(function (i) { return i.hasFocus = false; });\r\n            var rendered = this._renderedItems.find(function (ri) { return ri.item === item; });\r\n            if (rendered && !rendered.hasFocus) {\r\n                rendered.hasFocus = true;\r\n                rendered.changeDetector.detectChanges();\r\n            }\r\n            this._highlightedItem = item;\r\n        }\r\n    };\r\n    CalendarView.prototype.onDocumentKeyDown = function (e) {\r\n        if (this._highlightedItem && e.keyCode === KeyCode.Enter) {\r\n            this.setDate(this._highlightedItem);\r\n            return;\r\n        }\r\n        if (!this._highlightedItem) {\r\n            this.autoHighlight();\r\n        }\r\n        var index = this.ranges.current.findIndex(this._highlightedItem);\r\n        var isMovingForward = true;\r\n        var delta = 0;\r\n        switch (e.keyCode) {\r\n            case KeyCode.Right:\r\n                delta += 1;\r\n                break;\r\n            case KeyCode.Left:\r\n                delta -= 1;\r\n                isMovingForward = false;\r\n                break;\r\n            case KeyCode.Down:\r\n                delta += this.ranges.columns;\r\n                break;\r\n            case KeyCode.Up:\r\n                delta -= this.ranges.columns;\r\n                isMovingForward = false;\r\n                break;\r\n            default:\r\n                return;\r\n        }\r\n        // Stop these keypresses being captured elsewhere.\r\n        e.preventDefault();\r\n        var nextItem = this.ranges.current.items[index + delta];\r\n        if (nextItem && nextItem.isDisabled) {\r\n            return;\r\n        }\r\n        if (nextItem && !nextItem.isOutsideRange) {\r\n            return this.highlightItem(nextItem);\r\n        }\r\n        if (nextItem && nextItem.isOutsideRange) {\r\n            if (index + delta >= this.ranges.current.inRange.length) {\r\n                isMovingForward = true;\r\n            }\r\n        }\r\n        if (!nextItem) {\r\n            var adjustedIndex = this.ranges.current.findIndex(this._highlightedItem);\r\n            var nextItems = this.ranges.calc(isMovingForward).inRange;\r\n            if (isMovingForward) {\r\n                adjustedIndex -= this.ranges.current.inRange.length;\r\n            }\r\n            else {\r\n                adjustedIndex += nextItems.length;\r\n            }\r\n            nextItem = nextItems[adjustedIndex + delta];\r\n            if (nextItem.isDisabled) {\r\n                return;\r\n            }\r\n        }\r\n        this.ranges.move(isMovingForward);\r\n        this._highlightedItem = this.ranges.current.find(nextItem);\r\n    };\r\n    CalendarView.prototype.ngOnDestroy = function () {\r\n        this._documentKeyDownListener();\r\n    };\r\n    return CalendarView;\r\n}());\r\nexport { CalendarView };\r\n__decorate([\r\n    ViewChildren(SuiCalendarItem),\r\n    __metadata(\"design:type\", QueryList)\r\n], CalendarView.prototype, \"_renderedItems\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", CalendarService),\r\n    __metadata(\"design:paramtypes\", [CalendarService])\r\n], CalendarView.prototype, \"service\", null);\r\n//# sourceMappingURL=calendar-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/views/calendar-view.js\n// module id = 83\n// module chunks = 3","export * from \"./directives/dropdown-menu\";\r\nexport * from \"./directives/dropdown\";\r\nexport * from \"./services/dropdown.service\";\r\nexport * from \"./dropdown.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dropdown/index.js\n// module id = 84\n// module chunks = 3","import { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AppState } from 'app/app.service';\r\nimport {StorageService} from \"app/directives/storage.service\";\r\n \r\nexport class Seguridad {\r\n    public static STORAGE:StorageService;\r\n    private _rt;\r\n    public usertoken: number;\r\n    public ventanaid: string;\r\n    public ciclo: number[];\r\n    public nivel: number[];\r\n    public grado: number[];\r\n    public accesos: {\r\n        consultar: boolean,\r\n        agregar: boolean,\r\n        editar: boolean,\r\n        eliminar: boolean,\r\n        exportar: boolean,\r\n        descargar: boolean,\r\n        copia: boolean,\r\n        pasarotrociclo: boolean,\r\n        evaluacion: boolean,\r\n        editarevaluacion: boolean,\r\n        imprimir: boolean,\r\n        pasarsolicitud: boolean,\r\n        importar: boolean,\r\n        evaluador: boolean,\r\n        restablecercontraseña: boolean,\r\n        solicitarvalidacion: boolean,\r\n        validar: boolean,\r\n        rechazar: boolean,\r\n        reservar: boolean,\r\n        liberar: boolean,\r\n        restringidos: any,\r\n        edicionespecial: number\r\n        Autorizar: boolean,\r\n        Rechazar: boolean,\r\n        profesor: boolean\r\n        AutorizarSE: boolean;\r\n        Datosgeneralesconsultar: boolean;\r\n        Datosgeneraleseditar: boolean;\r\n        Familiaconsultar: boolean;\r\n        Familiaeditar: boolean;\r\n        Familiaagregar: boolean;\r\n        Contactoagregar: boolean;\r\n        Contactoeditar: boolean;\r\n        Contactoconsultar: boolean;\r\n        Areamedicaconsultar: boolean;\r\n        Areamedicaeditar: boolean;\r\n        Horarioconsultar: boolean;\r\n        Historialacademicoconsultar: boolean;\r\n        Extraordinariosconsultar: boolean;\r\n        Certificacionesconsultar: boolean;\r\n        Certificacioneseditar: boolean;\r\n        Certificacionesagregar: boolean;\r\n        Certificacioneseliminar: boolean;\r\n        Admisionesconsultar: boolean;\r\n        Becasconsultar: boolean;\r\n        Historialconsultar: boolean;\r\n        Custodiaconsultar: boolean;\r\n        Custodiaagregar: boolean;\r\n        Subgrupostalleresconsultar: boolean;\r\n    }\r\n\r\n    constructor() {\r\n        this.usertoken = null;\r\n        this.ventanaid = null;\r\n        this.ciclo = null;\r\n        this.nivel = null;\r\n        this.grado = null;\r\n        this.accesos = {\r\n            consultar: null,\r\n            agregar: null,\r\n            editar: null,\r\n            eliminar: null,\r\n            exportar: null,\r\n            descargar: null,\r\n            copia: null,\r\n            pasarotrociclo: null,\r\n            evaluacion: null,\r\n            editarevaluacion: null,\r\n            imprimir: null,\r\n            pasarsolicitud: null,\r\n            importar: null,\r\n            evaluador: null,\r\n            restablecercontraseña: null,\r\n            solicitarvalidacion: null,\r\n            validar: null,\r\n            rechazar: null,\r\n            reservar: null,\r\n            liberar: null,\r\n            restringidos: null,\r\n            edicionespecial: null,\r\n            Autorizar: null,\r\n            Rechazar: null,\r\n            profesor: null,\r\n            AutorizarSE: null,\r\n            Datosgeneralesconsultar: null,\r\n            Datosgeneraleseditar: null,\r\n            Familiaconsultar: null,\r\n            Familiaeditar: null,\r\n            Familiaagregar: null,\r\n            Contactoagregar: null,\r\n            Contactoeditar: null,\r\n            Contactoconsultar: null,\r\n            Areamedicaconsultar: null,\r\n            Areamedicaeditar: null,\r\n            Horarioconsultar: null,\r\n            Historialacademicoconsultar: null,\r\n            Extraordinariosconsultar: null,\r\n            Certificacionesconsultar: null,\r\n            Certificacioneseditar: null,\r\n            Certificacionesagregar: null,\r\n            Certificacioneseliminar: null,\r\n            Admisionesconsultar: null,\r\n            Becasconsultar: null,\r\n            Historialconsultar: null,\r\n            Custodiaconsultar: null,\r\n            Custodiaagregar: null,\r\n            Subgrupostalleresconsultar: null\r\n        }\r\n    }\r\n    check(idMod,_rt:Router,_as:AppState):Observable<any>{\r\n        this._rt=_rt;\r\n        let f=(obs)=>{\r\n            let token=Seguridad.STORAGE.getItem(\"token\");\r\n            if(!token){ this.redirect(); }\r\n            else{\r\n                _as.getElemento(\"permiso?ventanaid=\"+idMod+\"&usertoken=\"+token,true).subscribe(\r\n                    r=>{\r\n                        let x=(r.status==200);\r\n                        if(x){ obs.next({status: x, result: r.body}); }\r\n                        else{ this.redirect(); }\r\n                    },\r\n                    e=>{\r\n                        obs.error(e);\r\n                        this.redirect()\r\n                    },\r\n                    ()=>obs.complete()\r\n                );\r\n            }\r\n        };\r\n        return new Observable(f);\r\n    }\r\n    redirect(){\r\n        this._rt.navigate(['/seguridad/login']);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/entity/seguridad.ts","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\r\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\r\n  ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\r\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 87\n// module chunks = 3","var store      = require('./_shared')('wks')\r\n  , uid        = require('./_uid')\r\n  , Symbol     = require('./_global').Symbol\r\n  , USE_SYMBOL = typeof Symbol == 'function';\r\n\r\nvar $exports = module.exports = function(name){\r\n  return store[name] || (store[name] =\r\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\r\n};\r\n\r\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_wks.js\n// module id = 88\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport startOfISOWeek from '../startOfISOWeek/index.js'\r\n\r\n/**\r\n * @name getISOYear\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Get the ISO week-numbering year of the given date.\r\n *\r\n * @description\r\n * Get the ISO week-numbering year of the given date,\r\n * which always starts 3 days before the year's first Thursday.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the ISO week-numbering year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which ISO-week numbering year is 2 January 2005?\r\n * var result = getISOYear(new Date(2005, 0, 2))\r\n * //=> 2004\r\n */\r\nexport default function getISOYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = date.getFullYear()\r\n\r\n  var fourthOfJanuaryOfNextYear = new Date(0)\r\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4)\r\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0)\r\n  var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear, dirtyOptions)\r\n\r\n  var fourthOfJanuaryOfThisYear = new Date(0)\r\n  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4)\r\n  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0)\r\n  var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear, dirtyOptions)\r\n\r\n  if (date.getTime() >= startOfNextYear.getTime()) {\r\n    return year + 1\r\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\r\n    return year\r\n  } else {\r\n    return year - 1\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getISOYear/index.js\n// module id = 91\n// module chunks = 3","export function get_phone_code(country_metadata) {\r\n\treturn country_metadata[0];\r\n}\r\n\r\nexport function get_national_number_pattern(country_metadata) {\r\n\treturn country_metadata[1];\r\n}\r\n\r\nexport function get_formats(country_metadata) {\r\n\treturn country_metadata[2] || [];\r\n}\r\n\r\nexport function get_national_prefix(country_metadata) {\r\n\treturn country_metadata[3];\r\n}\r\n\r\nexport function get_national_prefix_formatting_rule(country_metadata) {\r\n\treturn country_metadata[4];\r\n}\r\n\r\nexport function get_national_prefix_for_parsing(country_metadata) {\r\n\tvar national_prefix_for_parsing = country_metadata[5];\r\n\r\n\t// If `national_prefix_for_parsing` is not set explicitly,\r\n\t// then infer it from `national_prefix` (if any)\r\n\tif (!national_prefix_for_parsing) {\r\n\t\tnational_prefix_for_parsing = get_national_prefix(country_metadata);\r\n\t}\r\n\r\n\treturn national_prefix_for_parsing;\r\n}\r\n\r\nexport function get_national_prefix_transform_rule(country_metadata) {\r\n\treturn country_metadata[6];\r\n}\r\n\r\nexport function get_national_prefix_is_optional_when_formatting(country_metadata) {\r\n\treturn country_metadata[7];\r\n}\r\n\r\nexport function get_leading_digits(country_metadata) {\r\n\treturn country_metadata[8];\r\n}\r\n\r\nexport function get_format_pattern(format_array) {\r\n\treturn format_array[0];\r\n}\r\n\r\nexport function get_format_format(format_array) {\r\n\treturn format_array[1];\r\n}\r\n\r\nexport function get_format_leading_digits_patterns(format_array) {\r\n\treturn format_array[2] || [];\r\n}\r\n\r\nexport function get_format_national_prefix_formatting_rule(format_array, country_metadata) {\r\n\treturn format_array[3] || get_national_prefix_formatting_rule(country_metadata);\r\n}\r\n\r\nexport function get_format_national_prefix_is_optional_when_formatting(format_array, country_metadata) {\r\n\treturn format_array[4] || get_national_prefix_is_optional_when_formatting(country_metadata);\r\n}\r\n\r\nexport function get_format_national_prefix_is_mandatory_when_formatting(format_array, country_metadata) {\r\n\tvar national_prefix_formatting_rule = get_format_national_prefix_formatting_rule(format_array, country_metadata);\r\n\r\n\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t// set for this country, or when the national prefix formatting rule\r\n\t// contains no national prefix itself, or when this rule is set but\r\n\t// national prefix is optional for this phone number format\r\n\t// (and it is not enforced explicitly)\r\n\treturn national_prefix_formatting_rule &&\r\n\t// Check that national prefix formatting rule is not a dummy one.\r\n\t// Check that national prefix formatting rule actually has national prefix digit(s).\r\n\tget_format_uses_national_prefix(national_prefix_formatting_rule) &&\r\n\t// Or maybe national prefix is optional for this format\r\n\t!get_format_national_prefix_is_optional_when_formatting(format_array, country_metadata);\r\n}\r\n\r\n// Checks whether national prefix formatting rule contains national prefix\r\nexport function get_format_uses_national_prefix(national_prefix_formatting_rule) {\r\n\t// Check that national prefix formatting rule is not a dummy one\r\n\treturn national_prefix_formatting_rule !== '$1' &&\r\n\t// Check that national prefix formatting rule actually has national prefix digit(s)\r\n\t/\\d/.test(national_prefix_formatting_rule.replace('$1', ''));\r\n}\r\n\r\nexport function get_format_international_format(format_array) {\r\n\treturn format_array[5] || get_format_format(format_array);\r\n}\r\n\r\n// Formatting information for regions which share\r\n// a country calling code is contained by only one region\r\n// for performance reasons. For example, for NANPA region\r\n// (\"North American Numbering Plan Administration\",\r\n//  which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n// it will be contained in the metadata for `US`.\r\nexport function get_metadata_by_country_phone_code(country_phone_code, metadata) {\r\n\tvar country_code = metadata.country_phone_code_to_countries[country_phone_code][0];\r\n\treturn metadata.countries[country_code];\r\n}\r\n\r\nexport function get_types(country_metadata) {\r\n\treturn country_metadata[9];\r\n}\r\n\r\nfunction get_type(country_metadata, index) {\r\n\treturn get_types(country_metadata) ? get_types(country_metadata)[index] : undefined;\r\n}\r\n\r\nexport function get_type_fixed_line(country_metadata) {\r\n\treturn get_type(country_metadata, 0);\r\n}\r\n\r\nexport function get_type_mobile(country_metadata) {\r\n\treturn get_type(country_metadata, 1);\r\n}\r\n\r\nexport function get_type_toll_free(country_metadata) {\r\n\treturn get_type(country_metadata, 2);\r\n}\r\n\r\nexport function get_type_premium_rate(country_metadata) {\r\n\treturn get_type(country_metadata, 3);\r\n}\r\n\r\nexport function get_type_personal_number(country_metadata) {\r\n\treturn get_type(country_metadata, 4);\r\n}\r\n\r\nexport function get_type_voice_mail(country_metadata) {\r\n\treturn get_type(country_metadata, 5);\r\n}\r\n\r\nexport function get_type_uan(country_metadata) {\r\n\treturn get_type(country_metadata, 6);\r\n}\r\n\r\nexport function get_type_pager(country_metadata) {\r\n\treturn get_type(country_metadata, 7);\r\n}\r\n\r\nexport function get_type_voip(country_metadata) {\r\n\treturn get_type(country_metadata, 8);\r\n}\r\n\r\nexport function get_type_shared_cost(country_metadata) {\r\n\treturn get_type(country_metadata, 9);\r\n}\r\n\r\nexport function get_country_phone_code(country, country_metadata) {\r\n\treturn get_phone_code(country_metadata[country]);\r\n}\r\n//# sourceMappingURL=metadata.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/es6/metadata.js\n// module id = 92\n// module chunks = 3","import _getIterator from 'babel-runtime/core-js/get-iterator';\r\nimport _extends from 'babel-runtime/helpers/extends';\r\n// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of 17th November, 2016.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport { matches_entirely } from './common';\r\n\r\nimport { get_phone_code, get_national_number_pattern, get_national_prefix_for_parsing, get_national_prefix_transform_rule, get_leading_digits, get_metadata_by_country_phone_code, get_formats } from\r\n// get_format_national_prefix_is_mandatory_when_formatting\r\n'./metadata';\r\n\r\nimport { choose_format_for_number } from './format';\r\n\r\nimport get_number_type from './get number type';\r\n\r\nexport var PLUS_CHARS = '+\\uFF0B';\r\n\r\n// Digits accepted in phone numbers\r\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\r\nexport var VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9';\r\n\r\n// `DASHES` will be right after the opening square bracket of the \"character class\"\r\nvar DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D';\r\nvar SLASHES = '\\uFF0F/';\r\nvar DOTS = '\\uFF0E.';\r\nvar WHITESPACE = ' \\xA0\\xAD\\u200B\\u2060\\u3000';\r\nvar BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]';\r\nvar TILDES = '~\\u2053\\u223C\\uFF5E';\r\n\r\n// Regular expression of acceptable punctuation found in phone numbers. This\r\n// excludes punctuation found as a leading character only. This consists of dash\r\n// characters, white space characters, full stops, slashes, square brackets,\r\n// parentheses and tildes. Full-width variants are also present.\r\nexport var VALID_PUNCTUATION = '' + DASHES + SLASHES + DOTS + WHITESPACE + BRACKETS + TILDES;\r\n\r\n//  Regular expression of viable phone numbers. This is location independent.\r\n//  Checks we have at least three leading digits, and only valid punctuation,\r\n//  alpha characters and digits in the phone number. Does not include extension\r\n//  data. The symbol 'x' is allowed here as valid punctuation since it is often\r\n//  used as a placeholder for carrier codes, for example in Brazilian phone\r\n//  numbers. We also allow multiple '+' characters at the start.\r\n//\r\n//  Corresponds to the following:\r\n//  [digits]{minLengthNsn}|\r\n//  plus_sign*\r\n//  (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\r\n//\r\n//  The first reg-ex is to allow short numbers (two digits long) to be parsed if\r\n//  they are entered as \"15\" etc, but only if there is no punctuation in them.\r\n//  The second expression restricts the number of digits to three or more, but\r\n//  then allows them to be in international form, and to have alpha-characters\r\n//  and punctuation. We split up the two reg-exes here and combine them when\r\n//  creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\r\n//  with ^ and append $ to each branch.\r\n//\r\n//  \"Note VALID_PUNCTUATION starts with a -,\r\n//   so must be the first in the range\" (c) Google devs.\r\n//  (wtf did they mean by saying that; probably nothing)\r\n//\r\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}';\r\n//\r\n// And this is the second reg-exp:\r\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\r\n//\r\nvar VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\r\n\r\n// The combined regular expression for valid phone numbers:\r\n//\r\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\r\n// Either a short two-digit-only phone number\r\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' +\r\n// Or a longer fully parsed phone number (min 3 characters)\r\n'^' + VALID_PHONE_NUMBER +\r\n// screw phone number extensions\r\n// '(?:' + EXTN_PATTERNS_FOR_PARSING + ')?' +\r\n'$', 'i');\r\n\r\n// This consists of the plus symbol, digits, and arabic-indic digits.\r\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']');\r\n\r\n// Regular expression of trailing characters that we want to remove.\r\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + ']+$');\r\n\r\nvar LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+');\r\n\r\n// These mappings map a character (key) to a specific digit that should\r\n// replace it for normalization purposes. Non-European digits that\r\n// may be used in phone numbers are mapped to a European equivalent.\r\nvar DIGIT_MAPPINGS = {\r\n\t'0': '0',\r\n\t'1': '1',\r\n\t'2': '2',\r\n\t'3': '3',\r\n\t'4': '4',\r\n\t'5': '5',\r\n\t'6': '6',\r\n\t'7': '7',\r\n\t'8': '8',\r\n\t'9': '9',\r\n\t'\\uFF10': '0', // Fullwidth digit 0\r\n\t'\\uFF11': '1', // Fullwidth digit 1\r\n\t'\\uFF12': '2', // Fullwidth digit 2\r\n\t'\\uFF13': '3', // Fullwidth digit 3\r\n\t'\\uFF14': '4', // Fullwidth digit 4\r\n\t'\\uFF15': '5', // Fullwidth digit 5\r\n\t'\\uFF16': '6', // Fullwidth digit 6\r\n\t'\\uFF17': '7', // Fullwidth digit 7\r\n\t'\\uFF18': '8', // Fullwidth digit 8\r\n\t'\\uFF19': '9', // Fullwidth digit 9\r\n\t'\\u0660': '0', // Arabic-indic digit 0\r\n\t'\\u0661': '1', // Arabic-indic digit 1\r\n\t'\\u0662': '2', // Arabic-indic digit 2\r\n\t'\\u0663': '3', // Arabic-indic digit 3\r\n\t'\\u0664': '4', // Arabic-indic digit 4\r\n\t'\\u0665': '5', // Arabic-indic digit 5\r\n\t'\\u0666': '6', // Arabic-indic digit 6\r\n\t'\\u0667': '7', // Arabic-indic digit 7\r\n\t'\\u0668': '8', // Arabic-indic digit 8\r\n\t'\\u0669': '9', // Arabic-indic digit 9\r\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\r\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\r\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\r\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\r\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\r\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\r\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\r\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\r\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\r\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\r\n};\r\n\r\n// The maximum length of the country calling code.\r\nvar MAX_LENGTH_COUNTRY_CODE = 3;\r\n\r\n// The minimum length of the national significant number.\r\nvar MIN_LENGTH_FOR_NSN = 2;\r\n\r\n// The ITU says the maximum length should be 15,\r\n// but one can find longer numbers in Germany.\r\nvar MAX_LENGTH_FOR_NSN = 17;\r\n\r\n// We don't allow input strings for parsing to be longer than 250 chars.\r\n// This prevents malicious input from consuming CPU.\r\nvar MAX_INPUT_STRING_LENGTH = 250;\r\n\r\nvar default_options = {\r\n\tcountry: {}\r\n};\r\n\r\n// `options`:\r\n//  {\r\n//    country:\r\n//    {\r\n//      restrict - (a two-letter country code)\r\n//                 the phone number must be in this country\r\n//\r\n//      default - (a two-letter country code)\r\n//                default country to use for phone number parsing and validation\r\n//                (if no country code could be derived from the phone number)\r\n//    }\r\n//  }\r\n//\r\n// Returns `{ country, number }`\r\n//\r\n// Example use cases:\r\n//\r\n// ```js\r\n// parse('8 (800) 555-35-35', 'RU')\r\n// parse('8 (800) 555-35-35', 'RU', metadata)\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\r\n// parse('+7 800 555 35 35')\r\n// parse('+7 800 555 35 35', metadata)\r\n// ```\r\n//\r\nexport default function parse(first_argument, second_argument, third_argument) {\r\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument),\r\n\t    text = _sort_out_arguments.text,\r\n\t    options = _sort_out_arguments.options,\r\n\t    metadata = _sort_out_arguments.metadata;\r\n\r\n\tif (!options) {\r\n\t\toptions = _extends({}, default_options);\r\n\t}\r\n\r\n\t// Validate country codes\r\n\r\n\t// Validate `default` country\r\n\tif (options.country.default && !metadata.countries[options.country.default]) {\r\n\t\tthrow new Error('Unknown country code: ' + options.country.default);\r\n\t}\r\n\r\n\t// Validate `restrict` country\r\n\tif (options.country.restrict && !metadata.countries[options.country.restrict]) {\r\n\t\tthrow new Error('Unknown country code: ' + options.country.restrict);\r\n\t}\r\n\r\n\t// Parse the phone number\r\n\r\n\tvar formatted_phone_number = extract_formatted_phone_number(text);\r\n\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!is_viable_phone_number(formatted_phone_number)) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\tvar _parse_phone_number_a = parse_phone_number_and_country_phone_code(formatted_phone_number, metadata),\r\n\t    country_phone_code = _parse_phone_number_a.country_phone_code,\r\n\t    number = _parse_phone_number_a.number;\r\n\r\n\t// Maybe invalid country phone code encountered\r\n\r\n\r\n\tif (!number) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\tvar country = void 0;\r\n\tvar country_metadata = void 0;\r\n\r\n\t// Whether the phone number is formatted as an international phone number\r\n\tvar is_international = false;\r\n\r\n\tif (country_phone_code) {\r\n\t\tis_international = true;\r\n\r\n\t\t// Check country restriction\r\n\t\tif (options.country.restrict && country_phone_code !== get_phone_code(metadata.countries[options.country.restrict])) {\r\n\t\t\treturn {};\r\n\t\t}\r\n\r\n\t\t// Formatting information for regions which share\r\n\t\t// a country calling code is contained by only one region\r\n\t\t// for performance reasons. For example, for NANPA region\r\n\t\t// (\"North American Numbering Plan Administration\",\r\n\t\t//  which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n\t\t// it will be contained in the metadata for `US`.\r\n\t\tcountry_metadata = get_metadata_by_country_phone_code(country_phone_code, metadata);\r\n\r\n\t\t// `country` will be set later,\r\n\t\t// because, for example, for NANPA countries\r\n\t\t// there are several countries corresponding\r\n\t\t// to the same `1` country phone code.\r\n\t\t// Therefore, to reliably determine the exact country,\r\n\t\t// national (significant) number should be parsed first.\r\n\t} else if (options.country.restrict || options.country.default) {\r\n\t\tcountry = options.country.restrict || options.country.default;\r\n\t\tcountry_metadata = metadata.countries[country];\r\n\r\n\t\tnumber = normalize(text);\r\n\t}\r\n\r\n\tif (!country_metadata) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\tvar national_number = strip_national_prefix(number, country_metadata);\r\n\r\n\tvar did_have_national_prefix = national_number !== number;\r\n\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/67\r\n\t// if (!is_international && !did_have_national_prefix &&\r\n\t// \t\tis_national_prefix_required(national_number, country_metadata))\r\n\t// {\r\n\t// \treturn {}\r\n\t// }\r\n\r\n\t// Sometimes there are several countries\r\n\t// corresponding to the same country phone code\r\n\t// (e.g. NANPA countries all having `1` country phone code).\r\n\t// Therefore, to reliably determine the exact country,\r\n\t// national (significant) number should have been parsed first.\r\n\t//\r\n\tif (!country) {\r\n\t\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\r\n\t\t// get their countries populated with the full set of\r\n\t\t// \"phone number type\" regular expressions.\r\n\t\tcountry = find_country_code(country_phone_code, national_number, metadata);\r\n\r\n\t\t// Just in case there appears to be a bug in Google's metadata\r\n\t\t// and the exact country could not be extracted from the phone number.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (!country) {\r\n\t\t\treturn {};\r\n\t\t}\r\n\r\n\t\t// Update metadata to be for this specific country\r\n\t\tcountry_metadata = metadata.countries[country];\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\t//\r\n\t// A sidenote:\r\n\t//\r\n\t// They say that sometimes national (significant) numbers\r\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\r\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\r\n\t// Such numbers will just be discarded.\r\n\t//\r\n\tif (national_number.length > MAX_LENGTH_FOR_NSN) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\t// National number pattern is different for each country,\r\n\t// even for those ones which are part of the \"NANPA\" group.\r\n\tvar national_number_rule = new RegExp(get_national_number_pattern(country_metadata));\r\n\r\n\t// Check if national phone number pattern matches the number\r\n\tif (!matches_entirely(national_number, national_number_rule)) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\treturn { country: country, phone: national_number };\r\n}\r\n\r\n// Normalizes a string of characters representing a phone number.\r\n// This converts wide-ascii and arabic-indic numerals to European numerals,\r\n// and strips punctuation and alpha characters.\r\nexport function normalize(number) {\r\n\treturn replace_characters(number, DIGIT_MAPPINGS);\r\n}\r\n\r\n// For any character not being part of `replacements`\r\n// it is removed from the phone number.\r\nexport function replace_characters(text, replacements) {\r\n\tvar replaced = '';\r\n\r\n\tvar _iteratorNormalCompletion = true;\r\n\tvar _didIteratorError = false;\r\n\tvar _iteratorError = undefined;\r\n\r\n\ttry {\r\n\t\tfor (var _iterator = _getIterator(text), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\r\n\t\t\tvar character = _step.value;\r\n\r\n\t\t\tvar replacement = replacements[character.toUpperCase()];\r\n\r\n\t\t\tif (replacement !== undefined) {\r\n\t\t\t\treplaced += replacement;\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (err) {\r\n\t\t_didIteratorError = true;\r\n\t\t_iteratorError = err;\r\n\t} finally {\r\n\t\ttry {\r\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\r\n\t\t\t\t_iterator.return();\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tif (_didIteratorError) {\r\n\t\t\t\tthrow _iteratorError;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn replaced;\r\n}\r\n\r\n// Checks to see if the string of characters could possibly be a phone number at\r\n// all. At the moment, checks to see that the string begins with at least 2\r\n// digits, ignoring any punctuation commonly found in phone numbers. This method\r\n// does not require the number to be normalized in advance - but does assume\r\n// that leading non-number symbols have been removed, such as by the method\r\n// `extract_possible_number`.\r\n//\r\nexport function is_viable_phone_number(number) {\r\n\treturn number.length >= MIN_LENGTH_FOR_NSN && matches_entirely(number, VALID_PHONE_NUMBER_PATTERN);\r\n}\r\n\r\nexport function extract_formatted_phone_number(text) {\r\n\tif (!text || text.length > MAX_INPUT_STRING_LENGTH) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\t// Attempt to extract a possible number from the string passed in\r\n\r\n\tvar starts_at = text.search(PHONE_NUMBER_START_PATTERN);\r\n\r\n\tif (starts_at < 0) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\treturn text\r\n\t// Trim everything to the left of the phone number\r\n\t.slice(starts_at)\r\n\t// Remove trailing non-numerical characters\r\n\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\r\n}\r\n\r\n// Parses a formatted phone number.\r\nexport function parse_phone_number(number) {\r\n\tif (!number) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\tvar is_international = LEADING_PLUS_CHARS_PATTERN.test(number);\r\n\r\n\t// Remove non-digits\r\n\t// (and strip the possible leading '+')\r\n\tnumber = normalize(number);\r\n\r\n\tif (is_international) {\r\n\t\treturn '+' + number;\r\n\t}\r\n\r\n\treturn number;\r\n}\r\n\r\n// Parses a formatted phone number\r\n// and returns `{ country_phone_code, number }`\r\n// where `number` is the national (significant) phone number.\r\n//\r\n// (aka `maybeExtractCountryPhoneCode`)\r\n//\r\nexport function parse_phone_number_and_country_phone_code(number, metadata) {\r\n\tnumber = parse_phone_number(number);\r\n\r\n\tif (!number) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\t// If this is not an international phone number,\r\n\t// then don't extract country phone code.\r\n\tif (number[0] !== '+') {\r\n\t\treturn { number: number };\r\n\t}\r\n\r\n\t// Strip the leading '+' sign\r\n\tnumber = number.slice(1);\r\n\r\n\t// Fast abortion: country codes do not begin with a '0'\r\n\tif (number[0] === '0') {\r\n\t\treturn {};\r\n\t}\r\n\r\n\t// The thing with country phone codes\r\n\t// is that they are orthogonal to each other\r\n\t// i.e. there's no such country phone code A\r\n\t// for which country phone code B exists\r\n\t// where B starts with A.\r\n\t// Therefore, while scanning digits,\r\n\t// if a valid country code is found,\r\n\t// that means that it is the country code.\r\n\t//\r\n\tvar i = 1;\r\n\twhile (i <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\r\n\t\tvar country_phone_code = number.slice(0, i);\r\n\r\n\t\tif (metadata.country_phone_code_to_countries[country_phone_code]) {\r\n\t\t\treturn { country_phone_code: country_phone_code, number: number.slice(i) };\r\n\t\t}\r\n\r\n\t\ti++;\r\n\t}\r\n\r\n\treturn {};\r\n}\r\n\r\n// Strips any national prefix (such as 0, 1) present in the number provided\r\nexport function strip_national_prefix(number, country_metadata) {\r\n\tvar national_prefix_for_parsing = get_national_prefix_for_parsing(country_metadata);\r\n\r\n\tif (!number || !national_prefix_for_parsing) {\r\n\t\treturn number;\r\n\t}\r\n\r\n\t// Attempt to parse the first digits as a national prefix\r\n\tvar national_prefix_pattern = new RegExp('^(?:' + national_prefix_for_parsing + ')');\r\n\tvar national_prefix_matcher = national_prefix_pattern.exec(number);\r\n\r\n\t// If no national prefix is present in the phone number,\r\n\t// but if the national prefix is optional for this country,\r\n\t// then consider this phone number valid.\r\n\t//\r\n\t// Google's reference `libphonenumber` implementation\r\n\t// wouldn't recognize such phone numbers as valid,\r\n\t// but I think it would perfectly make sense\r\n\t// to consider such phone numbers as valid\r\n\t// because if a national phone number was originally\r\n\t// formatted without the national prefix\r\n\t// then it must be parseable back into the original national number.\r\n\t// In other words, `parse(format(number))`\r\n\t// must always be equal to `number`.\r\n\t//\r\n\tif (!national_prefix_matcher) {\r\n\t\treturn number;\r\n\t}\r\n\r\n\tvar national_significant_number = void 0;\r\n\r\n\t// `national_prefix_for_parsing` capturing groups\r\n\t// (used only for really messy cases: Argentina, Brazil, Mexico, Somalia)\r\n\tvar any_groups_were_captured = national_prefix_matcher[national_prefix_matcher.length - 1];\r\n\tvar national_prefix_transform_rule = get_national_prefix_transform_rule(country_metadata);\r\n\r\n\t// If the national number tranformation is needed then do it\r\n\tif (national_prefix_transform_rule && any_groups_were_captured) {\r\n\t\tnational_significant_number = number.replace(national_prefix_pattern, national_prefix_transform_rule);\r\n\t}\r\n\t// Else, no transformation is necessary,\r\n\t// and just strip the national prefix.\r\n\telse {\r\n\t\t\tnational_significant_number = number.slice(national_prefix_matcher[0].length);\r\n\t\t}\r\n\r\n\t// Verify the parsed national (significant) number for this country\r\n\tvar national_number_rule = new RegExp(get_national_number_pattern(country_metadata));\r\n\r\n\t// If the original number (before stripping national prefix) was viable,\r\n\t// and the resultant number is not, then prefer the original phone number.\r\n\t// This is because for some countries (e.g. Russia) the same digit could be both\r\n\t// a national prefix and a leading digit of a valid national phone number,\r\n\t// like `8` is the national prefix for Russia and both\r\n\t// `8 800 555 35 35` and `800 555 35 35` are valid numbers.\r\n\tif (matches_entirely(number, national_number_rule) && !matches_entirely(national_significant_number, national_number_rule)) {\r\n\t\treturn number;\r\n\t}\r\n\r\n\t// Return the parsed national (significant) number\r\n\treturn national_significant_number;\r\n}\r\n\r\nexport function find_country_code(country_phone_code, national_phone_number, metadata) {\r\n\t// Is always non-empty, because `country_phone_code` is always valid\r\n\tvar possible_countries = metadata.country_phone_code_to_countries[country_phone_code];\r\n\r\n\t// If there's just one country corresponding to the country code,\r\n\t// then just return it, without further phone number digits validation.\r\n\tif (possible_countries.length === 1) {\r\n\t\treturn possible_countries[0];\r\n\t}\r\n\r\n\tvar _iteratorNormalCompletion2 = true;\r\n\tvar _didIteratorError2 = false;\r\n\tvar _iteratorError2 = undefined;\r\n\r\n\ttry {\r\n\t\tfor (var _iterator2 = _getIterator(possible_countries), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\r\n\t\t\tvar country_code = _step2.value;\r\n\r\n\t\t\tvar country = metadata.countries[country_code];\r\n\r\n\t\t\t// Leading digits check would be the simplest one\r\n\t\t\tif (get_leading_digits(country)) {\r\n\t\t\t\tif (national_phone_number && national_phone_number.search(get_leading_digits(country)) === 0) {\r\n\t\t\t\t\treturn country_code;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Else perform full validation with all of those bulky\r\n\t\t\t// fixed-line/mobile/etc regular expressions.\r\n\t\t\telse if (get_number_type({ phone: national_phone_number, country: country_code }, metadata)) {\r\n\t\t\t\t\treturn country_code;\r\n\t\t\t\t}\r\n\t\t}\r\n\t} catch (err) {\r\n\t\t_didIteratorError2 = true;\r\n\t\t_iteratorError2 = err;\r\n\t} finally {\r\n\t\ttry {\r\n\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\r\n\t\t\t\t_iterator2.return();\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tif (_didIteratorError2) {\r\n\t\t\t\tthrow _iteratorError2;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// export function is_national_prefix_required(national_number, country_metadata)\r\n// {\r\n// \tconst format = choose_format_for_number(get_formats(country_metadata), national_number)\r\n//\r\n// \tif (format)\r\n// \t{\r\n// \t\treturn get_format_national_prefix_is_mandatory_when_formatting(format, country_metadata)\r\n// \t}\r\n// }\r\n\r\n// Sort out arguments\r\nfunction sort_out_arguments(first_argument, second_argument, third_argument) {\r\n\tvar text = void 0;\r\n\tvar options = void 0;\r\n\tvar metadata = void 0;\r\n\r\n\tif (typeof first_argument === 'string') {\r\n\t\ttext = first_argument;\r\n\t}\r\n\r\n\t// Covert `resrict` country to an `options` object\r\n\tif (typeof second_argument === 'string') {\r\n\t\tvar restrict_to_country = second_argument;\r\n\r\n\t\toptions = _extends({}, default_options, {\r\n\r\n\t\t\tcountry: {\r\n\t\t\t\trestrict: restrict_to_country\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tmetadata = third_argument;\r\n\t} else {\r\n\t\t// Differentiate `metadata` from `options`\r\n\t\tif (second_argument && second_argument.countries) {\r\n\t\t\tmetadata = second_argument;\r\n\t\t} else {\r\n\t\t\toptions = second_argument;\r\n\t\t\tmetadata = third_argument;\r\n\t\t}\r\n\t}\r\n\r\n\t// Sanity check\r\n\tif (!metadata) {\r\n\t\tthrow new Error('Metadata not passed');\r\n\t}\r\n\r\n\treturn { text: text, options: options, metadata: metadata };\r\n}\r\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/es6/parse.js\n// module id = 93\n// module chunks = 3","export { positionElements, Positioning } from './ng-positioning';\r\nexport { PositioningService } from './positioning.service';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/positioning/index.js\n// module id = 94\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nimport { DateFnsParser } from \"../helpers/date-fns\";\r\nvar DateParser = (function () {\r\n    function DateParser(format, locale) {\r\n        this._format = format;\r\n        this._parser = new DateFnsParser(locale);\r\n    }\r\n    DateParser.prototype.format = function (date) {\r\n        return this._parser.format(date, this._format);\r\n    };\r\n    DateParser.prototype.parse = function (dateString, baseDate) {\r\n        if (baseDate === void 0) { baseDate = new Date(); }\r\n        return this._parser.parse(dateString, this._format, baseDate);\r\n    };\r\n    return DateParser;\r\n}());\r\nexport { DateParser };\r\nvar InternalDateParser = (function (_super) {\r\n    __extends(InternalDateParser, _super);\r\n    function InternalDateParser(mode, locale) {\r\n        var _this = this;\r\n        var internalFormats = {\r\n            time: \"HH:mm\",\r\n            datetime: \"YYYY-MM-DDTHH:mm\",\r\n            date: \"YYYY-MM-DD\",\r\n            month: \"YYYY-MM\",\r\n            year: \"YYYY\"\r\n        };\r\n        _this = _super.call(this, internalFormats[mode], locale) || this;\r\n        return _this;\r\n    }\r\n    return InternalDateParser;\r\n}(DateParser));\r\nexport { InternalDateParser };\r\n//# sourceMappingURL=date-parser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/classes/date-parser.js\n// module id = 95\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { AccordionModule } from './accordion/accordion.module';\r\nimport { AlertModule } from './alert/alert.module';\r\nimport { ButtonsModule } from './buttons/buttons.module';\r\nimport { CarouselModule } from './carousel/carousel.module';\r\nimport { CollapseModule } from './collapse/collapse.module';\r\nimport { DatepickerModule } from './datepicker/datepicker.module';\r\nimport { DropdownModule } from './dropdown/dropdown.module';\r\nimport { ModalModule } from './modal/modal.module';\r\nimport { PaginationModule } from './pagination/pagination.module';\r\nimport { ProgressbarModule } from './progressbar/progressbar.module';\r\nimport { RatingModule } from './rating/rating.module';\r\nimport { SortableModule } from './sortable';\r\nimport { TabsModule } from './tabs/tabs.module';\r\nimport { TimepickerModule } from './timepicker/timepicker.module';\r\nimport { TooltipModule } from './tooltip/tooltip.module';\r\nimport { TypeaheadModule } from './typeahead/typeahead.module';\r\nimport { PopoverModule } from './popover/popover.module';\r\nexport { AccordionComponent, AccordionConfig, AccordionModule, AccordionPanelComponent } from './accordion';\r\nexport { AlertComponent, AlertConfig, AlertModule } from './alert';\r\nexport { ButtonCheckboxDirective, ButtonRadioDirective, ButtonsModule } from './buttons';\r\nexport { CarouselComponent, CarouselConfig, CarouselModule, SlideComponent } from './carousel';\r\nexport { CollapseDirective, CollapseModule } from './collapse';\r\nexport { DateFormatter, DatePickerComponent, DatepickerConfig, DatepickerModule, DayPickerComponent, MonthPickerComponent, YearPickerComponent } from './datepicker';\r\nexport { ModalDirective, ModalBackdropOptions, ModalBackdropComponent, ModalModule } from './modal';\r\nexport { DropdownConfig, DropdownDirective, DropdownMenuDirective, DropdownModule, DropdownToggleDirective } from './dropdown';\r\nexport { PagerComponent, PaginationComponent, PaginationConfig, PaginationModule } from './pagination';\r\nexport { BarComponent, ProgressbarComponent, ProgressbarConfig, ProgressbarModule, ProgressDirective } from './progressbar';\r\nexport { RatingComponent, RatingModule } from './rating';\r\nexport { DraggableItemService, SortableComponent, SortableModule } from './sortable';\r\nexport { NgTranscludeDirective, TabDirective, TabHeadingDirective, TabsetComponent, TabsetConfig, TabsModule } from './tabs';\r\nexport { TimepickerComponent, TimepickerConfig, TimepickerModule } from './timepicker';\r\nexport { TooltipConfig, TooltipContainerComponent, TooltipDirective, TooltipModule } from './tooltip';\r\nexport { TypeaheadOptions, TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule, TypeaheadUtils } from './typeahead';\r\nexport { PopoverConfig, PopoverContainerComponent, PopoverDirective, PopoverModule } from './popover';\r\nexport { OnChange, LinkedList, isBs3, Trigger, Utils } from './utils';\r\nexport { ComponentLoader, ComponentLoaderFactory, ContentRef } from './component-loader';\r\nexport { Positioning, PositioningService, positionElements } from './positioning';\r\nvar MODULES = [\r\n    AccordionModule, AlertModule, ButtonsModule,\r\n    CarouselModule, CollapseModule, DatepickerModule,\r\n    DropdownModule, ModalModule, PaginationModule,\r\n    ProgressbarModule, PopoverModule, RatingModule,\r\n    TabsModule, TimepickerModule, TooltipModule,\r\n    TypeaheadModule\r\n];\r\nexport var BsRootModule = (function () {\r\n    function BsRootModule() {\r\n    }\r\n    BsRootModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [\r\n                        AccordionModule.forRoot(), AlertModule.forRoot(), ButtonsModule.forRoot(),\r\n                        CarouselModule.forRoot(), CollapseModule.forRoot(),\r\n                        DatepickerModule.forRoot(),\r\n                        DropdownModule.forRoot(), ModalModule.forRoot(), PaginationModule.forRoot(),\r\n                        ProgressbarModule.forRoot(), PopoverModule.forRoot(),\r\n                        RatingModule.forRoot(),\r\n                        TabsModule.forRoot(), TimepickerModule.forRoot(), TooltipModule.forRoot(),\r\n                        TypeaheadModule.forRoot(), SortableModule.forRoot()\r\n                    ],\r\n                    exports: MODULES\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    BsRootModule.ctorParameters = function () { return []; };\r\n    return BsRootModule;\r\n}());\r\nexport var Ng2BootstrapModule = (function () {\r\n    function Ng2BootstrapModule() {\r\n    }\r\n    Ng2BootstrapModule.forRoot = function () {\r\n        return { ngModule: BsRootModule };\r\n    };\r\n    Ng2BootstrapModule.decorators = [\r\n        { type: NgModule, args: [{ exports: MODULES },] },\r\n    ];\r\n    /** @nocollapse */\r\n    Ng2BootstrapModule.ctorParameters = function () { return []; };\r\n    return Ng2BootstrapModule;\r\n}());\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/index.js\n// module id = 97\n// module chunks = 3","var core = module.exports = {version: '2.4.0'};\r\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 99\n// module chunks = 3","/*\r\n * Represents a base class for types that provide expiry detection for the Idle service.\r\n */\r\nvar IdleExpiry = (function () {\r\n    function IdleExpiry() {\r\n        this.idValue = new Date();\r\n        this.idlingValue = false;\r\n    }\r\n    /*\r\n     * Gets or sets a unique ID for the window\r\n     * @param id - The id.\r\n     * @return The current id.\r\n     */\r\n    IdleExpiry.prototype.id = function (value) {\r\n        if (value !== void 0) {\r\n            if (!value) {\r\n                throw new Error('A value must be specified for the ID.');\r\n            }\r\n            this.idValue = value;\r\n        }\r\n        return this.idValue;\r\n    };\r\n    /*\r\n     * Gets or sets the idling value.\r\n     * @param value - The value to set.\r\n     * @return The idling value.\r\n     */\r\n    IdleExpiry.prototype.idling = function (value) {\r\n        if (value !== void 0) {\r\n            this.idlingValue = value;\r\n        }\r\n        return this.idlingValue;\r\n    };\r\n    /*\r\n     * Returns the current Date.\r\n     * @return The current Date.\r\n     */\r\n    IdleExpiry.prototype.now = function () {\r\n        return new Date();\r\n    };\r\n    /*\r\n     * Returns whether or not it is expired.\r\n     * @return True if expired; otherwise, false.\r\n     */\r\n    IdleExpiry.prototype.isExpired = function () {\r\n        var expiry = this.last();\r\n        return expiry != null && expiry <= this.now();\r\n    };\r\n    return IdleExpiry;\r\n}());\r\nexport { IdleExpiry };\r\n//# sourceMappingURL=idleexpiry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/idleexpiry.js\n// module id = 102\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers.where(array, function(v) {\r\n\t\treturn v.position === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\tarray.forEach(function(v, i) {\r\n\t\tv._tmpIndex_ = i;\r\n\t\treturn v;\r\n\t});\r\n\tarray.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0._tmpIndex_ - v1._tmpIndex_ :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n\tarray.forEach(function(v) {\r\n\t\tdelete v._tmpIndex_;\r\n\t});\r\n}\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {String} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {Number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {Boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {Function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {Function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {Function} getPadding -  Returns an object with padding on the edges\r\n * @prop {Number} width - Width of item. Must be valid after update()\r\n * @prop {Number} height - Height of item. Must be valid after update()\r\n * @prop {Number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {Number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {Number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {Number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory.  It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nmodule.exports = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {Object} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {Object} item - the item to configure with the given options\r\n\t * @param {Object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {Number} width - the width to fit into\r\n\t * @param {Number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers.options.toPadding(layoutOptions.padding);\r\n\t\tvar leftPadding = padding.left;\r\n\t\tvar rightPadding = padding.right;\r\n\t\tvar topPadding = padding.top;\r\n\t\tvar bottomPadding = padding.bottom;\r\n\r\n\t\tvar leftBoxes = filterByPosition(chart.boxes, 'left');\r\n\t\tvar rightBoxes = filterByPosition(chart.boxes, 'right');\r\n\t\tvar topBoxes = filterByPosition(chart.boxes, 'top');\r\n\t\tvar bottomBoxes = filterByPosition(chart.boxes, 'bottom');\r\n\t\tvar chartAreaBoxes = filterByPosition(chart.boxes, 'chartArea');\r\n\r\n\t\t// Sort boxes by weight. A higher weight is further away from the chart area\r\n\t\tsortByWeight(leftBoxes, true);\r\n\t\tsortByWeight(rightBoxes, false);\r\n\t\tsortByWeight(topBoxes, true);\r\n\t\tsortByWeight(bottomBoxes, false);\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// |                  T1 (Full Width)                   |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// |    |    |                 T2                  |    |\r\n\t\t// |    |----|-------------------------------------|----|\r\n\t\t// |    |    | C1 |                           | C2 |    |\r\n\t\t// |    |    |----|                           |----|    |\r\n\t\t// |    |    |                                     |    |\r\n\t\t// | L1 | L2 |           ChartArea (C0)            | R1 |\r\n\t\t// |    |    |                                     |    |\r\n\t\t// |    |    |----|                           |----|    |\r\n\t\t// |    |    | C3 |                           | C4 |    |\r\n\t\t// |    |----|-------------------------------------|----|\r\n\t\t// |    |    |                 B1                  |    |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// |                  B2 (Full Width)                   |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\t\t// What we do to find the best sizing, we do the following\r\n\t\t// 1. Determine the minimum size of the chart area.\r\n\t\t// 2. Split the remaining width equally between each vertical axis\r\n\t\t// 3. Split the remaining height equally between each horizontal axis\r\n\t\t// 4. Give each layout the maximum size it can be. The layout will return it's minimum size\r\n\t\t// 5. Adjust the sizes of each axis based on it's minimum reported size.\r\n\t\t// 6. Refit each axis\r\n\t\t// 7. Position each axis in the final location\r\n\t\t// 8. Tell the chart the final location of the chart area\r\n\t\t// 9. Tell any axes that overlay the chart area the positions of the chart area\r\n\r\n\t\t// Step 1\r\n\t\tvar chartWidth = width - leftPadding - rightPadding;\r\n\t\tvar chartHeight = height - topPadding - bottomPadding;\r\n\t\tvar chartAreaWidth = chartWidth / 2; // min 50%\r\n\t\tvar chartAreaHeight = chartHeight / 2; // min 50%\r\n\r\n\t\t// Step 2\r\n\t\tvar verticalBoxWidth = (width - chartAreaWidth) / (leftBoxes.length + rightBoxes.length);\r\n\r\n\t\t// Step 3\r\n\t\tvar horizontalBoxHeight = (height - chartAreaHeight) / (topBoxes.length + bottomBoxes.length);\r\n\r\n\t\t// Step 4\r\n\t\tvar maxChartAreaWidth = chartWidth;\r\n\t\tvar maxChartAreaHeight = chartHeight;\r\n\t\tvar minBoxSizes = [];\r\n\r\n\t\tfunction getMinimumBoxSize(box) {\r\n\t\t\tvar minSize;\r\n\t\t\tvar isHorizontal = box.isHorizontal();\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tminSize = box.update(box.fullWidth ? chartWidth : maxChartAreaWidth, horizontalBoxHeight);\r\n\t\t\t\tmaxChartAreaHeight -= minSize.height;\r\n\t\t\t} else {\r\n\t\t\t\tminSize = box.update(verticalBoxWidth, maxChartAreaHeight);\r\n\t\t\t\tmaxChartAreaWidth -= minSize.width;\r\n\t\t\t}\r\n\r\n\t\t\tminBoxSizes.push({\r\n\t\t\t\thorizontal: isHorizontal,\r\n\t\t\t\tminSize: minSize,\r\n\t\t\t\tbox: box,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\thelpers.each(leftBoxes.concat(rightBoxes, topBoxes, bottomBoxes), getMinimumBoxSize);\r\n\r\n\t\t// If a horizontal box has padding, we move the left boxes over to avoid ugly charts (see issue #2478)\r\n\t\tvar maxHorizontalLeftPadding = 0;\r\n\t\tvar maxHorizontalRightPadding = 0;\r\n\t\tvar maxVerticalTopPadding = 0;\r\n\t\tvar maxVerticalBottomPadding = 0;\r\n\r\n\t\thelpers.each(topBoxes.concat(bottomBoxes), function(horizontalBox) {\r\n\t\t\tif (horizontalBox.getPadding) {\r\n\t\t\t\tvar boxPadding = horizontalBox.getPadding();\r\n\t\t\t\tmaxHorizontalLeftPadding = Math.max(maxHorizontalLeftPadding, boxPadding.left);\r\n\t\t\t\tmaxHorizontalRightPadding = Math.max(maxHorizontalRightPadding, boxPadding.right);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers.each(leftBoxes.concat(rightBoxes), function(verticalBox) {\r\n\t\t\tif (verticalBox.getPadding) {\r\n\t\t\t\tvar boxPadding = verticalBox.getPadding();\r\n\t\t\t\tmaxVerticalTopPadding = Math.max(maxVerticalTopPadding, boxPadding.top);\r\n\t\t\t\tmaxVerticalBottomPadding = Math.max(maxVerticalBottomPadding, boxPadding.bottom);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// At this point, maxChartAreaHeight and maxChartAreaWidth are the size the chart area could\r\n\t\t// be if the axes are drawn at their minimum sizes.\r\n\t\t// Steps 5 & 6\r\n\t\tvar totalLeftBoxesWidth = leftPadding;\r\n\t\tvar totalRightBoxesWidth = rightPadding;\r\n\t\tvar totalTopBoxesHeight = topPadding;\r\n\t\tvar totalBottomBoxesHeight = bottomPadding;\r\n\r\n\t\t// Function to fit a box\r\n\t\tfunction fitBox(box) {\r\n\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minBox) {\r\n\t\t\t\treturn minBox.box === box;\r\n\t\t\t});\r\n\r\n\t\t\tif (minBoxSize) {\r\n\t\t\t\tif (box.isHorizontal()) {\r\n\t\t\t\t\tvar scaleMargin = {\r\n\t\t\t\t\t\tleft: Math.max(totalLeftBoxesWidth, maxHorizontalLeftPadding),\r\n\t\t\t\t\t\tright: Math.max(totalRightBoxesWidth, maxHorizontalRightPadding),\r\n\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\tbottom: 0\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t// Don't use min size here because of label rotation. When the labels are rotated, their rotation highly depends\r\n\t\t\t\t\t// on the margin. Sometimes they need to increase in size slightly\r\n\t\t\t\t\tbox.update(box.fullWidth ? chartWidth : maxChartAreaWidth, chartHeight / 2, scaleMargin);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update, and calculate the left and right margins for the horizontal boxes\r\n\t\thelpers.each(leftBoxes.concat(rightBoxes), fitBox);\r\n\r\n\t\thelpers.each(leftBoxes, function(box) {\r\n\t\t\ttotalLeftBoxesWidth += box.width;\r\n\t\t});\r\n\r\n\t\thelpers.each(rightBoxes, function(box) {\r\n\t\t\ttotalRightBoxesWidth += box.width;\r\n\t\t});\r\n\r\n\t\t// Set the Left and Right margins for the horizontal boxes\r\n\t\thelpers.each(topBoxes.concat(bottomBoxes), fitBox);\r\n\r\n\t\t// Figure out how much margin is on the top and bottom of the vertical boxes\r\n\t\thelpers.each(topBoxes, function(box) {\r\n\t\t\ttotalTopBoxesHeight += box.height;\r\n\t\t});\r\n\r\n\t\thelpers.each(bottomBoxes, function(box) {\r\n\t\t\ttotalBottomBoxesHeight += box.height;\r\n\t\t});\r\n\r\n\t\tfunction finalFitVerticalBox(box) {\r\n\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minSize) {\r\n\t\t\t\treturn minSize.box === box;\r\n\t\t\t});\r\n\r\n\t\t\tvar scaleMargin = {\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tright: 0,\r\n\t\t\t\ttop: totalTopBoxesHeight,\r\n\t\t\t\tbottom: totalBottomBoxesHeight\r\n\t\t\t};\r\n\r\n\t\t\tif (minBoxSize) {\r\n\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight, scaleMargin);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Let the left layout know the final margin\r\n\t\thelpers.each(leftBoxes.concat(rightBoxes), finalFitVerticalBox);\r\n\r\n\t\t// Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)\r\n\t\ttotalLeftBoxesWidth = leftPadding;\r\n\t\ttotalRightBoxesWidth = rightPadding;\r\n\t\ttotalTopBoxesHeight = topPadding;\r\n\t\ttotalBottomBoxesHeight = bottomPadding;\r\n\r\n\t\thelpers.each(leftBoxes, function(box) {\r\n\t\t\ttotalLeftBoxesWidth += box.width;\r\n\t\t});\r\n\r\n\t\thelpers.each(rightBoxes, function(box) {\r\n\t\t\ttotalRightBoxesWidth += box.width;\r\n\t\t});\r\n\r\n\t\thelpers.each(topBoxes, function(box) {\r\n\t\t\ttotalTopBoxesHeight += box.height;\r\n\t\t});\r\n\t\thelpers.each(bottomBoxes, function(box) {\r\n\t\t\ttotalBottomBoxesHeight += box.height;\r\n\t\t});\r\n\r\n\t\t// We may be adding some padding to account for rotated x axis labels\r\n\t\tvar leftPaddingAddition = Math.max(maxHorizontalLeftPadding - totalLeftBoxesWidth, 0);\r\n\t\ttotalLeftBoxesWidth += leftPaddingAddition;\r\n\t\ttotalRightBoxesWidth += Math.max(maxHorizontalRightPadding - totalRightBoxesWidth, 0);\r\n\r\n\t\tvar topPaddingAddition = Math.max(maxVerticalTopPadding - totalTopBoxesHeight, 0);\r\n\t\ttotalTopBoxesHeight += topPaddingAddition;\r\n\t\ttotalBottomBoxesHeight += Math.max(maxVerticalBottomPadding - totalBottomBoxesHeight, 0);\r\n\r\n\t\t// Figure out if our chart area changed. This would occur if the dataset layout label rotation\r\n\t\t// changed due to the application of the margins in step 6. Since we can only get bigger, this is safe to do\r\n\t\t// without calling `fit` again\r\n\t\tvar newMaxChartAreaHeight = height - totalTopBoxesHeight - totalBottomBoxesHeight;\r\n\t\tvar newMaxChartAreaWidth = width - totalLeftBoxesWidth - totalRightBoxesWidth;\r\n\r\n\t\tif (newMaxChartAreaWidth !== maxChartAreaWidth || newMaxChartAreaHeight !== maxChartAreaHeight) {\r\n\t\t\thelpers.each(leftBoxes, function(box) {\r\n\t\t\t\tbox.height = newMaxChartAreaHeight;\r\n\t\t\t});\r\n\r\n\t\t\thelpers.each(rightBoxes, function(box) {\r\n\t\t\t\tbox.height = newMaxChartAreaHeight;\r\n\t\t\t});\r\n\r\n\t\t\thelpers.each(topBoxes, function(box) {\r\n\t\t\t\tif (!box.fullWidth) {\r\n\t\t\t\t\tbox.width = newMaxChartAreaWidth;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\thelpers.each(bottomBoxes, function(box) {\r\n\t\t\t\tif (!box.fullWidth) {\r\n\t\t\t\t\tbox.width = newMaxChartAreaWidth;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tmaxChartAreaHeight = newMaxChartAreaHeight;\r\n\t\t\tmaxChartAreaWidth = newMaxChartAreaWidth;\r\n\t\t}\r\n\r\n\t\t// Step 7 - Position the boxes\r\n\t\tvar left = leftPadding + leftPaddingAddition;\r\n\t\tvar top = topPadding + topPaddingAddition;\r\n\r\n\t\tfunction placeBox(box) {\r\n\t\t\tif (box.isHorizontal()) {\r\n\t\t\t\tbox.left = box.fullWidth ? leftPadding : totalLeftBoxesWidth;\r\n\t\t\t\tbox.right = box.fullWidth ? width - rightPadding : totalLeftBoxesWidth + maxChartAreaWidth;\r\n\t\t\t\tbox.top = top;\r\n\t\t\t\tbox.bottom = top + box.height;\r\n\r\n\t\t\t\t// Move to next point\r\n\t\t\t\ttop = box.bottom;\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\tbox.left = left;\r\n\t\t\t\tbox.right = left + box.width;\r\n\t\t\t\tbox.top = totalTopBoxesHeight;\r\n\t\t\t\tbox.bottom = totalTopBoxesHeight + maxChartAreaHeight;\r\n\r\n\t\t\t\t// Move to next point\r\n\t\t\t\tleft = box.right;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers.each(leftBoxes.concat(topBoxes), placeBox);\r\n\r\n\t\t// Account for chart width and height\r\n\t\tleft += maxChartAreaWidth;\r\n\t\ttop += maxChartAreaHeight;\r\n\r\n\t\thelpers.each(rightBoxes, placeBox);\r\n\t\thelpers.each(bottomBoxes, placeBox);\r\n\r\n\t\t// Step 8\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: totalLeftBoxesWidth,\r\n\t\t\ttop: totalTopBoxesHeight,\r\n\t\t\tright: totalLeftBoxesWidth + maxChartAreaWidth,\r\n\t\t\tbottom: totalTopBoxesHeight + maxChartAreaHeight\r\n\t\t};\r\n\r\n\t\t// Step 9\r\n\t\thelpers.each(chartAreaBoxes, function(box) {\r\n\t\t\tbox.left = chart.chartArea.left;\r\n\t\t\tbox.top = chart.chartArea.top;\r\n\t\t\tbox.right = chart.chartArea.right;\r\n\t\t\tbox.bottom = chart.chartArea.bottom;\r\n\r\n\t\t\tbox.update(maxChartAreaWidth, maxChartAreaHeight);\r\n\t\t});\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.layouts.js\n// module id = 103\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\n\r\n/**\r\n * Namespace to hold static tick generation functions\r\n * @namespace Chart.Ticks\r\n */\r\nmodule.exports = {\r\n\t/**\r\n\t * Namespace to hold formatters for different types of ticks\r\n\t * @namespace Chart.Ticks.formatters\r\n\t */\r\n\tformatters: {\r\n\t\t/**\r\n\t\t * Formatter for value labels\r\n\t\t * @method Chart.Ticks.formatters.values\r\n\t\t * @param value the value to display\r\n\t\t * @return {String|Array} the label to display\r\n\t\t */\r\n\t\tvalues: function(value) {\r\n\t\t\treturn helpers.isArray(value) ? value : '' + value;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Formatter for linear numeric ticks\r\n\t\t * @method Chart.Ticks.formatters.linear\r\n\t\t * @param tickValue {Number} the value to be formatted\r\n\t\t * @param index {Number} the position of the tickValue parameter in the ticks array\r\n\t\t * @param ticks {Array<Number>} the list of ticks being converted\r\n\t\t * @return {String} string representation of the tickValue parameter\r\n\t\t */\r\n\t\tlinear: function(tickValue, index, ticks) {\r\n\t\t\t// If we have lots of ticks, don't use the ones\r\n\t\t\tvar delta = ticks.length > 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];\r\n\r\n\t\t\t// If we have a number like 2.5 as the delta, figure out how many decimal places we need\r\n\t\t\tif (Math.abs(delta) > 1) {\r\n\t\t\t\tif (tickValue !== Math.floor(tickValue)) {\r\n\t\t\t\t\t// not an integer\r\n\t\t\t\t\tdelta = tickValue - Math.floor(tickValue);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar logDelta = helpers.log10(Math.abs(delta));\r\n\t\t\tvar tickString = '';\r\n\r\n\t\t\tif (tickValue !== 0) {\r\n\t\t\t\tvar numDecimal = -1 * Math.floor(logDelta);\r\n\t\t\t\tnumDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places\r\n\t\t\t\ttickString = tickValue.toFixed(numDecimal);\r\n\t\t\t} else {\r\n\t\t\t\ttickString = '0'; // never show decimal places for 0\r\n\t\t\t}\r\n\r\n\t\t\treturn tickString;\r\n\t\t},\r\n\r\n\t\tlogarithmic: function(tickValue, index, ticks) {\r\n\t\t\tvar remain = tickValue / (Math.pow(10, Math.floor(helpers.log10(tickValue))));\r\n\r\n\t\t\tif (tickValue === 0) {\r\n\t\t\t\treturn '0';\r\n\t\t\t} else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {\r\n\t\t\t\treturn tickValue.toExponential();\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.ticks.js\n// module id = 104\n// module chunks = 3","// Thank's IE8 for his funny defineProperty\r\nmodule.exports = !require('./_fails')(function(){\r\n  return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\r\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 105\n// module chunks = 3","var dP         = require('./_object-dp')\r\n  , createDesc = require('./_property-desc');\r\nmodule.exports = require('./_descriptors') ? function(object, key, value){\r\n  return dP.f(object, key, createDesc(1, value));\r\n} : function(object, key, value){\r\n  object[key] = value;\r\n  return object;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 106\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name addDays\r\n * @category Day Helpers\r\n * @summary Add the specified number of days to the given date.\r\n *\r\n * @description\r\n * Add the specified number of days to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of days to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the days added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 10 days to 1 September 2014:\r\n * var result = addDays(new Date(2014, 8, 1), 10)\r\n * //=> Thu Sep 11 2014 00:00:00\r\n */\r\nexport default function addDays (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var amount = Number(dirtyAmount)\r\n  date.setDate(date.getDate() + amount)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addDays/index.js\n// module id = 114\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name addMilliseconds\r\n * @category Millisecond Helpers\r\n * @summary Add the specified number of milliseconds to the given date.\r\n *\r\n * @description\r\n * Add the specified number of milliseconds to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of milliseconds to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the milliseconds added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\r\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\r\n * //=> Thu Jul 10 2014 12:45:30.750\r\n */\r\nexport default function addMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var timestamp = toDate(dirtyDate, dirtyOptions).getTime()\r\n  var amount = Number(dirtyAmount)\r\n  return new Date(timestamp + amount)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addMilliseconds/index.js\n// module id = 115\n// module chunks = 3","import startOfDay from '../startOfDay/index.js'\r\n\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\nvar MILLISECONDS_IN_DAY = 86400000\r\n\r\n/**\r\n * @name differenceInCalendarDays\r\n * @category Day Helpers\r\n * @summary Get the number of calendar days between the given dates.\r\n *\r\n * @description\r\n * Get the number of calendar days between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of calendar days\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many calendar days are between\r\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\r\n * var result = differenceInCalendarDays(\r\n *   new Date(2012, 6, 2, 0, 0),\r\n *   new Date(2011, 6, 2, 23, 0)\r\n * )\r\n * //=> 366\r\n */\r\nexport default function differenceInCalendarDays (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var startOfDayLeft = startOfDay(dirtyDateLeft, dirtyOptions)\r\n  var startOfDayRight = startOfDay(dirtyDateRight, dirtyOptions)\r\n\r\n  var timestampLeft = startOfDayLeft.getTime() -\r\n    startOfDayLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE\r\n  var timestampRight = startOfDayRight.getTime() -\r\n    startOfDayRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE\r\n\r\n  // Round the number of days to the nearest integer\r\n  // because the number of milliseconds in a day is not constant\r\n  // (e.g. it's different in the day of the daylight saving time clock shift)\r\n  return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInCalendarDays/index.js\n// module id = 116\n// module chunks = 3","import formatDistance from './_lib/formatDistance/index.js'\r\nimport formatLong from './_lib/formatLong/index.js'\r\nimport formatRelative from './_lib/formatRelative/index.js'\r\nimport localize from './_lib/localize/index.js'\r\nimport match from './_lib/match/index.js'\r\n\r\n/**\r\n * @type {Locale}\r\n * @category Locales\r\n * @summary English locale (United States).\r\n * @language English\r\n * @iso-639-2 eng\r\n */\r\nvar locale = {\r\n  formatDistance: formatDistance,\r\n  formatLong: formatLong,\r\n  formatRelative: formatRelative,\r\n  localize: localize,\r\n  match: match,\r\n  options: {\r\n    weekStartsOn: 0 /* Sunday */,\r\n    firstWeekContainsDate: 1\r\n  }\r\n}\r\n\r\nexport default locale\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/en-US/index.js\n// module id = 117\n// module chunks = 3","import getISOYear from '../getISOYear/index.js'\r\nimport startOfISOWeek from '../startOfISOWeek/index.js'\r\n\r\n/**\r\n * @name startOfISOYear\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Return the start of an ISO week-numbering year for the given date.\r\n *\r\n * @description\r\n * Return the start of an ISO week-numbering year,\r\n * which always starts 3 days before the year's first Thursday.\r\n * The result will be in the local timezone.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of an ISO year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of an ISO week-numbering year for 2 July 2005:\r\n * var result = startOfISOYear(new Date(2005, 6, 2))\r\n * //=> Mon Jan 03 2005 00:00:00\r\n */\r\nexport default function startOfISOYear (dirtyDate, dirtyOptions) {\r\n  var year = getISOYear(dirtyDate, dirtyOptions)\r\n  var fourthOfJanuary = new Date(0)\r\n  fourthOfJanuary.setFullYear(year, 0, 4)\r\n  fourthOfJanuary.setHours(0, 0, 0, 0)\r\n  var date = startOfISOWeek(fourthOfJanuary, dirtyOptions)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfISOYear/index.js\n// module id = 118\n// module chunks = 3","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DateFormatter } from './date-formatter';\r\n// const MIN_DATE:Date = void 0;\r\n// const MAX_DATE:Date = void 0;\r\n// const DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n/*\r\n const KEYS = {\r\n 13: 'enter',\r\n 32: 'space',\r\n 33: 'pageup',\r\n 34: 'pagedown',\r\n 35: 'end',\r\n 36: 'home',\r\n 37: 'left',\r\n 38: 'up',\r\n 39: 'right',\r\n 40: 'down'\r\n };\r\n */\r\nexport var DatePickerInnerComponent = (function () {\r\n    function DatePickerInnerComponent() {\r\n        this.selectionDone = new EventEmitter(undefined);\r\n        this.update = new EventEmitter(false);\r\n        this.activeDateChange = new EventEmitter(undefined);\r\n        this.stepDay = {};\r\n        this.stepMonth = {};\r\n        this.stepYear = {};\r\n        this.modes = ['day', 'month', 'year'];\r\n        this.dateFormatter = new DateFormatter();\r\n    }\r\n    Object.defineProperty(DatePickerInnerComponent.prototype, \"activeDate\", {\r\n        get: function () {\r\n            return this._activeDate;\r\n        },\r\n        set: function (value) {\r\n            this._activeDate = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // todo: add formatter value to Date object\r\n    DatePickerInnerComponent.prototype.ngOnInit = function () {\r\n        // todo: use date for unique value\r\n        this.uniqueId = 'datepicker-' + '-' + Math.floor(Math.random() * 10000);\r\n        if (this.initDate) {\r\n            this.activeDate = this.initDate;\r\n            this.selectedDate = new Date(this.activeDate.valueOf());\r\n            this.update.emit(this.activeDate);\r\n        }\r\n        else if (this.activeDate === undefined) {\r\n            this.activeDate = new Date();\r\n        }\r\n    };\r\n    // this.refreshView should be called here to reflect the changes on the fly\r\n    // tslint:disable-next-line:no-unused-variable\r\n    DatePickerInnerComponent.prototype.ngOnChanges = function (changes) {\r\n        this.refreshView();\r\n    };\r\n    DatePickerInnerComponent.prototype.setCompareHandler = function (handler, type) {\r\n        if (type === 'day') {\r\n            this.compareHandlerDay = handler;\r\n        }\r\n        if (type === 'month') {\r\n            this.compareHandlerMonth = handler;\r\n        }\r\n        if (type === 'year') {\r\n            this.compareHandlerYear = handler;\r\n        }\r\n    };\r\n    DatePickerInnerComponent.prototype.compare = function (date1, date2) {\r\n        if (date1 === undefined || date2 === undefined) {\r\n            return undefined;\r\n        }\r\n        if (this.datepickerMode === 'day' && this.compareHandlerDay) {\r\n            return this.compareHandlerDay(date1, date2);\r\n        }\r\n        if (this.datepickerMode === 'month' && this.compareHandlerMonth) {\r\n            return this.compareHandlerMonth(date1, date2);\r\n        }\r\n        if (this.datepickerMode === 'year' && this.compareHandlerYear) {\r\n            return this.compareHandlerYear(date1, date2);\r\n        }\r\n        return void 0;\r\n    };\r\n    DatePickerInnerComponent.prototype.setRefreshViewHandler = function (handler, type) {\r\n        if (type === 'day') {\r\n            this.refreshViewHandlerDay = handler;\r\n        }\r\n        if (type === 'month') {\r\n            this.refreshViewHandlerMonth = handler;\r\n        }\r\n        if (type === 'year') {\r\n            this.refreshViewHandlerYear = handler;\r\n        }\r\n    };\r\n    DatePickerInnerComponent.prototype.refreshView = function () {\r\n        if (this.datepickerMode === 'day' && this.refreshViewHandlerDay) {\r\n            this.refreshViewHandlerDay();\r\n        }\r\n        if (this.datepickerMode === 'month' && this.refreshViewHandlerMonth) {\r\n            this.refreshViewHandlerMonth();\r\n        }\r\n        if (this.datepickerMode === 'year' && this.refreshViewHandlerYear) {\r\n            this.refreshViewHandlerYear();\r\n        }\r\n    };\r\n    DatePickerInnerComponent.prototype.dateFilter = function (date, format) {\r\n        return this.dateFormatter.format(date, format);\r\n    };\r\n    DatePickerInnerComponent.prototype.isActive = function (dateObject) {\r\n        if (this.compare(dateObject.date, this.activeDate) === 0) {\r\n            this.activeDateId = dateObject.uid;\r\n            return true;\r\n        }\r\n        return false;\r\n    };\r\n    DatePickerInnerComponent.prototype.createDateObject = function (date, format) {\r\n        var dateObject = {};\r\n        dateObject.date = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n        dateObject.label = this.dateFilter(date, format);\r\n        dateObject.selected = this.compare(date, this.selectedDate) === 0;\r\n        dateObject.disabled = this.isDisabled(date);\r\n        dateObject.current = this.compare(date, new Date()) === 0;\r\n        dateObject.customClass = this.getCustomClassForDate(dateObject.date);\r\n        return dateObject;\r\n    };\r\n    DatePickerInnerComponent.prototype.split = function (arr, size) {\r\n        var arrays = [];\r\n        while (arr.length > 0) {\r\n            arrays.push(arr.splice(0, size));\r\n        }\r\n        return arrays;\r\n    };\r\n    // Fix a hard-reproducible bug with timezones\r\n    // The bug depends on OS, browser, current timezone and current date\r\n    // i.e.\r\n    // var date = new Date(2014, 0, 1);\r\n    // console.log(date.getFullYear(), date.getMonth(), date.getDate(),\r\n    // date.getHours()); can result in \"2013 11 31 23\" because of the bug.\r\n    DatePickerInnerComponent.prototype.fixTimeZone = function (date) {\r\n        var hours = date.getHours();\r\n        return new Date(date.getFullYear(), date.getMonth(), date.getDate(), hours === 23 ? hours + 2 : 0);\r\n    };\r\n    DatePickerInnerComponent.prototype.select = function (date, isManual) {\r\n        if (isManual === void 0) { isManual = true; }\r\n        if (this.datepickerMode === this.minMode) {\r\n            if (!this.activeDate) {\r\n                this.activeDate = new Date(0, 0, 0, 0, 0, 0, 0);\r\n            }\r\n            this.activeDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n            if (isManual) {\r\n                this.selectionDone.emit(this.activeDate);\r\n            }\r\n        }\r\n        else {\r\n            this.activeDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n            this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) - 1];\r\n        }\r\n        this.selectedDate = new Date(this.activeDate.valueOf());\r\n        this.update.emit(this.activeDate);\r\n        this.refreshView();\r\n    };\r\n    DatePickerInnerComponent.prototype.move = function (direction) {\r\n        var expectedStep;\r\n        if (this.datepickerMode === 'day') {\r\n            expectedStep = this.stepDay;\r\n        }\r\n        if (this.datepickerMode === 'month') {\r\n            expectedStep = this.stepMonth;\r\n        }\r\n        if (this.datepickerMode === 'year') {\r\n            expectedStep = this.stepYear;\r\n        }\r\n        if (expectedStep) {\r\n            var year = this.activeDate.getFullYear() + direction * (expectedStep.years || 0);\r\n            var month = this.activeDate.getMonth() + direction * (expectedStep.months || 0);\r\n            this.activeDate = new Date(year, month, 1);\r\n            this.refreshView();\r\n            this.activeDateChange.emit(this.activeDate);\r\n        }\r\n    };\r\n    DatePickerInnerComponent.prototype.toggleMode = function (direction) {\r\n        direction = direction || 1;\r\n        if ((this.datepickerMode === this.maxMode && direction === 1) ||\r\n            (this.datepickerMode === this.minMode && direction === -1)) {\r\n            return;\r\n        }\r\n        this.datepickerMode = this.modes[this.modes.indexOf(this.datepickerMode) + direction];\r\n        this.refreshView();\r\n    };\r\n    DatePickerInnerComponent.prototype.getCustomClassForDate = function (date) {\r\n        var _this = this;\r\n        if (!this.customClass) {\r\n            return '';\r\n        }\r\n        // todo: build a hash of custom classes, it will work faster\r\n        var customClassObject = this.customClass\r\n            .find(function (customClass) {\r\n            return customClass.date.valueOf() === date.valueOf() &&\r\n                customClass.mode === _this.datepickerMode;\r\n        }, this);\r\n        return customClassObject === undefined ? '' : customClassObject.clazz;\r\n    };\r\n    DatePickerInnerComponent.prototype.compareDateDisabled = function (date1Disabled, date2) {\r\n        if (date1Disabled === undefined || date2 === undefined) {\r\n            return undefined;\r\n        }\r\n        if (date1Disabled.mode === 'day' && this.compareHandlerDay) {\r\n            return this.compareHandlerDay(date1Disabled.date, date2);\r\n        }\r\n        if (date1Disabled.mode === 'month' && this.compareHandlerMonth) {\r\n            return this.compareHandlerMonth(date1Disabled.date, date2);\r\n        }\r\n        if (date1Disabled.mode === 'year' && this.compareHandlerYear) {\r\n            return this.compareHandlerYear(date1Disabled.date, date2);\r\n        }\r\n        return undefined;\r\n    };\r\n    DatePickerInnerComponent.prototype.isDisabled = function (date) {\r\n        var _this = this;\r\n        var isDateDisabled = false;\r\n        if (this.dateDisabled) {\r\n            this.dateDisabled.forEach(function (disabledDate) {\r\n                if (_this.compareDateDisabled(disabledDate, date) === 0) {\r\n                    isDateDisabled = true;\r\n                }\r\n            });\r\n        }\r\n        return (isDateDisabled || (this.minDate && this.compare(date, this.minDate) < 0) ||\r\n            (this.maxDate && this.compare(date, this.maxDate) > 0));\r\n    };\r\n    DatePickerInnerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'datepicker-inner',\r\n                    template: \"\\n    <div *ngIf=\\\"datepickerMode\\\" class=\\\"well well-sm bg-faded p-a card\\\" role=\\\"application\\\" ><!--&lt;!&ndash;ng-keydown=\\\"keydown($event)\\\"&ndash;&gt;-->\\n      <ng-content></ng-content>\\n    </div>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DatePickerInnerComponent.ctorParameters = function () { return []; };\r\n    DatePickerInnerComponent.propDecorators = {\r\n        'datepickerMode': [{ type: Input },],\r\n        'startingDay': [{ type: Input },],\r\n        'yearRange': [{ type: Input },],\r\n        'minDate': [{ type: Input },],\r\n        'maxDate': [{ type: Input },],\r\n        'minMode': [{ type: Input },],\r\n        'maxMode': [{ type: Input },],\r\n        'showWeeks': [{ type: Input },],\r\n        'formatDay': [{ type: Input },],\r\n        'formatMonth': [{ type: Input },],\r\n        'formatYear': [{ type: Input },],\r\n        'formatDayHeader': [{ type: Input },],\r\n        'formatDayTitle': [{ type: Input },],\r\n        'formatMonthTitle': [{ type: Input },],\r\n        'onlyCurrentMonth': [{ type: Input },],\r\n        'shortcutPropagation': [{ type: Input },],\r\n        'customClass': [{ type: Input },],\r\n        'monthColLimit': [{ type: Input },],\r\n        'yearColLimit': [{ type: Input },],\r\n        'dateDisabled': [{ type: Input },],\r\n        'initDate': [{ type: Input },],\r\n        'selectionDone': [{ type: Output },],\r\n        'update': [{ type: Output },],\r\n        'activeDateChange': [{ type: Output },],\r\n        'activeDate': [{ type: Input },],\r\n    };\r\n    return DatePickerInnerComponent;\r\n}());\r\n//# sourceMappingURL=datepicker-inner.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/datepicker-inner.component.js\n// module id = 119\n// module chunks = 3","import { EventEmitter } from \"@angular/core\";\r\nimport { DateUtil } from \"../../../misc/util/index\";\r\nexport var CalendarMode;\r\n(function (CalendarMode) {\r\n    CalendarMode[CalendarMode[\"DateOnly\"] = 0] = \"DateOnly\";\r\n    CalendarMode[CalendarMode[\"TimeOnly\"] = 1] = \"TimeOnly\";\r\n    CalendarMode[CalendarMode[\"Both\"] = 2] = \"Both\";\r\n})(CalendarMode || (CalendarMode = {}));\r\nvar CalendarService = (function () {\r\n    function CalendarService(config, localeValues) {\r\n        this.localeValues = localeValues;\r\n        this.onManualUpdate = function () { };\r\n        this.config = config;\r\n        this.currentDate = new Date();\r\n        this.firstDayOfWeek = this.localeValues.firstDayOfWeek;\r\n        this.onDateChange = new EventEmitter();\r\n        this.reset();\r\n    }\r\n    Object.defineProperty(CalendarService.prototype, \"config\", {\r\n        get: function () {\r\n            return this._config;\r\n        },\r\n        set: function (config) {\r\n            this._config = config;\r\n            config.updateBounds(this._selectedDate || this.currentDate);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarService.prototype, \"inFinalView\", {\r\n        get: function () {\r\n            return this.currentView === this.config.mappings.finalView;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarService.prototype, \"selectedDate\", {\r\n        get: function () {\r\n            return this._selectedDate;\r\n        },\r\n        set: function (date) {\r\n            if (date) {\r\n                this._selectedDate = DateUtil.clone(date);\r\n                this.currentDate = DateUtil.clone(date);\r\n            }\r\n            else {\r\n                this._selectedDate = undefined;\r\n            }\r\n            this.config.updateBounds(this._selectedDate || this.currentDate);\r\n            this.onManualUpdate();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarService.prototype, \"minDate\", {\r\n        get: function () {\r\n            if (this._minDate && this.config.dateMinBound) {\r\n                return this._minDate > this.config.dateMinBound ? this._minDate : this.config.dateMinBound;\r\n            }\r\n            return this._minDate || this.config.dateMinBound;\r\n        },\r\n        set: function (min) {\r\n            this._minDate = min;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarService.prototype, \"maxDate\", {\r\n        get: function () {\r\n            if (this._maxDate && this.config.dateMaxBound) {\r\n                return this._maxDate < this.config.dateMaxBound ? this._maxDate : this.config.dateMaxBound;\r\n            }\r\n            return this._maxDate || this.config.dateMaxBound;\r\n        },\r\n        set: function (max) {\r\n            this._maxDate = max;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CalendarService.prototype, \"firstDayOfWeek\", {\r\n        get: function () {\r\n            return this._firstDayOfWeek;\r\n        },\r\n        set: function (firstDayOfWeek) {\r\n            if (firstDayOfWeek != undefined) {\r\n                this._firstDayOfWeek = Math.max(0, Math.min(6, firstDayOfWeek));\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    CalendarService.prototype.reset = function () {\r\n        this.currentView = this.config.mappings.finalView;\r\n        if (!this._selectedDate) {\r\n            var current = this.currentDate.getTime();\r\n            if (this._minDate) {\r\n                current = Math.max(current, this._minDate.getTime());\r\n            }\r\n            if (this._maxDate) {\r\n                current = Math.min(current, this._maxDate.getTime());\r\n            }\r\n            this.currentDate = new Date(current);\r\n            this.config.updateBounds(this.currentDate);\r\n            this.currentView = this.config.mappings.initialView;\r\n        }\r\n    };\r\n    CalendarService.prototype.changeDate = function (date, fromView) {\r\n        this.currentDate = date;\r\n        if (fromView === this.config.mappings.finalView) {\r\n            this.selectedDate = date;\r\n            return this.onDateChange.emit(date);\r\n        }\r\n        this.updateView(this.config.mappings.changed, fromView);\r\n    };\r\n    CalendarService.prototype.zoomOut = function (fromView) {\r\n        this.updateView(this.config.mappings.zoom, fromView);\r\n    };\r\n    CalendarService.prototype.updateView = function (mappings, fromView) {\r\n        var mapping = mappings.get(fromView);\r\n        if (mapping == undefined) {\r\n            throw new Error(\"Unknown view type.\");\r\n        }\r\n        this.currentView = mapping;\r\n    };\r\n    return CalendarService;\r\n}());\r\nexport { CalendarService };\r\n//# sourceMappingURL=calendar.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/services/calendar.service.js\n// module id = 120\n// module chunks = 3","import { PositioningPlacement } from \"../../../misc/util/index\";\r\nexport var PopupTrigger = {\r\n    Hover: \"hover\",\r\n    Click: \"click\",\r\n    OutsideClick: \"outsideClick\",\r\n    Focus: \"focus\",\r\n    Manual: \"manual\"\r\n};\r\nvar PopupConfig = (function () {\r\n    function PopupConfig(defaults) {\r\n        if (defaults === void 0) { defaults = {}; }\r\n        this.placement = PositioningPlacement.TopLeft;\r\n        this.trigger = PopupTrigger.Hover;\r\n        this.isInverted = false;\r\n        this.delay = 0;\r\n        this.isBasic = false;\r\n        this.transition = \"scale\";\r\n        this.transitionDuration = 200;\r\n        Object.assign(this, defaults);\r\n    }\r\n    return PopupConfig;\r\n}());\r\nexport { PopupConfig };\r\n//# sourceMappingURL=popup-config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/classes/popup-config.js\n// module id = 121\n// module chunks = 3","export * from \"./classes/popup-component-controller\";\r\nexport * from \"./classes/popup-config\";\r\nexport * from \"./classes/popup-controller\";\r\nexport * from \"./classes/popup-template-controller\";\r\nexport * from \"./components/popup-arrow\";\r\nexport * from \"./components/popup\";\r\nexport * from \"./directives/popup.directive\";\r\nexport * from \"./services/popup.service\";\r\nexport * from \"./popup.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/index.js\n// module id = 122\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar root_1 = require('../util/root');\r\nvar Action_1 = require('./Action');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar AsyncAction = (function (_super) {\r\n    __extends(AsyncAction, _super);\r\n    function AsyncAction(scheduler, work) {\r\n        _super.call(this, scheduler, work);\r\n        this.scheduler = scheduler;\r\n        this.work = work;\r\n        this.pending = false;\r\n    }\r\n    AsyncAction.prototype.schedule = function (state, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        if (this.closed) {\r\n            return this;\r\n        }\r\n        // Always replace the current state with the new state.\r\n        this.state = state;\r\n        // Set the pending flag indicating that this action has been scheduled, or\r\n        // has recursively rescheduled itself.\r\n        this.pending = true;\r\n        var id = this.id;\r\n        var scheduler = this.scheduler;\r\n        //\r\n        // Important implementation note:\r\n        //\r\n        // Actions only execute once by default, unless rescheduled from within the\r\n        // scheduled callback. This allows us to implement single and repeat\r\n        // actions via the same code path, without adding API surface area, as well\r\n        // as mimic traditional recursion but across asynchronous boundaries.\r\n        //\r\n        // However, JS runtimes and timers distinguish between intervals achieved by\r\n        // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\r\n        // serial `setTimeout` calls can be individually delayed, which delays\r\n        // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\r\n        // guarantee the interval callback will be invoked more precisely to the\r\n        // interval period, regardless of load.\r\n        //\r\n        // Therefore, we use `setInterval` to schedule single and repeat actions.\r\n        // If the action reschedules itself with the same delay, the interval is not\r\n        // canceled. If the action doesn't reschedule, or reschedules with a\r\n        // different delay, the interval will be canceled after scheduled callback\r\n        // execution.\r\n        //\r\n        if (id != null) {\r\n            this.id = this.recycleAsyncId(scheduler, id, delay);\r\n        }\r\n        this.delay = delay;\r\n        // If this action has already an async Id, don't request a new one.\r\n        this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\r\n        return this;\r\n    };\r\n    AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        return root_1.root.setInterval(scheduler.flush.bind(scheduler, this), delay);\r\n    };\r\n    AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        // If this action is rescheduled with the same delay time, don't clear the interval id.\r\n        if (delay !== null && this.delay === delay) {\r\n            return id;\r\n        }\r\n        // Otherwise, if the action's delay time is different from the current delay,\r\n        // clear the interval id\r\n        return root_1.root.clearInterval(id) && undefined || undefined;\r\n    };\r\n    /**\r\n     * Immediately executes this action and the `work` it contains.\r\n     * @return {any}\r\n     */\r\n    AsyncAction.prototype.execute = function (state, delay) {\r\n        if (this.closed) {\r\n            return new Error('executing a cancelled action');\r\n        }\r\n        this.pending = false;\r\n        var error = this._execute(state, delay);\r\n        if (error) {\r\n            return error;\r\n        }\r\n        else if (this.pending === false && this.id != null) {\r\n            // Dequeue if the action didn't reschedule itself. Don't call\r\n            // unsubscribe(), because the action could reschedule later.\r\n            // For example:\r\n            // ```\r\n            // scheduler.schedule(function doWork(counter) {\r\n            //   /* ... I'm a busy worker bee ... */\r\n            //   var originalAction = this;\r\n            //   /* wait 100ms before rescheduling the action */\r\n            //   setTimeout(function () {\r\n            //     originalAction.schedule(counter + 1);\r\n            //   }, 100);\r\n            // }, 1000);\r\n            // ```\r\n            this.id = this.recycleAsyncId(this.scheduler, this.id, null);\r\n        }\r\n    };\r\n    AsyncAction.prototype._execute = function (state, delay) {\r\n        var errored = false;\r\n        var errorValue = undefined;\r\n        try {\r\n            this.work(state);\r\n        }\r\n        catch (e) {\r\n            errored = true;\r\n            errorValue = !!e && e || new Error(e);\r\n        }\r\n        if (errored) {\r\n            this.unsubscribe();\r\n            return errorValue;\r\n        }\r\n    };\r\n    AsyncAction.prototype._unsubscribe = function () {\r\n        var id = this.id;\r\n        var scheduler = this.scheduler;\r\n        var actions = scheduler.actions;\r\n        var index = actions.indexOf(this);\r\n        this.work = null;\r\n        this.delay = null;\r\n        this.state = null;\r\n        this.pending = false;\r\n        this.scheduler = null;\r\n        if (index !== -1) {\r\n            actions.splice(index, 1);\r\n        }\r\n        if (id != null) {\r\n            this.id = this.recycleAsyncId(scheduler, id, null);\r\n        }\r\n    };\r\n    return AsyncAction;\r\n}(Action_1.Action));\r\nexports.AsyncAction = AsyncAction;\r\n//# sourceMappingURL=AsyncAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/AsyncAction.js\n// module id = 125\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Scheduler_1 = require('../Scheduler');\r\nvar AsyncScheduler = (function (_super) {\r\n    __extends(AsyncScheduler, _super);\r\n    function AsyncScheduler() {\r\n        _super.apply(this, arguments);\r\n        this.actions = [];\r\n        /**\r\n         * A flag to indicate whether the Scheduler is currently executing a batch of\r\n         * queued actions.\r\n         * @type {boolean}\r\n         */\r\n        this.active = false;\r\n        /**\r\n         * An internal ID used to track the latest asynchronous task such as those\r\n         * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\r\n         * others.\r\n         * @type {any}\r\n         */\r\n        this.scheduled = undefined;\r\n    }\r\n    AsyncScheduler.prototype.flush = function (action) {\r\n        var actions = this.actions;\r\n        if (this.active) {\r\n            actions.push(action);\r\n            return;\r\n        }\r\n        var error;\r\n        this.active = true;\r\n        do {\r\n            if (error = action.execute(action.state, action.delay)) {\r\n                break;\r\n            }\r\n        } while (action = actions.shift()); // exhaust the scheduler queue\r\n        this.active = false;\r\n        if (error) {\r\n            while (action = actions.shift()) {\r\n                action.unsubscribe();\r\n            }\r\n            throw error;\r\n        }\r\n    };\r\n    return AsyncScheduler;\r\n}(Scheduler_1.Scheduler));\r\nexports.AsyncScheduler = AsyncScheduler;\r\n//# sourceMappingURL=AsyncScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/AsyncScheduler.js\n// module id = 126\n// module chunks = 3","\"use strict\";\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\nvar add_pipe_1 = require(\"./add.pipe\");\r\nexports.AddPipe = add_pipe_1.AddPipe;\r\nvar calendar_pipe_1 = require(\"./calendar.pipe\");\r\nexports.CalendarPipe = calendar_pipe_1.CalendarPipe;\r\nvar date_format_pipe_1 = require(\"./date-format.pipe\");\r\nexports.DateFormatPipe = date_format_pipe_1.DateFormatPipe;\r\nvar difference_pipe_1 = require(\"./difference.pipe\");\r\nexports.DifferencePipe = difference_pipe_1.DifferencePipe;\r\nvar duration_pipe_1 = require(\"./duration.pipe\");\r\nexports.DurationPipe = duration_pipe_1.DurationPipe;\r\nvar from_unix_pipe_1 = require(\"./from-unix.pipe\");\r\nexports.FromUnixPipe = from_unix_pipe_1.FromUnixPipe;\r\nvar parse_pipe_1 = require(\"./parse.pipe\");\r\nexports.ParsePipe = parse_pipe_1.ParsePipe;\r\nvar moment_module_1 = require(\"./moment.module\");\r\nexports.MomentModule = moment_module_1.MomentModule;\r\nvar subtract_pipe_1 = require(\"./subtract.pipe\");\r\nexports.SubtractPipe = subtract_pipe_1.SubtractPipe;\r\nvar time_ago_pipe_1 = require(\"./time-ago.pipe\");\r\nexports.TimeAgoPipe = time_ago_pipe_1.TimeAgoPipe;\r\nvar utc_pipe_1 = require(\"./utc.pipe\");\r\nexports.UtcPipe = utc_pipe_1.UtcPipe;\r\nvar local_pipe_1 = require(\"./local.pipe\");\r\nexports.LocalTimePipe = local_pipe_1.LocalTimePipe;\r\nvar locale_pipe_1 = require(\"./locale.pipe\");\r\nexports.LocalePipe = locale_pipe_1.LocalePipe;\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/index.js\n// module id = 131\n// module chunks = 3","'use strict';\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {Number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {Boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {Boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: Array.isArray ? Array.isArray : function(value) {\r\n\t\treturn Object.prototype.toString.call(value) === '[object Array]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {Boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {Number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {Function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {Object|Array} loopable - The object or array to be iterated.\r\n\t * @param {Function} fn - The function to call for each item.\r\n\t * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {Boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see http://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {Boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = {};\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): this method is also used by configMerge and scaleMerge as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {Object} target - The target object in which all sources are merged into.\r\n\t * @param {Object|Array(Object)} source - Object(s) to merge into `target`.\r\n\t * @param {Object} [options] - Merging options:\r\n\t * @param {Function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {Object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {Object} target - The target object in which all sources are merged into.\r\n\t * @param {Object|Array(Object)} source - Object(s) to merge into `target`.\r\n\t * @returns {Object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {Object} target - The target object in which all objects are merged into.\r\n\t * @param {Object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {Object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {Object} The `target` object.\r\n\t */\r\n\textend: function(target) {\r\n\t\tvar setFn = function(value, key) {\r\n\t\t\ttarget[key] = value;\r\n\t\t};\r\n\t\tfor (var i = 1, ilen = arguments.length; i < ilen; ++i) {\r\n\t\t\thelpers.each(arguments[i], setFn);\r\n\t\t}\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t}\r\n};\r\n\r\nmodule.exports = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/helpers/helpers.core.js\n// module id = 132\n// module chunks = 3","var isObject = require('./_is-object');\r\nmodule.exports = function(it){\r\n  if(!isObject(it))throw TypeError(it + ' is not an object!');\r\n  return it;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 133\n// module chunks = 3","var hasOwnProperty = {}.hasOwnProperty;\r\nmodule.exports = function(it, key){\r\n  return hasOwnProperty.call(it, key);\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 134\n// module chunks = 3","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iterators.js\n// module id = 135\n// module chunks = 3","var anObject       = require('./_an-object')\r\n  , IE8_DOM_DEFINE = require('./_ie8-dom-define')\r\n  , toPrimitive    = require('./_to-primitive')\r\n  , dP             = Object.defineProperty;\r\n\r\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\r\n  anObject(O);\r\n  P = toPrimitive(P, true);\r\n  anObject(Attributes);\r\n  if(IE8_DOM_DEFINE)try {\r\n    return dP(O, P, Attributes);\r\n  } catch(e){ /* empty */ }\r\n  if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\r\n  if('value' in Attributes)O[P] = Attributes.value;\r\n  return O;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 136\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function startOfUTCISOWeek (dirtyDate, dirtyOptions) {\r\n  var weekStartsOn = 1\r\n\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var day = date.getUTCDay()\r\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn\r\n\r\n  date.setUTCDate(date.getUTCDate() - diff)\r\n  date.setUTCHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/startOfUTCISOWeek/index.js\n// module id = 147\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport getDaysInMonth from '../getDaysInMonth/index.js'\r\n\r\n/**\r\n * @name addMonths\r\n * @category Month Helpers\r\n * @summary Add the specified number of months to the given date.\r\n *\r\n * @description\r\n * Add the specified number of months to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of months to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the months added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 5 months to 1 September 2014:\r\n * var result = addMonths(new Date(2014, 8, 1), 5)\r\n * //=> Sun Feb 01 2015 00:00:00\r\n */\r\nexport default function addMonths (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var amount = Number(dirtyAmount)\r\n  var desiredMonth = date.getMonth() + amount\r\n  var dateWithDesiredMonth = new Date(0)\r\n  dateWithDesiredMonth.setFullYear(date.getFullYear(), desiredMonth, 1)\r\n  dateWithDesiredMonth.setHours(0, 0, 0, 0)\r\n  var daysInMonth = getDaysInMonth(dateWithDesiredMonth, dirtyOptions)\r\n  // Set the last day of the new month\r\n  // if the original date was the last day of the longer month\r\n  date.setMonth(desiredMonth, Math.min(daysInMonth, date.getDate()))\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addMonths/index.js\n// module id = 148\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name differenceInMilliseconds\r\n * @category Millisecond Helpers\r\n * @summary Get the number of milliseconds between the given dates.\r\n *\r\n * @description\r\n * Get the number of milliseconds between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of milliseconds\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many milliseconds are between\r\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\r\n * var result = differenceInMilliseconds(\r\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\r\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\r\n * )\r\n * //=> 1100\r\n */\r\nexport default function differenceInMilliseconds (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n  return dateLeft.getTime() - dateRight.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInMilliseconds/index.js\n// module id = 149\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfWeek\r\n * @category Week Helpers\r\n * @summary Return the start of a week for the given date.\r\n *\r\n * @description\r\n * Return the start of a week for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {Date} the start of a week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\r\n *\r\n * @example\r\n * // The start of a week for 2 September 2014 11:55:00:\r\n * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Sun Aug 31 2014 00:00:00\r\n *\r\n * @example\r\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\r\n * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), {weekStartsOn: 1})\r\n * //=> Mon Sep 01 2014 00:00:00\r\n */\r\nexport default function startOfWeek (dirtyDate, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n  var locale = options.locale\r\n  var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn\r\n  var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn)\r\n  var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn)\r\n\r\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\r\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\r\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\r\n  }\r\n\r\n  var date = toDate(dirtyDate, options)\r\n  var day = date.getDay()\r\n  var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn\r\n\r\n  date.setDate(date.getDate() - diff)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfWeek/index.js\n// module id = 150\n// module chunks = 3","// Checks whether the entire input sequence can be matched\r\n// against the regular expression.\r\nexport function matches_entirely() {\r\n\tvar text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\r\n\tvar regular_expression = arguments[1];\r\n\r\n\tif (typeof regular_expression === 'string') {\r\n\t\tregular_expression = '^(?:' + regular_expression + ')$';\r\n\t}\r\n\r\n\tvar matched_groups = text.match(regular_expression);\r\n\treturn matched_groups && matched_groups[0].length === text.length;\r\n}\r\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/es6/common.js\n// module id = 151\n// module chunks = 3","import _getIterator from 'babel-runtime/core-js/get-iterator';\r\n// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of 17th November, 2016.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport { matches_entirely } from './common';\r\n\r\nimport { parse_phone_number_and_country_phone_code, VALID_PUNCTUATION } from './parse';\r\n\r\nimport { get_phone_code, get_formats, get_format_pattern, get_format_format, get_format_leading_digits_patterns, get_format_national_prefix_formatting_rule, get_format_national_prefix_is_optional_when_formatting, get_format_international_format, get_metadata_by_country_phone_code } from './metadata';\r\n\r\n// Formats a phone number\r\n//\r\n// Example use cases:\r\n//\r\n// ```js\r\n// format('8005553535', 'RU', 'International')\r\n// format('8005553535', 'RU', 'International', metadata)\r\n// format({ phone: '8005553535', country: 'RU' }, 'International')\r\n// format({ phone: '8005553535', country: 'RU' }, 'International', metadata)\r\n// format('+78005553535', 'National')\r\n// format('+78005553535', 'National', metadata)\r\n// ```\r\n//\r\nexport default function format(first_argument, second_argument, third_argument, fourth_argument) {\r\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument, fourth_argument),\r\n\t    input = _sort_out_arguments.input,\r\n\t    format_type = _sort_out_arguments.format_type,\r\n\t    metadata = _sort_out_arguments.metadata;\r\n\r\n\tvar country_metadata = void 0;\r\n\r\n\tif (input.country) {\r\n\t\tcountry_metadata = metadata.countries[input.country];\r\n\t}\r\n\r\n\tvar _parse_phone_number_a = parse_phone_number_and_country_phone_code(input.phone, metadata),\r\n\t    country_phone_code = _parse_phone_number_a.country_phone_code,\r\n\t    number = _parse_phone_number_a.number;\r\n\r\n\tif (country_phone_code) {\r\n\t\t// Check country restriction\r\n\t\tif (input.country && country_metadata && country_phone_code !== get_phone_code(country_metadata)) {\r\n\t\t\treturn input.phone;\r\n\t\t}\r\n\r\n\t\tcountry_metadata = get_metadata_by_country_phone_code(country_phone_code, metadata);\r\n\t}\r\n\r\n\tif (!country_metadata) {\r\n\t\treturn input.phone;\r\n\t}\r\n\r\n\tswitch (format_type) {\r\n\t\tcase 'International':\r\n\t\t\tif (!number) {\r\n\t\t\t\treturn '+' + get_phone_code(country_metadata);\r\n\t\t\t}\r\n\t\t\tvar national_number = format_national_number(number, 'International', false, country_metadata);\r\n\t\t\treturn '+' + get_phone_code(country_metadata) + ' ' + national_number;\r\n\r\n\t\tcase 'International_plaintext':\r\n\t\t\treturn '+' + get_phone_code(country_metadata) + input.phone;\r\n\r\n\t\tcase 'National':\r\n\t\t\tif (!number) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn format_national_number(number, 'National', false, country_metadata);\r\n\t}\r\n}\r\n\r\n// This was originally set to $1 but there are some countries for which the\r\n// first group is not used in the national pattern (e.g. Argentina) so the $1\r\n// group does not match correctly.  Therefore, we use \\d, so that the first\r\n// group actually used in the pattern will be matched.\r\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\r\n\r\nexport function format_national_number_using_format(number, format, international, enforce_national_prefix, country_metadata) {\r\n\tvar format_pattern_matcher = new RegExp(get_format_pattern(format));\r\n\r\n\tvar national_prefix_formatting_rule = get_format_national_prefix_formatting_rule(format, country_metadata);\r\n\r\n\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t// set for this country, or when this rule is set but\r\n\t// national prefix is optional for this phone number format\r\n\t// (and it is not enforced explicitly)\r\n\tvar national_prefix_may_be_omitted = !national_prefix_formatting_rule || national_prefix_formatting_rule && get_format_national_prefix_is_optional_when_formatting(format, country_metadata) && !enforce_national_prefix;\r\n\r\n\tif (!international && !national_prefix_may_be_omitted) {\r\n\t\treturn number.replace(format_pattern_matcher, get_format_format(format).replace(FIRST_GROUP_PATTERN, national_prefix_formatting_rule));\r\n\t}\r\n\r\n\tvar formatted_number = number.replace(format_pattern_matcher, international ? get_format_international_format(format) : get_format_format(format));\r\n\r\n\tif (international) {\r\n\t\treturn local_to_international_style(formatted_number);\r\n\t}\r\n\r\n\treturn formatted_number;\r\n}\r\n\r\nexport function format_national_number(number, format_as, enforce_national_prefix, country_metadata) {\r\n\tvar format = choose_format_for_number(get_formats(country_metadata), number);\r\n\r\n\tif (!format) {\r\n\t\treturn number;\r\n\t}\r\n\r\n\treturn format_national_number_using_format(number, format, format_as === 'International', enforce_national_prefix, country_metadata);\r\n}\r\n\r\nexport function choose_format_for_number(available_formats, national_number) {\r\n\tvar _iteratorNormalCompletion = true;\r\n\tvar _didIteratorError = false;\r\n\tvar _iteratorError = undefined;\r\n\r\n\ttry {\r\n\t\tfor (var _iterator = _getIterator(available_formats), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\r\n\t\t\tvar _format = _step.value;\r\n\r\n\t\t\t// Validate leading digits\r\n\t\t\tif (get_format_leading_digits_patterns(_format).length > 0) {\r\n\t\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\r\n\t\t\t\tvar last_leading_digits_pattern = get_format_leading_digits_patterns(_format)[get_format_leading_digits_patterns(_format).length - 1];\r\n\r\n\t\t\t\t// If leading digits don't match then move on to the next phone number format\r\n\t\t\t\tif (national_number.search(last_leading_digits_pattern) !== 0) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check that the national number matches the phone number format regular expression\r\n\t\t\tif (matches_entirely(national_number, new RegExp(get_format_pattern(_format)))) {\r\n\t\t\t\treturn _format;\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (err) {\r\n\t\t_didIteratorError = true;\r\n\t\t_iteratorError = err;\r\n\t} finally {\r\n\t\ttry {\r\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\r\n\t\t\t\t_iterator.return();\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tif (_didIteratorError) {\r\n\t\t\t\tthrow _iteratorError;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// Removes brackets and replaces dashes with spaces.\r\n//\r\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\r\n//\r\nexport function local_to_international_style(local) {\r\n\treturn local.replace(new RegExp('[' + VALID_PUNCTUATION + ']+', 'g'), ' ').trim();\r\n}\r\n\r\n// Sort out arguments\r\nfunction sort_out_arguments() {\r\n\tvar first_argument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\r\n\tvar second_argument = arguments[1];\r\n\tvar third_argument = arguments[2];\r\n\tvar fourth_argument = arguments[3];\r\n\r\n\tvar input = void 0;\r\n\tvar format_type = void 0;\r\n\tvar metadata = void 0;\r\n\r\n\t// Sort out arguments\r\n\tif (typeof first_argument === 'string') {\r\n\t\t// If country code is supplied\r\n\t\tif (typeof third_argument === 'string') {\r\n\t\t\t// Will be `parse()`d later in code\r\n\t\t\tinput = {\r\n\t\t\t\tphone: first_argument,\r\n\t\t\t\tcountry: second_argument\r\n\t\t\t};\r\n\r\n\t\t\tformat_type = third_argument;\r\n\t\t\tmetadata = fourth_argument;\r\n\t\t}\r\n\t\t// Just an international phone number is supplied\r\n\t\telse {\r\n\t\t\t\t// Will be `parse()`d later in code\r\n\t\t\t\tinput = {\r\n\t\t\t\t\tphone: first_argument\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (typeof second_argument !== 'string') {\r\n\t\t\t\t\tthrow new Error('Format type argument not passed for `format()`');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tformat_type = second_argument;\r\n\t\t\t\tmetadata = third_argument;\r\n\t\t\t}\r\n\t} else {\r\n\t\tinput = first_argument;\r\n\t\tformat_type = second_argument;\r\n\t\tmetadata = third_argument;\r\n\t}\r\n\r\n\t// Sanity check\r\n\tif (!metadata) {\r\n\t\tthrow new Error('Metadata not passed');\r\n\t}\r\n\r\n\tswitch (format_type) {\r\n\t\tcase 'International':\r\n\t\tcase 'International_plaintext':\r\n\t\tcase 'National':\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tthrow new Error('Unknown format type argument passed to \"format()\": \"' + format_type + '\"');\r\n\t}\r\n\r\n\treturn { input: input, format_type: format_type, metadata: metadata };\r\n}\r\n//# sourceMappingURL=format.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/es6/format.js\n// module id = 152\n// module chunks = 3","import parse, { is_viable_phone_number } from './parse';\r\n\r\nimport { matches_entirely } from './common';\r\n\r\nimport { get_national_number_pattern, get_type_fixed_line, get_type_mobile, get_type_toll_free, get_type_premium_rate, get_type_personal_number, get_type_voice_mail, get_type_uan, get_type_pager, get_type_voip, get_type_shared_cost } from './metadata';\r\n\r\n// Finds out national phone number type (fixed line, mobile, etc)\r\nexport default function get_number_type(first_argument, second_argument, third_argument) {\r\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument),\r\n\t    input = _sort_out_arguments.input,\r\n\t    metadata = _sort_out_arguments.metadata;\r\n\r\n\t// Sanity check\r\n\r\n\r\n\tif (!metadata) {\r\n\t\tthrow new Error('Metadata not passed');\r\n\t}\r\n\r\n\t// When no input was passed\r\n\tif (!input) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// When `parse()` returned `{}`\r\n\t// meaning that the phone number is not a valid one.\r\n\tif (!input.country) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar national_number = input.phone;\r\n\tvar country_metadata = metadata.countries[input.country];\r\n\r\n\t// The following is copy-pasted from the original function:\r\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\r\n\r\n\t// Is this national number even valid for this country\r\n\tif (!is_of_type(national_number, get_national_number_pattern(country_metadata))) {\r\n\t\treturn; // 'UNKNOWN'\r\n\t}\r\n\r\n\tif (is_of_type(national_number, get_type_premium_rate(country_metadata))) {\r\n\t\treturn 'PREMIUM_RATE';\r\n\t}\r\n\r\n\tif (is_of_type(national_number, get_type_toll_free(country_metadata))) {\r\n\t\treturn 'TOLL_FREE';\r\n\t}\r\n\r\n\t/* istanbul ignore if */\r\n\tif (is_of_type(national_number, get_type_shared_cost(country_metadata))) {\r\n\t\treturn 'SHARED_COST';\r\n\t}\r\n\r\n\t/* istanbul ignore if */\r\n\tif (is_of_type(national_number, get_type_voip(country_metadata))) {\r\n\t\treturn 'VOIP';\r\n\t}\r\n\r\n\tif (is_of_type(national_number, get_type_personal_number(country_metadata))) {\r\n\t\treturn 'PERSONAL_NUMBER';\r\n\t}\r\n\r\n\t/* istanbul ignore if */\r\n\tif (is_of_type(national_number, get_type_pager(country_metadata))) {\r\n\t\treturn 'PAGER';\r\n\t}\r\n\r\n\t/* istanbul ignore if */\r\n\tif (is_of_type(national_number, get_type_uan(country_metadata))) {\r\n\t\treturn 'UAN';\r\n\t}\r\n\r\n\t/* istanbul ignore if */\r\n\tif (is_of_type(national_number, get_type_voice_mail(country_metadata))) {\r\n\t\treturn 'VOICEMAIL';\r\n\t}\r\n\r\n\t// Is it fixed line number\r\n\tif (is_of_type(national_number, get_type_fixed_line(country_metadata))) {\r\n\t\t// Because duplicate regular expressions are removed\r\n\t\t// to reduce metadata size, if there's no \"mobile\" pattern\r\n\t\t// then it means it was removed due to being a duplicate of some other pattern.\r\n\t\t//\r\n\t\tif (!get_type_mobile(country_metadata)) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE';\r\n\t\t}\r\n\r\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\r\n\t\t// (no such country in the minimal metadata set)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (is_of_type(national_number, get_type_mobile(country_metadata))) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE';\r\n\t\t}\r\n\r\n\t\treturn 'FIXED_LINE';\r\n\t}\r\n\r\n\tif (is_of_type(national_number, get_type_mobile(country_metadata))) {\r\n\t\treturn 'MOBILE';\r\n\t}\r\n\r\n\t// return 'UNKNOWN'\r\n}\r\n\r\nexport function is_of_type(national_number, type) {\r\n\t// // Check if any possible number lengths are present;\r\n\t// // if so, we use them to avoid checking\r\n\t// // the validation pattern if they don't match.\r\n\t// // If they are absent, this means they match\r\n\t// // the general description, which we have\r\n\t// // already checked before a specific number type.\r\n\t// if (get_possible_lengths(type) &&\r\n\t// \tget_possible_lengths(type).indexOf(national_number.length) === -1)\r\n\t// {\r\n\t// \treturn false\r\n\t// }\r\n\r\n\t// get_type_pattern(type) === type\r\n\treturn matches_entirely(national_number, type);\r\n}\r\n\r\n// Sort out arguments\r\nexport function sort_out_arguments(first_argument, second_argument, third_argument) {\r\n\tvar input = void 0;\r\n\tvar metadata = void 0;\r\n\r\n\tif (typeof first_argument === 'string') {\r\n\t\t// If country code is supplied\r\n\t\tif (typeof second_argument === 'string') {\r\n\t\t\tmetadata = third_argument;\r\n\r\n\t\t\t// `parse` extracts phone numbers from raw text,\r\n\t\t\t// therefore it will cut off all \"garbage\" characters,\r\n\t\t\t// while this `validate` function needs to verify\r\n\t\t\t// that the phone number contains no \"garbage\"\r\n\t\t\t// therefore the explicit `is_viable_phone_number` check.\r\n\t\t\tif (is_viable_phone_number(first_argument)) {\r\n\t\t\t\tinput = parse(first_argument, second_argument, metadata);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Just an international phone number is supplied\r\n\t\telse {\r\n\t\t\t\tmetadata = second_argument;\r\n\r\n\t\t\t\t// `parse` extracts phone numbers from raw text,\r\n\t\t\t\t// therefore it will cut off all \"garbage\" characters,\r\n\t\t\t\t// while this `validate` function needs to verify\r\n\t\t\t\t// that the phone number contains no \"garbage\"\r\n\t\t\t\t// therefore the explicit `is_viable_phone_number` check.\r\n\t\t\t\tif (is_viable_phone_number(first_argument)) {\r\n\t\t\t\t\tinput = parse(first_argument, metadata);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t} else {\r\n\t\t// The `first_argument` must be a valid phone number\r\n\t\t// as a whole, not just a part of it which gets parsed here.\r\n\t\tif (first_argument && first_argument.phone && is_viable_phone_number(first_argument.phone)) {\r\n\t\t\tinput = first_argument;\r\n\t\t}\r\n\r\n\t\tmetadata = second_argument;\r\n\t}\r\n\r\n\treturn { input: input, metadata: metadata };\r\n}\r\n//# sourceMappingURL=get number type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/es6/get number type.js\n// module id = 153\n// module chunks = 3","import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nimport { DropdownService } from './dropdown.service';\r\nimport { DropdownConfig } from './dropdown.config';\r\n/**\r\n * Mark dropdown content with this directive\r\n */\r\nexport var DropdownDirective = (function () {\r\n    function DropdownDirective(el, ref, dropdownService, config) {\r\n        /** fired when dropdown toggles, $event:boolean equals dropdown isOpen state */\r\n        this.onToggle = new EventEmitter(false);\r\n        /** fired when isOpen value changes */\r\n        this.isOpenChange = new EventEmitter(false);\r\n        this.addClass = true;\r\n        this._isOpen = false;\r\n        // @Query('dropdownMenu', {descendants: false})\r\n        // dropdownMenuList:QueryList<ElementRef>) {\r\n        this.el = el;\r\n        this._changeDetector = ref;\r\n        this.dropdownService = dropdownService;\r\n        Object.assign(this, config);\r\n        // todo: bind to route change event\r\n    }\r\n    Object.defineProperty(DropdownDirective.prototype, \"isOpen\", {\r\n        /** if `true` dropdown will be opened */\r\n        get: function () {\r\n            return this._isOpen;\r\n        },\r\n        set: function (value) {\r\n            if (this._isOpen === !!value) {\r\n                // don't emit events\r\n                return;\r\n            }\r\n            this._isOpen = !!value;\r\n            // todo: implement after porting position\r\n            // if (this.appendToBody && this.menuEl) {\r\n            //\r\n            // }\r\n            // todo: $animate open<->close transitions, as soon as ng2Animate will be\r\n            // ready\r\n            if (this.isOpen) {\r\n                this.focusToggleElement();\r\n                this.dropdownService.open(this);\r\n            }\r\n            else {\r\n                this.dropdownService.close(this);\r\n                this.selectedOption = void 0;\r\n            }\r\n            this.onToggle.emit(this.isOpen);\r\n            this.isOpenChange.emit(this.isOpen);\r\n            this._changeDetector.markForCheck();\r\n            // todo: implement call to setIsOpen if set and function\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(DropdownDirective.prototype, \"isBs3\", {\r\n        get: function () {\r\n            return isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    DropdownDirective.prototype.ngOnInit = function () {\r\n        if (this.isOpen) {\r\n        }\r\n    };\r\n    DropdownDirective.prototype.ngOnDestroy = function () {\r\n        if (this.appendToBody && this.menuEl) {\r\n            this.menuEl.nativeElement.remove();\r\n        }\r\n    };\r\n    Object.defineProperty(DropdownDirective.prototype, \"dropDownMenu\", {\r\n        set: function (dropdownMenu) {\r\n            // init drop down menu\r\n            this.menuEl = dropdownMenu.el;\r\n            if (this.appendToBody) {\r\n                window.document.body.appendChild(this.menuEl.nativeElement);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(DropdownDirective.prototype, \"dropDownToggle\", {\r\n        set: function (dropdownToggle) {\r\n            // init toggle element\r\n            this.toggleEl = dropdownToggle.el;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    DropdownDirective.prototype.show = function () {\r\n        /** prevent global event handling */\r\n        this.dropdownService.preventEventHandling();\r\n        this.isOpen = true;\r\n    };\r\n    DropdownDirective.prototype.hide = function () {\r\n        /** prevent global event handling */\r\n        this.dropdownService.preventEventHandling();\r\n        this.isOpen = false;\r\n    };\r\n    DropdownDirective.prototype.toggle = function (open) {\r\n        return this.isOpen = arguments.length ? !!open : !this.isOpen;\r\n    };\r\n    DropdownDirective.prototype.focusDropdownEntry = function (keyCode) {\r\n        // If append to body is used.\r\n        var hostEl = this.menuEl ?\r\n            this.menuEl.nativeElement :\r\n            this.el.nativeElement.getElementsByTagName('ul')[0];\r\n        if (!hostEl) {\r\n            // todo: throw exception?\r\n            return;\r\n        }\r\n        var elems = hostEl.getElementsByTagName('a');\r\n        if (!elems || !elems.length) {\r\n            // todo: throw exception?\r\n            return;\r\n        }\r\n        // todo: use parseInt to detect isNumber?\r\n        // todo: or implement selectedOption as a get\\set pair with parseInt on set\r\n        switch (keyCode) {\r\n            case (40):\r\n                if (typeof this.selectedOption !== 'number') {\r\n                    this.selectedOption = 0;\r\n                    break;\r\n                }\r\n                if (this.selectedOption === elems.length - 1) {\r\n                    break;\r\n                }\r\n                this.selectedOption++;\r\n                break;\r\n            case (38):\r\n                if (typeof this.selectedOption !== 'number') {\r\n                    return;\r\n                }\r\n                if (this.selectedOption === 0) {\r\n                    // todo: return?\r\n                    break;\r\n                }\r\n                this.selectedOption--;\r\n                break;\r\n            default:\r\n                break;\r\n        }\r\n        elems[this.selectedOption].focus();\r\n    };\r\n    DropdownDirective.prototype.focusToggleElement = function () {\r\n        if (this.toggleEl) {\r\n            this.toggleEl.nativeElement.focus();\r\n        }\r\n    };\r\n    DropdownDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: '[dropdown]',\r\n                    exportAs: 'bs-dropdown',\r\n                    //tslint:disable-next-line\r\n                    host: { '[class.show]': 'isOpen && !isBs3' }\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DropdownDirective.ctorParameters = function () { return [\r\n        { type: ElementRef, },\r\n        { type: ChangeDetectorRef, },\r\n        { type: DropdownService, },\r\n        { type: DropdownConfig, },\r\n    ]; };\r\n    DropdownDirective.propDecorators = {\r\n        'isOpen': [{ type: HostBinding, args: ['class.open',] }, { type: HostBinding, args: ['class.active',] }, { type: Input },],\r\n        'autoClose': [{ type: Input },],\r\n        'keyboardNav': [{ type: Input },],\r\n        'appendToBody': [{ type: Input },],\r\n        'onToggle': [{ type: Output },],\r\n        'isOpenChange': [{ type: Output },],\r\n        'addClass': [{ type: HostBinding, args: ['class.dropdown',] },],\r\n    };\r\n    return DropdownDirective;\r\n}());\r\n//# sourceMappingURL=dropdown.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/dropdown/dropdown.directive.js\n// module id = 154\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nexport var ALWAYS = 'always';\r\nexport var DISABLED = 'disabled';\r\nexport var OUTSIDECLICK = 'outsideClick';\r\nexport var NONINPUT = 'nonInput';\r\nexport var DropdownService = (function () {\r\n    function DropdownService() {\r\n        this.closeDropdownBind = this.closeDropdown.bind(this);\r\n        this.keybindFilterBind = this.keybindFilter.bind(this);\r\n    }\r\n    DropdownService.prototype.open = function (dropdownScope) {\r\n        if (!this.openScope) {\r\n            window.document.addEventListener('click', this.closeDropdownBind, true);\r\n            window.document.addEventListener('keydown', this.keybindFilterBind);\r\n        }\r\n        if (this.openScope && this.openScope !== dropdownScope) {\r\n            this.openScope.isOpen = false;\r\n        }\r\n        this.openScope = dropdownScope;\r\n    };\r\n    DropdownService.prototype.close = function (dropdownScope) {\r\n        if (this.openScope !== dropdownScope) {\r\n            return;\r\n        }\r\n        this.openScope = void 0;\r\n        window.document.removeEventListener('click', this.closeDropdownBind, true);\r\n        window.document.removeEventListener('keydown', this.keybindFilterBind);\r\n    };\r\n    DropdownService.prototype.preventEventHandling = function () {\r\n        clearTimeout(this.suspendedEvent);\r\n    };\r\n    DropdownService.prototype.closeDropdown = function (event) {\r\n        var _this = this;\r\n        this.suspendedEvent = setTimeout(function () {\r\n            if (!_this.openScope) {\r\n                return;\r\n            }\r\n            if (event && _this.openScope.autoClose === DISABLED) {\r\n                return;\r\n            }\r\n            if (event && _this.openScope.toggleEl &&\r\n                _this.openScope.toggleEl.nativeElement.contains(event.target)) {\r\n                return;\r\n            }\r\n            if (event && _this.openScope.autoClose === NONINPUT &&\r\n                _this.openScope.menuEl &&\r\n                /input|textarea/i.test(event.target.tagName) &&\r\n                _this.openScope.menuEl.nativeElement.contains(event.target)) {\r\n                return;\r\n            }\r\n            if (event && _this.openScope.autoClose === OUTSIDECLICK &&\r\n                _this.openScope.menuEl &&\r\n                _this.openScope.menuEl.nativeElement.contains(event.target)) {\r\n                return;\r\n            }\r\n            if (event) {\r\n                event.preventDefault();\r\n                event.stopPropagation();\r\n            }\r\n            _this.openScope.isOpen = false;\r\n        }, 0);\r\n    };\r\n    DropdownService.prototype.keybindFilter = function (event) {\r\n        if (event.which === 27) {\r\n            this.openScope.focusToggleElement();\r\n            this.closeDropdown(void 0);\r\n            return;\r\n        }\r\n        if (this.openScope.keyboardNav && this.openScope.isOpen &&\r\n            (event.which === 38 || event.which === 40)) {\r\n            event.preventDefault();\r\n            event.stopPropagation();\r\n            this.openScope.focusDropdownEntry(event.which);\r\n        }\r\n    };\r\n    DropdownService.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    DropdownService.ctorParameters = function () { return []; };\r\n    return DropdownService;\r\n}());\r\n//# sourceMappingURL=dropdown.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/dropdown/dropdown.service.js\n// module id = 155\n// module chunks = 3","import { Injectable } from '@angular/core';\r\n/** Provides default values for Pagination and pager components */\r\nexport var PaginationConfig = (function () {\r\n    function PaginationConfig() {\r\n        this.main = {\r\n            maxSize: void 0,\r\n            itemsPerPage: 10,\r\n            boundaryLinks: false,\r\n            directionLinks: true,\r\n            firstText: 'First',\r\n            previousText: 'Previous',\r\n            nextText: 'Next',\r\n            lastText: 'Last',\r\n            pageBtnClass: '',\r\n            rotate: true\r\n        };\r\n        this.pager = {\r\n            itemsPerPage: 15,\r\n            previousText: '« Previous',\r\n            nextText: 'Next »',\r\n            pageBtnClass: '',\r\n            align: true\r\n        };\r\n    }\r\n    PaginationConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    PaginationConfig.ctorParameters = function () { return []; };\r\n    return PaginationConfig;\r\n}());\r\n//# sourceMappingURL=pagination.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/pagination/pagination.config.js\n// module id = 156\n// module chunks = 3","import { Injectable } from '@angular/core';\r\n/**\r\n * Configuration service for the Popover directive.\r\n * You can inject this service, typically in your root component, and customize\r\n * the values of its properties in order to provide default values for all the\r\n * popovers used in the application.\r\n */\r\nexport var PopoverConfig = (function () {\r\n    function PopoverConfig() {\r\n        /**\r\n         * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\r\n         */\r\n        this.placement = 'top';\r\n        /**\r\n         * Specifies events that should trigger. Supports a space separated list of\r\n         * event names.\r\n         */\r\n        this.triggers = 'click';\r\n    }\r\n    PopoverConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    PopoverConfig.ctorParameters = function () { return []; };\r\n    return PopoverConfig;\r\n}());\r\n//# sourceMappingURL=popover.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/popover/popover.config.js\n// module id = 157\n// module chunks = 3","import { Injectable } from '@angular/core';\r\n/** Default values provider for tooltip */\r\nexport var TooltipConfig = (function () {\r\n    function TooltipConfig() {\r\n        /** tooltip placement, supported positions: 'top', 'bottom', 'left', 'right' */\r\n        this.placement = 'top';\r\n        /** array of event names which triggers tooltip opening */\r\n        this.triggers = 'hover focus';\r\n    }\r\n    TooltipConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    TooltipConfig.ctorParameters = function () { return []; };\r\n    return TooltipConfig;\r\n}());\r\n//# sourceMappingURL=tooltip.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tooltip/tooltip.config.js\n// module id = 158\n// module chunks = 3","/*tslint:disable */\r\n/**\r\n * @license\r\n * Copyright Google Inc. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://angular.io/license\r\n */\r\n/**\r\n * JS version of browser APIs. This library can only run in the browser.\r\n */\r\nvar win = typeof window !== 'undefined' && window || {};\r\nexport { win as window };\r\nexport var document = win.document;\r\nexport var location = win.location;\r\nexport var gc = win['gc'] ? function () { return win['gc'](); } : function () { return null; };\r\nexport var performance = win['performance'] ? win['performance'] : null;\r\nexport var Event = win['Event'];\r\nexport var MouseEvent = win['MouseEvent'];\r\nexport var KeyboardEvent = win['KeyboardEvent'];\r\nexport var EventTarget = win['EventTarget'];\r\nexport var History = win['History'];\r\nexport var Location = win['Location'];\r\nexport var EventListener = win['EventListener'];\r\n//# sourceMappingURL=browser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/facade/browser.js\n// module id = 159\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, HostBinding, HostListener, Input, EventEmitter, ChangeDetectorRef } from \"@angular/core\";\r\nvar CalendarItem = (function () {\r\n    function CalendarItem(date) {\r\n        this.date = date;\r\n    }\r\n    return CalendarItem;\r\n}());\r\nexport { CalendarItem };\r\nvar SuiCalendarItem = (function () {\r\n    function SuiCalendarItem(changeDetector) {\r\n        this.changeDetector = changeDetector;\r\n        this.hasFocus = false;\r\n        this.onFocussed = new EventEmitter();\r\n    }\r\n    Object.defineProperty(SuiCalendarItem.prototype, \"isSelectable\", {\r\n        get: function () {\r\n            return this.item.isSelectable;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiCalendarItem.prototype, \"isActive\", {\r\n        get: function () {\r\n            return this.item.isActive;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiCalendarItem.prototype, \"isToday\", {\r\n        get: function () {\r\n            return this.item.isToday;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiCalendarItem.prototype.onMouseMove = function () {\r\n        if (!this.hasFocus) {\r\n            this.hasFocus = true;\r\n            this.onFocussed.emit(this.hasFocus);\r\n        }\r\n    };\r\n    SuiCalendarItem.prototype.onMouseLeave = function () {\r\n        this.hasFocus = false;\r\n        this.onFocussed.emit(this.hasFocus);\r\n    };\r\n    return SuiCalendarItem;\r\n}());\r\n__decorate([\r\n    Input(\"calendarItem\"),\r\n    __metadata(\"design:type\", CalendarItem)\r\n], SuiCalendarItem.prototype, \"item\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.disabled\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiCalendarItem.prototype, \"isSelectable\", null);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiCalendarItem.prototype, \"isActive\", null);\r\n__decorate([\r\n    HostBinding(\"class.today\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiCalendarItem.prototype, \"isToday\", null);\r\n__decorate([\r\n    HostBinding(\"class.focus\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiCalendarItem.prototype, \"hasFocus\", void 0);\r\n__decorate([\r\n    HostListener(\"mousemove\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiCalendarItem.prototype, \"onMouseMove\", null);\r\n__decorate([\r\n    HostListener(\"mouseleave\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiCalendarItem.prototype, \"onMouseLeave\", null);\r\nSuiCalendarItem = __decorate([\r\n    Directive({\r\n        selector: \"[calendarItem]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ChangeDetectorRef])\r\n], SuiCalendarItem);\r\nexport { SuiCalendarItem };\r\n//# sourceMappingURL=calendar-item.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/directives/calendar-item.js\n// module id = 160\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('./Subject');\r\nvar Subscription_1 = require('./Subscription');\r\n/**\r\n * @class AsyncSubject<T>\r\n */\r\nvar AsyncSubject = (function (_super) {\r\n    __extends(AsyncSubject, _super);\r\n    function AsyncSubject() {\r\n        _super.apply(this, arguments);\r\n        this.value = null;\r\n        this.hasNext = false;\r\n        this.hasCompleted = false;\r\n    }\r\n    AsyncSubject.prototype._subscribe = function (subscriber) {\r\n        if (this.hasCompleted && this.hasNext) {\r\n            subscriber.next(this.value);\r\n            subscriber.complete();\r\n            return Subscription_1.Subscription.EMPTY;\r\n        }\r\n        else if (this.hasError) {\r\n            subscriber.error(this.thrownError);\r\n            return Subscription_1.Subscription.EMPTY;\r\n        }\r\n        return _super.prototype._subscribe.call(this, subscriber);\r\n    };\r\n    AsyncSubject.prototype.next = function (value) {\r\n        if (!this.hasCompleted) {\r\n            this.value = value;\r\n            this.hasNext = true;\r\n        }\r\n    };\r\n    AsyncSubject.prototype.complete = function () {\r\n        this.hasCompleted = true;\r\n        if (this.hasNext) {\r\n            _super.prototype.next.call(this, this.value);\r\n        }\r\n        _super.prototype.complete.call(this);\r\n    };\r\n    return AsyncSubject;\r\n}(Subject_1.Subject));\r\nexports.AsyncSubject = AsyncSubject;\r\n//# sourceMappingURL=AsyncSubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/AsyncSubject.js\n// module id = 161\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\n/**\r\n * An error thrown when an element was queried at a certain index of an\r\n * Observable, but no such index or position exists in that sequence.\r\n *\r\n * @see {@link elementAt}\r\n * @see {@link take}\r\n * @see {@link takeLast}\r\n *\r\n * @class ArgumentOutOfRangeError\r\n */\r\nvar ArgumentOutOfRangeError = (function (_super) {\r\n    __extends(ArgumentOutOfRangeError, _super);\r\n    function ArgumentOutOfRangeError() {\r\n        var err = _super.call(this, 'argument out of range');\r\n        this.name = err.name = 'ArgumentOutOfRangeError';\r\n        this.stack = err.stack;\r\n        this.message = err.message;\r\n    }\r\n    return ArgumentOutOfRangeError;\r\n}(Error));\r\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;\r\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/ArgumentOutOfRangeError.js\n// module id = 165\n// module chunks = 3","\"use strict\";\r\nfunction isDate(value) {\r\n    return value instanceof Date && !isNaN(+value);\r\n}\r\nexports.isDate = isDate;\r\n//# sourceMappingURL=isDate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/isDate.js\n// module id = 167\n// module chunks = 3","!function(e,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define([],r):\"object\"==typeof exports?exports.textMaskCore=r():e.textMaskCore=r()}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,\"__esModule\",{value:!0});var o=t(3);Object.defineProperty(r,\"conformToMask\",{enumerable:!0,get:function(){return n(o).default}});var i=t(2);Object.defineProperty(r,\"adjustCaretPosition\",{enumerable:!0,get:function(){return n(i).default}});var a=t(5);Object.defineProperty(r,\"createTextMaskInputElement\",{enumerable:!0,get:function(){return n(a).default}})},function(e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.placeholderChar=\"_\"},function(e,r){\"use strict\";function t(e){var r=e.previousConformedValue,t=void 0===r?o:r,i=e.currentCaretPosition,a=void 0===i?0:i,u=e.conformedValue,l=e.rawValue,f=e.placeholderChar,s=e.placeholder,c=e.indexesOfPipedChars,d=void 0===c?n:c,p=e.caretTrapIndexes,v=void 0===p?n:p;if(0===a)return 0;var h=l.length,m=t.length,g=s.length,y=u.length,C=h-m,b=C>0,j=0===m,O=C>1&&!b&&!j;if(O)return a;var P=b&&(t===u||u===s),x=0;if(P?x=a-C:!function(){for(var e=u.toLowerCase(),r=l.toLowerCase(),t=r.substr(0,a).split(o),n=t.filter(function(r){return e.indexOf(r)!==-1}),i=n[n.length-1],c=d.map(function(r){return e[r]}),p=c.filter(function(e){return e===i}).length,v=n.filter(function(e){return e===i}).length,h=s.substr(0,s.indexOf(f)).split(o).filter(function(e,r){return e===i&&l[r]!==e}).length,m=h+v+p,g=0,C=0;C<y;C++){var b=e[C];if(x=C+1,b===i&&g++,g>=m)break}}(),b){for(var k=x,V=x;V<=g;V++)if(s[V]===f&&(k=V),s[V]===f||v.indexOf(V)!==-1||V===g)return k}else for(var w=x;w>=0;w--)if(s[w-1]===f||v.indexOf(w)!==-1||0===w)return w}Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=t;var n=[],o=\"\"},function(e,r,t){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.guide,u=void 0===n||n,l=t.previousConformedValue,f=void 0===l?a:l,s=t.placeholderChar,c=void 0===s?i.placeholderChar:s,d=t.placeholder,p=void 0===d?(0,o.convertMaskToPlaceholder)(r,c):d,v=t.currentCaretPosition,h=t.keepCharPositions,m=u===!1&&void 0!==f,g=e.length,y=f.length,C=p.length,b=r.length,j=g-y,O=j>0,P=v+(O?-j:0),x=P+Math.abs(j);if(h===!0&&!O){for(var k=a,V=P;V<x;V++)p[V]===c&&(k+=c);e=e.slice(0,P)+k+e.slice(P,g)}for(var w=e.split(a).map(function(e,r){return{char:e,isNew:r>=P&&r<x}}),M=g-1;M>=0;M--){var T=w[M].char;if(T!==c){var _=M>=P&&y===b;T===p[_?M-j:M]&&w.splice(M,1)}}var R=a,S=!1;e:for(var N=0;N<C;N++){var E=p[N];if(E===c){if(w.length>0)for(;w.length>0;){var I=w.shift(),J=I.char,A=I.isNew;if(J===c&&m!==!0){R+=c;continue e}if(r[N].test(J)){if(h===!0&&A!==!1&&f!==a&&u!==!1&&O){for(var L=w.length,W=null,q=0;q<L;q++){var z=w[q];if(z.char!==c&&z.isNew===!1)break;if(z.char===c){W=q;break}}null!==W?(R+=J,w.splice(W,1)):N--}else R+=J;continue e}S=!0}m===!1&&(R+=p.substr(N,C));break}R+=E}if(m&&O===!1){for(var B=null,D=0;D<R.length;D++)p[D]===c&&(B=D);R=null!==B?R.substr(0,B+1):a}return{conformedValue:R,meta:{someCharsRejected:S}}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=n;var o=t(4),i=t(1),a=\"\"},function(e,r,t){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.placeholderChar;if(e.indexOf(r)!==-1)throw new Error(\"Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\\n\\n\"+(\"The placeholder character that was received is: \"+JSON.stringify(r)+\"\\n\\n\")+(\"The mask that was received is: \"+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?r:e}).join(\"\")}function o(e){return\"string\"==typeof e||e instanceof String}function i(e){return\"number\"==typeof e&&void 0===e.length&&!isNaN(e)}function a(e){for(var r=[],t=void 0;t=e.indexOf(f),t!==-1;)r.push(t),e.splice(t,1);return{maskWithoutCaretTraps:e,indexes:r}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.convertMaskToPlaceholder=n,r.isString=o,r.isNumber=i,r.processCaretTraps=a;var u=t(1),l=[],f=\"[]\"},function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var r=e.inputElement,t=e.mask,n=e.guide,o=e.pipe,f=e.placeholderChar,c=void 0===f?v.placeholderChar:f,g=e.onAccept,C=e.onReject,b=e.keepCharPositions,j=void 0!==b&&b;(\"undefined\"==typeof t?\"undefined\":l(t))===y&&void 0!==t.pipe&&void 0!==t.mask&&(o=t.pipe,t=t.mask);var O={previousConformedValue:m,previousOnRejectRawValue:m},P=void 0,x=void 0;return t instanceof Array&&(P=(0,p.convertMaskToPlaceholder)(t,c)),{state:O,update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.value;if(e!==O.previousConformedValue){var f=a(e),v=r.selectionStart,y=O.previousConformedValue,b=void 0;if((\"undefined\"==typeof t?\"undefined\":l(t))===h){x=t(f,{currentCaretPosition:v,previousConformedValue:y,placeholderChar:c});var k=(0,p.processCaretTraps)(x),V=k.maskWithoutCaretTraps,w=k.indexes;x=V,b=w,P=(0,p.convertMaskToPlaceholder)(x,c)}else x=t;var M={previousConformedValue:y,guide:n,placeholderChar:c,pipe:o,placeholder:P,currentCaretPosition:v,keepCharPositions:j},T=(0,d.default)(f,x,M),_=T.conformedValue,R=T.meta.someCharsRejected,S=(\"undefined\"==typeof o?\"undefined\":l(o))===h,N={};S&&(N=o(_,u({rawValue:f},M)),N===!1?N={value:y,rejected:!0}:(0,p.isString)(N)&&(N={value:N}));var E=S?N.value:_,I=(0,s.default)({previousConformedValue:y,conformedValue:E,placeholder:P,rawValue:f,currentCaretPosition:v,placeholderChar:c,indexesOfPipedChars:N.indexesOfPipedChars,caretTrapIndexes:b}),J=E===P&&0===I,A=J?m:E;if(O.previousConformedValue=A,r.value!==A){r.value=A,i(r,I),(\"undefined\"==typeof g?\"undefined\":l(g))===h&&A!==y&&A!==P&&(O.previousOnRejectRawValue=null,g());var L=f.length<y.length;(\"undefined\"==typeof C?\"undefined\":l(C))===h&&(R||N.rejected)&&L===!1&&O.previousOnRejectRawValue!==e&&(O.previousOnRejectRawValue=e,C({conformedValue:E,pipeRejection:N.rejected,maskRejection:R}))}}}}}function i(e,r){document.activeElement===e&&e.setSelectionRange(r,r,g)}function a(e){if((0,p.isString)(e))return e;if((0,p.isNumber)(e))return String(e);if(void 0===e||null===e)return m;throw new Error(\"The 'value' provided to Text Mask needs to be a string or a number. The value received was:\\n\\n \"+JSON.stringify(e))}Object.defineProperty(r,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};r.default=o;var f=t(2),s=n(f),c=t(3),d=n(c),p=t(4),v=t(1),h=\"function\",m=\"\",g=\"none\",y=\"object\"}])});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/text-mask-core/dist/textMaskCore.js\n// module id = 168\n// module chunks = 3","/**\r\n * @license\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://raw.githubusercontent.com/l-lin/angular-datatables/master/LICENSE\r\n */\r\n/**\r\n * @module\r\n * @description\r\n * Entry point from which you should import all public library APIs.\r\n */\r\nexport { DataTableDirective } from './src/angular-datatables.directive';\r\nexport { DataTablesModule } from './src/angular-datatables.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular-datatables/index.js\n// module id = 171\n// module chunks = 3","/* FileSaver.js\r\n * A saveAs() FileSaver implementation.\r\n * 1.3.2\r\n * 2016-06-16 18:25:19\r\n *\r\n * By Eli Grey, http://eligrey.com\r\n * License: MIT\r\n *   See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\r\n */\r\n\r\n/*global self */\r\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\r\n\r\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\r\n\r\nvar saveAs = saveAs || (function(view) {\r\n\t\"use strict\";\r\n\t// IE <10 is explicitly unsupported\r\n\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\r\n\t\treturn;\r\n\t}\r\n\tvar\r\n\t\t  doc = view.document\r\n\t\t  // only get URL when necessary in case Blob.js hasn't overridden it yet\r\n\t\t, get_URL = function() {\r\n\t\t\treturn view.URL || view.webkitURL || view;\r\n\t\t}\r\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\r\n\t\t, can_use_save_link = \"download\" in save_link\r\n\t\t, click = function(node) {\r\n\t\t\tvar event = new MouseEvent(\"click\");\r\n\t\t\tnode.dispatchEvent(event);\r\n\t\t}\r\n\t\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\r\n\t\t, is_chrome_ios =/CriOS\\/[\\d]+/.test(navigator.userAgent)\r\n\t\t, throw_outside = function(ex) {\r\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\r\n\t\t\t\tthrow ex;\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\t, force_saveable_type = \"application/octet-stream\"\r\n\t\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\r\n\t\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\r\n\t\t, revoke = function(file) {\r\n\t\t\tvar revoker = function() {\r\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\r\n\t\t\t\t\tget_URL().revokeObjectURL(file);\r\n\t\t\t\t} else { // file is a File\r\n\t\t\t\t\tfile.remove();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\r\n\t\t}\r\n\t\t, dispatch = function(filesaver, event_types, event) {\r\n\t\t\tevent_types = [].concat(event_types);\r\n\t\t\tvar i = event_types.length;\r\n\t\t\twhile (i--) {\r\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\r\n\t\t\t\tif (typeof listener === \"function\") {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\r\n\t\t\t\t\t} catch (ex) {\r\n\t\t\t\t\t\tthrow_outside(ex);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t, auto_bom = function(blob) {\r\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\r\n\t\t\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\r\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\r\n\t\t\t\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\r\n\t\t\t}\r\n\t\t\treturn blob;\r\n\t\t}\r\n\t\t, FileSaver = function(blob, name, no_auto_bom) {\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\t// First try a.download, then web filesystem, then object URLs\r\n\t\t\tvar\r\n\t\t\t\t  filesaver = this\r\n\t\t\t\t, type = blob.type\r\n\t\t\t\t, force = type === force_saveable_type\r\n\t\t\t\t, object_url\r\n\t\t\t\t, dispatch_all = function() {\r\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\r\n\t\t\t\t}\r\n\t\t\t\t// on any filesys errors revert to saving with object URLs\r\n\t\t\t\t, fs_error = function() {\r\n\t\t\t\t\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\r\n\t\t\t\t\t\t// Safari doesn't allow downloading of blob urls\r\n\t\t\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\t\t\treader.onloadend = function() {\r\n\t\t\t\t\t\t\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');\r\n\t\t\t\t\t\t\tvar popup = view.open(url, '_blank');\r\n\t\t\t\t\t\t\tif(!popup) view.location.href = url;\r\n\t\t\t\t\t\t\turl=undefined; // release reference before dispatching\r\n\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treader.readAsDataURL(blob);\r\n\t\t\t\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// don't create more object URLs than needed\r\n\t\t\t\t\tif (!object_url) {\r\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (force) {\r\n\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar opened = view.open(object_url, \"_blank\");\r\n\t\t\t\t\t\tif (!opened) {\r\n\t\t\t\t\t\t\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\r\n\t\t\t\t\t\t\tview.location.href = object_url;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t}\r\n\t\t\t;\r\n\t\t\tfilesaver.readyState = filesaver.INIT;\r\n\r\n\t\t\tif (can_use_save_link) {\r\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tsave_link.href = object_url;\r\n\t\t\t\t\tsave_link.download = name;\r\n\t\t\t\t\tclick(save_link);\r\n\t\t\t\t\tdispatch_all();\r\n\t\t\t\t\trevoke(object_url);\r\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tfs_error();\r\n\t\t}\r\n\t\t, FS_proto = FileSaver.prototype\r\n\t\t, saveAs = function(blob, name, no_auto_bom) {\r\n\t\t\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\r\n\t\t}\r\n\t;\r\n\t// IE 10+ (native saveAs)\r\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\r\n\t\treturn function(blob, name, no_auto_bom) {\r\n\t\t\tname = name || blob.name || \"download\";\r\n\r\n\t\t\tif (!no_auto_bom) {\r\n\t\t\t\tblob = auto_bom(blob);\r\n\t\t\t}\r\n\t\t\treturn navigator.msSaveOrOpenBlob(blob, name);\r\n\t\t};\r\n\t}\r\n\r\n\tFS_proto.abort = function(){};\r\n\tFS_proto.readyState = FS_proto.INIT = 0;\r\n\tFS_proto.WRITING = 1;\r\n\tFS_proto.DONE = 2;\r\n\r\n\tFS_proto.error =\r\n\tFS_proto.onwritestart =\r\n\tFS_proto.onprogress =\r\n\tFS_proto.onwrite =\r\n\tFS_proto.onabort =\r\n\tFS_proto.onerror =\r\n\tFS_proto.onwriteend =\r\n\t\tnull;\r\n\r\n\treturn saveAs;\r\n}(\r\n\t   typeof self !== \"undefined\" && self\r\n\t|| typeof window !== \"undefined\" && window\r\n\t|| this.content\r\n));\r\n// `self` is undefined in Firefox for Android content script context\r\n// while `this` is nsIContentFrameMessageManager\r\n// with an attribute `content` that corresponds to the window\r\n\r\nif (typeof module !== \"undefined\" && module.exports) {\r\n  module.exports.saveAs = saveAs;\r\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd !== null)) {\r\n  define(\"FileSaver.js\", function() {\r\n    return saveAs;\r\n  });\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/file-saver/FileSaver.js\n// module id = 172\n// module chunks = 3","export * from \"./behaviors/public\";\r\nexport * from \"./collections/public\";\r\nexport * from \"./modules/public\";\r\nexport * from \"./misc/public\";\r\nexport { SuiModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/public.js\n// module id = 173\n// module chunks = 3","/**\r\n * @namespace Chart\r\n */\r\nvar Chart = require('./core/core')();\r\n\r\nChart.helpers = require('./helpers/index');\r\n\r\n// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!\r\nrequire('./core/core.helpers')(Chart);\r\n\r\nChart.defaults = require('./core/core.defaults');\r\nChart.Element = require('./core/core.element');\r\nChart.elements = require('./elements/index');\r\nChart.Interaction = require('./core/core.interaction');\r\nChart.layouts = require('./core/core.layouts');\r\nChart.platform = require('./platforms/platform');\r\nChart.plugins = require('./core/core.plugins');\r\nChart.Ticks = require('./core/core.ticks');\r\n\r\nrequire('./core/core.animation')(Chart);\r\nrequire('./core/core.controller')(Chart);\r\nrequire('./core/core.datasetController')(Chart);\r\nrequire('./core/core.scaleService')(Chart);\r\nrequire('./core/core.scale')(Chart);\r\nrequire('./core/core.tooltip')(Chart);\r\n\r\nrequire('./scales/scale.linearbase')(Chart);\r\nrequire('./scales/scale.category')(Chart);\r\nrequire('./scales/scale.linear')(Chart);\r\nrequire('./scales/scale.logarithmic')(Chart);\r\nrequire('./scales/scale.radialLinear')(Chart);\r\nrequire('./scales/scale.time')(Chart);\r\n\r\n// Controllers must be loaded after elements\r\n// See Chart.core.datasetController.dataElementType\r\nrequire('./controllers/controller.bar')(Chart);\r\nrequire('./controllers/controller.bubble')(Chart);\r\nrequire('./controllers/controller.doughnut')(Chart);\r\nrequire('./controllers/controller.line')(Chart);\r\nrequire('./controllers/controller.polarArea')(Chart);\r\nrequire('./controllers/controller.radar')(Chart);\r\nrequire('./controllers/controller.scatter')(Chart);\r\n\r\nrequire('./charts/Chart.Bar')(Chart);\r\nrequire('./charts/Chart.Bubble')(Chart);\r\nrequire('./charts/Chart.Doughnut')(Chart);\r\nrequire('./charts/Chart.Line')(Chart);\r\nrequire('./charts/Chart.PolarArea')(Chart);\r\nrequire('./charts/Chart.Radar')(Chart);\r\nrequire('./charts/Chart.Scatter')(Chart);\r\n\r\n// Loading built-it plugins\r\nvar plugins = require('./plugins');\r\nfor (var k in plugins) {\r\n\tif (plugins.hasOwnProperty(k)) {\r\n\t\tChart.plugins.register(plugins[k]);\r\n\t}\r\n}\r\n\r\nChart.platform.initialize();\r\n\r\nmodule.exports = Chart;\r\nif (typeof window !== 'undefined') {\r\n\twindow.Chart = Chart;\r\n}\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Legend\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.Legend = plugins.legend._element;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Title\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.Title = plugins.title._element;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.plugins instead\r\n * @namespace Chart.pluginService\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.pluginService = Chart.plugins;\r\n\r\n/**\r\n * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\r\n * effect, instead simply create/register plugins via plain JavaScript objects.\r\n * @interface Chart.PluginBase\r\n * @deprecated since version 2.5.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.PluginBase = Chart.Element.extend({});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas instead.\r\n * @namespace Chart.canvasHelpers\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.canvasHelpers = Chart.helpers.canvas;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.layouts instead.\r\n * @namespace Chart.layoutService\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.layoutService = Chart.layouts;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/chart.js\n// module id = 174\n// module chunks = 3","var global    = require('./_global')\r\n  , core      = require('./_core')\r\n  , ctx       = require('./_ctx')\r\n  , hide      = require('./_hide')\r\n  , PROTOTYPE = 'prototype';\r\n\r\nvar $export = function(type, name, source){\r\n  var IS_FORCED = type & $export.F\r\n    , IS_GLOBAL = type & $export.G\r\n    , IS_STATIC = type & $export.S\r\n    , IS_PROTO  = type & $export.P\r\n    , IS_BIND   = type & $export.B\r\n    , IS_WRAP   = type & $export.W\r\n    , exports   = IS_GLOBAL ? core : core[name] || (core[name] = {})\r\n    , expProto  = exports[PROTOTYPE]\r\n    , target    = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\r\n    , key, own, out;\r\n  if(IS_GLOBAL)source = name;\r\n  for(key in source){\r\n    // contains in native\r\n    own = !IS_FORCED && target && target[key] !== undefined;\r\n    if(own && key in exports)continue;\r\n    // export native or passed\r\n    out = own ? target[key] : source[key];\r\n    // prevent global pollution for namespaces\r\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\r\n    // bind timers to global for call from export context\r\n    : IS_BIND && own ? ctx(out, global)\r\n    // wrap global constructors for prevent change them in library\r\n    : IS_WRAP && target[key] == out ? (function(C){\r\n      var F = function(a, b, c){\r\n        if(this instanceof C){\r\n          switch(arguments.length){\r\n            case 0: return new C;\r\n            case 1: return new C(a);\r\n            case 2: return new C(a, b);\r\n          } return new C(a, b, c);\r\n        } return C.apply(this, arguments);\r\n      };\r\n      F[PROTOTYPE] = C[PROTOTYPE];\r\n      return F;\r\n    // make static versions for prototype methods\r\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\r\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\r\n    if(IS_PROTO){\r\n      (exports.virtual || (exports.virtual = {}))[key] = out;\r\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\r\n      if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\r\n    }\r\n  }\r\n};\r\n// type bitmap\r\n$export.F = 1;   // forced\r\n$export.G = 2;   // global\r\n$export.S = 4;   // static\r\n$export.P = 8;   // proto\r\n$export.B = 16;  // bind\r\n$export.W = 32;  // wrap\r\n$export.U = 64;  // safe\r\n$export.R = 128; // real proto method for `library` \r\nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 175\n// module chunks = 3","export { TzPipe } from \"./tz.pipe\";\r\nexport { MomentTimezoneModule } from \"./moment-timezone.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular-moment-timezone/index.js\n// module id = 176\n// module chunks = 3","import {OnInit, AfterContentInit, AfterViewInit, ViewEncapsulation, Component, Input, ViewChild, ElementRef} from '@angular/core';\r\nimport {AppState} from '../../../../app.service';\r\nimport {Helpers} from '../../../../app.helpers';\r\nimport {parametrosModalSolicitud} from '../../modalsolicitud';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\nimport {Config, ConfigERP} from '../../../../configERP';\r\nimport {StorageService} from \"app/directives/storage.service\";\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'dictamenpestana',\r\n    template: require('./dictamenpestana.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DictamenpestanaComponent implements OnInit, AfterContentInit, AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud; //Objecto que contiene todos los parametros a bindear en los componenetes\r\n    version: number;\r\n    modoModal: boolean;\r\n\r\n    @ViewChild('dictamen') dictamen: ElementRef;\r\n    @ViewChild('modalDictamen') public modalDictamen: ModalDirective;\r\n    @ViewChild('cartas') cartas: ElementRef;\r\n    @ViewChild('modalCartas') public modalCartas: ModalDirective;\r\n    @ViewChild('cita') cita: ElementRef;\r\n    @ViewChild('modalCita') public modalCita: ModalDirective;\r\n\r\n    FormDictamen: FormGroup;\r\n    FormCartas: FormGroup;\r\n    FormCita: FormGroup;\r\n    FormCambioGrado: FormGroup;\r\n    submitted: boolean = false;\r\n    @ViewChild('hora') hora: ElementRef;\r\n\r\n    CartasSelect: any[];\r\n    Factoresarray: any[];\r\n\r\n    grados: any[];\r\n    booleancartas: boolean = false;\r\n\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject();\r\n    dtTrigger2 = new Subject();\r\n\r\n    constructor(private _fb: FormBuilder, \r\n        private sanitizer: DomSanitizer, \r\n        private _httpService: AppState,\r\n        private storage: StorageService, \r\n        private _config: ConfigERP, \r\n        public helpers: Helpers) {\r\n        var config: Config = this._config.getConfig();\r\n        this.version = config.version;\r\n    }\r\n\r\n    ngOnInit() {\r\n        if (!this.parametrosModalSolicitud.modoIndividual) {\r\n            this.modalDictamen.onHidden.subscribe(() => {\r\n                $('body').addClass('modal-open');\r\n            });\r\n            this.modalCartas.onHidden.subscribe(() => {\r\n                $('body').addClass('modal-open');\r\n            });\r\n        }\r\n        (this.parametrosModalSolicitud.modalGenerica.element.nativeElement as HTMLElement).appendChild(this.dictamen.nativeElement);\r\n        (this.parametrosModalSolicitud.modalGenerica.element.nativeElement as HTMLElement).appendChild(this.cartas.nativeElement);\r\n        (this.parametrosModalSolicitud.modalGenerica.element.nativeElement as HTMLElement).appendChild(this.cita.nativeElement);\r\n        this.dtOptions = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [0], \"searchable\": false, \"orderable\": false}],\r\n            order: [1, 'asc'],\r\n            initComplete: () => {\r\n                $(\"#tablaFactoresdisponibles\").parent().find(\".dataTables_filter\").css(\"float\", \"left\");\r\n            },\r\n        };\r\n        this.FormDictamen = this._fb.group({\r\n            usuarioid: [this.storage.getItem(\"usuarioid\")],\r\n            estatusid: [, <any> Validators.required],\r\n            motivo: [],\r\n            cartaid: []\r\n        });\r\n        this.FormCambioGrado = this._fb.group({\r\n            solicitudid: [],\r\n            nivelid: [, <any> Validators.required],\r\n            gradoid: [, <any> Validators.required]\r\n        });\r\n        this.FormCartas = this._fb.group({\r\n            cartaid: [, <any> Validators.required],\r\n        });\r\n        this.FormCita = this._fb.group({\r\n            fecha: [, <any> Validators.required],\r\n            hora: [, <any> Validators.required],\r\n            evaluadorid: [, <any> Validators.required]\r\n        });\r\n\r\n        var mintime = (JSON.parse(this.storage.getItem(\"parametros\")) as any[]).find(x => x.parametrosid == 1);\r\n        var maxtime = (JSON.parse(this.storage.getItem(\"parametros\")) as any[]).find(x => x.parametrosid == 2);\r\n        $(this.hora.nativeElement).bootstrapMaterialDatePicker({\r\n            lang: 'es',\r\n            format: 'HH:mm',\r\n            date: false,\r\n            minDate: new Date('1991/1/1 ' + mintime.valor),\r\n            maxDate: new Date('1991/1/1 ' + maxtime.valor)\r\n        }).on('change', (e, date) => {\r\n            this.FormCita.get(\"hora\").setValue(date.format(\"HH:mm\"));\r\n        });\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        if (!this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.dictamen || !this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas) {\r\n            this.datosIniciales();\r\n        } else {\r\n            this.filtrarFactores();\r\n            this.filtrarCartas();\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTrigger.next();\r\n        this.dtTrigger2.next();\r\n    }\r\n\r\n    datosIniciales() {\r\n        this._httpService.getElemento('Solicitud/Dictaminacion/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.EstatusSelect = result.body.estatus;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.CartaSelect = result.body.cartas;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.FactoresapoyoSelect = result.body.factorapoyo;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.NivelSelect = result.body.niveles;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.GradoFull = result.body.grados;\r\n                    let evaluador: any[] = [];\r\n                    (result.body.evaluador as any[]).forEach((x) => {\r\n                        evaluador.push({\r\n                            evaluadorid: x.usuarioid.personaid.personaid,\r\n                            nombre: x.usuarioid.personaid.nombre + \" \" + x.usuarioid.personaid.apellidopaterno\r\n                        })\r\n                    })\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.EvaluadorSelect = evaluador;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.dictamen = result.body.dictaminacion;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas = result.body.cartassolicitud;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados = result.body.entregaresultados;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.factoresapoyo = result.body.solicitudfactores;\r\n                    this.filtrarFactores();\r\n                    this.filtrarCartas();\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    loadCartas(e) {\r\n        if (e == 6) {\r\n            this.booleancartas = true;\r\n            this.FormDictamen.get(\"cartaid\").setValidators([Validators.required]);\r\n        } else {\r\n            this.booleancartas = false;\r\n        }\r\n    }\r\n\r\n    filtrarFactores() {\r\n        $(\"#tablaFactoresasignados\").dataTable().fnDestroy();\r\n        this.dtTrigger2.next();\r\n        $(\"#tablaFactoresdisponibles\").dataTable().fnDestroy();\r\n        this.Factoresarray = [];\r\n        this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.FactoresapoyoSelect.forEach((y) => {\r\n            let index = this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.factoresapoyo.findIndex(x => y.factores.factoresapoyoid == x.factoresapoyoid.factoresapoyoid);\r\n            index == -1 ? this.Factoresarray.push(y) : null;\r\n        });\r\n        this.dtTrigger.next();\r\n    }\r\n\r\n    filtrarCartas() {\r\n        this.CartasSelect = [];\r\n        this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.CartaSelect.forEach((y) => {\r\n            let index = this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas.findIndex(x => y.formatoid == x.cartaid.formatoid);\r\n            index == -1 ? this.CartasSelect.push(y) : null;\r\n        });\r\n    }\r\n\r\n    formatofecha(fecha: string) {\r\n        let f = new Date(fecha);\r\n        return f.getDate() + \"/\" + (f.getMonth() + 1) + \"/\" + f.getFullYear();\r\n    }\r\n\r\n    cancelarDictamen() {\r\n        this.FormDictamen.reset({usuarioid: this.storage.getItem(\"usuarioid\")});\r\n        this.parametrosModalSolicitud.buscar = true;\r\n        this.modalDictamen.hide();\r\n        this.submitted = false;\r\n    }\r\n\r\n    guardarDictamen() {\r\n        this.submitted = true;\r\n        if (!this.FormDictamen.get(\"estatusid\").valid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n        this._httpService.postElemento('Solicitud/Dictaminacion/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid, this.FormDictamen.value).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.dictamen = result.body.dictaminacion;\r\n                    this.parametrosModalSolicitud.entidad.estatussolicitudid = result.body.estatus;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas = result.body.cartas;\r\n                    this.booleancartas = false;\r\n                    Messenger().post({\r\n                        message: result.body.msj,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n\r\n                    this.cancelarDictamen();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"No se pudo comunicar con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    loadgrado(e: any) {\r\n        this.FormCambioGrado.get(\"gradoid\").setValue(null);\r\n        this.grados = this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.GradoFull.filter(x => x.nivelid.nivelid == e);\r\n    }\r\n\r\n    guardarCambioGrado() {\r\n        this.submitted = true;\r\n        if (this.FormCambioGrado.invalid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n        let datos = this.FormCambioGrado.value;\r\n        datos.solicitudid = this.parametrosModalSolicitud.entidad.solicitudadmisionid\r\n\r\n        this._httpService.postElemento('Solicitud/CambioGrado/Dictamen', datos).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: \"Se ha guardado los datos.\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    let grado = this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.GradoFull.find(x => x.gradoid == this.FormCambioGrado.get(\"gradoid\").value);\r\n                    this.parametrosModalSolicitud.entidad.gradoid = grado;\r\n                    this.FormCambioGrado.reset();\r\n                } if (result.status == 206) {\r\n                    Messenger().post({\r\n                        message: \"\" + result.body.mensaje,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n\r\n            }\r\n        );\r\n    }\r\n\r\n    cancelarCarta() {\r\n        this.FormCartas.reset();\r\n        this.modalCartas.hide();\r\n        this.submitted = false;\r\n    }\r\n\r\n    guardarCarta() {\r\n        this.submitted = true;\r\n        if (!this.FormCartas.valid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n        this._httpService.postElemento('Solicitud/Dictaminacion/Cartas/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid, this.FormCartas.value).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas = result.body.cartassolicitud;\r\n                    this.filtrarCartas();\r\n                    Messenger().post({\r\n                        message: result.body.msj,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.cancelarCarta();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"No se pudo comunicar con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    eliminarCarta(id: number) {\r\n        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n            message: \"Confirme que desea eliminar un registro\",\r\n            hideAfter: false,\r\n            actions: {\r\n                delete: {\r\n                    label: \"Eliminar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                        this._httpService.deleteElemento('Solicitud/Dictaminacion/Cartas', id).subscribe(\r\n                            result => {\r\n                                if (result.status == 200) {\r\n                                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas = result.body.cartassolicitud;\r\n                                    this.filtrarCartas();\r\n                                    Messenger().post({\r\n                                        message: result.body.msj,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                } else {\r\n                                    Messenger().post({\r\n                                        message: result.body,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                }\r\n                            },\r\n                            error => {\r\n                                Messenger().post({\r\n                                    message: \"No se pudo comunicar con el servidor\",\r\n                                    type: 'error',\r\n                                    showCloseButton: true\r\n                                });\r\n                            }\r\n                        );\r\n                    }\r\n                },\r\n                cancel: {\r\n                    label: \"Cancelar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    cancelarCita() {\r\n        this.FormCita.reset();\r\n        this.modalCita.hide();\r\n        this.submitted = false;\r\n    }\r\n\r\n    guardarCita() {\r\n        this.submitted = true;\r\n        if (!this.FormCita.valid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n        this._httpService.postElemento('Solicitud/Entregaresultados/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid, this.FormCita.value).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados = result.body.entregaresultados;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas = result.body.cartassolicitud;\r\n                    Messenger().post({\r\n                        message: result.body.msj,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.cancelarCita();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"No se pudo comunicar con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    eliminarCitaresultados(id: number) {\r\n        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n            message: \"Confirme que desea eliminar un registro\",\r\n            hideAfter: false,\r\n            actions: {\r\n                delete: {\r\n                    label: \"Eliminar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                        this._httpService.deleteElemento('Solicitud/Entregaresultados', id).subscribe(\r\n                            result => {\r\n                                if (result.status == 200) {\r\n                                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados = result.body.entregaresultados;\r\n                                    Messenger().post({\r\n                                        message: result.body.msj,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                } else {\r\n                                    Messenger().post({\r\n                                        message: result.body,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                }\r\n                            },\r\n                            error => {\r\n                                Messenger().post({\r\n                                    message: \"No se pudo comunicar con el servidor\",\r\n                                    type: 'error',\r\n                                    showCloseButton: true\r\n                                });\r\n                            }\r\n                        );\r\n                    }\r\n                },\r\n                cancel: {\r\n                    label: \"Cancelar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    selectall(e: any) {\r\n        var check = $(e.srcElement).is(':checked');\r\n        var rows = $(e.srcElement).closest(\"table\").dataTable().api().rows({page: 'all', search: 'applied'}).nodes();\r\n        $('input[class=\"all labelCheckBox\"]', rows).prop('checked', check);\r\n    }\r\n\r\n    asignarFactores() {\r\n        var seleccionado = $($(\"#tablaFactoresdisponibles\").dataTable().api().column(0).nodes()).find(\"input[class='all labelCheckBox']:checked:enabled\");\r\n        if (seleccionado.length == 0) {\r\n            Messenger().post({\r\n                message: 'Debes seleccionar minimo un elemento para esta opción',\r\n                type: 'success',\r\n                showCloseButton: true\r\n            });\r\n            return false;\r\n        }\r\n        var factoresid = [];\r\n        for (let s of seleccionado) {\r\n            factoresid.push(s.value);\r\n        }\r\n        let datos = {factoresid: factoresid};\r\n        this.submitted = false;\r\n        this._httpService.postElemento('Solicitud/Areafortalecer/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid, datos).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.factoresapoyo = result.body.solicitudfactores;\r\n                    this.filtrarFactores();\r\n                    Messenger().post({\r\n                        message: result.body.msj,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"No se pudo comunicar con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    eliminarFactores() {\r\n        var seleccionado = $($(\"#tablaFactoresasignados\").dataTable().api().column(0).nodes()).find(\"input[class='all labelCheckBox']:checked:enabled\");\r\n        if (seleccionado.length == 0) {\r\n            Messenger().post({\r\n                message: 'Debes seleccionar minimo un elemento para esta opción',\r\n                type: 'success',\r\n                showCloseButton: true\r\n            });\r\n            return false;\r\n        }\r\n        var factoresid = [];\r\n        for (let s of seleccionado) {\r\n            factoresid.push(s.value);\r\n        }\r\n        let datos = {factoresid: factoresid};\r\n        this.submitted = false;\r\n        this._httpService.putElemento('Solicitud/Areafortalecer/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid, datos).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaDictamen.dictaminacion.factoresapoyo = result.body.solicitudfactores;\r\n                    this.filtrarFactores();\r\n                    Messenger().post({\r\n                        message: result.body.msj,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"No se pudo comunicar con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    metodohtml(html) {\r\n        return this.sanitizer.bypassSecurityTrustHtml(html);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/dictamen/dictamenpestana/dictamenpestana.component.ts","import {OnInit, ViewEncapsulation, Component, Input, ComponentRef, ViewChild, ViewContainerRef, ComponentFactory, ComponentFactoryResolver, } from '@angular/core';\r\nimport {AppState} from '../../../../app.service';\r\nimport {parametrosModalSolicitud} from '../../modalsolicitud';\r\nimport {ConfigERP, Config} from \"../../../../configERP\";\r\nimport * as moment from 'moment'\r\nmoment.locale('es')\r\nimport { FichaGeneralComponent } from 'app/componenetesgenerales/dictamen/ficha/ficha.component';\r\n\r\n\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'ficha',\r\n    template: require('./ficha.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FichaComponent implements OnInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud; //Objecto que contiene todos los parametros a bindear en los componenetes\r\n\r\n    cartasBI: any;\r\n    cartas: any;\r\n    sistema: any;\r\n    arrayEntrevista: any;\r\n    FichaGeneral: any = []\r\n    arrayPsicometrico: any;\r\n\r\n    componentRef: ComponentRef<any>; // Contenedor\r\n\r\n    @ViewChild(\"containerFicha\", {read: ViewContainerRef}) containerFicha;\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(private _httpService: AppState, private _config: ConfigERP, private _cfr: ComponentFactoryResolver) {\r\n        var config: Config = this._config.getConfig();\r\n        this.sistema = config.version;\r\n    }\r\n\r\n    ngOnInit() {\r\n        if (this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral) {\r\n            this.FichaGeneral = this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral;\r\n            this.arrayEntrevista = this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIEntrevista;\r\n            this.arrayPsicometrico = this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIPsicometrico;\r\n            this.openFicha()\r\n        } else {\r\n            this.ficha();\r\n        }\r\n    }\r\n\r\n    formatValue(value: any, key: any, index: number) {\r\n        let tipo = 1\r\n        this.FichaGeneral[index].tipos.filter(x => {\r\n            if (x.columna == key) {\r\n                tipo = x.tipo\r\n            }\r\n        })\r\n        let result = value;\r\n        if (tipo == 1) {\r\n            result = (value) ? value : '';\r\n        }\r\n        if (tipo == 2) {\r\n            result = (moment(value).isValid()) ? moment(value).format('L') : 'Fecha no proporcionada';\r\n            if (result == 'Fecha no proporcionada' && value !== null) {\r\n                result = value\r\n            }\r\n        }\r\n        if (tipo == 3) {\r\n            result = (!value) ? '' : Number(value).toFixed(1);\r\n        }\r\n        if (tipo == 4) {\r\n            result = (!value) ? '' : Number(value).toFixed(1) + '%';\r\n        }\r\n        if (tipo == 5) {\r\n            result = (value == \"1\") ? 'Si' : 'No';\r\n        }\r\n        if (tipo == 6) {\r\n            result = (moment(value).isValid()) ? moment(value).format('LLLL') : 'Fecha no proporcionada';\r\n        }\r\n        if (tipo == 7) {\r\n            result = (moment(value).isValid()) ? moment(value).format('LT') : 'Hora no proporcionada';\r\n        }\r\n        return result;\r\n    }\r\n\r\n    ficha() {\r\n        if (!this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral) {\r\n            let data = {\r\n                solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                tableroid: [1]\r\n            }\r\n\r\n            this._httpService.getElemento('Tablero/SolicitudAmision?' + $.param(data)).subscribe(result => {\r\n                if (result.status == 200) {\r\n                    this.FichaGeneral = result.body\r\n                    this.FichaGeneral.map(x => x.tipos = JSON.parse(x.tipos));\r\n                    this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral = this.FichaGeneral;\r\n                    this.openFicha()\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'warning',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    openFicha() {   \r\n        this.containerFicha.clear()\r\n        const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(FichaGeneralComponent);\r\n        this.componentRef = this.containerFicha.createComponent(factory); \r\n        this.componentRef.instance.parametrosModalSolicitud = this.parametrosModalSolicitud;  \r\n    } \r\n\r\n\r\n    getEntrevista() {\r\n        if (!this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIEntrevista) {\r\n            let data = {\r\n                solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                tableroid: [2]\r\n            }\r\n\r\n            this._httpService.getElemento('Tablero/SolicitudAmision?' + $.param(data)).subscribe(result => {\r\n                if (result.status == 200) {\r\n                    this.arrayEntrevista = result.body[0].data;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIEntrevista = result.body[0].data;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'warning',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    getPsicometrico() {\r\n        if (!this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIPsicometrico) {\r\n            let data = {\r\n                solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                tableroid: [3]\r\n            }\r\n\r\n            this._httpService.getElemento('Tablero/SolicitudAmision?' + $.param(data)).subscribe(result => {\r\n                if (result.status == 200) {\r\n                    this.arrayPsicometrico = result.body[0].data;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIPsicometrico = result.body[0].data;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'warning',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    formatocalificacion(calificaion: any) {\r\n        if (calificaion == null || calificaion == undefined || calificaion == \"\") {\r\n            return null;\r\n        } else {\r\n            let entero = parseInt(calificaion);\r\n            return entero.toFixed(2);\r\n        }\r\n\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/dictamen/ficha/ficha.component.ts","var __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nimport 'rxjs/add/operator/throttleTime';\r\nimport 'rxjs/add/observable/fromEvent';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { InterruptArgs } from './interruptargs';\r\nimport { InterruptSource } from './interruptsource';\r\n/*\r\n * An interrupt source on an EventTarget object, such as a Window or HTMLElement.\r\n */\r\nvar EventTargetInterruptSource = (function (_super) {\r\n    __extends(EventTargetInterruptSource, _super);\r\n    function EventTargetInterruptSource(target, events, throttleDelay) {\r\n        if (throttleDelay === void 0) { throttleDelay = 500; }\r\n        var _this = _super.call(this, null, null) || this;\r\n        _this.target = target;\r\n        _this.events = events;\r\n        _this.throttleDelay = throttleDelay;\r\n        _this.eventSrc = new Array;\r\n        _this.eventSubscription = new Array;\r\n        var self = _this;\r\n        events.split(' ').forEach(function (event) {\r\n            var src = Observable.fromEvent(target, event);\r\n            if (self.throttleDelay > 0) {\r\n                src = src.throttleTime(self.throttleDelay);\r\n            }\r\n            self.eventSrc.push(src);\r\n        });\r\n        var handler = function (innerArgs) {\r\n            if (self.filterEvent(innerArgs)) {\r\n                return;\r\n            }\r\n            var args = new InterruptArgs(this, innerArgs);\r\n            self.onInterrupt.emit(args);\r\n        };\r\n        _this.attachFn = function () {\r\n            _this.eventSrc.forEach(function (src) {\r\n                self.eventSubscription.push(src.subscribe(handler));\r\n            });\r\n        };\r\n        _this.detachFn = function () {\r\n            _this.eventSubscription.forEach(function (sub) {\r\n                sub.unsubscribe();\r\n            });\r\n            _this.eventSubscription.length = 0;\r\n        };\r\n        return _this;\r\n    }\r\n    /*\r\n     * Checks to see if the event should be filtered. Always returns false unless overriden.\r\n     * @param event - The original event object.\r\n     * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\r\n     */\r\n    EventTargetInterruptSource.prototype.filterEvent = function (event) {\r\n        return false;\r\n    };\r\n    return EventTargetInterruptSource;\r\n}(InterruptSource));\r\nexport { EventTargetInterruptSource };\r\n//# sourceMappingURL=eventtargetinterruptsource.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/eventtargetinterruptsource.js\n// module id = 182\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nimport { AlternativeStorage } from './alternativestorage';\r\n/*\r\n * Represents a localStorage store.\r\n */\r\nvar LocalStorage = (function () {\r\n    function LocalStorage() {\r\n        this.storage = this.getStorage();\r\n    }\r\n    /*\r\n     * Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem\r\n     * throw QuotaExceededError. We're going to detect this and just silently drop any calls to\r\n     * setItem\r\n     * to avoid the entire page breaking, without having to do a check at each usage of Storage.\r\n     */\r\n    LocalStorage.prototype.getStorage = function () {\r\n        try {\r\n            var storage = localStorage;\r\n            storage.setItem('ng2IdleStorage', '');\r\n            storage.removeItem('ng2IdleStorage');\r\n            return storage;\r\n        }\r\n        catch (err) {\r\n            return new AlternativeStorage();\r\n        }\r\n    };\r\n    /*\r\n     * Gets an item in the storage.\r\n     *\r\n     * @param value - The value to get.\r\n     * @return The current value.\r\n     */\r\n    LocalStorage.prototype.getItem = function (key) {\r\n        return this.storage.getItem('ng2Idle.' + key);\r\n    };\r\n    /*\r\n     * Removes an item in the storage.\r\n     *\r\n     * @param value - The value to remove.\r\n     */\r\n    LocalStorage.prototype.removeItem = function (key) {\r\n        this.storage.removeItem('ng2Idle.' + key);\r\n    };\r\n    /*\r\n     * Sets an item in the storage.\r\n     *\r\n     * @param key - The key to set the value.\r\n     * @param value - The value to set to the key.\r\n     */\r\n    LocalStorage.prototype.setItem = function (key, data) {\r\n        this.storage.setItem('ng2Idle.' + key, data);\r\n    };\r\n    /*\r\n     * Represents the storage, commonly use for testing purposes.\r\n     *\r\n     * @param key - The key to set the value.\r\n     * @param value - The value to set to the key.\r\n     */\r\n    LocalStorage.prototype._wrapped = function () {\r\n        return this.storage;\r\n    };\r\n    return LocalStorage;\r\n}());\r\nexport { LocalStorage };\r\nLocalStorage.decorators = [\r\n    { type: Injectable },\r\n];\r\n/** @nocollapse */\r\nLocalStorage.ctorParameters = function () { return []; };\r\n//# sourceMappingURL=localstorage.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/localstorage.js\n// module id = 183\n// module chunks = 3","var __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nimport { Injectable } from '@angular/core';\r\nimport { IdleExpiry } from './idleexpiry';\r\nimport { LocalStorage } from './localstorage';\r\n/*\r\n * Represents a localStorage store of expiry values.\r\n * @extends IdleExpiry\r\n */\r\nvar LocalStorageExpiry = (function (_super) {\r\n    __extends(LocalStorageExpiry, _super);\r\n    function LocalStorageExpiry(localStorage) {\r\n        var _this = _super.call(this) || this;\r\n        _this.localStorage = localStorage;\r\n        _this.idleName = 'main';\r\n        return _this;\r\n    }\r\n    /*\r\n     * Gets or sets the last expiry date in localStorage.\r\n     * If localStorage doesn't work correctly (i.e. Safari in private mode), we store the expiry value in memory.\r\n     * @param value - The expiry value to set; omit to only return the value.\r\n     * @return The current expiry value.\r\n     */\r\n    LocalStorageExpiry.prototype.last = function (value) {\r\n        if (value !== void 0) {\r\n            this.setExpiry(value);\r\n        }\r\n        return this.getExpiry();\r\n    };\r\n    LocalStorageExpiry.prototype.idling = function (value) {\r\n        if (value !== void 0) {\r\n            this.setIdling(value);\r\n        }\r\n        return this.getIdling();\r\n    };\r\n    /*\r\n     * Gets the idle name.\r\n     * @return The name of the idle.\r\n     */\r\n    LocalStorageExpiry.prototype.getIdleName = function () {\r\n        return this.idleName;\r\n    };\r\n    /*\r\n     * Sets the idle name.\r\n     * @param The name of the idle.\r\n     */\r\n    LocalStorageExpiry.prototype.setIdleName = function (key) {\r\n        if (key) {\r\n            this.idleName = key;\r\n        }\r\n    };\r\n    LocalStorageExpiry.prototype.getExpiry = function () {\r\n        var expiry = this.localStorage.getItem(this.idleName + '.expiry');\r\n        if (expiry) {\r\n            return new Date(parseInt(expiry, 10));\r\n        }\r\n        else {\r\n            return null;\r\n        }\r\n    };\r\n    LocalStorageExpiry.prototype.setExpiry = function (value) {\r\n        if (value) {\r\n            this.localStorage.setItem(this.idleName + '.expiry', value.getTime().toString());\r\n        }\r\n        else {\r\n            this.localStorage.removeItem(this.idleName + '.expiry');\r\n        }\r\n    };\r\n    LocalStorageExpiry.prototype.getIdling = function () {\r\n        var idling = this.localStorage.getItem(this.idleName + '.idling');\r\n        if (idling) {\r\n            return idling === 'true';\r\n        }\r\n        else {\r\n            return false;\r\n        }\r\n    };\r\n    LocalStorageExpiry.prototype.setIdling = function (value) {\r\n        if (value) {\r\n            this.localStorage.setItem(this.idleName + '.idling', value.toString());\r\n        }\r\n        else {\r\n            this.localStorage.setItem(this.idleName + '.idling', 'false');\r\n        }\r\n    };\r\n    return LocalStorageExpiry;\r\n}(IdleExpiry));\r\nexport { LocalStorageExpiry };\r\nLocalStorageExpiry.decorators = [\r\n    { type: Injectable },\r\n];\r\n/** @nocollapse */\r\nLocalStorageExpiry.ctorParameters = function () { return [\r\n    { type: LocalStorage, },\r\n]; };\r\n//# sourceMappingURL=localstorageexpiry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/localstorageexpiry.js\n// module id = 184\n// module chunks = 3","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/get-iterator.js\n// module id = 185\n// module chunks = 3","// 7.2.1 RequireObjectCoercible(argument)\r\nmodule.exports = function(it){\r\n  if(it == undefined)throw TypeError(\"Can't call method on  \" + it);\r\n  return it;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 186\n// module chunks = 3","module.exports = function(exec){\r\n  try {\r\n    return !!exec();\r\n  } catch(e){\r\n    return true;\r\n  }\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 187\n// module chunks = 3","module.exports = function(it){\r\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 188\n// module chunks = 3","var shared = require('./_shared')('keys')\r\n  , uid    = require('./_uid');\r\nmodule.exports = function(key){\r\n  return shared[key] || (shared[key] = uid(key));\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 189\n// module chunks = 3","// 7.1.4 ToInteger\r\nvar ceil  = Math.ceil\r\n  , floor = Math.floor;\r\nmodule.exports = function(it){\r\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 190\n// module chunks = 3","// to indexed object, toObject with fallback for non-array-like ES3 strings\r\nvar IObject = require('./_iobject')\r\n  , defined = require('./_defined');\r\nmodule.exports = function(it){\r\n  return IObject(defined(it));\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 191\n// module chunks = 3","import getUTCISOWeekYear from '../getUTCISOWeekYear/index.js'\r\nimport startOfUTCISOWeek from '../startOfUTCISOWeek/index.js'\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function startOfUTCISOWeekYear (dirtyDate, dirtyOptions) {\r\n  var year = getUTCISOWeekYear(dirtyDate, dirtyOptions)\r\n  var fourthOfJanuary = new Date(0)\r\n  fourthOfJanuary.setUTCFullYear(year, 0, 4)\r\n  fourthOfJanuary.setUTCHours(0, 0, 0, 0)\r\n  var date = startOfUTCISOWeek(fourthOfJanuary, dirtyOptions)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js\n// module id = 213\n// module chunks = 3","import addDays from '../addDays/index.js'\r\n\r\n/**\r\n * @name addWeeks\r\n * @category Week Helpers\r\n * @summary Add the specified number of weeks to the given date.\r\n *\r\n * @description\r\n * Add the specified number of week to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of weeks to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the weeks added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 4 weeks to 1 September 2014:\r\n * var result = addWeeks(new Date(2014, 8, 1), 4)\r\n * //=> Mon Sep 29 2014 00:00:00\r\n */\r\nexport default function addWeeks (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  var days = amount * 7\r\n  return addDays(dirtyDate, days, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addWeeks/index.js\n// module id = 214\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport differenceInCalendarMonths from '../differenceInCalendarMonths/index.js'\r\nimport compareAsc from '../compareAsc/index.js'\r\n\r\n/**\r\n * @name differenceInMonths\r\n * @category Month Helpers\r\n * @summary Get the number of full months between the given dates.\r\n *\r\n * @description\r\n * Get the number of full months between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of full months\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many full months are between 31 January 2014 and 1 September 2014?\r\n * var result = differenceInMonths(\r\n *   new Date(2014, 8, 1),\r\n *   new Date(2014, 0, 31)\r\n * )\r\n * //=> 7\r\n */\r\nexport default function differenceInMonths (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var sign = compareAsc(dateLeft, dateRight, dirtyOptions)\r\n  var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight, dirtyOptions))\r\n  dateLeft.setMonth(dateLeft.getMonth() - sign * difference)\r\n\r\n  // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\r\n  // If so, result must be decreased by 1 in absolute value\r\n  var isLastMonthNotFull = compareAsc(dateLeft, dateRight, dirtyOptions) === -sign\r\n  return sign * (difference - isLastMonthNotFull)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInMonths/index.js\n// module id = 215\n// module chunks = 3","import differenceInMilliseconds from '../differenceInMilliseconds/index.js'\r\n\r\n/**\r\n * @name differenceInSeconds\r\n * @category Second Helpers\r\n * @summary Get the number of seconds between the given dates.\r\n *\r\n * @description\r\n * Get the number of seconds between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of seconds\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many seconds are between\r\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\r\n * var result = differenceInSeconds(\r\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\r\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\r\n * )\r\n * //=> 12\r\n */\r\nexport default function differenceInSeconds (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight, dirtyOptions) / 1000\r\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInSeconds/index.js\n// module id = 216\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getDaysInMonth\r\n * @category Month Helpers\r\n * @summary Get the number of days in a month of the given date.\r\n *\r\n * @description\r\n * Get the number of days in a month of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of days in a month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many days are in February 2000?\r\n * var result = getDaysInMonth(new Date(2000, 1))\r\n * //=> 29\r\n */\r\nexport default function getDaysInMonth (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = date.getFullYear()\r\n  var monthIndex = date.getMonth()\r\n  var lastDayOfMonth = new Date(0)\r\n  lastDayOfMonth.setFullYear(year, monthIndex + 1, 0)\r\n  lastDayOfMonth.setHours(0, 0, 0, 0)\r\n  return lastDayOfMonth.getDate()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getDaysInMonth/index.js\n// module id = 217\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfDay\r\n * @category Day Helpers\r\n * @summary Return the start of a day for the given date.\r\n *\r\n * @description\r\n * Return the start of a day for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of a day\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of a day for 2 September 2014 11:55:00:\r\n * var result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Tue Sep 02 2014 00:00:00\r\n */\r\nexport default function startOfDay (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfDay/index.js\n// module id = 218\n// module chunks = 3","import addMinutes from '../addMinutes/index.js'\r\n\r\n/**\r\n * @name subMinutes\r\n * @category Minute Helpers\r\n * @summary Subtract the specified number of minutes from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of minutes from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of minutes to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the mintues subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 30 minutes from 10 July 2014 12:00:00:\r\n * var result = subMinutes(new Date(2014, 6, 10, 12, 0), 30)\r\n * //=> Thu Jul 10 2014 11:30:00\r\n */\r\nexport default function subMinutes (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addMinutes(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subMinutes/index.js\n// module id = 219\n// module chunks = 3","import { Component, Input } from '@angular/core';\r\nimport { AccordionConfig } from './accordion.config';\r\n/** Displays collapsible content panels for presenting information in a limited amount of space. */\r\nexport var AccordionComponent = (function () {\r\n    function AccordionComponent(config) {\r\n        this.groups = [];\r\n        Object.assign(this, config);\r\n    }\r\n    AccordionComponent.prototype.closeOtherPanels = function (openGroup) {\r\n        if (!this.closeOthers) {\r\n            return;\r\n        }\r\n        this.groups.forEach(function (group) {\r\n            if (group !== openGroup) {\r\n                group.isOpen = false;\r\n            }\r\n        });\r\n    };\r\n    AccordionComponent.prototype.addGroup = function (group) {\r\n        this.groups.push(group);\r\n    };\r\n    AccordionComponent.prototype.removeGroup = function (group) {\r\n        var index = this.groups.indexOf(group);\r\n        if (index !== -1) {\r\n            this.groups.splice(index, 1);\r\n        }\r\n    };\r\n    AccordionComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'accordion',\r\n                    template: \"<ng-content></ng-content>\",\r\n                    // tslint:disable-next-line\r\n                    host: {\r\n                        '[class.panel-group]': 'true',\r\n                        '[attr.aria-multiselectable]': 'closeOthers',\r\n                        role: 'tablist'\r\n                    }\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    AccordionComponent.ctorParameters = function () { return [\r\n        { type: AccordionConfig, },\r\n    ]; };\r\n    AccordionComponent.propDecorators = {\r\n        'closeOthers': [{ type: Input },],\r\n    };\r\n    return AccordionComponent;\r\n}());\r\n//# sourceMappingURL=accordion.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/accordion/accordion.component.js\n// module id = 220\n// module chunks = 3","import { Injectable } from '@angular/core';\r\n/**\r\n * Configuration service, provides default values for the AccordionComponent.\r\n */\r\nexport var AccordionConfig = (function () {\r\n    function AccordionConfig() {\r\n        /** Whether the other panels should be closed when a panel is opened */\r\n        this.closeOthers = false;\r\n    }\r\n    AccordionConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    AccordionConfig.ctorParameters = function () { return []; };\r\n    return AccordionConfig;\r\n}());\r\n//# sourceMappingURL=accordion.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/accordion/accordion.config.js\n// module id = 221\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nexport var AlertConfig = (function () {\r\n    function AlertConfig() {\r\n        /** default alert type */\r\n        this.type = 'warning';\r\n        /** is alerts are dismissible by default */\r\n        this.dismissible = false;\r\n        /** default time before alert will dismiss */\r\n        this.dismissOnTimeout = undefined;\r\n    }\r\n    AlertConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    AlertConfig.ctorParameters = function () { return []; };\r\n    return AlertConfig;\r\n}());\r\n//# sourceMappingURL=alert.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/alert/alert.config.js\n// module id = 222\n// module chunks = 3","// todo: add animation\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { isBs3, LinkedList } from '../utils';\r\nimport { CarouselConfig } from './carousel.config';\r\nexport var Direction;\r\n(function (Direction) {\r\n    Direction[Direction[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\r\n    Direction[Direction[\"NEXT\"] = 1] = \"NEXT\";\r\n    Direction[Direction[\"PREV\"] = 2] = \"PREV\";\r\n})(Direction || (Direction = {}));\r\n/**\r\n * Base element to create carousel\r\n */\r\nexport var CarouselComponent = (function () {\r\n    function CarouselComponent(config) {\r\n        /** Will be emitted when active slide has been changed. Part of two-way-bindable [(activeSlide)] property */\r\n        this.activeSlideChange = new EventEmitter(false);\r\n        this._slides = new LinkedList();\r\n        this.destroyed = false;\r\n        Object.assign(this, config);\r\n    }\r\n    Object.defineProperty(CarouselComponent.prototype, \"activeSlide\", {\r\n        get: function () {\r\n            return this._currentActiveSlide;\r\n        },\r\n        /** Index of currently displayed slide(started for 0) */\r\n        set: function (index) {\r\n            if (this._slides.length && index !== this._currentActiveSlide) {\r\n                this._select(index);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CarouselComponent.prototype, \"interval\", {\r\n        /**\r\n         * Delay of item cycling in milliseconds. If false, carousel won't cycle automatically.\r\n         */\r\n        get: function () {\r\n            return this._interval;\r\n        },\r\n        set: function (value) {\r\n            this._interval = value;\r\n            this.restartTimer();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CarouselComponent.prototype, \"slides\", {\r\n        get: function () {\r\n            return this._slides.toArray();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(CarouselComponent.prototype, \"isBs4\", {\r\n        get: function () {\r\n            return !isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    CarouselComponent.prototype.ngOnDestroy = function () {\r\n        this.destroyed = true;\r\n    };\r\n    /**\r\n     * Adds new slide. If this slide is first in collection - set it as active and starts auto changing\r\n     * @param slide\r\n     */\r\n    CarouselComponent.prototype.addSlide = function (slide) {\r\n        this._slides.add(slide);\r\n        if (this._slides.length === 1) {\r\n            this._currentActiveSlide = void 0;\r\n            this.activeSlide = 0;\r\n            this.play();\r\n        }\r\n    };\r\n    /**\r\n     * Removes specified slide. If this slide is active - will roll to another slide\r\n     * @param slide\r\n     */\r\n    CarouselComponent.prototype.removeSlide = function (slide) {\r\n        var _this = this;\r\n        var remIndex = this._slides.indexOf(slide);\r\n        if (this._currentActiveSlide === remIndex) {\r\n            // removing of active slide\r\n            var nextSlideIndex_1 = void 0;\r\n            if (this._slides.length > 1) {\r\n                // if this slide last - will roll to first slide, if noWrap flag is FALSE or to previous, if noWrap is TRUE\r\n                // in case, if this slide in middle of collection, index of next slide is same to removed\r\n                nextSlideIndex_1 = !this.isLast(remIndex) ? remIndex :\r\n                    this.noWrap ? remIndex - 1 : 0;\r\n            }\r\n            this._slides.remove(remIndex);\r\n            // prevents exception with changing some value after checking\r\n            setTimeout(function () {\r\n                _this._select(nextSlideIndex_1);\r\n            }, 0);\r\n        }\r\n        else {\r\n            this._slides.remove(remIndex);\r\n            var currentSlideIndex_1 = this.getCurrentSlideIndex();\r\n            setTimeout(function () {\r\n                // after removing, need to actualize index of current active slide\r\n                _this._currentActiveSlide = currentSlideIndex_1;\r\n                _this.activeSlideChange.emit(_this._currentActiveSlide);\r\n            }, 0);\r\n        }\r\n    };\r\n    /**\r\n     * Rolling to next slide\r\n     * @param force: {boolean} if true - will ignore noWrap flag\r\n     */\r\n    CarouselComponent.prototype.nextSlide = function (force) {\r\n        if (force === void 0) { force = false; }\r\n        this.activeSlide = this.findNextSlideIndex(Direction.NEXT, force);\r\n    };\r\n    /**\r\n     * Rolling to previous slide\r\n     * @param force: {boolean} if true - will ignore noWrap flag\r\n     */\r\n    CarouselComponent.prototype.previousSlide = function (force) {\r\n        if (force === void 0) { force = false; }\r\n        this.activeSlide = this.findNextSlideIndex(Direction.PREV, force);\r\n    };\r\n    /**\r\n     * Rolling to specified slide\r\n     * @param index: {number} index of slide, which must be shown\r\n     */\r\n    CarouselComponent.prototype.selectSlide = function (index) {\r\n        this.activeSlide = index;\r\n    };\r\n    /**\r\n     * Starts a auto changing of slides\r\n     */\r\n    CarouselComponent.prototype.play = function () {\r\n        if (!this.isPlaying) {\r\n            this.isPlaying = true;\r\n            this.restartTimer();\r\n        }\r\n    };\r\n    /**\r\n     * Stops a auto changing of slides\r\n     */\r\n    CarouselComponent.prototype.pause = function () {\r\n        if (!this.noPause) {\r\n            this.isPlaying = false;\r\n            this.resetTimer();\r\n        }\r\n    };\r\n    /**\r\n     * Finds and returns index of currently displayed slide\r\n     * @returns {number}\r\n     */\r\n    CarouselComponent.prototype.getCurrentSlideIndex = function () {\r\n        return this._slides.findIndex(function (slide) { return slide.active; });\r\n    };\r\n    /**\r\n     * Defines, whether the specified index is last in collection\r\n     * @param index\r\n     * @returns {boolean}\r\n     */\r\n    CarouselComponent.prototype.isLast = function (index) {\r\n        return index + 1 >= this._slides.length;\r\n    };\r\n    /**\r\n     * Defines next slide index, depending of direction\r\n     * @param direction: Direction(UNKNOWN|PREV|NEXT)\r\n     * @param force: {boolean} if TRUE - will ignore noWrap flag, else will return undefined if next slide require wrapping\r\n     * @returns {any}\r\n     */\r\n    CarouselComponent.prototype.findNextSlideIndex = function (direction, force) {\r\n        var nextSlideIndex = 0;\r\n        if (!force && (this.isLast(this.activeSlide) && direction !== Direction.PREV && this.noWrap)) {\r\n            return void 0;\r\n        }\r\n        switch (direction) {\r\n            case Direction.NEXT:\r\n                // if this is last slide, not force, looping is disabled and need to going forward - select current slide, as a next\r\n                nextSlideIndex = (!this.isLast(this._currentActiveSlide)) ? this._currentActiveSlide + 1 :\r\n                    (!force && this.noWrap) ? this._currentActiveSlide : 0;\r\n                break;\r\n            case Direction.PREV:\r\n                // if this is first slide, not force, looping is disabled and need to going backward - select current slide, as a next\r\n                nextSlideIndex = (this._currentActiveSlide > 0) ? this._currentActiveSlide - 1 :\r\n                    (!force && this.noWrap) ? this._currentActiveSlide : this._slides.length - 1;\r\n                break;\r\n            default:\r\n                throw new Error('Unknown direction');\r\n        }\r\n        return nextSlideIndex;\r\n    };\r\n    /**\r\n     * Sets a slide, which specified through index, as active\r\n     * @param index\r\n     * @private\r\n     */\r\n    CarouselComponent.prototype._select = function (index) {\r\n        if (isNaN(index)) {\r\n            this.pause();\r\n            return;\r\n        }\r\n        var currentSlide = this._slides.get(this._currentActiveSlide);\r\n        if (currentSlide) {\r\n            currentSlide.active = false;\r\n        }\r\n        var nextSlide = this._slides.get(index);\r\n        if (nextSlide) {\r\n            this._currentActiveSlide = index;\r\n            nextSlide.active = true;\r\n            this.activeSlide = index;\r\n            this.activeSlideChange.emit(index);\r\n        }\r\n    };\r\n    /**\r\n     * Starts loop of auto changing of slides\r\n     */\r\n    CarouselComponent.prototype.restartTimer = function () {\r\n        var _this = this;\r\n        this.resetTimer();\r\n        var interval = +this.interval;\r\n        if (!isNaN(interval) && interval > 0) {\r\n            this.currentInterval = setInterval(function () {\r\n                var nInterval = +_this.interval;\r\n                if (_this.isPlaying && !isNaN(_this.interval) && nInterval > 0 && _this.slides.length) {\r\n                    _this.nextSlide();\r\n                }\r\n                else {\r\n                    _this.pause();\r\n                }\r\n            }, interval);\r\n        }\r\n    };\r\n    /**\r\n     * Stops loop of auto changing of slides\r\n     */\r\n    CarouselComponent.prototype.resetTimer = function () {\r\n        if (this.currentInterval) {\r\n            clearInterval(this.currentInterval);\r\n            this.currentInterval = void 0;\r\n        }\r\n    };\r\n    CarouselComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'carousel',\r\n                    template: \"\\n    <div (mouseenter)=\\\"pause()\\\" (mouseleave)=\\\"play()\\\" (mouseup)=\\\"play()\\\" class=\\\"carousel slide\\\">\\n      <ol class=\\\"carousel-indicators\\\" *ngIf=\\\"slides.length > 1\\\">\\n         <li *ngFor=\\\"let slidez of slides; let i = index;\\\" [class.active]=\\\"slidez.active === true\\\" (click)=\\\"selectSlide(i)\\\"></li>\\n      </ol>\\n      <div class=\\\"carousel-inner\\\"><ng-content></ng-content></div>\\n      <a class=\\\"left carousel-control carousel-control-prev\\\" [class.disabled]=\\\"activeSlide === 0 && noWrap\\\" (click)=\\\"previousSlide()\\\" *ngIf=\\\"slides.length > 1\\\">\\n        <span class=\\\"icon-prev carousel-control-prev-icon\\\" aria-hidden=\\\"true\\\"></span>\\n        <span *ngIf=\\\"isBs4\\\" class=\\\"sr-only\\\">Previous</span>\\n      </a>\\n      <a class=\\\"right carousel-control carousel-control-next\\\" (click)=\\\"nextSlide()\\\"  [class.disabled]=\\\"isLast(activeSlide) && noWrap\\\" *ngIf=\\\"slides.length > 1\\\">\\n        <span class=\\\"icon-next carousel-control-next-icon\\\" aria-hidden=\\\"true\\\"></span>\\n        <span class=\\\"sr-only\\\">Next</span>\\n      </a>\\n    </div>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    CarouselComponent.ctorParameters = function () { return [\r\n        { type: CarouselConfig, },\r\n    ]; };\r\n    CarouselComponent.propDecorators = {\r\n        'noWrap': [{ type: Input },],\r\n        'noPause': [{ type: Input },],\r\n        'activeSlideChange': [{ type: Output },],\r\n        'activeSlide': [{ type: Input },],\r\n        'interval': [{ type: Input },],\r\n    };\r\n    return CarouselComponent;\r\n}());\r\n//# sourceMappingURL=carousel.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/carousel/carousel.component.js\n// module id = 223\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nexport var CarouselConfig = (function () {\r\n    function CarouselConfig() {\r\n        /** Default interval of auto changing of slides */\r\n        this.interval = 5000;\r\n        /** Is loop of auto changing of slides can be paused */\r\n        this.noPause = false;\r\n        /** Is slides can wrap from the last to the first slide */\r\n        this.noWrap = false;\r\n    }\r\n    CarouselConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    CarouselConfig.ctorParameters = function () { return []; };\r\n    return CarouselConfig;\r\n}());\r\n//# sourceMappingURL=carousel.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/carousel/carousel.config.js\n// module id = 224\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { CollapseDirective } from './collapse.directive';\r\nexport var CollapseModule = (function () {\r\n    function CollapseModule() {\r\n    }\r\n    CollapseModule.forRoot = function () {\r\n        return { ngModule: CollapseModule, providers: [] };\r\n    };\r\n    CollapseModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    declarations: [CollapseDirective],\r\n                    exports: [CollapseDirective]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    CollapseModule.ctorParameters = function () { return []; };\r\n    return CollapseModule;\r\n}());\r\n//# sourceMappingURL=collapse.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/collapse/collapse.module.js\n// module id = 225\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nexport var DatepickerConfig = (function () {\r\n    function DatepickerConfig() {\r\n        this.datepickerMode = 'day';\r\n        this.startingDay = 0;\r\n        this.yearRange = 20;\r\n        this.minMode = 'day';\r\n        this.maxMode = 'year';\r\n        this.showWeeks = true;\r\n        this.formatDay = 'DD';\r\n        this.formatMonth = 'MMMM';\r\n        this.formatYear = 'YYYY';\r\n        this.formatDayHeader = 'dd';\r\n        this.formatDayTitle = 'MMMM YYYY';\r\n        this.formatMonthTitle = 'YYYY';\r\n        this.onlyCurrentMonth = false;\r\n        this.monthColLimit = 3;\r\n        this.yearColLimit = 5;\r\n        this.shortcutPropagation = false;\r\n    }\r\n    DatepickerConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    DatepickerConfig.ctorParameters = function () { return []; };\r\n    return DatepickerConfig;\r\n}());\r\n//# sourceMappingURL=datepicker.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/datepicker.config.js\n// module id = 226\n// module chunks = 3","import { NONINPUT } from './dropdown.service';\r\nimport { Injectable } from '@angular/core';\r\n/** Default dropdown configuration */\r\nexport var DropdownConfig = (function () {\r\n    function DropdownConfig() {\r\n        /** default dropdown auto closing behavior */\r\n        this.autoClose = NONINPUT;\r\n        /** is keyboard navigation enabled by default */\r\n        this.keyboardNav = false;\r\n    }\r\n    DropdownConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    DropdownConfig.ctorParameters = function () { return []; };\r\n    return DropdownConfig;\r\n}());\r\n//# sourceMappingURL=dropdown.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/dropdown/dropdown.config.js\n// module id = 227\n// module chunks = 3","import { Component, ElementRef, Renderer } from '@angular/core';\r\nimport { ClassName } from './modal-options.class';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nexport var ModalBackdropOptions = (function () {\r\n    function ModalBackdropOptions(options) {\r\n        this.animate = true;\r\n        Object.assign(this, options);\r\n    }\r\n    return ModalBackdropOptions;\r\n}());\r\n/** This component will be added as background layout for modals if enabled */\r\nexport var ModalBackdropComponent = (function () {\r\n    function ModalBackdropComponent(element, renderer) {\r\n        this._isShown = false;\r\n        this.element = element;\r\n        this.renderer = renderer;\r\n    }\r\n    Object.defineProperty(ModalBackdropComponent.prototype, \"isAnimated\", {\r\n        get: function () {\r\n            return this._isAnimated;\r\n        },\r\n        set: function (value) {\r\n            this._isAnimated = value;\r\n            this.renderer.setElementClass(this.element.nativeElement, \"\" + ClassName.FADE, value);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(ModalBackdropComponent.prototype, \"isShown\", {\r\n        get: function () {\r\n            return this._isShown;\r\n        },\r\n        set: function (value) {\r\n            this._isShown = value;\r\n            this.renderer.setElementClass(this.element.nativeElement, \"\" + ClassName.IN, value);\r\n            if (!isBs3()) {\r\n                this.renderer.setElementClass(this.element.nativeElement, \"\" + ClassName.SHOW, value);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ModalBackdropComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'bs-modal-backdrop',\r\n                    template: '',\r\n                    // tslint:disable-next-line\r\n                    host: { 'class': ClassName.BACKDROP }\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ModalBackdropComponent.ctorParameters = function () { return [\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n    ]; };\r\n    return ModalBackdropComponent;\r\n}());\r\n//# sourceMappingURL=modal-backdrop.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/modal/modal-backdrop.component.js\n// module id = 228\n// module chunks = 3","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\r\nimport { PopoverConfig } from './popover.config';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nexport var PopoverContainerComponent = (function () {\r\n    function PopoverContainerComponent(config) {\r\n        Object.assign(this, config);\r\n    }\r\n    Object.defineProperty(PopoverContainerComponent.prototype, \"isBs3\", {\r\n        get: function () {\r\n            return isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    PopoverContainerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'popover-container',\r\n                    changeDetection: ChangeDetectionStrategy.OnPush,\r\n                    // tslint:disable-next-line\r\n                    host: {\r\n                        '[class]': '\"popover in popover-\" + placement + \" \" + placement',\r\n                        '[class.show]': '!isBs3',\r\n                        role: 'tooltip',\r\n                        style: 'display:block;'\r\n                    },\r\n                    template: \"\\n<div class=\\\"popover-arrow arrow\\\"></div>\\n<h3 class=\\\"popover-title\\\" *ngIf=\\\"title\\\">{{title}}</h3><div class=\\\"popover-content\\\"><ng-content></ng-content></div>\\n    \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    PopoverContainerComponent.ctorParameters = function () { return [\r\n        { type: PopoverConfig, },\r\n    ]; };\r\n    PopoverContainerComponent.propDecorators = {\r\n        'placement': [{ type: Input },],\r\n        'title': [{ type: Input },],\r\n    };\r\n    return PopoverContainerComponent;\r\n}());\r\n//# sourceMappingURL=popover-container.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/popover/popover-container.component.js\n// module id = 229\n// module chunks = 3","import { Directive, HostBinding, Input } from '@angular/core';\r\n// todo: progress element conflict with bootstrap.css\r\n// todo: need hack: replace host element with div\r\nexport var ProgressDirective = (function () {\r\n    function ProgressDirective() {\r\n        this.addClass = true;\r\n        this.bars = [];\r\n        this._max = 100;\r\n    }\r\n    Object.defineProperty(ProgressDirective.prototype, \"max\", {\r\n        /** maximum total value of progress element */\r\n        get: function () {\r\n            return this._max;\r\n        },\r\n        set: function (v) {\r\n            this._max = v;\r\n            this.bars.forEach(function (bar) {\r\n                bar.recalculatePercentage();\r\n            });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ProgressDirective.prototype.addBar = function (bar) {\r\n        if (!this.animate) {\r\n            bar.transition = 'none';\r\n        }\r\n        this.bars.push(bar);\r\n    };\r\n    ProgressDirective.prototype.removeBar = function (bar) {\r\n        this.bars.splice(this.bars.indexOf(bar), 1);\r\n    };\r\n    ProgressDirective.decorators = [\r\n        { type: Directive, args: [{ selector: 'bs-progress, [progress]' },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ProgressDirective.ctorParameters = function () { return []; };\r\n    ProgressDirective.propDecorators = {\r\n        'animate': [{ type: Input },],\r\n        'max': [{ type: HostBinding, args: ['attr.max',] }, { type: Input },],\r\n        'addClass': [{ type: HostBinding, args: ['class.progress',] },],\r\n    };\r\n    return ProgressDirective;\r\n}());\r\n//# sourceMappingURL=progress.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/progressbar/progress.directive.js\n// module id = 230\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nexport var ProgressbarConfig = (function () {\r\n    function ProgressbarConfig() {\r\n        /** if `true` changing value of progress bar will be animated (note: not supported by Bootstrap 4) */\r\n        this.animate = true;\r\n        /** maximum total value of progress element */\r\n        this.max = 100;\r\n    }\r\n    ProgressbarConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    ProgressbarConfig.ctorParameters = function () { return []; };\r\n    return ProgressbarConfig;\r\n}());\r\n//# sourceMappingURL=progressbar.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/progressbar/progressbar.config.js\n// module id = 231\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs/Subject';\r\nexport var DraggableItemService = (function () {\r\n    function DraggableItemService() {\r\n        this.onCapture = new Subject();\r\n    }\r\n    DraggableItemService.prototype.dragStart = function (item) {\r\n        this.draggableItem = item;\r\n    };\r\n    DraggableItemService.prototype.getItem = function () {\r\n        return this.draggableItem;\r\n    };\r\n    DraggableItemService.prototype.captureItem = function (overZoneIndex, newIndex) {\r\n        if (this.draggableItem.overZoneIndex !== overZoneIndex) {\r\n            this.draggableItem.lastZoneIndex = this.draggableItem.overZoneIndex;\r\n            this.draggableItem.overZoneIndex = overZoneIndex;\r\n            this.onCapture.next(this.draggableItem);\r\n            this.draggableItem = Object.assign({}, this.draggableItem, { overZoneIndex: overZoneIndex, i: newIndex });\r\n        }\r\n        return this.draggableItem;\r\n    };\r\n    DraggableItemService.prototype.onCaptureItem = function () {\r\n        return this.onCapture;\r\n    };\r\n    DraggableItemService.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    DraggableItemService.ctorParameters = function () { return []; };\r\n    return DraggableItemService;\r\n}());\r\n//# sourceMappingURL=draggable-item.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/sortable/draggable-item.service.js\n// module id = 232\n// module chunks = 3","import { Directive, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { TabsetComponent } from './tabset.component';\r\nexport var TabDirective = (function () {\r\n    function TabDirective(tabset) {\r\n        /** fired when tab became active, $event:Tab equals to selected instance of Tab component */\r\n        this.select = new EventEmitter();\r\n        /** fired when tab became inactive, $event:Tab equals to deselected instance of Tab component */\r\n        this.deselect = new EventEmitter();\r\n        /** fired before tab will be removed */\r\n        this.removed = new EventEmitter();\r\n        this.addClass = true;\r\n        this.tabset = tabset;\r\n        this.tabset.addTab(this);\r\n    }\r\n    Object.defineProperty(TabDirective.prototype, \"active\", {\r\n        /** tab active state toggle */\r\n        get: function () {\r\n            return this._active;\r\n        },\r\n        set: function (active) {\r\n            var _this = this;\r\n            if (this.disabled && active || !active) {\r\n                if (!active) {\r\n                    this._active = active;\r\n                }\r\n                this.deselect.emit(this);\r\n                return;\r\n            }\r\n            this._active = active;\r\n            this.select.emit(this);\r\n            this.tabset.tabs.forEach(function (tab) {\r\n                if (tab !== _this) {\r\n                    tab.active = false;\r\n                }\r\n            });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    TabDirective.prototype.ngOnInit = function () {\r\n        this.removable = this.removable;\r\n    };\r\n    TabDirective.decorators = [\r\n        { type: Directive, args: [{ selector: 'tab, [tab]' },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TabDirective.ctorParameters = function () { return [\r\n        { type: TabsetComponent, },\r\n    ]; };\r\n    TabDirective.propDecorators = {\r\n        'heading': [{ type: Input },],\r\n        'disabled': [{ type: Input },],\r\n        'removable': [{ type: Input },],\r\n        'customClass': [{ type: Input },],\r\n        'active': [{ type: HostBinding, args: ['class.active',] }, { type: Input },],\r\n        'select': [{ type: Output },],\r\n        'deselect': [{ type: Output },],\r\n        'removed': [{ type: Output },],\r\n        'addClass': [{ type: HostBinding, args: ['class.tab-pane',] },],\r\n    };\r\n    return TabDirective;\r\n}());\r\n//# sourceMappingURL=tab.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tabs/tab.directive.js\n// module id = 233\n// module chunks = 3","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { TabsetConfig } from './tabset.config';\r\n// todo: add active event to tab\r\n// todo: fix? mixing static and dynamic tabs position tabs in order of creation\r\nexport var TabsetComponent = (function () {\r\n    function TabsetComponent(config) {\r\n        this.clazz = true;\r\n        this.tabs = [];\r\n        this.classMap = {};\r\n        Object.assign(this, config);\r\n    }\r\n    Object.defineProperty(TabsetComponent.prototype, \"vertical\", {\r\n        /** if true tabs will be placed vertically */\r\n        get: function () {\r\n            return this._vertical;\r\n        },\r\n        set: function (value) {\r\n            this._vertical = value;\r\n            this.setClassMap();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TabsetComponent.prototype, \"justified\", {\r\n        /** if true tabs fill the container and have a consistent width */\r\n        get: function () {\r\n            return this._justified;\r\n        },\r\n        set: function (value) {\r\n            this._justified = value;\r\n            this.setClassMap();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TabsetComponent.prototype, \"type\", {\r\n        /** navigation context class: 'tabs' or 'pills' */\r\n        get: function () {\r\n            return this._type;\r\n        },\r\n        set: function (value) {\r\n            this._type = value;\r\n            this.setClassMap();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    TabsetComponent.prototype.ngOnDestroy = function () {\r\n        this.isDestroyed = true;\r\n    };\r\n    TabsetComponent.prototype.addTab = function (tab) {\r\n        this.tabs.push(tab);\r\n        tab.active = this.tabs.length === 1 && tab.active !== false;\r\n    };\r\n    TabsetComponent.prototype.removeTab = function (tab) {\r\n        var index = this.tabs.indexOf(tab);\r\n        if (index === -1 || this.isDestroyed) {\r\n            return;\r\n        }\r\n        // Select a new tab if the tab to be removed is selected and not destroyed\r\n        if (tab.active && this.hasAvailableTabs(index)) {\r\n            var newActiveIndex = this.getClosestTabIndex(index);\r\n            this.tabs[newActiveIndex].active = true;\r\n        }\r\n        tab.removed.emit(tab);\r\n        this.tabs.splice(index, 1);\r\n    };\r\n    TabsetComponent.prototype.getClosestTabIndex = function (index) {\r\n        var tabsLength = this.tabs.length;\r\n        if (!tabsLength) {\r\n            return -1;\r\n        }\r\n        for (var step = 1; step <= tabsLength; step += 1) {\r\n            var prevIndex = index - step;\r\n            var nextIndex = index + step;\r\n            if (this.tabs[prevIndex] && !this.tabs[prevIndex].disabled) {\r\n                return prevIndex;\r\n            }\r\n            if (this.tabs[nextIndex] && !this.tabs[nextIndex].disabled) {\r\n                return nextIndex;\r\n            }\r\n        }\r\n        return -1;\r\n    };\r\n    TabsetComponent.prototype.hasAvailableTabs = function (index) {\r\n        var tabsLength = this.tabs.length;\r\n        if (!tabsLength) {\r\n            return false;\r\n        }\r\n        for (var i = 0; i < tabsLength; i += 1) {\r\n            if (!this.tabs[i].disabled && i !== index) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    TabsetComponent.prototype.setClassMap = function () {\r\n        this.classMap = (_a = {\r\n                'nav-stacked': this.vertical,\r\n                'nav-justified': this.justified\r\n            },\r\n            _a[\"nav-\" + this.type] = true,\r\n            _a\r\n        );\r\n        var _a;\r\n    };\r\n    TabsetComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'tabset',\r\n                    template: \"\\n    <ul class=\\\"nav\\\" [ngClass]=\\\"classMap\\\" (click)=\\\"$event.preventDefault()\\\">\\n        <li *ngFor=\\\"let tabz of tabs\\\" [ngClass]=\\\"['nav-item', tabz.customClass || '']\\\"\\n          [class.active]=\\\"tabz.active\\\" [class.disabled]=\\\"tabz.disabled\\\">\\n          <a href=\\\"javascript:void(0);\\\" class=\\\"nav-link\\\"\\n            [class.active]=\\\"tabz.active\\\" [class.disabled]=\\\"tabz.disabled\\\"\\n            (click)=\\\"tabz.active = true\\\">\\n            <span [ngTransclude]=\\\"tabz.headingRef\\\">{{tabz.heading}}</span>\\n            <span *ngIf=\\\"tabz.removable\\\">\\n              <span (click)=\\\"$event.preventDefault(); removeTab(tabz);\\\" class=\\\"glyphicon glyphicon-remove-circle\\\"></span>\\n            </span>\\n          </a>\\n        </li>\\n    </ul>\\n    <div class=\\\"tab-content\\\">\\n      <ng-content></ng-content>\\n    </div>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TabsetComponent.ctorParameters = function () { return [\r\n        { type: TabsetConfig, },\r\n    ]; };\r\n    TabsetComponent.propDecorators = {\r\n        'vertical': [{ type: Input },],\r\n        'justified': [{ type: Input },],\r\n        'type': [{ type: Input },],\r\n        'clazz': [{ type: HostBinding, args: ['class.tab-container',] },],\r\n    };\r\n    return TabsetComponent;\r\n}());\r\n//# sourceMappingURL=tabset.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tabs/tabset.component.js\n// module id = 234\n// module chunks = 3","import { Injectable } from '@angular/core';\r\nexport var TabsetConfig = (function () {\r\n    function TabsetConfig() {\r\n        /** provides default navigation context class: 'tabs' or 'pills' */\r\n        this.type = 'tabs';\r\n    }\r\n    TabsetConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    TabsetConfig.ctorParameters = function () { return []; };\r\n    return TabsetConfig;\r\n}());\r\n//# sourceMappingURL=tabset.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tabs/tabset.config.js\n// module id = 235\n// module chunks = 3","import { Injectable } from '@angular/core';\r\n/** Provides default configuration values for timepicker */\r\nexport var TimepickerConfig = (function () {\r\n    function TimepickerConfig() {\r\n        /** hours change step */\r\n        this.hourStep = 1;\r\n        /** hours change step */\r\n        this.minuteStep = 5;\r\n        /** if true works in 12H mode and displays AM/PM. If false works in 24H mode and hides AM/PM */\r\n        this.showMeridian = true;\r\n        /** meridian labels based on locale */\r\n        this.meridians = ['AM', 'PM'];\r\n        /** if true hours and minutes fields will be readonly */\r\n        this.readonlyInput = false;\r\n        /** if true scroll inside hours and minutes inputs will change time */\r\n        this.mousewheel = true;\r\n        /** if true up/down arrowkeys inside hours and minutes inputs will change time */\r\n        this.arrowkeys = true;\r\n        /** if true spinner arrows above and below the inputs will be shown */\r\n        this.showSpinners = true;\r\n        /** minimum time user can select */\r\n        this.min = void 0;\r\n        /** maximum time user can select */\r\n        this.max = void 0;\r\n    }\r\n    TimepickerConfig.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    TimepickerConfig.ctorParameters = function () { return []; };\r\n    return TimepickerConfig;\r\n}());\r\n//# sourceMappingURL=timepicker.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/timepicker/timepicker.config.js\n// module id = 236\n// module chunks = 3","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { TooltipConfig } from './tooltip.config';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nexport var TooltipContainerComponent = (function () {\r\n    function TooltipContainerComponent(config) {\r\n        Object.assign(this, config);\r\n    }\r\n    Object.defineProperty(TooltipContainerComponent.prototype, \"isBs3\", {\r\n        get: function () {\r\n            return isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    TooltipContainerComponent.prototype.ngAfterViewInit = function () {\r\n        this.classMap = { in: false, fade: false };\r\n        this.classMap[this.placement] = true;\r\n        this.classMap['tooltip-' + this.placement] = true;\r\n        this.classMap.in = true;\r\n        if (this.animation) {\r\n            this.classMap.fade = true;\r\n        }\r\n        if (this.popupClass) {\r\n            this.classMap[this.popupClass] = true;\r\n        }\r\n    };\r\n    TooltipContainerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'bs-tooltip-container',\r\n                    changeDetection: ChangeDetectionStrategy.OnPush,\r\n                    // tslint:disable-next-line\r\n                    host: {\r\n                        '[class]': '\"tooltip in tooltip-\" + placement + \" \" + placement',\r\n                        '[class.show]': '!isBs3',\r\n                        role: 'tooltip'\r\n                    },\r\n                    template: \"\\n    <div class=\\\"tooltip-arrow\\\"></div>\\n    <div class=\\\"tooltip-inner\\\"><ng-content></ng-content></div>\\n    \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TooltipContainerComponent.ctorParameters = function () { return [\r\n        { type: TooltipConfig, },\r\n    ]; };\r\n    return TooltipContainerComponent;\r\n}());\r\n//# sourceMappingURL=tooltip-container.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tooltip/tooltip-container.component.js\n// module id = 237\n// module chunks = 3","import { Component, ElementRef, ViewEncapsulation, HostListener } from '@angular/core';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nimport { TypeaheadUtils } from './typeahead-utils';\r\nexport var TypeaheadContainerComponent = (function () {\r\n    function TypeaheadContainerComponent(element) {\r\n        this.isFocused = false;\r\n        this._matches = [];\r\n        this.element = element;\r\n    }\r\n    Object.defineProperty(TypeaheadContainerComponent.prototype, \"isBs4\", {\r\n        get: function () {\r\n            return !isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TypeaheadContainerComponent.prototype, \"active\", {\r\n        get: function () {\r\n            return this._active;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TypeaheadContainerComponent.prototype, \"matches\", {\r\n        get: function () {\r\n            return this._matches;\r\n        },\r\n        set: function (value) {\r\n            this._matches = value;\r\n            if (this._matches.length > 0) {\r\n                this._active = this._matches[0];\r\n                if (this._active.isHeader()) {\r\n                    this.nextActiveMatch();\r\n                }\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TypeaheadContainerComponent.prototype, \"optionsListTemplate\", {\r\n        get: function () {\r\n            return this.parent ? this.parent.optionsListTemplate : undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TypeaheadContainerComponent.prototype, \"itemTemplate\", {\r\n        get: function () {\r\n            return this.parent ? this.parent.typeaheadItemTemplate : undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    TypeaheadContainerComponent.prototype.selectActiveMatch = function () {\r\n        this.selectMatch(this._active);\r\n    };\r\n    TypeaheadContainerComponent.prototype.prevActiveMatch = function () {\r\n        var index = this.matches.indexOf(this._active);\r\n        this._active = this.matches[index - 1 < 0\r\n            ? this.matches.length - 1\r\n            : index - 1];\r\n        if (this._active.isHeader()) {\r\n            this.prevActiveMatch();\r\n        }\r\n    };\r\n    TypeaheadContainerComponent.prototype.nextActiveMatch = function () {\r\n        var index = this.matches.indexOf(this._active);\r\n        this._active = this.matches[index + 1 > this.matches.length - 1\r\n            ? 0\r\n            : index + 1];\r\n        if (this._active.isHeader()) {\r\n            this.nextActiveMatch();\r\n        }\r\n    };\r\n    TypeaheadContainerComponent.prototype.selectActive = function (value) {\r\n        this.isFocused = true;\r\n        this._active = value;\r\n    };\r\n    TypeaheadContainerComponent.prototype.hightlight = function (match, query) {\r\n        var itemStr = match.value;\r\n        var itemStrHelper = (this.parent && this.parent.typeaheadLatinize\r\n            ? TypeaheadUtils.latinize(itemStr)\r\n            : itemStr).toLowerCase();\r\n        var startIdx;\r\n        var tokenLen;\r\n        // Replaces the capture string with the same string inside of a \"strong\" tag\r\n        if (typeof query === 'object') {\r\n            var queryLen = query.length;\r\n            for (var i = 0; i < queryLen; i += 1) {\r\n                // query[i] is already latinized and lower case\r\n                startIdx = itemStrHelper.indexOf(query[i]);\r\n                tokenLen = query[i].length;\r\n                if (startIdx >= 0 && tokenLen > 0) {\r\n                    itemStr = itemStr.substring(0, startIdx) + '<strong>' + itemStr.substring(startIdx, startIdx + tokenLen) + '</strong>' + itemStr.substring(startIdx + tokenLen);\r\n                    itemStrHelper = itemStrHelper.substring(0, startIdx) + '        ' + ' '.repeat(tokenLen) + '         ' + itemStrHelper.substring(startIdx + tokenLen);\r\n                }\r\n            }\r\n        }\r\n        else if (query) {\r\n            // query is already latinized and lower case\r\n            startIdx = itemStrHelper.indexOf(query);\r\n            tokenLen = query.length;\r\n            if (startIdx >= 0 && tokenLen > 0) {\r\n                itemStr = itemStr.substring(0, startIdx) + '<strong>' + itemStr.substring(startIdx, startIdx + tokenLen) + '</strong>' + itemStr.substring(startIdx + tokenLen);\r\n            }\r\n        }\r\n        return itemStr;\r\n    };\r\n    TypeaheadContainerComponent.prototype.focusLost = function () {\r\n        this.isFocused = false;\r\n    };\r\n    TypeaheadContainerComponent.prototype.isActive = function (value) {\r\n        return this._active === value;\r\n    };\r\n    TypeaheadContainerComponent.prototype.selectMatch = function (value, e) {\r\n        var _this = this;\r\n        if (e === void 0) { e = void 0; }\r\n        if (e) {\r\n            e.stopPropagation();\r\n            e.preventDefault();\r\n        }\r\n        this.parent.changeModel(value);\r\n        setTimeout(function () {\r\n            return _this.parent.typeaheadOnSelect.emit(value);\r\n        }, 0);\r\n        return false;\r\n    };\r\n    TypeaheadContainerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'typeahead-container',\r\n                    // tslint:disable-next-line\r\n                    template: \"\\n<!-- inject options list template -->\\n<template [ngTemplateOutlet]=\\\"optionsListTemplate || (isBs4 ? bs4Template : bs3Template)\\\"\\n  [ngOutletContext]=\\\"{matches:matches, itemTemplate:itemTemplate, query:query}\\\"></template>\\n\\n<!-- default options item template -->\\n<template #bsItemTemplate let-match=\\\"match\\\" let-query=\\\"query\\\"><span [innerHtml]=\\\"hightlight(match, query)\\\"></span></template>\\n\\n<!-- Bootstrap 3 options list template -->\\n<template #bs3Template>\\n<ul class=\\\"dropdown-menu\\\">\\n  <template ngFor let-match let-i=\\\"index\\\" [ngForOf]=\\\"matches\\\">\\n    <li *ngIf=\\\"match.isHeader()\\\" class=\\\"dropdown-header\\\">{{match}}</li>\\n    <li *ngIf=\\\"!match.isHeader()\\\" [class.active]=\\\"isActive(match)\\\" (mouseenter)=\\\"selectActive(match)\\\">\\n      <a href=\\\"#\\\" (click)=\\\"selectMatch(match, $event)\\\" tabindex=\\\"-1\\\">\\n        <template [ngTemplateOutlet]=\\\"itemTemplate || bsItemTemplate\\\" \\n          [ngOutletContext]=\\\"{item:match.item, index:i, match:match, query:query}\\\"></template>\\n      </a>\\n    </li>\\n  </template>\\n</ul>\\n</template>\\n\\n<!-- Bootstrap 4 options list template -->\\n<template #bs4Template >\\n<template ngFor let-match let-i=\\\"index\\\" [ngForOf]=\\\"matches\\\">\\n   <h6 *ngIf=\\\"match.isHeader()\\\" class=\\\"dropdown-header\\\">{{match}}</h6>\\n   <template [ngIf]=\\\"!match.isHeader()\\\">\\n      <button\\n        class=\\\"dropdown-item\\\"\\n        (click)=\\\"selectMatch(match, $event)\\\"\\n        (mouseenter)=\\\"selectActive(match)\\\"\\n        [class.active]=\\\"isActive(match)\\\">\\n          <template [ngTemplateOutlet]=\\\"itemTemplate || bsItemTemplate\\\" \\n            [ngOutletContext]=\\\"{item:match.item, index:i, match:match, query:query}\\\"></template>\\n      </button>\\n  </template>\\n</template>\\n</template>\\n\",\r\n                    // tslint:disable\r\n                    host: {\r\n                        'class': 'dropdown open',\r\n                        '[class.dropdown-menu]': 'isBs4',\r\n                        style: 'position: absolute;display: block;'\r\n                    },\r\n                    // tslint: enable\r\n                    encapsulation: ViewEncapsulation.None\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TypeaheadContainerComponent.ctorParameters = function () { return [\r\n        { type: ElementRef, },\r\n    ]; };\r\n    TypeaheadContainerComponent.propDecorators = {\r\n        'focusLost': [{ type: HostListener, args: ['mouseleave',] }, { type: HostListener, args: ['blur',] },],\r\n    };\r\n    return TypeaheadContainerComponent;\r\n}());\r\n//# sourceMappingURL=typeahead-container.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/typeahead-container.component.js\n// module id = 238\n// module chunks = 3","import { latinMap } from './latin-map';\r\nexport var TypeaheadUtils = (function () {\r\n    function TypeaheadUtils() {\r\n    }\r\n    TypeaheadUtils.latinize = function (str) {\r\n        if (!str) {\r\n            return '';\r\n        }\r\n        return str.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a) {\r\n            return TypeaheadUtils.latinMap[a] || a;\r\n        });\r\n    };\r\n    TypeaheadUtils.escapeRegexp = function (queryToEscape) {\r\n        // Regex: capture the whole query string and replace it with the string\r\n        // that will be used to match the results, for example if the capture is\r\n        // 'a' the result will be \\a\r\n        return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\r\n    };\r\n    /* tslint:disable */\r\n    TypeaheadUtils.tokenize = function (str, wordRegexDelimiters, phraseRegexDelimiters) {\r\n        if (wordRegexDelimiters === void 0) { wordRegexDelimiters = ' '; }\r\n        if (phraseRegexDelimiters === void 0) { phraseRegexDelimiters = ''; }\r\n        /* tslint:enable */\r\n        var regexStr = '(?:[' + phraseRegexDelimiters + '])([^' + phraseRegexDelimiters + ']+)(?:[' + phraseRegexDelimiters + '])|([^' + wordRegexDelimiters + ']+)';\r\n        var preTokenized = str.split(new RegExp(regexStr, 'g'));\r\n        var result = [];\r\n        var preTokenizedLength = preTokenized.length;\r\n        var token;\r\n        var replacePhraseDelimiters = new RegExp('[' + phraseRegexDelimiters + ']+', 'g');\r\n        for (var i = 0; i < preTokenizedLength; i += 1) {\r\n            token = preTokenized[i];\r\n            if (token && token.length && token !== wordRegexDelimiters) {\r\n                result.push(token.replace(replacePhraseDelimiters, ''));\r\n            }\r\n        }\r\n        return result;\r\n    };\r\n    TypeaheadUtils.getValueFromObject = function (object, option) {\r\n        if (!option || typeof object !== 'object') {\r\n            return object.toString();\r\n        }\r\n        if (option.endsWith('()')) {\r\n            var functionName = option.slice(0, option.length - 2);\r\n            return object[functionName]().toString();\r\n        }\r\n        var properties = option.replace(/\\[(\\w+)\\]/g, '.$1')\r\n            .replace(/^\\./, '');\r\n        var propertiesArray = properties.split('.');\r\n        for (var _i = 0, propertiesArray_1 = propertiesArray; _i < propertiesArray_1.length; _i++) {\r\n            var property = propertiesArray_1[_i];\r\n            if (property in object) {\r\n                object = object[property];\r\n            }\r\n        }\r\n        return object.toString();\r\n    };\r\n    TypeaheadUtils.latinMap = latinMap;\r\n    return TypeaheadUtils;\r\n}());\r\n//# sourceMappingURL=typeahead-utils.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/typeahead-utils.js\n// module id = 239\n// module chunks = 3","/*tslint:disable:no-invalid-this */\r\nexport function OnChange(defaultValue) {\r\n    var sufix = 'Change';\r\n    return function OnChangeHandler(target, propertyKey) {\r\n        var _key = \" __\" + propertyKey + \"Value\";\r\n        Object.defineProperty(target, propertyKey, {\r\n            get: function () { return this[_key]; },\r\n            set: function (value) {\r\n                var prevValue = this[_key];\r\n                this[_key] = value;\r\n                if (prevValue !== value && this[propertyKey + sufix]) {\r\n                    this[propertyKey + sufix].emit(value);\r\n                }\r\n            }\r\n        });\r\n    };\r\n}\r\n//# sourceMappingURL=decorators.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/decorators.js\n// module id = 240\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, Output, EventEmitter, ChangeDetectorRef } from \"@angular/core\";\r\nimport { TransitionController, Transition } from \"../../transition/index\";\r\nvar SuiAccordionPanel = (function () {\r\n    function SuiAccordionPanel(_changeDetector) {\r\n        this._changeDetector = _changeDetector;\r\n        this.transitionController = new TransitionController(false);\r\n        this._isOpen = false;\r\n        this.isOpenChange = new EventEmitter(false);\r\n    }\r\n    Object.defineProperty(SuiAccordionPanel.prototype, \"service\", {\r\n        set: function (service) {\r\n            this._service = service;\r\n            this._changeDetector.detectChanges();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiAccordionPanel.prototype, \"isOpen\", {\r\n        get: function () {\r\n            return this._isOpen;\r\n        },\r\n        set: function (value) {\r\n            // Convert to boolean (fixes false != undefined)\r\n            var isOpen = !!value;\r\n            if (isOpen !== this.isOpen) {\r\n                // Only update if the value has changed.\r\n                this._isOpen = isOpen;\r\n                if (isOpen && this._service) {\r\n                    // If we are opening this panel, we must close the other ones.\r\n                    this._service.closeOtherPanels(this);\r\n                }\r\n                this.isOpenChange.emit(this.isOpen);\r\n                // Cancel all current animations, and fade the contents. The direction is automatic.\r\n                this.transitionController.stopAll();\r\n                this.transitionController.animate(new Transition(this.transition, this.transitionDuration));\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiAccordionPanel.prototype, \"transition\", {\r\n        get: function () {\r\n            if (this._service) {\r\n                return this._service.transition;\r\n            }\r\n            return \"fade\";\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiAccordionPanel.prototype, \"transitionDuration\", {\r\n        get: function () {\r\n            if (this._service) {\r\n                // Return the service defined transition duration.\r\n                return this._service.transitionDuration;\r\n            }\r\n            // Revert to instantaneous if the service is not yet loaded.\r\n            return 0;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiAccordionPanel.prototype.toggle = function () {\r\n        if (!this.isDisabled) {\r\n            this.isOpen = !this.isOpen;\r\n        }\r\n    };\r\n    return SuiAccordionPanel;\r\n}());\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiAccordionPanel.prototype, \"isDisabled\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiAccordionPanel.prototype, \"isOpen\", null);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiAccordionPanel.prototype, \"isOpenChange\", void 0);\r\nSuiAccordionPanel = __decorate([\r\n    Component({\r\n        selector: \"sui-accordion-panel\",\r\n        exportAs: \"suiAccordionPanel\",\r\n        template: \"\\n<!-- Title -->\\n<div class=\\\"title\\\" [class.active]=\\\"isOpen\\\" (click)=\\\"toggle()\\\" >\\n    <ng-content select=\\\"[title]\\\"></ng-content>\\n</div>\\n<!-- Content -->\\n<div [suiCollapse]=\\\"!isOpen\\\" [collapseDuration]=\\\"transitionDuration\\\">\\n    <div class=\\\"content\\\" [class.active]=\\\"isOpen\\\" [suiTransition]=\\\"transitionController\\\">\\n        <ng-content select=\\\"[content]\\\"></ng-content>\\n    </div>\\n</div>\\n\",\r\n        styles: [\"\\n/* Manual style as Semantic UI relies on > selector */\\n.content {\\n    padding: .5em 0 1em;\\n}\\n\\n/* Another > selector fix */\\n:host:first-child .title {\\n    border-top: none;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ChangeDetectorRef])\r\n], SuiAccordionPanel);\r\nexport { SuiAccordionPanel };\r\n//# sourceMappingURL=accordion-panel.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/accordion/components/accordion-panel.js\n// module id = 241\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Directive, Input, Output, HostListener, HostBinding, EventEmitter, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { customValueAccessorFactory, CustomValueAccessor } from \"../../../misc/util/index\";\r\nvar SuiRadio = (function () {\r\n    function SuiRadio() {\r\n        this._radioClasses = true;\r\n        this.isChecked = false;\r\n        this.onCurrentValueChange = new EventEmitter();\r\n        this.onTouched = new EventEmitter();\r\n        this.isDisabled = false;\r\n        this.isReadonly = false;\r\n        this._radioClasses = true;\r\n    }\r\n    Object.defineProperty(SuiRadio.prototype, \"checkedAttribute\", {\r\n        get: function () {\r\n            return this.isChecked ? \"\" : undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiRadio.prototype, \"isDisabledAttribute\", {\r\n        get: function () {\r\n            return this.isDisabled ? \"disabled\" : undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiRadio.prototype.onMouseDown = function (e) {\r\n        e.preventDefault();\r\n    };\r\n    SuiRadio.prototype.onClick = function () {\r\n        if (!this.isDisabled && !this.isReadonly) {\r\n            this.currentValue = this.value;\r\n            this.onCurrentValueChange.emit(this.currentValue);\r\n            this.update();\r\n            this.focusRadio();\r\n        }\r\n    };\r\n    SuiRadio.prototype.onFocusOut = function () {\r\n        this.onTouched.emit();\r\n    };\r\n    SuiRadio.prototype.update = function () {\r\n        this.isChecked = this.currentValue === this.value;\r\n    };\r\n    SuiRadio.prototype.writeValue = function (value) {\r\n        this.currentValue = value;\r\n        this.update();\r\n    };\r\n    SuiRadio.prototype.focusRadio = function () {\r\n        this._radioElement.nativeElement.focus();\r\n    };\r\n    return SuiRadio;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.radio\"),\r\n    HostBinding(\"class.checkbox\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiRadio.prototype, \"_radioClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiRadio.prototype, \"name\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Object)\r\n], SuiRadio.prototype, \"value\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.checked\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiRadio.prototype, \"isChecked\", void 0);\r\n__decorate([\r\n    Output(\"currentValueChange\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiRadio.prototype, \"onCurrentValueChange\", void 0);\r\n__decorate([\r\n    Output(\"touched\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiRadio.prototype, \"onTouched\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiRadio.prototype, \"isDisabled\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.read-only\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiRadio.prototype, \"isReadonly\", void 0);\r\n__decorate([\r\n    ViewChild(\"radio\"),\r\n    __metadata(\"design:type\", ElementRef)\r\n], SuiRadio.prototype, \"_radioElement\", void 0);\r\n__decorate([\r\n    HostListener(\"mousedown\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [MouseEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiRadio.prototype, \"onMouseDown\", null);\r\n__decorate([\r\n    HostListener(\"click\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiRadio.prototype, \"onClick\", null);\r\n__decorate([\r\n    HostListener(\"focusout\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiRadio.prototype, \"onFocusOut\", null);\r\nSuiRadio = __decorate([\r\n    Component({\r\n        selector: \"sui-radio-button\",\r\n        template: \"\\n<input class=\\\"hidden\\\"\\n       type=\\\"checkbox\\\"\\n       [attr.name]=\\\"name\\\"\\n       [attr.checked]=\\\"checkedAttribute\\\"\\n       [attr.disabled]=\\\"isDisabledAttribute\\\"\\n       [ngModel]=\\\"isChecked\\\"\\n       (ngModel)=\\\"currentValue = value\\\"\\n       #radio>\\n<label>\\n    <ng-content></ng-content>\\n</label>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiRadio);\r\nexport { SuiRadio };\r\nvar SuiRadioValueAccessor = SuiRadioValueAccessor_1 = (function (_super) {\r\n    __extends(SuiRadioValueAccessor, _super);\r\n    function SuiRadioValueAccessor(host) {\r\n        return _super.call(this, host) || this;\r\n    }\r\n    return SuiRadioValueAccessor;\r\n}(CustomValueAccessor));\r\nSuiRadioValueAccessor = SuiRadioValueAccessor_1 = __decorate([\r\n    Directive({\r\n        selector: \"sui-radio-button\",\r\n        host: {\r\n            \"(currentValueChange)\": \"onChange($event)\",\r\n            \"(touched)\": \"onTouched()\"\r\n        },\r\n        providers: [customValueAccessorFactory(SuiRadioValueAccessor_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiRadio])\r\n], SuiRadioValueAccessor);\r\nexport { SuiRadioValueAccessor };\r\nvar SuiRadioValueAccessor_1;\r\n//# sourceMappingURL=radio.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/checkbox/components/radio.js\n// module id = 242\n// module chunks = 3","export * from \"./directives/collapse\";\r\nexport * from \"./collapse.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/collapse/index.js\n// module id = 243\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nimport { CalendarMode } from \"../services/calendar.service\";\r\nimport { DatetimeMappings, DateMappings, TimeMappings, MonthMappings, YearMappings } from \"./calendar-mappings\";\r\nimport { DatePrecision, DateUtil } from \"../../../misc/util/index\";\r\nvar CalendarConfig = (function () {\r\n    function CalendarConfig(mode, precision, mappings, fallback) {\r\n        this.mode = mode;\r\n        this.precision = precision;\r\n        this.mappings = mappings;\r\n        this.fallback = fallback;\r\n    }\r\n    CalendarConfig.prototype.updateBounds = function (providedDate) {\r\n        this.dateMinBound = DateUtil.startOf(DatePrecision.Year, new Date(), true);\r\n        this.dateMinBound.setFullYear(0);\r\n    };\r\n    return CalendarConfig;\r\n}());\r\nexport { CalendarConfig };\r\nvar DateConfigBase = (function (_super) {\r\n    __extends(DateConfigBase, _super);\r\n    function DateConfigBase(precision, mappings, fallback) {\r\n        return _super.call(this, CalendarMode.DateOnly, precision, mappings, fallback) || this;\r\n    }\r\n    return DateConfigBase;\r\n}(CalendarConfig));\r\nexport { DateConfigBase };\r\nvar YearConfig = (function (_super) {\r\n    __extends(YearConfig, _super);\r\n    function YearConfig() {\r\n        return _super.call(this, DatePrecision.Year, new YearMappings(), \"number\") || this;\r\n    }\r\n    return YearConfig;\r\n}(DateConfigBase));\r\nexport { YearConfig };\r\nvar MonthConfig = (function (_super) {\r\n    __extends(MonthConfig, _super);\r\n    function MonthConfig() {\r\n        return _super.call(this, DatePrecision.Month, new MonthMappings(), \"month\") || this;\r\n    }\r\n    return MonthConfig;\r\n}(DateConfigBase));\r\nexport { MonthConfig };\r\nvar DateConfig = (function (_super) {\r\n    __extends(DateConfig, _super);\r\n    function DateConfig() {\r\n        return _super.call(this, DatePrecision.Date, new DateMappings(), \"date\") || this;\r\n    }\r\n    return DateConfig;\r\n}(DateConfigBase));\r\nexport { DateConfig };\r\nvar DatetimeConfig = (function (_super) {\r\n    __extends(DatetimeConfig, _super);\r\n    function DatetimeConfig() {\r\n        return _super.call(this, CalendarMode.Both, DatePrecision.Minute, new DatetimeMappings(), \"datetime-local\") || this;\r\n    }\r\n    return DatetimeConfig;\r\n}(CalendarConfig));\r\nexport { DatetimeConfig };\r\nvar TimeConfig = (function (_super) {\r\n    __extends(TimeConfig, _super);\r\n    function TimeConfig() {\r\n        return _super.call(this, CalendarMode.TimeOnly, DatePrecision.Minute, new TimeMappings(), \"time\") || this;\r\n    }\r\n    TimeConfig.prototype.updateBounds = function (providedDate) {\r\n        this.dateMaxBound = DateUtil.endOf(DatePrecision.Date, DateUtil.clone(providedDate));\r\n        this.dateMinBound = DateUtil.previous(DatePrecision.Date, DateUtil.clone(this.dateMaxBound));\r\n    };\r\n    return TimeConfig;\r\n}(CalendarConfig));\r\nexport { TimeConfig };\r\n//# sourceMappingURL=calendar-config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/classes/calendar-config.js\n// module id = 244\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, HostBinding, HostListener } from \"@angular/core\";\r\nimport { CalendarService } from \"./../services/calendar.service\";\r\nimport { DatetimeConfig } from \"../classes/calendar-config\";\r\nimport { SuiLocalizationService } from \"../../../behaviors/localization/index\";\r\nexport var DatepickerMode = {\r\n    Year: \"year\",\r\n    Month: \"month\",\r\n    Date: \"date\",\r\n    Datetime: \"datetime\",\r\n    Time: \"time\"\r\n};\r\nvar SuiDatepicker = (function () {\r\n    function SuiDatepicker(localizationService) {\r\n        this.service = new CalendarService(new DatetimeConfig(), localizationService.get().datepicker);\r\n        this._calendarClasses = true;\r\n    }\r\n    SuiDatepicker.prototype.onMouseDown = function (e) {\r\n        e.preventDefault();\r\n    };\r\n    return SuiDatepicker;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.active\"),\r\n    HostBinding(\"class.calendar\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiDatepicker.prototype, \"_calendarClasses\", void 0);\r\n__decorate([\r\n    HostListener(\"mousedown\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [MouseEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDatepicker.prototype, \"onMouseDown\", null);\r\nSuiDatepicker = __decorate([\r\n    Component({\r\n        selector: \"sui-datepicker\",\r\n        template: \"\\n<ng-container [ngSwitch]=\\\"service.currentView\\\">\\n    <sui-calendar-year-view [service]=\\\"service\\\" *ngSwitchCase=\\\"0\\\"></sui-calendar-year-view>\\n    <sui-calendar-month-view [service]=\\\"service\\\" *ngSwitchCase=\\\"1\\\"></sui-calendar-month-view>    \\n    <sui-calendar-date-view [service]=\\\"service\\\" *ngSwitchCase=\\\"2\\\"></sui-calendar-date-view>    \\n    <sui-calendar-hour-view [service]=\\\"service\\\" *ngSwitchCase=\\\"3\\\"></sui-calendar-hour-view>    \\n    <sui-calendar-minute-view [service]=\\\"service\\\" *ngSwitchCase=\\\"4\\\"></sui-calendar-minute-view>    \\n</ng-container>\\n\",\r\n        styles: [\"\\n:host {\\n    user-select: none;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiLocalizationService])\r\n], SuiDatepicker);\r\nexport { SuiDatepicker };\r\n//# sourceMappingURL=datepicker.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/components/datepicker.js\n// module id = 245\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, ElementRef, Renderer2, EventEmitter, Output, Input, HostListener } from \"@angular/core\";\r\nimport { customValueAccessorFactory, CustomValueAccessor, customValidatorFactory, CustomValidator, PositioningPlacement, SuiComponentFactory, KeyCode } from \"../../../misc/util/index\";\r\nimport { SuiLocalizationService } from \"../../../behaviors/localization/index\";\r\nimport { SuiPopupComponentController, PopupConfig, PopupTrigger } from \"../../popup/index\";\r\nimport { SuiDatepicker, DatepickerMode } from \"../components/datepicker\";\r\nimport { YearConfig, MonthConfig, DatetimeConfig, TimeConfig, DateConfig } from \"../classes/calendar-config\";\r\nvar SuiDatepickerDirective = SuiDatepickerDirective_1 = (function (_super) {\r\n    __extends(SuiDatepickerDirective, _super);\r\n    function SuiDatepickerDirective(renderer, element, componentFactory, localizationService) {\r\n        var _this = _super.call(this, renderer, element, componentFactory, SuiDatepicker, new PopupConfig({\r\n            trigger: PopupTrigger.Focus,\r\n            placement: PositioningPlacement.BottomLeft,\r\n            transition: \"scale\",\r\n            transitionDuration: 200\r\n        })) || this;\r\n        _this.renderer = renderer;\r\n        _this.localizationService = localizationService;\r\n        // This ensures the popup is drawn correctly (i.e. no border).\r\n        _this.renderer.addClass(_this.popup.elementRef.nativeElement, \"ui\");\r\n        _this.renderer.addClass(_this.popup.elementRef.nativeElement, \"calendar\");\r\n        _this.onLocaleUpdate();\r\n        _this.localizationService.onLanguageUpdate.subscribe(function () { return _this.onLocaleUpdate(); });\r\n        _this.onSelectedDateChange = new EventEmitter();\r\n        _this.onValidatorChange = new EventEmitter();\r\n        _this.mode = DatepickerMode.Datetime;\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiDatepickerDirective.prototype, \"selectedDate\", {\r\n        get: function () {\r\n            return this._selectedDate;\r\n        },\r\n        set: function (date) {\r\n            this._selectedDate = date;\r\n            this.onSelectedDateChange.emit(date);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerDirective.prototype, \"mode\", {\r\n        get: function () {\r\n            return this._mode;\r\n        },\r\n        set: function (mode) {\r\n            this._mode = mode || DatepickerMode.Datetime;\r\n            switch (this._mode) {\r\n                case DatepickerMode.Year:\r\n                    this.config = new YearConfig();\r\n                    break;\r\n                case DatepickerMode.Month:\r\n                    this.config = new MonthConfig();\r\n                    break;\r\n                case DatepickerMode.Date:\r\n                default:\r\n                    this.config = new DateConfig();\r\n                    break;\r\n                case DatepickerMode.Datetime:\r\n                    this.config = new DatetimeConfig();\r\n                    break;\r\n                case DatepickerMode.Time:\r\n                    this.config = new TimeConfig();\r\n                    break;\r\n            }\r\n            this.writeValue(this.selectedDate);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerDirective.prototype, \"localeValues\", {\r\n        get: function () {\r\n            return this.localizationService.override(this._localeValues, this.localeOverrides);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerDirective.prototype, \"placement\", {\r\n        set: function (placement) {\r\n            this.popup.config.placement = placement;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerDirective.prototype, \"transition\", {\r\n        set: function (transition) {\r\n            this.popup.config.transition = transition;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerDirective.prototype, \"transitionDuration\", {\r\n        set: function (duration) {\r\n            this.popup.config.transitionDuration = duration;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiDatepickerDirective.prototype.popupOnOpen = function () {\r\n        var _this = this;\r\n        if (this.componentInstance) {\r\n            this.componentInstance.service.config = this.config;\r\n            this.componentInstance.service.localeValues = this.localeValues;\r\n            this.componentInstance.service.currentDate = this.initialDate || new Date();\r\n            this.componentInstance.service.selectedDate = this.selectedDate;\r\n            this.componentInstance.service.maxDate = this.maxDate;\r\n            this.componentInstance.service.minDate = this.minDate;\r\n            if (this.firstDayOfWeek != undefined) {\r\n                this.componentInstance.service.firstDayOfWeek = this.firstDayOfWeek;\r\n            }\r\n            this.componentInstance.service.reset();\r\n            this.componentInstance.service.onDateChange.subscribe(function (d) {\r\n                _this.selectedDate = d;\r\n                _this.close();\r\n            });\r\n        }\r\n    };\r\n    SuiDatepickerDirective.prototype.ngOnChanges = function (_a) {\r\n        var maxDate = _a.maxDate, minDate = _a.minDate, mode = _a.mode;\r\n        if (maxDate || minDate || mode) {\r\n            this.onValidatorChange.emit();\r\n        }\r\n    };\r\n    SuiDatepickerDirective.prototype.onLocaleUpdate = function () {\r\n        this._localeValues = this.localizationService.get().datepicker;\r\n    };\r\n    SuiDatepickerDirective.prototype.validate = function (c) {\r\n        var value = c.value;\r\n        if (value != undefined) {\r\n            // We post process the min & max date because sometimes this puts the date outside of the allowed range.\r\n            if (this.minDate && value < this.minDate) {\r\n                return { suiMinDate: { required: this.minDate, actual: value } };\r\n            }\r\n            if (this.maxDate && value > this.maxDate) {\r\n                return { suiMaxDate: { required: this.maxDate, actual: value } };\r\n            }\r\n        }\r\n        // Angular expects null\r\n        // tslint:disable-next-line:no-null-keyword\r\n        return null;\r\n    };\r\n    SuiDatepickerDirective.prototype.writeValue = function (value) {\r\n        this.selectedDate = value;\r\n        if (this.componentInstance) {\r\n            this.componentInstance.service.selectedDate = value;\r\n        }\r\n    };\r\n    SuiDatepickerDirective.prototype.onKeyDown = function (e) {\r\n        if (e.keyCode === KeyCode.Escape) {\r\n            this.close();\r\n        }\r\n    };\r\n    return SuiDatepickerDirective;\r\n}(SuiPopupComponentController));\r\n__decorate([\r\n    Input(\"pickerMode\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiDatepickerDirective.prototype, \"mode\", null);\r\n__decorate([\r\n    Input(\"pickerInitialDate\"),\r\n    __metadata(\"design:type\", Date)\r\n], SuiDatepickerDirective.prototype, \"initialDate\", void 0);\r\n__decorate([\r\n    Input(\"pickerMaxDate\"),\r\n    __metadata(\"design:type\", Date)\r\n], SuiDatepickerDirective.prototype, \"maxDate\", void 0);\r\n__decorate([\r\n    Input(\"pickerMinDate\"),\r\n    __metadata(\"design:type\", Date)\r\n], SuiDatepickerDirective.prototype, \"minDate\", void 0);\r\n__decorate([\r\n    Input(\"pickerFirstDayOfWeek\"),\r\n    __metadata(\"design:type\", Number)\r\n], SuiDatepickerDirective.prototype, \"firstDayOfWeek\", void 0);\r\n__decorate([\r\n    Input(\"pickerLocaleOverrides\"),\r\n    __metadata(\"design:type\", Object)\r\n], SuiDatepickerDirective.prototype, \"localeOverrides\", void 0);\r\n__decorate([\r\n    Input(\"pickerPlacement\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiDatepickerDirective.prototype, \"placement\", null);\r\n__decorate([\r\n    Input(\"pickerTransition\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiDatepickerDirective.prototype, \"transition\", null);\r\n__decorate([\r\n    Input(\"pickerTransitionDuration\"),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiDatepickerDirective.prototype, \"transitionDuration\", null);\r\n__decorate([\r\n    Output(\"pickerSelectedDateChange\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiDatepickerDirective.prototype, \"onSelectedDateChange\", void 0);\r\n__decorate([\r\n    Output(\"pickerValidatorChange\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiDatepickerDirective.prototype, \"onValidatorChange\", void 0);\r\n__decorate([\r\n    HostListener(\"keydown\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [KeyboardEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDatepickerDirective.prototype, \"onKeyDown\", null);\r\nSuiDatepickerDirective = SuiDatepickerDirective_1 = __decorate([\r\n    Directive({\r\n        selector: \"[suiDatepicker]\",\r\n        providers: [customValidatorFactory(SuiDatepickerDirective_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2,\r\n        ElementRef,\r\n        SuiComponentFactory,\r\n        SuiLocalizationService])\r\n], SuiDatepickerDirective);\r\nexport { SuiDatepickerDirective };\r\nvar SuiDatepickerDirectiveValueAccessor = SuiDatepickerDirectiveValueAccessor_1 = (function (_super) {\r\n    __extends(SuiDatepickerDirectiveValueAccessor, _super);\r\n    function SuiDatepickerDirectiveValueAccessor(host) {\r\n        var _this = _super.call(this, host) || this;\r\n        _this.host = host;\r\n        return _this;\r\n    }\r\n    return SuiDatepickerDirectiveValueAccessor;\r\n}(CustomValueAccessor));\r\nSuiDatepickerDirectiveValueAccessor = SuiDatepickerDirectiveValueAccessor_1 = __decorate([\r\n    Directive({\r\n        selector: \"[suiDatepicker]\",\r\n        host: { \"(pickerSelectedDateChange)\": \"onChange($event)\" },\r\n        providers: [customValueAccessorFactory(SuiDatepickerDirectiveValueAccessor_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiDatepickerDirective])\r\n], SuiDatepickerDirectiveValueAccessor);\r\nexport { SuiDatepickerDirectiveValueAccessor };\r\nvar SuiDatepickerDirectiveValidator = SuiDatepickerDirectiveValidator_1 = (function (_super) {\r\n    __extends(SuiDatepickerDirectiveValidator, _super);\r\n    function SuiDatepickerDirectiveValidator(host) {\r\n        var _this = _super.call(this, host) || this;\r\n        _this.host = host;\r\n        return _this;\r\n    }\r\n    return SuiDatepickerDirectiveValidator;\r\n}(CustomValidator));\r\nSuiDatepickerDirectiveValidator = SuiDatepickerDirectiveValidator_1 = __decorate([\r\n    Directive({\r\n        selector: \"[suiDatepicker]\",\r\n        host: { \"(pickerValidatorChange)\": \"onValidatorChange()\" },\r\n        providers: [customValidatorFactory(SuiDatepickerDirectiveValidator_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiDatepickerDirective])\r\n], SuiDatepickerDirectiveValidator);\r\nexport { SuiDatepickerDirectiveValidator };\r\nvar SuiDatepickerDirective_1, SuiDatepickerDirectiveValueAccessor_1, SuiDatepickerDirectiveValidator_1;\r\n//# sourceMappingURL=datepicker.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/directives/datepicker.directive.js\n// module id = 246\n// module chunks = 3","export * from \"./components/dimmer\";\r\nexport * from \"./dimmer.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dimmer/index.js\n// module id = 247\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, ContentChild, forwardRef, Renderer2, ElementRef, ContentChildren, QueryList, Input, HostListener, ChangeDetectorRef } from \"@angular/core\";\r\nimport { Transition, SuiTransition, TransitionController, TransitionDirection } from \"../../transition/index\";\r\nimport { KeyCode } from \"../../../misc/util/index\";\r\nimport { DropdownAutoCloseType } from \"../services/dropdown.service\";\r\n// Polyfill for IE\r\nimport \"element-closest\";\r\nvar SuiDropdownMenuItem = (function () {\r\n    function SuiDropdownMenuItem(_renderer, element) {\r\n        this._renderer = _renderer;\r\n        this.element = element;\r\n        this.isSelected = false;\r\n        this.selectedClass = \"selected\";\r\n    }\r\n    Object.defineProperty(SuiDropdownMenuItem.prototype, \"isDisabled\", {\r\n        get: function () {\r\n            // We must use nativeElement as Angular doesn't have a way of reading class information.\r\n            var element = this.element.nativeElement;\r\n            return element.classList.contains(\"disabled\");\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdownMenuItem.prototype, \"isSelected\", {\r\n        get: function () {\r\n            return this._isSelected;\r\n        },\r\n        set: function (value) {\r\n            // Renderer is used to enable a dynamic class name.\r\n            if (value) {\r\n                this._renderer.addClass(this.element.nativeElement, this.selectedClass);\r\n            }\r\n            else {\r\n                this._renderer.removeClass(this.element.nativeElement, this.selectedClass);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdownMenuItem.prototype, \"hasChildDropdown\", {\r\n        get: function () {\r\n            return !!this.childDropdownMenu;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiDropdownMenuItem.prototype.performClick = function () {\r\n        // Using directly because Renderer2 doesn't have invokeElementMethod method anymore.\r\n        this.element.nativeElement.click();\r\n    };\r\n    return SuiDropdownMenuItem;\r\n}());\r\n__decorate([\r\n    ContentChild(forwardRef(function () { return SuiDropdownMenu; })),\r\n    __metadata(\"design:type\", SuiDropdownMenu)\r\n], SuiDropdownMenuItem.prototype, \"childDropdownMenu\", void 0);\r\nSuiDropdownMenuItem = __decorate([\r\n    Directive({\r\n        // We must attach to every '.item' as Angular doesn't support > selectors.\r\n        selector: \".item\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef])\r\n], SuiDropdownMenuItem);\r\nexport { SuiDropdownMenuItem };\r\nvar SuiDropdownMenu = (function (_super) {\r\n    __extends(SuiDropdownMenu, _super);\r\n    function SuiDropdownMenu(renderer, element, changeDetector) {\r\n        var _this = _super.call(this, renderer, element, changeDetector) || this;\r\n        _this.element = element;\r\n        // Initialise transition functionality.\r\n        _this._transitionController = new TransitionController(false);\r\n        _this.setTransitionController(_this._transitionController);\r\n        _this.menuTransition = \"slide down\";\r\n        _this.menuTransitionDuration = 200;\r\n        _this.menuAutoSelectFirst = false;\r\n        _this.menuSelectedItemClass = \"selected\";\r\n        _this._documentKeyDownListener = renderer.listen(\"document\", \"keydown\", function (e) { return _this.onDocumentKeyDown(e); });\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiDropdownMenu.prototype, \"service\", {\r\n        get: function () {\r\n            return this._service;\r\n        },\r\n        set: function (value) {\r\n            var _this = this;\r\n            this._service = value;\r\n            var previousIsOpen = this._service.isOpen;\r\n            this._service.isOpenChange.subscribe(function (isOpen) {\r\n                if (isOpen !== previousIsOpen) {\r\n                    // Only run transitions if the open state has changed.\r\n                    _this._transitionController.stopAll();\r\n                    _this._transitionController.animate(new Transition(_this.menuTransition, _this.menuTransitionDuration, TransitionDirection.Either, function () { return _this._service.isAnimating = false; }));\r\n                }\r\n                if (!isOpen) {\r\n                    // Reset the item selections when a nested item is selected to avoid incosistent open states.\r\n                    if (_this.selectedItems.length > 1) {\r\n                        _this.resetSelection();\r\n                    }\r\n                }\r\n                previousIsOpen = isOpen;\r\n            });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdownMenu.prototype, \"items\", {\r\n        set: function (items) {\r\n            this._itemsQueryOverride = items;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdownMenu.prototype, \"_itemsQuery\", {\r\n        get: function () {\r\n            return this._itemsQueryOverride || this._itemsQueryInternal;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdownMenu.prototype, \"_items\", {\r\n        // Get the list of items, ignoring those that are disabled.\r\n        get: function () {\r\n            return this._itemsQuery.filter(function (i) { return !i.isDisabled; });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiDropdownMenu.prototype.onClick = function (e) {\r\n        if (!e.eventHandled) {\r\n            e.eventHandled = true;\r\n            if (this._service.autoCloseMode === DropdownAutoCloseType.ItemClick) {\r\n                var target = e.target;\r\n                if (this.element.nativeElement.contains(target.closest(\".item\")) && !/input|textarea/i.test(target.tagName)) {\r\n                    // Once an item is selected, we can close the entire dropdown.\r\n                    this._service.setOpenState(false, true);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    SuiDropdownMenu.prototype.onDocumentKeyDown = function (e) {\r\n        // Only the root dropdown (i.e. not nested dropdowns) is responsible for keeping track of the currently selected item.\r\n        if (this._service.isOpen && !this._service.isNested) {\r\n            // Stop document events like scrolling while open.\r\n            var target = e.target;\r\n            if (!/input/i.test(target.tagName) &&\r\n                [KeyCode.Escape, KeyCode.Enter, KeyCode.Up, KeyCode.Down, KeyCode.Left, KeyCode.Right].find(function (kC) { return kC === e.keyCode; })) {\r\n                e.preventDefault();\r\n            }\r\n            // Gets the top selected item from the stack.\r\n            var selected = this.selectedItems.slice(-1)[0];\r\n            // Keeping track of the menu containing the currently selected element allows us to easily determine its siblings.\r\n            var selectedContainer = this;\r\n            if (this.selectedItems.length >= 2) {\r\n                var selectedParent = this.selectedItems.slice(-2)[0];\r\n                selectedContainer = selectedParent.childDropdownMenu;\r\n            }\r\n            switch (e.keyCode) {\r\n                // Escape : close the entire dropdown.\r\n                case KeyCode.Escape: {\r\n                    this._service.setOpenState(false);\r\n                    break;\r\n                }\r\n                // Down : select the next item below the current one, or the 1st if none selected.\r\n                case KeyCode.Down:\r\n                // Up : select the next item above the current one, or the 1st if none selected.\r\n                case KeyCode.Up: {\r\n                    this.selectedItems.pop();\r\n                    this.selectedItems.push(selectedContainer.updateSelection(selected, e.keyCode));\r\n                    // Prevent default regardless of whether we are in an input, to stop jumping to the start or end of the query string.\r\n                    e.preventDefault();\r\n                    break;\r\n                }\r\n                // Enter : if the item doesn't contain a nested dropdown, 'click' it. Otherwise, fall through to 'Right' action.\r\n                case KeyCode.Enter: {\r\n                    if (selected && !selected.hasChildDropdown) {\r\n                        selected.performClick();\r\n                        break;\r\n                    }\r\n                }\r\n                // falls through\r\n                // Right : if the selected item contains a nested dropdown, open the dropdown & select the 1st item.\r\n                case KeyCode.Right: {\r\n                    if (selected && selected.hasChildDropdown) {\r\n                        selected.childDropdownMenu.service.setOpenState(true);\r\n                        this.selectedItems.push(selected.childDropdownMenu.updateSelection(selected, e.keyCode));\r\n                    }\r\n                    break;\r\n                }\r\n                // Left : if the selected item is in a nested dropdown, close it and select the containing item.\r\n                case KeyCode.Left: {\r\n                    if (this.selectedItems.length >= 2) {\r\n                        this.selectedItems.pop();\r\n                        var selectedParent = this.selectedItems.slice(-1)[0];\r\n                        selectedParent.childDropdownMenu.service.setOpenState(false);\r\n                        selectedParent.isSelected = true;\r\n                    }\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    SuiDropdownMenu.prototype.resetSelection = function () {\r\n        var _this = this;\r\n        this.selectedItems = [];\r\n        this._items.forEach(function (i) {\r\n            i.selectedClass = _this.menuSelectedItemClass;\r\n            i.isSelected = false;\r\n        });\r\n        if (this.menuAutoSelectFirst && this._items.length > 0) {\r\n            // Autoselect 1st item if required & possible.\r\n            this._items[0].isSelected = true;\r\n            this.scrollToItem(this._items[0]);\r\n            this.selectedItems.push(this._itemsQuery.first);\r\n        }\r\n    };\r\n    // Determines the item to next be selected, based on the keyboard input & the currently selected item.\r\n    SuiDropdownMenu.prototype.updateSelection = function (selectedItem, keyCode) {\r\n        if (selectedItem) {\r\n            // Remove the selected status on the previously selected item.\r\n            selectedItem.isSelected = false;\r\n        }\r\n        var selectedIndex = this._items\r\n            .findIndex(function (i) { return i === selectedItem; });\r\n        var newSelection;\r\n        switch (keyCode) {\r\n            case KeyCode.Enter:\r\n            case KeyCode.Right:\r\n            case KeyCode.Down:\r\n                selectedIndex += 1;\r\n                break;\r\n            case KeyCode.Up:\r\n                if (selectedIndex === -1) {\r\n                    // If none are selected, select the 1st item. Should this be `this.items.last - 1`?\r\n                    selectedIndex = 0;\r\n                    break;\r\n                }\r\n                selectedIndex -= 1;\r\n                break;\r\n        }\r\n        // Select the item at the updated index. The || is to stop us selecting past the start or end of the item list.\r\n        newSelection = this._items[selectedIndex] || selectedItem;\r\n        if (newSelection) {\r\n            // Set the selected status on the newly selected item.\r\n            newSelection.isSelected = true;\r\n            // Set the current scroll position to the location of the newly selected item.\r\n            this.scrollToItem(newSelection);\r\n        }\r\n        return newSelection;\r\n    };\r\n    SuiDropdownMenu.prototype.scrollToItem = function (item) {\r\n        var menu = this.element.nativeElement;\r\n        var selectedRect = item.element.nativeElement.getBoundingClientRect();\r\n        var menuRect = menu.getBoundingClientRect();\r\n        var scrollAmount = 0;\r\n        if (selectedRect.bottom > menuRect.bottom) {\r\n            scrollAmount = selectedRect.bottom - menuRect.bottom;\r\n        }\r\n        if (selectedRect.top < menuRect.top) {\r\n            scrollAmount = selectedRect.top - menuRect.top;\r\n        }\r\n        menu.scrollTop += Math.round(scrollAmount);\r\n    };\r\n    SuiDropdownMenu.prototype.ngAfterContentInit = function () {\r\n        var _this = this;\r\n        this.onItemsChanged();\r\n        this._itemsQuery.changes.subscribe(function () { return _this.onItemsChanged(); });\r\n    };\r\n    SuiDropdownMenu.prototype.onItemsChanged = function () {\r\n        // We use `_items` rather than `items` in case one or more have become disabled.\r\n        this.resetSelection();\r\n    };\r\n    SuiDropdownMenu.prototype.ngOnDestroy = function () {\r\n        this._documentKeyDownListener();\r\n    };\r\n    return SuiDropdownMenu;\r\n}(SuiTransition));\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiDropdownMenu.prototype, \"menuTransition\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiDropdownMenu.prototype, \"menuTransitionDuration\", void 0);\r\n__decorate([\r\n    ContentChildren(SuiDropdownMenuItem),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiDropdownMenu.prototype, \"_itemsQueryInternal\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiDropdownMenu.prototype, \"menuAutoSelectFirst\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiDropdownMenu.prototype, \"menuSelectedItemClass\", void 0);\r\n__decorate([\r\n    HostListener(\"click\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Object]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDropdownMenu.prototype, \"onClick\", null);\r\nSuiDropdownMenu = __decorate([\r\n    Directive({\r\n        selector: \"[suiDropdownMenu]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef, ChangeDetectorRef])\r\n], SuiDropdownMenu);\r\nexport { SuiDropdownMenu };\r\n//# sourceMappingURL=dropdown-menu.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dropdown/directives/dropdown-menu.js\n// module id = 248\n// module chunks = 3","import { EventEmitter } from \"@angular/core\";\r\n// Creates essentially a 'string' enum.\r\nexport var DropdownAutoCloseType = {\r\n    ItemClick: \"itemClick\",\r\n    OutsideClick: \"outsideClick\",\r\n    Disabled: \"disabled\"\r\n};\r\nvar DropdownService = (function () {\r\n    function DropdownService(autoCloseMode) {\r\n        if (autoCloseMode === void 0) { autoCloseMode = DropdownAutoCloseType.ItemClick; }\r\n        this.isOpen = false;\r\n        this.isOpenChange = new EventEmitter();\r\n        this.isDisabled = false;\r\n        this.autoCloseMode = autoCloseMode;\r\n        this.children = [];\r\n    }\r\n    Object.defineProperty(DropdownService.prototype, \"isNested\", {\r\n        get: function () {\r\n            return !!this.parent;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    DropdownService.prototype.setOpenState = function (isOpen, reflectInParent) {\r\n        var _this = this;\r\n        if (reflectInParent === void 0) { reflectInParent = false; }\r\n        if (this.isOpen !== isOpen && !this.isDisabled) {\r\n            // Only update the state if it has changed, and the dropdown isn't disabled.\r\n            this.isOpen = !!isOpen;\r\n            this.isAnimating = true;\r\n            // We must delay the emitting to avoid the 'changed after checked' Angular errors.\r\n            this.delay(function () { return _this.isOpenChange.emit(_this.isOpen); });\r\n            if (!this.isOpen) {\r\n                // Close the child dropdowns when this one closes.\r\n                this.children.forEach(function (c) { return c.setOpenState(_this.isOpen); });\r\n            }\r\n            if (this.parent && reflectInParent) {\r\n                // Open the parent dropdowns when this one opens.\r\n                this.parent.setOpenState(this.isOpen, true);\r\n            }\r\n        }\r\n        else if (this.isOpen !== isOpen && this.isDisabled) {\r\n            // If the state has changed, but the dropdown is disabled, re-emit the original isOpen value.\r\n            this.delay(function () { return _this.isOpenChange.emit(_this.isOpen); });\r\n        }\r\n    };\r\n    DropdownService.prototype.setDisabledState = function (isDisabled) {\r\n        if (this.isDisabled !== isDisabled) {\r\n            if (!!isDisabled) {\r\n                // Close the dropdown as it is now disabled\r\n                this.setOpenState(false);\r\n            }\r\n            this.isDisabled = !!isDisabled;\r\n        }\r\n    };\r\n    DropdownService.prototype.toggleOpenState = function () {\r\n        this.setOpenState(!this.isOpen);\r\n    };\r\n    // Registers a dropdown service as a child of this service.\r\n    DropdownService.prototype.registerChild = function (child) {\r\n        if (!this.isChildRegistered(child)) {\r\n            this.children.push(child);\r\n            child.parent = this;\r\n        }\r\n    };\r\n    // Recursive method to check if the provided dropdown is already registered as a child, or is a descendant of a child.\r\n    DropdownService.prototype.isChildRegistered = function (child) {\r\n        return this === child || !!this.children\r\n            .find(function (c) { return !!c.children\r\n            .find(function (cChild) { return cChild.isChildRegistered(child); }); });\r\n    };\r\n    // Wipes any nested data, so all services can be cleanly reattached.\r\n    DropdownService.prototype.clearChildren = function () {\r\n        this.children.forEach(function (c) {\r\n            c.parent = undefined;\r\n        });\r\n        this.children = [];\r\n    };\r\n    // Method for delaying an event into the next tick, to avoid Angular \"changed after checked\" error.\r\n    DropdownService.prototype.delay = function (callback) {\r\n        setTimeout(function () { return callback(); });\r\n    };\r\n    return DropdownService;\r\n}());\r\nexport { DropdownService };\r\n//# sourceMappingURL=dropdown.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dropdown/services/dropdown.service.js\n// module id = 249\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nexport var ModalSize = {\r\n    Mini: \"mini\",\r\n    Tiny: \"tiny\",\r\n    Small: \"small\",\r\n    Normal: \"normal\",\r\n    Large: \"large\"\r\n};\r\n// Stores a basic set of configuration options for a modal.\r\nvar ModalConfig = (function () {\r\n    function ModalConfig(context, isClosable) {\r\n        if (context === void 0) { context = undefined; }\r\n        if (isClosable === void 0) { isClosable = true; }\r\n        // Initialise with default values.\r\n        this.isClosable = isClosable;\r\n        this.context = context;\r\n        this.size = ModalSize.Normal;\r\n        this.isFullScreen = false;\r\n        this.isBasic = false;\r\n        this.isInverted = false;\r\n        this.mustScroll = false;\r\n        this.transition = \"scale\";\r\n        this.transitionDuration = 500;\r\n    }\r\n    return ModalConfig;\r\n}());\r\nexport { ModalConfig };\r\n// Used when creating a modal from a `TemplateRef`.\r\nvar TemplateModalConfig = (function (_super) {\r\n    __extends(TemplateModalConfig, _super);\r\n    function TemplateModalConfig(template, context, isClosable) {\r\n        if (context === void 0) { context = undefined; }\r\n        if (isClosable === void 0) { isClosable = true; }\r\n        var _this = _super.call(this, context, isClosable) || this;\r\n        _this.template = template;\r\n        return _this;\r\n    }\r\n    return TemplateModalConfig;\r\n}(ModalConfig));\r\nexport { TemplateModalConfig };\r\n// Used when creating a modal from an existing component.\r\nvar ComponentModalConfig = (function (_super) {\r\n    __extends(ComponentModalConfig, _super);\r\n    function ComponentModalConfig(component, context, isClosable) {\r\n        if (context === void 0) { context = undefined; }\r\n        if (isClosable === void 0) { isClosable = true; }\r\n        var _this = _super.call(this, context, isClosable) || this;\r\n        _this.component = component;\r\n        return _this;\r\n    }\r\n    return ComponentModalConfig;\r\n}(ModalConfig));\r\nexport { ComponentModalConfig };\r\n//# sourceMappingURL=modal-config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/classes/modal-config.js\n// module id = 250\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\n// Used to pass ability to control a modal to a component.\r\nvar ModalControls = (function () {\r\n    function ModalControls(approve, deny) {\r\n        this.approve = approve;\r\n        this.deny = deny;\r\n    }\r\n    // Use method here rather than arrow variables to make intellisense show they're methods.\r\n    ModalControls.prototype.approve = function (result) { };\r\n    ModalControls.prototype.deny = function (result) { };\r\n    return ModalControls;\r\n}());\r\nexport { ModalControls };\r\n// Injected into custom modal components, to allow control of the modal, and access to a context object.\r\nvar Modal = (function (_super) {\r\n    __extends(Modal, _super);\r\n    function Modal(controls, context) {\r\n        var _this = \r\n        // Instances of `ModalControls` are only created in the `SuiModal` constructor,\r\n        // so we take an initialised instance rather than remaking one each time.\r\n        _super.call(this, controls.approve, controls.deny) || this;\r\n        _this.context = context;\r\n        return _this;\r\n    }\r\n    return Modal;\r\n}(ModalControls));\r\nexport { Modal };\r\n//# sourceMappingURL=modal-controls.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/classes/modal-controls.js\n// module id = 251\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, ViewChild, ElementRef, Renderer2, EventEmitter, Output, HostListener, ViewContainerRef } from \"@angular/core\";\r\nimport { Util, KeyCode, SuiComponentFactory } from \"../../../misc/util/index\";\r\nimport { TransitionController, Transition, TransitionDirection } from \"../../transition/index\";\r\nimport { ModalControls } from \"../classes/modal-controls\";\r\nimport { ModalConfig, ModalSize } from \"../classes/modal-config\";\r\nvar SuiModal = (function () {\r\n    function SuiModal(_renderer, _element, _componentFactory) {\r\n        var _this = this;\r\n        this._renderer = _renderer;\r\n        this._element = _element;\r\n        this._componentFactory = _componentFactory;\r\n        // Initialise with default configuration from `ModalConfig` (to avoid writing defaults twice).\r\n        var config = new ModalConfig();\r\n        this.loadConfig(config);\r\n        // Event emitters for each of the possible modal outcomes.\r\n        this.onApprove = new EventEmitter();\r\n        this.onDeny = new EventEmitter();\r\n        this.onDismiss = new EventEmitter();\r\n        // Initialise controls with actions for the `approve` and `deny` cases.\r\n        this.controls = new ModalControls(function (res) { return _this.dismiss(function () { return _this.onApprove.emit(res); }); }, function (res) { return _this.dismiss(function () { return _this.onDeny.emit(res); }); });\r\n        // Internal variable initialisation.\r\n        this.dimBackground = false;\r\n        this._isClosing = false;\r\n        this.transitionController = new TransitionController(false);\r\n    }\r\n    Object.defineProperty(SuiModal.prototype, \"approve\", {\r\n        get: function () {\r\n            return this.controls.approve;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiModal.prototype, \"deny\", {\r\n        get: function () {\r\n            return this.controls.deny;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiModal.prototype, \"isFullScreen\", {\r\n        // Value to deny with when closing via `isClosable`.\r\n        get: function () {\r\n            return this._isFullScreen;\r\n        },\r\n        set: function (fullScreen) {\r\n            this._isFullScreen = Util.DOM.parseBooleanAttribute(fullScreen);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiModal.prototype, \"mustScroll\", {\r\n        get: function () {\r\n            return this._mustScroll;\r\n        },\r\n        set: function (mustScroll) {\r\n            this._mustScroll = mustScroll;\r\n            // 'Cache' value in _mustAlwaysScroll so that if `true`, _mustScroll isn't ever auto-updated.\r\n            this._mustAlwaysScroll = mustScroll;\r\n            this.updateScroll();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiModal.prototype, \"isInverted\", {\r\n        get: function () {\r\n            return this._isInverted;\r\n        },\r\n        set: function (inverted) {\r\n            this._isInverted = Util.DOM.parseBooleanAttribute(inverted);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiModal.prototype, \"dynamicClasses\", {\r\n        get: function () {\r\n            var classes = {};\r\n            if (this.size) {\r\n                classes[this.size] = true;\r\n            }\r\n            return classes;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiModal.prototype.ngOnInit = function () {\r\n        var _this = this;\r\n        // Transition the modal to be visible.\r\n        this.transitionController.animate(new Transition(this.transition, this.transitionDuration, TransitionDirection.In));\r\n        setTimeout(function () { return _this.dimBackground = true; });\r\n    };\r\n    SuiModal.prototype.ngAfterViewInit = function () {\r\n        var _this = this;\r\n        // Move the modal to the document body to ensure correct scrolling.\r\n        this._originalContainer = this._element.nativeElement.parentNode;\r\n        document.querySelector(\"body\").appendChild(this._element.nativeElement);\r\n        // Remove the #templateSibling element from the DOM to fix bottom border styles.\r\n        var templateElement = this.templateSibling.element.nativeElement;\r\n        if (templateElement.parentNode) {\r\n            templateElement.parentNode.removeChild(templateElement);\r\n        }\r\n        // Update margin offset to center modal correctly on-screen.\r\n        var element = this._modalElement.nativeElement;\r\n        setTimeout(function () {\r\n            _this._renderer.setStyle(element, \"margin-top\", \"-\" + element.clientHeight / 2 + \"px\");\r\n            _this.updateScroll();\r\n        });\r\n        // Focus any element with [autofocus] attribute.\r\n        var autoFocus = element.querySelector(\"[autofocus]\");\r\n        if (autoFocus) {\r\n            // Autofocus after the browser has had time to process other event handlers.\r\n            setTimeout(function () { return autoFocus.focus(); }, 10);\r\n            // Try to focus again when the modal has opened so that autofocus works in IE11.\r\n            setTimeout(function () { return autoFocus.focus(); }, this.transitionDuration);\r\n        }\r\n    };\r\n    // Updates the modal with the specified configuration.\r\n    SuiModal.prototype.loadConfig = function (config) {\r\n        this.isClosable = config.isClosable;\r\n        this.closeResult = config.closeResult;\r\n        this.size = config.size;\r\n        this.isFullScreen = config.isFullScreen;\r\n        this.isBasic = config.isBasic;\r\n        this.isInverted = config.isInverted;\r\n        this.mustScroll = config.mustScroll;\r\n        this.transition = config.transition;\r\n        this.transitionDuration = config.transitionDuration;\r\n    };\r\n    // Dismisses the modal with a transition, firing the callback after the modal has finished transitioning.\r\n    SuiModal.prototype.dismiss = function (callback) {\r\n        var _this = this;\r\n        if (callback === void 0) { callback = function () { }; }\r\n        // If we aren't currently closing,\r\n        if (!this._isClosing) {\r\n            this._isClosing = true;\r\n            // Transition the modal to be invisible.\r\n            this.dimBackground = false;\r\n            this.transitionController.stopAll();\r\n            this.transitionController.animate(new Transition(this.transition, this.transitionDuration, TransitionDirection.Out, function () {\r\n                // When done, move the modal back to its original location, emit a dismiss event, and fire the callback.\r\n                if (_this._originalContainer) {\r\n                    _this._originalContainer.appendChild(_this._element.nativeElement);\r\n                }\r\n                _this.onDismiss.emit();\r\n                callback();\r\n            }));\r\n        }\r\n    };\r\n    // Closes the modal with a 'deny' outcome, using the specified default reason.\r\n    SuiModal.prototype.close = function () {\r\n        if (this.isClosable) {\r\n            // If we are allowed to close, fire the deny result with the default value.\r\n            this.deny(this.closeResult);\r\n        }\r\n    };\r\n    // Decides whether the modal needs to reposition to allow scrolling.\r\n    SuiModal.prototype.updateScroll = function () {\r\n        // Semantic UI modal margin is 3.5rem, which is relative to the global font size, so for compatibility:\r\n        var fontSize = parseFloat(window.getComputedStyle(document.documentElement).getPropertyValue(\"font-size\"));\r\n        var margin = fontSize * 3.5;\r\n        // _mustAlwaysScroll works by stopping _mustScroll from being automatically updated, so it stays `true`.\r\n        if (!this._mustAlwaysScroll && this._modalElement) {\r\n            var element = this._modalElement.nativeElement;\r\n            // The modal must scroll if the window height is smaller than the modal height + both margins.\r\n            this._mustScroll = window.innerHeight < element.clientHeight + margin * 2;\r\n        }\r\n    };\r\n    SuiModal.prototype.onClick = function (e) {\r\n        // Makes sense here, as the modal shouldn't be attached to any DOM element.\r\n        e.stopPropagation();\r\n    };\r\n    // Document listener is fine here because nobody will enough modals open.\r\n    SuiModal.prototype.onDocumentKeyUp = function (e) {\r\n        if (e.keyCode === KeyCode.Escape) {\r\n            // Close automatically covers case of `!isClosable`, so check not needed.\r\n            this.close();\r\n        }\r\n    };\r\n    SuiModal.prototype.onDocumentResize = function () {\r\n        this.updateScroll();\r\n    };\r\n    return SuiModal;\r\n}());\r\n__decorate([\r\n    Input()\r\n    // Determines whether the modal can be closed with a close button, clicking outside, or the escape key.\r\n    ,\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiModal.prototype, \"isClosable\", void 0);\r\n__decorate([\r\n    Input()\r\n    // Value to deny with when closing via `isClosable`.\r\n    ,\r\n    __metadata(\"design:type\", Object)\r\n], SuiModal.prototype, \"closeResult\", void 0);\r\n__decorate([\r\n    Output(\"approved\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiModal.prototype, \"onApprove\", void 0);\r\n__decorate([\r\n    Output(\"denied\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiModal.prototype, \"onDeny\", void 0);\r\n__decorate([\r\n    Output(\"dismissed\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiModal.prototype, \"onDismiss\", void 0);\r\n__decorate([\r\n    ViewChild(\"modal\"),\r\n    __metadata(\"design:type\", ElementRef)\r\n], SuiModal.prototype, \"_modalElement\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiModal.prototype, \"size\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiModal.prototype, \"isFullScreen\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiModal.prototype, \"isBasic\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiModal.prototype, \"mustScroll\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiModal.prototype, \"isInverted\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiModal.prototype, \"transition\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiModal.prototype, \"transitionDuration\", void 0);\r\n__decorate([\r\n    ViewChild(\"templateSibling\", { read: ViewContainerRef }),\r\n    __metadata(\"design:type\", ViewContainerRef)\r\n], SuiModal.prototype, \"templateSibling\", void 0);\r\n__decorate([\r\n    HostListener(\"document:keyup\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [KeyboardEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiModal.prototype, \"onDocumentKeyUp\", null);\r\n__decorate([\r\n    HostListener(\"window:resize\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiModal.prototype, \"onDocumentResize\", null);\r\nSuiModal = __decorate([\r\n    Component({\r\n        selector: \"sui-modal\",\r\n        template: \"\\n<!-- Page dimmer for modal background. -->\\n<sui-dimmer class=\\\"page\\\"\\n            [class.inverted]=\\\"isInverted\\\"\\n            [(isDimmed)]=\\\"dimBackground\\\"\\n            [isClickable]=\\\"false\\\"\\n            [transitionDuration]=\\\"transitionDuration\\\"\\n            [wrapContent]=\\\"false\\\"\\n            (click)=\\\"close()\\\">\\n\\n    <!-- Modal component, with transition component attached -->\\n    <div class=\\\"ui modal\\\"\\n         [suiTransition]=\\\"transitionController\\\"\\n         [class.active]=\\\"transitionController?.isVisible\\\"\\n         [class.fullscreen]=\\\"isFullScreen\\\"\\n         [class.basic]=\\\"isBasic\\\"\\n         [class.scroll]=\\\"mustScroll\\\"\\n         [class.inverted]=\\\"isInverted\\\"\\n         [ngClass]=\\\"dynamicClasses\\\"\\n         (click)=\\\"onClick($event)\\\"\\n         #modal>\\n\\n        <!-- Configurable close icon -->\\n        <i class=\\\"close icon\\\" *ngIf=\\\"isClosable\\\" (click)=\\\"close()\\\"></i>\\n        <!-- <ng-content> so that <sui-modal> can be used as a normal component. -->\\n        <ng-content></ng-content>\\n        <!-- @ViewChild reference so we can insert elements beside this div. -->\\n        <div #templateSibling></div>\\n    </div>\\n</sui-dimmer>\\n\",\r\n        styles: [\"\\n.ui.dimmer {\\n    overflow-y: auto;\\n}\\n\\n/* avoid .scrolling as Semantic UI adds unwanted styles. */\\n.scroll {\\n    position: absolute !important;\\n    margin-top: 3.5rem !important;\\n    margin-bottom: 3.5rem !important;\\n    top: 0;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef, SuiComponentFactory])\r\n], SuiModal);\r\nexport { SuiModal };\r\n//# sourceMappingURL=modal.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/components/modal.js\n// module id = 252\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { HostListener } from \"@angular/core\";\r\nimport { PopupTrigger } from \"./popup-config\";\r\nimport { SuiPopup } from \"../components/popup\";\r\nvar SuiPopupController = (function () {\r\n    function SuiPopupController(renderer, _element, _componentFactory, config) {\r\n        var _this = this;\r\n        this._element = _element;\r\n        this._componentFactory = _componentFactory;\r\n        // Generate a new SuiPopup component and attach it to the application view.\r\n        this._componentRef = this._componentFactory.createComponent(SuiPopup);\r\n        // Configure popup with provided config.\r\n        this.popup.config = config;\r\n        // When the popup is closed (onClose fires on animation complete),\r\n        this.popup.onClose.subscribe(function () { return _this.cleanup(); });\r\n        this._documentListener = renderer.listen(\"document\", \"click\", function (e) { return _this.onDocumentClick(e); });\r\n    }\r\n    Object.defineProperty(SuiPopupController.prototype, \"popup\", {\r\n        // Returns generated popup instance.\r\n        get: function () {\r\n            // Use non-null assertion as we only access this when a popup exists.\r\n            return this._componentRef.instance;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiPopupController.prototype.configure = function (config) {\r\n        if (config) {\r\n            Object.assign(this.popup.config, config);\r\n        }\r\n    };\r\n    SuiPopupController.prototype.openDelayed = function () {\r\n        var _this = this;\r\n        // Cancel the opening timer.\r\n        clearTimeout(this._openingTimeout);\r\n        // Start the popup opening after the specified delay interval.\r\n        this._openingTimeout = window.setTimeout(function () { return _this.open(); }, this.popup.config.delay);\r\n    };\r\n    SuiPopupController.prototype.open = function () {\r\n        // Attach the generated component to the current application.\r\n        this._componentFactory.attachToApplication(this._componentRef);\r\n        // Move the generated element to the body to avoid any positioning issues.\r\n        this._componentFactory.moveToDocumentBody(this._componentRef);\r\n        // Attach a reference to the anchor element. We do it here because IE11 loves to complain.\r\n        this.popup.anchor = this._element;\r\n        // Start popup open transition.\r\n        this.popup.open();\r\n        // Call lifecyle hook\r\n        var lifecycle = this.popupOnOpen;\r\n        if (lifecycle) {\r\n            lifecycle.call(this);\r\n        }\r\n    };\r\n    SuiPopupController.prototype.close = function () {\r\n        // Cancel the opening timer to stop the popup opening after close has been called.\r\n        clearTimeout(this._openingTimeout);\r\n        if (this._componentRef) {\r\n            // Start popup close transition.\r\n            this.popup.close();\r\n        }\r\n        // Call lifecyle hook\r\n        var lifecycle = this.popupOnClose;\r\n        if (lifecycle) {\r\n            lifecycle.call(this);\r\n        }\r\n    };\r\n    SuiPopupController.prototype.toggleDelayed = function () {\r\n        // If the popup hasn't been created, or it has but it isn't currently open, open the popup.\r\n        if (!this._componentRef || (this._componentRef && !this.popup.isOpen)) {\r\n            return this.openDelayed();\r\n        }\r\n        // O'wise, close it.\r\n        return this.close();\r\n    };\r\n    SuiPopupController.prototype.toggle = function () {\r\n        // If the popup hasn't been created, or it has but it isn't currently open, open the popup.\r\n        if (!this._componentRef || (this._componentRef && !this.popup.isOpen)) {\r\n            return this.open();\r\n        }\r\n        // O'wise, close it.\r\n        return this.close();\r\n    };\r\n    SuiPopupController.prototype.onMouseEnter = function () {\r\n        if (this.popup.config.trigger === PopupTrigger.Hover) {\r\n            this.openDelayed();\r\n        }\r\n    };\r\n    SuiPopupController.prototype.onMouseLeave = function () {\r\n        if (this.popup.config.trigger === PopupTrigger.Hover) {\r\n            this.close();\r\n        }\r\n    };\r\n    SuiPopupController.prototype.onClick = function () {\r\n        if (this.popup.config.trigger === PopupTrigger.Click ||\r\n            this.popup.config.trigger === PopupTrigger.OutsideClick) {\r\n            // Repeated clicks require a toggle, rather than just opening the popup each time.\r\n            this.toggleDelayed();\r\n        }\r\n        else if (this.popup.config.trigger === PopupTrigger.Focus &&\r\n            (!this._componentRef || (this._componentRef && !this.popup.isOpen))) {\r\n            // Repeated clicks with a focus trigger requires an open (as focus isn't ever lost on repeated click).\r\n            this.openDelayed();\r\n        }\r\n    };\r\n    SuiPopupController.prototype.onDocumentClick = function (e) {\r\n        // If the popup trigger is outside click,\r\n        if (this._componentRef && this.popup.config.trigger === PopupTrigger.OutsideClick) {\r\n            var target = e.target;\r\n            // Close the popup if the click is outside of the popup element.\r\n            if (!this._element.nativeElement.contains(target)) {\r\n                this.close();\r\n            }\r\n        }\r\n    };\r\n    SuiPopupController.prototype.onFocusIn = function () {\r\n        if (this.popup.config.trigger === PopupTrigger.Focus) {\r\n            this.openDelayed();\r\n        }\r\n    };\r\n    SuiPopupController.prototype.onFocusOut = function (e) {\r\n        if (!this._element.nativeElement.contains(e.relatedTarget) &&\r\n            !this.popup.elementRef.nativeElement.contains(e.relatedTarget) &&\r\n            this.popup.config.trigger === PopupTrigger.Focus) {\r\n            this.close();\r\n        }\r\n    };\r\n    SuiPopupController.prototype.cleanup = function () {\r\n        clearTimeout(this._openingTimeout);\r\n        if (this._componentRef.instance && this._componentRef.instance.positioningService) {\r\n            this._componentRef.instance.positioningService.destroy();\r\n        }\r\n        this._componentFactory.detachFromApplication(this._componentRef);\r\n    };\r\n    SuiPopupController.prototype.ngOnDestroy = function () {\r\n        this.cleanup();\r\n        this._documentListener();\r\n    };\r\n    return SuiPopupController;\r\n}());\r\nexport { SuiPopupController };\r\n__decorate([\r\n    HostListener(\"mouseenter\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiPopupController.prototype, \"onMouseEnter\", null);\r\n__decorate([\r\n    HostListener(\"mouseleave\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiPopupController.prototype, \"onMouseLeave\", null);\r\n__decorate([\r\n    HostListener(\"click\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiPopupController.prototype, \"onClick\", null);\r\n__decorate([\r\n    HostListener(\"focusin\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiPopupController.prototype, \"onFocusIn\", null);\r\n__decorate([\r\n    HostListener(\"focusout\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Object]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiPopupController.prototype, \"onFocusOut\", null);\r\n//# sourceMappingURL=popup-controller.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/classes/popup-controller.js\n// module id = 253\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, ViewChild, ViewContainerRef, ElementRef, EventEmitter, HostListener, HostBinding } from \"@angular/core\";\r\nimport { PositioningService } from \"../../../misc/util/index\";\r\nimport { TransitionController, TransitionDirection, Transition } from \"../../transition/index\";\r\nvar SuiPopup = (function () {\r\n    function SuiPopup(elementRef) {\r\n        this.elementRef = elementRef;\r\n        this.transitionController = new TransitionController(false);\r\n        this._isOpen = false;\r\n        this.onOpen = new EventEmitter();\r\n        this.onClose = new EventEmitter();\r\n        this._tabindex = 0;\r\n    }\r\n    Object.defineProperty(SuiPopup.prototype, \"isOpen\", {\r\n        get: function () {\r\n            return this._isOpen;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopup.prototype, \"anchor\", {\r\n        set: function (anchor) {\r\n            // Whenever the anchor is set (which is when the popup is created), recreate the positioning service with the appropriate options.\r\n            this.positioningService = new PositioningService(anchor, this._container.element, this.config.placement, \".dynamic.arrow\");\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopup.prototype, \"direction\", {\r\n        // Returns the direction (`top`, `left`, `right`, `bottom`) of the current placement.\r\n        get: function () {\r\n            if (this.positioningService) {\r\n                return this.positioningService.actualPlacement.split(\" \").shift();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopup.prototype, \"alignment\", {\r\n        // Returns the alignment (`top`, `left`, `right`, `bottom`) of the current placement.\r\n        get: function () {\r\n            if (this.positioningService) {\r\n                return this.positioningService.actualPlacement.split(\" \").pop();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopup.prototype, \"dynamicClasses\", {\r\n        get: function () {\r\n            var classes = {};\r\n            if (this.direction) {\r\n                classes[this.direction] = true;\r\n            }\r\n            if (this.alignment) {\r\n                classes[this.alignment] = true;\r\n            }\r\n            if (this.config.isInverted) {\r\n                classes.inverted = true;\r\n            }\r\n            if (this.config.isBasic) {\r\n                classes.basic = true;\r\n            }\r\n            return classes;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiPopup.prototype.open = function () {\r\n        var _this = this;\r\n        // Only attempt to open if currently closed.\r\n        if (!this.isOpen) {\r\n            // Cancel the closing timer.\r\n            clearTimeout(this.closingTimeout);\r\n            // Cancel all other transitions, and initiate the opening transition.\r\n            this.transitionController.stopAll();\r\n            this.transitionController.animate(new Transition(this.config.transition, this.config.transitionDuration, TransitionDirection.In, function () {\r\n                // Focus any element with [autofocus] attribute.\r\n                var autoFocus = _this.elementRef.nativeElement.querySelector(\"[autofocus]\");\r\n                if (autoFocus) {\r\n                    // Autofocus after the browser has had time to process other event handlers.\r\n                    setTimeout(function () { return autoFocus.focus(); }, 10);\r\n                    // Try to focus again when the modal has opened so that autofocus works in IE11.\r\n                    setTimeout(function () { return autoFocus.focus(); }, _this.config.transitionDuration);\r\n                }\r\n            }));\r\n            // Refresh the popup position after a brief delay to allow for browser processing time.\r\n            this.positioningService.placement = this.config.placement;\r\n            setTimeout(function () { return _this.positioningService.update(); });\r\n            // Finally, set the popup to be open.\r\n            this._isOpen = true;\r\n            this.onOpen.emit();\r\n        }\r\n    };\r\n    SuiPopup.prototype.toggle = function () {\r\n        if (!this.isOpen) {\r\n            return this.open();\r\n        }\r\n        return this.close();\r\n    };\r\n    SuiPopup.prototype.close = function () {\r\n        var _this = this;\r\n        // Only attempt to close if currently open.\r\n        if (this.isOpen) {\r\n            // Cancel all other transitions, and initiate the closing transition.\r\n            this.transitionController.stopAll();\r\n            this.transitionController.animate(new Transition(this.config.transition, this.config.transitionDuration, TransitionDirection.Out));\r\n            // Cancel the closing timer.\r\n            clearTimeout(this.closingTimeout);\r\n            // Start the closing timer, that fires the `onClose` event after the transition duration number of milliseconds.\r\n            this.closingTimeout = window.setTimeout(function () { return _this.onClose.emit(); }, this.config.transitionDuration);\r\n            // Finally, set the popup to be closed.\r\n            this._isOpen = false;\r\n        }\r\n    };\r\n    SuiPopup.prototype.onClick = function (event) {\r\n        // Makes sense here, as the popup shouldn't be attached to any DOM element.\r\n        event.stopPropagation();\r\n    };\r\n    return SuiPopup;\r\n}());\r\n__decorate([\r\n    ViewChild(\"container\", { read: ViewContainerRef }),\r\n    __metadata(\"design:type\", ViewContainerRef)\r\n], SuiPopup.prototype, \"_container\", void 0);\r\n__decorate([\r\n    ViewChild(\"templateSibling\", { read: ViewContainerRef }),\r\n    __metadata(\"design:type\", ViewContainerRef)\r\n], SuiPopup.prototype, \"templateSibling\", void 0);\r\n__decorate([\r\n    HostBinding(\"attr.tabindex\"),\r\n    __metadata(\"design:type\", Number)\r\n], SuiPopup.prototype, \"_tabindex\", void 0);\r\n__decorate([\r\n    HostListener(\"click\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [MouseEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiPopup.prototype, \"onClick\", null);\r\nSuiPopup = __decorate([\r\n    Component({\r\n        selector: \"sui-popup\",\r\n        template: \"\\n<div class=\\\"ui popup\\\"\\n     [ngClass]=\\\"dynamicClasses\\\"\\n     [suiTransition]=\\\"transitionController\\\"\\n     [attr.direction]=\\\"direction\\\"\\n     #container>\\n\\n    <ng-container *ngIf=\\\"!config.template && (!!config.header || !!config.text)\\\">\\n        <div class=\\\"header\\\" *ngIf=\\\"config.header\\\">{{ config.header }}</div>\\n        <div class=\\\"content\\\">{{ config.text }}</div>\\n    </ng-container>\\n    <div #templateSibling></div>\\n\\n    <sui-popup-arrow *ngIf=\\\"!config.isBasic\\\"\\n                     [placement]=\\\"positioningService.actualPlacement\\\"\\n                     [inverted]=\\\"config.isInverted\\\"></sui-popup-arrow>\\n</div>\\n\",\r\n        styles: [\"\\n.ui.popup {\\n    /* Autofit popup to the contents. */\\n    right: auto;\\n}\\n\\n.ui.animating.popup {\\n    /* When the popup is animating, it may not initially be in the correct position.\\n       This fires a mouse event, causing the anchor's mouseleave to fire - making the popup flicker.\\n       Setting pointer-events to none while animating fixes this bug. */\\n    pointer-events: none;\\n}\\n\\n.ui.popup::before {\\n    /* Hide the Semantic UI CSS arrow. */\\n    display: none;\\n}\\n\\n/* Offset popup by 0.75em above and below when placed 'vertically'. */\\n.ui.popup[direction=\\\"top\\\"],\\n.ui.popup[direction=\\\"bottom\\\"] {\\n    margin-top: 0.75em;\\n    margin-bottom: 0.75em;\\n}\\n\\n/* Offset popup by 0.75em either side when placed 'horizontally'. */\\n.ui.popup[direction=\\\"left\\\"],\\n.ui.popup[direction=\\\"right\\\"] {\\n    margin-left: 0.75em;\\n    margin-right: 0.75em;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ElementRef])\r\n], SuiPopup);\r\nexport { SuiPopup };\r\n//# sourceMappingURL=popup.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/components/popup.js\n// module id = 254\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Injectable } from \"@angular/core\";\r\nimport { PopupConfig } from \"../classes/popup-config\";\r\nvar SuiPopupConfig = (function (_super) {\r\n    __extends(SuiPopupConfig, _super);\r\n    function SuiPopupConfig() {\r\n        // We use an empty constructor to ensure Angular DI works correctly.\r\n        return _super.call(this) || this;\r\n    }\r\n    return SuiPopupConfig;\r\n}(PopupConfig));\r\nSuiPopupConfig = __decorate([\r\n    Injectable(),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiPopupConfig);\r\nexport { SuiPopupConfig };\r\n//# sourceMappingURL=popup.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/services/popup.service.js\n// module id = 255\n// module chunks = 3","export * from \"./components/search-result\";\r\nexport * from \"./components/search\";\r\nexport * from \"./services/search.service\";\r\nexport * from \"./search.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/search/index.js\n// module id = 256\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { ViewChild, HostBinding, HostListener, Input, ContentChildren, QueryList, TemplateRef, ContentChild, EventEmitter, Output } from \"@angular/core\";\r\nimport { DropdownService, SuiDropdownMenu } from \"../../dropdown/index\";\r\nimport { SearchService } from \"../../search/index\";\r\nimport { Util, HandledEvent, KeyCode } from \"../../../misc/util/index\";\r\nimport { SuiSelectOption } from \"../components/select-option\";\r\nimport { SuiSelectSearch } from \"../directives/select-search\";\r\n// We use generic type T to specify the type of the options we are working with,\r\n// and U to specify the type of the property of the option used as the value.\r\nvar SuiSelectBase = (function () {\r\n    function SuiSelectBase(_element, renderer, _localizationService) {\r\n        var _this = this;\r\n        this._element = _element;\r\n        this._localizationService = _localizationService;\r\n        this.dropdownService = new DropdownService();\r\n        // We do want an empty query to return all results.\r\n        this.searchService = new SearchService(true);\r\n        this.isSearchable = false;\r\n        this.onLocaleUpdate();\r\n        this._localizationService.onLanguageUpdate.subscribe(function () { return _this.onLocaleUpdate(); });\r\n        this._renderedSubscriptions = [];\r\n        this.icon = \"dropdown\";\r\n        this.transition = \"slide down\";\r\n        this.transitionDuration = 200;\r\n        this.onTouched = new EventEmitter();\r\n        this._documentKeyDownListener = renderer.listen(\"document\", \"keydown\", function (e) { return _this.onDocumentKeyDown(e); });\r\n        this._selectClasses = true;\r\n    }\r\n    Object.defineProperty(SuiSelectBase.prototype, \"isActive\", {\r\n        get: function () {\r\n            return this.dropdownService.isOpen;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"isVisible\", {\r\n        get: function () {\r\n            return this._menu.isVisible;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"_searchClass\", {\r\n        get: function () {\r\n            return this.isSearchable && !this.isSearchExternal;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"isSearching\", {\r\n        get: function () {\r\n            return this.searchService.isSearching;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"searchInput\", {\r\n        get: function () {\r\n            return this._manualSearch || this._internalSearch;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"tabIndex\", {\r\n        get: function () {\r\n            if (this.isDisabled) {\r\n                // If disabled, remove from tabindex.\r\n                return -1;\r\n            }\r\n            if (this.dropdownService.isOpen && this.isSearchExternal) {\r\n                // If open & in menu search, remove from tabindex (as input always autofocusses).\r\n                return -1;\r\n            }\r\n            if (this._tabIndex != undefined) {\r\n                // If custom tabindex, default to that.\r\n                return this._tabIndex;\r\n            }\r\n            if (this._searchClass) {\r\n                // If search input enabled, tab goes to input.\r\n                return -1;\r\n            }\r\n            // Otherwise, return default of 0.\r\n            return 0;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"isDisabled\", {\r\n        get: function () {\r\n            return this.dropdownService.isDisabled;\r\n        },\r\n        set: function (value) {\r\n            this.dropdownService.isDisabled = !!value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"options\", {\r\n        set: function (options) {\r\n            if (options) {\r\n                this.searchService.options = options;\r\n                this.optionsUpdateHook();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"optionsFilter\", {\r\n        set: function (filter) {\r\n            if (filter) {\r\n                this.searchService.optionsFilter = filter;\r\n                this.optionsUpdateHook();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"optionsLookup\", {\r\n        set: function (lookup) {\r\n            if (lookup) {\r\n                this.searchService.optionsLookup = lookup;\r\n                this.optionsUpdateHook();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"filteredOptions\", {\r\n        get: function () {\r\n            return this.searchService.results;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"availableOptions\", {\r\n        // Deprecated\r\n        get: function () {\r\n            return this.filteredOptions;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"query\", {\r\n        get: function () {\r\n            return this.isSearchable ? this.searchService.query : undefined;\r\n        },\r\n        set: function (query) {\r\n            var _this = this;\r\n            if (query != undefined) {\r\n                this.queryUpdateHook();\r\n                this.updateQuery(query);\r\n                // Update the rendered text as query has changed.\r\n                this._renderedOptions.forEach(function (ro) { return _this.initialiseRenderedOption(ro); });\r\n                if (this.searchInput) {\r\n                    this.searchInput.query = query;\r\n                }\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"labelField\", {\r\n        get: function () {\r\n            return this.searchService.optionsField;\r\n        },\r\n        set: function (field) {\r\n            this.searchService.optionsField = field;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"labelGetter\", {\r\n        get: function () {\r\n            var _this = this;\r\n            // Helper function to retrieve the label from an item.\r\n            return function (obj) {\r\n                var label = Util.Object.readValue(obj, _this.labelField);\r\n                if (label != undefined) {\r\n                    return label.toString();\r\n                }\r\n                return \"\";\r\n            };\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"valueGetter\", {\r\n        get: function () {\r\n            var _this = this;\r\n            // Helper function to retrieve the value from an item.\r\n            return function (obj) { return Util.Object.readValue(obj, _this.valueField); };\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"configuredFormatter\", {\r\n        get: function () {\r\n            var _this = this;\r\n            if (this._optionFormatter) {\r\n                return function (o) { return _this._optionFormatter(o, _this.isSearchable ? _this.query : undefined); };\r\n            }\r\n            else if (this.searchService.optionsLookup) {\r\n                return function (o) { return _this.labelGetter(o); };\r\n            }\r\n            else {\r\n                return function (o) { return _this.searchService.highlightMatches(_this.labelGetter(o), _this.query || \"\"); };\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"optionFormatter\", {\r\n        set: function (formatter) {\r\n            this._optionFormatter = formatter;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSelectBase.prototype, \"localeValues\", {\r\n        get: function () {\r\n            return this._localizationService.override(this._localeValues, this.localeOverrides);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiSelectBase.prototype.ngAfterContentInit = function () {\r\n        var _this = this;\r\n        this._menu.service = this.dropdownService;\r\n        // We manually specify the menu items to the menu because the @ContentChildren doesn't pick up our dynamically rendered items.\r\n        this._menu.items = this._renderedOptions;\r\n        if (this._manualSearch) {\r\n            this.isSearchable = true;\r\n            this.isSearchExternal = true;\r\n        }\r\n        if (this.searchInput) {\r\n            this.searchInput.onQueryUpdated.subscribe(function (q) { return _this.query = q; });\r\n            this.searchInput.onQueryKeyDown.subscribe(function (e) { return _this.onQueryInputKeydown(e); });\r\n        }\r\n        // We must call this immediately as changes doesn't fire when you subscribe.\r\n        this.onAvailableOptionsRendered();\r\n        this._renderedOptions.changes.subscribe(function () { return _this.onAvailableOptionsRendered(); });\r\n        if(this.selectedOptionChange){\r\n            this.selectedOptionChange.subscribe(function(){\r\n                var selects = document.getElementsByTagName('sui-select');\r\n                var time = 700;\r\n                for(var i = 0; i < selects.length; i++){\r\n                    var select = selects[i]\r\n                    select.style = 'pointer-events: none !important;width: 100%;'\r\n                }\r\n                if(_this.searchService){\r\n                    if(_this.searchService._resultsCache){\r\n                        if(_this.searchService._resultsCache['']){\r\n                            if(_this.searchService._resultsCache[''].length !== undefined){\r\n                                time = _this.searchService._resultsCache[''].length * 10;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                setTimeout(function(){\r\n                    for(var i = 0; i < selects.length; i++){\r\n                        var select = selects[i]\r\n                        select.style = 'pointer-events: auto !important;width: 100%;'\r\n                    }\r\n                }, time)\r\n            })\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onLocaleUpdate = function () {\r\n        this._localeValues = this._localizationService.get().select;\r\n    };\r\n    // Hook is here since Typescript doesn't yet support overriding getters & setters while still calling the superclass.\r\n    SuiSelectBase.prototype.optionsUpdateHook = function () { };\r\n    // Hook is here since Typescript doesn't yet support overriding getters & setters while still calling the superclass.\r\n    SuiSelectBase.prototype.queryUpdateHook = function () { };\r\n    SuiSelectBase.prototype.updateQuery = function (query) {\r\n        var _this = this;\r\n        // Update the query then open the dropdown, as after keyboard input it should always be open.\r\n        this.searchService.updateQuery(query, function () {\r\n            return _this.dropdownService.setOpenState(true);\r\n        });\r\n    };\r\n    SuiSelectBase.prototype.resetQuery = function (delayed) {\r\n        if (delayed === void 0) { delayed = true; }\r\n        // The search delay is set to the transition duration to ensure results\r\n        // aren't rendered as the select closes as that causes a sudden flash.\r\n        if (delayed) {\r\n            this.searchService.searchDelay = this._menu.menuTransitionDuration;\r\n            this.searchService.updateQueryDelayed(\"\");\r\n        }\r\n        else {\r\n            this.searchService.updateQuery(\"\");\r\n        }\r\n        if (this.searchInput) {\r\n            this.searchInput.query = \"\";\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onAvailableOptionsRendered = function () {\r\n        var _this = this;\r\n        // Unsubscribe from all previous subscriptions to avoid memory leaks on large selects.\r\n        this._renderedSubscriptions.forEach(function (rs) { return rs.unsubscribe(); });\r\n        this._renderedSubscriptions = [];\r\n        this._renderedOptions.forEach(function (ro) {\r\n            // Slightly delay initialisation to avoid change after checked errors. TODO - look into avoiding this!\r\n            setTimeout(function () { return _this.initialiseRenderedOption(ro); });\r\n            _this._renderedSubscriptions.push(ro.onSelected.subscribe(function () { return _this.selectOption(ro.value); }));\r\n        });\r\n        // If no options have been provided, autogenerate them from the rendered ones.\r\n        if (this.searchService.options.length === 0 && !this.searchService.optionsLookup) {\r\n            this.options = this._renderedOptions.map(function (ro) { return ro.value; });\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.initialiseRenderedOption = function (option) {\r\n        option.usesTemplate = !!this.optionTemplate;\r\n        option.formatter = this.configuredFormatter;\r\n        if (option.usesTemplate) {\r\n            this.drawTemplate(option.templateSibling, option.value);\r\n        }\r\n        option.changeDetector.markForCheck();\r\n    };\r\n    SuiSelectBase.prototype.findOption = function (options, value) {\r\n        var _this = this;\r\n        // Tries to find an option in options array\r\n        return options.find(function (o) { return value === _this.valueGetter(o); });\r\n    };\r\n    SuiSelectBase.prototype.onCaretClick = function (e) {\r\n        if (!e.eventHandled) {\r\n            e.eventHandled = true;\r\n            if (!this.dropdownService.isAnimating) {\r\n                this.dropdownService.setOpenState(!this.dropdownService.isOpen);\r\n                this.focus();\r\n            }\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onClick = function (e) {\r\n        if (!e.eventHandled && !this.dropdownService.isAnimating) {\r\n            e.eventHandled = true;\r\n            // If the dropdown is searchable, clicking should keep it open, otherwise we toggle the open state.\r\n            this.dropdownService.setOpenState(this.isSearchable ? true : !this.dropdownService.isOpen);\r\n            // Immediately focus the search input whenever clicking on the select.\r\n            this.focus();\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onFocusIn = function () {\r\n        if (!this.dropdownService.isOpen && !this.dropdownService.isAnimating) {\r\n            this.dropdownService.setOpenState(true);\r\n            this.focus();\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onFocusOut = function (e) {\r\n        if (!this._element.nativeElement.contains(e.relatedTarget)) {\r\n            this.dropdownService.setOpenState(false);\r\n            this.onTouched.emit();\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onKeyPress = function (e) {\r\n        if (e.keyCode === KeyCode.Enter) {\r\n            // Enables support for focussing and opening with the keyboard alone.\r\n            // Using directly because Renderer2 doesn't have invokeElementMethod method anymore.\r\n            this._element.nativeElement.click();\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onDocumentKeyDown = function (e) {\r\n        if (this._element.nativeElement.contains(e.target) &&\r\n            !this.dropdownService.isOpen &&\r\n            e.keyCode === KeyCode.Down) {\r\n            // Enables support for focussing and opening with the keyboard alone.\r\n            // Using directly because Renderer2 doesn't have invokeElementMethod method anymore.\r\n            this._element.nativeElement.click();\r\n            e.preventDefault();\r\n        }\r\n    };\r\n    SuiSelectBase.prototype.onQueryInputKeydown = function (event) { };\r\n    SuiSelectBase.prototype.focus = function () {\r\n        if (this.isSearchable && this.searchInput) {\r\n            // Focusses the search input only when searchable.\r\n            // Using directly because Renderer2 doesn't have invokeElementMethod method anymore.\r\n            this.searchInput.focus();\r\n        }\r\n        else {\r\n            this._element.nativeElement.focus();\r\n        }\r\n    };\r\n    // Helper that draws the provided template beside the provided ViewContainerRef.\r\n    SuiSelectBase.prototype.drawTemplate = function (siblingRef, value) {\r\n        siblingRef.clear();\r\n        // Use of `$implicit` means use of <ng-template let-option> syntax is supported.\r\n        siblingRef.createEmbeddedView(this.optionTemplate, {\r\n            $implicit: value,\r\n            query: this.query\r\n        });\r\n    };\r\n    SuiSelectBase.prototype.ngOnDestroy = function () {\r\n        this._renderedSubscriptions.forEach(function (s) { return s.unsubscribe(); });\r\n        this._documentKeyDownListener();\r\n        if(this.selectedOptionChange){\r\n            this.selectedOptionChange.unsubscribe()\r\n        }\r\n    };\r\n    return SuiSelectBase;\r\n}());\r\nexport { SuiSelectBase };\r\n__decorate([\r\n    ViewChild(SuiDropdownMenu),\r\n    __metadata(\"design:type\", SuiDropdownMenu)\r\n], SuiSelectBase.prototype, \"_menu\", void 0);\r\n__decorate([\r\n    ContentChildren(SuiSelectOption, { descendants: true }),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiSelectBase.prototype, \"_renderedOptions\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.dropdown\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSelectBase.prototype, \"_selectClasses\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSelectBase.prototype, \"isActive\", null);\r\n__decorate([\r\n    HostBinding(\"class.visible\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSelectBase.prototype, \"isVisible\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSelectBase.prototype, \"isSearchable\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.search\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSelectBase.prototype, \"_searchClass\", null);\r\n__decorate([\r\n    HostBinding(\"class.loading\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSelectBase.prototype, \"isSearching\", null);\r\n__decorate([\r\n    ViewChild(SuiSelectSearch),\r\n    __metadata(\"design:type\", SuiSelectSearch)\r\n], SuiSelectBase.prototype, \"_internalSearch\", void 0);\r\n__decorate([\r\n    ContentChild(SuiSelectSearch),\r\n    __metadata(\"design:type\", SuiSelectSearch)\r\n], SuiSelectBase.prototype, \"_manualSearch\", void 0);\r\n__decorate([\r\n    Input(\"tabindex\"),\r\n    __metadata(\"design:type\", Number)\r\n], SuiSelectBase.prototype, \"_tabIndex\", void 0);\r\n__decorate([\r\n    HostBinding(\"attr.tabindex\"),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSelectBase.prototype, \"tabIndex\", null);\r\n__decorate([\r\n    HostBinding(\"class.disabled\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiSelectBase.prototype, \"isDisabled\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Array),\r\n    __metadata(\"design:paramtypes\", [Array])\r\n], SuiSelectBase.prototype, \"options\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Function])\r\n], SuiSelectBase.prototype, \"optionsFilter\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Function])\r\n], SuiSelectBase.prototype, \"optionsLookup\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiSelectBase.prototype, \"labelField\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiSelectBase.prototype, \"valueField\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", TemplateRef)\r\n], SuiSelectBase.prototype, \"optionTemplate\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Function])\r\n], SuiSelectBase.prototype, \"optionFormatter\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiSelectBase.prototype, \"icon\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiSelectBase.prototype, \"transition\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiSelectBase.prototype, \"transitionDuration\", void 0);\r\n__decorate([\r\n    Output(\"touched\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiSelectBase.prototype, \"onTouched\", void 0);\r\n__decorate([\r\n    HostListener(\"click\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [HandledEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSelectBase.prototype, \"onClick\", null);\r\n__decorate([\r\n    HostListener(\"focusin\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSelectBase.prototype, \"onFocusIn\", null);\r\n__decorate([\r\n    HostListener(\"focusout\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Object]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSelectBase.prototype, \"onFocusOut\", null);\r\n__decorate([\r\n    HostListener(\"keypress\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [KeyboardEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSelectBase.prototype, \"onKeyPress\", null);\r\n//# sourceMappingURL=select-base.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/classes/select-base.js\n// module id = 257\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, HostBinding, HostListener, EventEmitter, ViewContainerRef, ViewChild, Renderer2, ElementRef, Output, ChangeDetectorRef } from \"@angular/core\";\r\nimport { SuiDropdownMenuItem } from \"../../dropdown/index\";\r\nimport { HandledEvent } from \"../../../misc/util/index\";\r\nvar SuiSelectOption = (function (_super) {\r\n    __extends(SuiSelectOption, _super);\r\n    function SuiSelectOption(renderer, element, changeDetector) {\r\n        var _this = \r\n        // We inherit SuiDropdownMenuItem to automatically gain all keyboard navigation functionality.\r\n        // This is not done via adding the .item class because it isn't supported by Angular.\r\n        _super.call(this, renderer, element) || this;\r\n        _this.changeDetector = changeDetector;\r\n        _this._optionClasses = true;\r\n        _this.isActive = false;\r\n        _this.onSelected = new EventEmitter();\r\n        // By default we make the default text an empty label, for the brief moment when it isn't displaying the correct one.\r\n        _this.renderedText = \"\";\r\n        _this.usesTemplate = false;\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiSelectOption.prototype, \"formatter\", {\r\n        set: function (formatter) {\r\n            if (!this.usesTemplate) {\r\n                this.renderedText = formatter(this.value);\r\n            }\r\n            else {\r\n                this.renderedText = undefined;\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiSelectOption.prototype.onClick = function (e) {\r\n        var _this = this;\r\n        e.eventHandled = true;\r\n        setTimeout(function () { return _this.onSelected.emit(_this.value); });\r\n    };\r\n    return SuiSelectOption;\r\n}(SuiDropdownMenuItem));\r\n__decorate([\r\n    HostBinding(\"class.item\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSelectOption.prototype, \"_optionClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Object)\r\n], SuiSelectOption.prototype, \"value\", void 0);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiSelectOption.prototype, \"onSelected\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSelectOption.prototype, \"isActive\", void 0);\r\n__decorate([\r\n    ViewChild(\"templateSibling\", { read: ViewContainerRef }),\r\n    __metadata(\"design:type\", ViewContainerRef)\r\n], SuiSelectOption.prototype, \"templateSibling\", void 0);\r\n__decorate([\r\n    HostListener(\"click\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [HandledEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSelectOption.prototype, \"onClick\", null);\r\nSuiSelectOption = __decorate([\r\n    Component({\r\n        selector: \"sui-select-option\",\r\n    template: \"\\n<span style=\\\"display: inline-block !important\\\"  #templateSibling></span>\\n<span style=\\\"display: inline-block !important\\\" [innerHTML]=\\\"renderedText\\\"></span>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef, ChangeDetectorRef])\r\n], SuiSelectOption);\r\nexport { SuiSelectOption };\r\n//# sourceMappingURL=select-option.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/components/select-option.js\n// module id = 258\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, EventEmitter, Renderer2, ElementRef, HostListener, HostBinding } from \"@angular/core\";\r\nvar SuiSelectSearch = (function () {\r\n    function SuiSelectSearch(_renderer, _element) {\r\n        this._renderer = _renderer;\r\n        this._element = _element;\r\n        this.onQueryUpdated = new EventEmitter();\r\n        this.onQueryKeyDown = new EventEmitter();\r\n        this._searchClass = true;\r\n        this._autoComplete = \"off\";\r\n    }\r\n    Object.defineProperty(SuiSelectSearch.prototype, \"query\", {\r\n        set: function (query) {\r\n            this._renderer.setProperty(this._element.nativeElement, \"value\", query);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiSelectSearch.prototype.updateQuery = function (query) {\r\n        this.onQueryUpdated.emit(query);\r\n    };\r\n    SuiSelectSearch.prototype.onKeyDown = function (e) {\r\n        this.onQueryKeyDown.emit(e);\r\n    };\r\n    SuiSelectSearch.prototype.focus = function () {\r\n        var _this = this;\r\n        // Slightly delay to support in menu search.\r\n        this._element.nativeElement.focus();\r\n        setTimeout(function () { return _this._element.nativeElement.focus(); });\r\n    };\r\n    return SuiSelectSearch;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.search\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSelectSearch.prototype, \"_searchClass\", void 0);\r\n__decorate([\r\n    HostBinding(\"attr.autocomplete\"),\r\n    __metadata(\"design:type\", String)\r\n], SuiSelectSearch.prototype, \"_autoComplete\", void 0);\r\n__decorate([\r\n    HostListener(\"input\", [\"$event.target.value\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [String]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSelectSearch.prototype, \"updateQuery\", null);\r\n__decorate([\r\n    HostListener(\"keydown\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [KeyboardEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSelectSearch.prototype, \"onKeyDown\", null);\r\nSuiSelectSearch = __decorate([\r\n    Directive({\r\n        selector: \"input[suiSelectSearch]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef])\r\n], SuiSelectSearch);\r\nexport { SuiSelectSearch };\r\n//# sourceMappingURL=select-search.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/directives/select-search.js\n// module id = 259\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, HostBinding, HostListener, ElementRef, Renderer2 } from \"@angular/core\";\r\nimport { SidebarTransition } from \"../services/sidebar.service\";\r\nvar SuiSidebarSibling = (function () {\r\n    function SuiSidebarSibling(_renderer, _element) {\r\n        this._renderer = _renderer;\r\n        this._element = _element;\r\n        this.isDimmedWhenVisible = false;\r\n        this._siblingClasses = true;\r\n    }\r\n    Object.defineProperty(SuiSidebarSibling.prototype, \"service\", {\r\n        get: function () {\r\n            return this._service;\r\n        },\r\n        set: function (service) {\r\n            var _this = this;\r\n            this._service = service;\r\n            setTimeout(function () { return _this.updateTransform(); });\r\n            this._service.isVisibleChange.subscribe(function () { return _this.updateTransform(); });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSidebarSibling.prototype, \"isVisible\", {\r\n        get: function () {\r\n            if (!this.service) {\r\n                return false;\r\n            }\r\n            return this.service.isVisible;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSidebarSibling.prototype, \"isDimmed\", {\r\n        get: function () {\r\n            if (!this.service) {\r\n                return false;\r\n            }\r\n            return this.service.isVisible && this.isDimmedWhenVisible;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiSidebarSibling.prototype.updateTransform = function () {\r\n        this._renderer.removeStyle(this._element.nativeElement, \"transform\");\r\n        this._renderer.removeStyle(this._element.nativeElement, \"-webkit-transform\");\r\n        if (this.service.isVisible &&\r\n            this.service.transition !== SidebarTransition.Overlay &&\r\n            this.service.transition !== SidebarTransition.ScaleDown) {\r\n            var translate = \"translate3d(\" + this.service.width + \"px, \" + this.service.height + \"px, 0)\";\r\n            this._renderer.setStyle(this._element.nativeElement, \"transform\", translate);\r\n            this._renderer.setStyle(this._element.nativeElement, \"-webkit-transform\", translate);\r\n        }\r\n    };\r\n    SuiSidebarSibling.prototype.onClick = function (event) {\r\n        if (this.service.isVisible && !this.service.wasJustOpened) {\r\n            this.service.setVisibleState(false);\r\n        }\r\n    };\r\n    return SuiSidebarSibling;\r\n}());\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSidebarSibling.prototype, \"isDimmedWhenVisible\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.visible\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSidebarSibling.prototype, \"isVisible\", null);\r\n__decorate([\r\n    HostBinding(\"class.dimmed\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSidebarSibling.prototype, \"isDimmed\", null);\r\n__decorate([\r\n    HostBinding(\"class.pusher\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSidebarSibling.prototype, \"_siblingClasses\", void 0);\r\n__decorate([\r\n    HostListener(\"click\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [MouseEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSidebarSibling.prototype, \"onClick\", null);\r\nSuiSidebarSibling = __decorate([\r\n    Component({\r\n        selector: \"sui-sidebar-sibling\",\r\n        template: \"<ng-content></ng-content>\",\r\n        styles: [\"\\n:host {\\n    display: block;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef])\r\n], SuiSidebarSibling);\r\nexport { SuiSidebarSibling };\r\n//# sourceMappingURL=sidebar-sibling.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/sidebar/components/sidebar-sibling.js\n// module id = 260\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, HostBinding, Input, Output, Renderer2, ElementRef, EventEmitter } from \"@angular/core\";\r\nimport { SidebarService, SidebarTransition, SidebarDirection } from \"../services/sidebar.service\";\r\nvar SuiSidebar = (function () {\r\n    function SuiSidebar(_renderer, _element) {\r\n        var _this = this;\r\n        this._renderer = _renderer;\r\n        this._element = _element;\r\n        this.service = new SidebarService();\r\n        // We set the default here as well to force the classes to update.\r\n        this.transition = SidebarTransition.Uncover;\r\n        this.direction = SidebarDirection.Left;\r\n        setTimeout(function () { return _this.updateDimensions(); });\r\n        this.service.isVisibleChange.subscribe(function () { return _this.updateDimensions(); });\r\n        this._sidebarClasses = true;\r\n    }\r\n    Object.defineProperty(SuiSidebar.prototype, \"transition\", {\r\n        get: function () {\r\n            return this.service.transition;\r\n        },\r\n        set: function (transition) {\r\n            var _this = this;\r\n            this.service.transition.split(\" \").forEach(function (c) { return _this.setClass(c, false); });\r\n            this.service.transition = transition;\r\n            this.service.transition.split(\" \").forEach(function (c) { return _this.setClass(c, true); });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSidebar.prototype, \"direction\", {\r\n        get: function () {\r\n            return this.service.direction;\r\n        },\r\n        set: function (direction) {\r\n            this.setClass(this.service.direction, false);\r\n            this.service.direction = direction;\r\n            this.setClass(this.service.direction, true);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSidebar.prototype, \"isVisible\", {\r\n        get: function () {\r\n            return this.service.isVisible;\r\n        },\r\n        set: function (isVisible) {\r\n            this.service.setVisibleState(isVisible);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSidebar.prototype, \"isVisibleChange\", {\r\n        get: function () {\r\n            return this.service.isVisibleChange;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSidebar.prototype, \"isAnimating\", {\r\n        get: function () {\r\n            return this.service.isAnimating;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiSidebar.prototype.updateDimensions = function () {\r\n        this.service.width = this._element.nativeElement.offsetWidth;\r\n        this.service.height = this._element.nativeElement.offsetHeight;\r\n    };\r\n    SuiSidebar.prototype.setClass = function (className, isAdd) {\r\n        if (isAdd === void 0) { isAdd = true; }\r\n        if (isAdd) {\r\n            this._renderer.addClass(this._element.nativeElement, className);\r\n        }\r\n        else {\r\n            this._renderer.removeClass(this._element.nativeElement, className);\r\n        }\r\n    };\r\n    SuiSidebar.prototype.open = function () {\r\n        this.service.setVisibleState(true);\r\n    };\r\n    SuiSidebar.prototype.close = function () {\r\n        this.service.setVisibleState(false);\r\n    };\r\n    SuiSidebar.prototype.toggle = function () {\r\n        this.service.toggleVisibleState();\r\n    };\r\n    return SuiSidebar;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.sidebar\"),\r\n    HostBinding(\"class.menu\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSidebar.prototype, \"_sidebarClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiSidebar.prototype, \"transition\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiSidebar.prototype, \"direction\", null);\r\n__decorate([\r\n    HostBinding(\"class.visible\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiSidebar.prototype, \"isVisible\", null);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSidebar.prototype, \"isVisibleChange\", null);\r\n__decorate([\r\n    HostBinding(\"class.animating\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSidebar.prototype, \"isAnimating\", null);\r\nSuiSidebar = __decorate([\r\n    Component({\r\n        selector: \"sui-sidebar\",\r\n        template: \"<ng-content></ng-content>\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef])\r\n], SuiSidebar);\r\nexport { SuiSidebar };\r\n//# sourceMappingURL=sidebar.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/sidebar/components/sidebar.js\n// module id = 261\n// module chunks = 3","import { EventEmitter } from \"@angular/core\";\r\nexport var SidebarTransition = {\r\n    Overlay: \"overlay\",\r\n    Push: \"push\",\r\n    ScaleDown: \"scale down\",\r\n    Uncover: \"uncover\",\r\n    SlideAlong: \"slide along\",\r\n    SlideOut: \"slide out\"\r\n};\r\nexport var SidebarDirection = {\r\n    Left: \"left\",\r\n    Right: \"right\",\r\n    Top: \"top\",\r\n    Bottom: \"bottom\"\r\n};\r\nvar SidebarService = (function () {\r\n    function SidebarService(isVisible) {\r\n        if (isVisible === void 0) { isVisible = false; }\r\n        this.isVisible = isVisible;\r\n        this.isAnimating = false;\r\n        this.wasJustOpened = false;\r\n        this.isVisibleChange = new EventEmitter();\r\n        this.widthChange = new EventEmitter();\r\n        this.heightChange = new EventEmitter();\r\n        this.width = 260;\r\n        this.height = 0;\r\n        this.transition = SidebarTransition.Uncover;\r\n    }\r\n    Object.defineProperty(SidebarService.prototype, \"width\", {\r\n        get: function () {\r\n            if (this.direction === SidebarDirection.Left) {\r\n                return this._width;\r\n            }\r\n            if (this.direction === SidebarDirection.Right) {\r\n                return -this._width;\r\n            }\r\n            return 0;\r\n        },\r\n        set: function (width) {\r\n            this._width = width;\r\n            this.widthChange.emit();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SidebarService.prototype, \"height\", {\r\n        get: function () {\r\n            if (this.direction === SidebarDirection.Top) {\r\n                return this._height;\r\n            }\r\n            if (this.direction === SidebarDirection.Bottom) {\r\n                return -this._height;\r\n            }\r\n            return 0;\r\n        },\r\n        set: function (height) {\r\n            this._height = height;\r\n            this.heightChange.emit();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SidebarService.prototype.setVisibleState = function (isVisible) {\r\n        var _this = this;\r\n        if (this.isVisible !== isVisible) {\r\n            this.isVisible = isVisible;\r\n            this.isAnimating = true;\r\n            this.wasJustOpened = true;\r\n            this.isVisibleChange.emit(isVisible);\r\n            setTimeout(function () { return _this.wasJustOpened = false; });\r\n            clearTimeout(this._isAnimatingTimeout);\r\n            this._isAnimatingTimeout = window.setTimeout(function () { return _this.isAnimating = false; }, 500);\r\n        }\r\n    };\r\n    SidebarService.prototype.toggleVisibleState = function () {\r\n        this.setVisibleState(!this.isVisible);\r\n    };\r\n    return SidebarService;\r\n}());\r\nexport { SidebarService };\r\n//# sourceMappingURL=sidebar.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/sidebar/services/sidebar.service.js\n// module id = 262\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { HostBinding, Directive, Input } from \"@angular/core\";\r\nvar SuiTabContent = (function () {\r\n    function SuiTabContent() {\r\n        this.isActive = false;\r\n        this._contentClasses = true;\r\n    }\r\n    return SuiTabContent;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.tab\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiTabContent.prototype, \"_contentClasses\", void 0);\r\n__decorate([\r\n    Input(\"suiTabContent\"),\r\n    __metadata(\"design:type\", String)\r\n], SuiTabContent.prototype, \"id\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiTabContent.prototype, \"isActive\", void 0);\r\nSuiTabContent = __decorate([\r\n    Directive({\r\n        selector: \"[suiTabContent]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiTabContent);\r\nexport { SuiTabContent };\r\n//# sourceMappingURL=tab-content.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/tabs/directives/tab-content.js\n// module id = 263\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { HostBinding, Input, Directive, EventEmitter, HostListener, Output } from \"@angular/core\";\r\nvar SuiTabHeader = (function () {\r\n    function SuiTabHeader() {\r\n        this._isActive = false;\r\n        this.isActiveChange = new EventEmitter();\r\n        this.isActiveExternalChange = new EventEmitter();\r\n        this.onActivate = new EventEmitter();\r\n        this.onDeactivate = new EventEmitter();\r\n        this.isDisabled = false;\r\n        this._headerClasses = true;\r\n    }\r\n    Object.defineProperty(SuiTabHeader.prototype, \"isActive\", {\r\n        get: function () {\r\n            return this._isActive;\r\n        },\r\n        set: function (active) {\r\n            var _this = this;\r\n            var isActive = active;\r\n            // Only used by @Input(), runs whenever user input changes `isActive`.\r\n            // Run in timeout because `isDisabled` can prohibit user from changing `isActive`.\r\n            // so update is delayed to avoid 'changed after checked' error.\r\n            setTimeout(function () {\r\n                // Only allow change if tab header is not disabled.\r\n                isActive = !_this.isDisabled ? active : false;\r\n                _this.setActiveState(isActive);\r\n                // Fire 'external change' event as user input has occured.\r\n                _this.isActiveExternalChange.emit(isActive);\r\n            });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiTabHeader.prototype, \"isDisabled\", {\r\n        get: function () {\r\n            return this._isDisabled;\r\n        },\r\n        set: function (disabled) {\r\n            // Only update if value provided is different to current one.\r\n            if (this._isDisabled !== disabled) {\r\n                this._isDisabled = disabled;\r\n                // If now disabled, then tab header must be deactivated.\r\n                if (this.isDisabled) {\r\n                    this.isActive = false;\r\n                }\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // Internally update active state.\r\n    SuiTabHeader.prototype.setActiveState = function (active) {\r\n        // If (cast) active value has changed:\r\n        if (!!this._isActive !== active) {\r\n            // Update to the new value.\r\n            this._isActive = active;\r\n            // Fire the appropriate activation event.\r\n            if (active) {\r\n                this.onActivate.emit();\r\n            }\r\n            else {\r\n                this.onDeactivate.emit();\r\n            }\r\n        }\r\n        // Regardless, emit a change to `isActive`, so [(isActive)] works correctly.\r\n        this.isActiveChange.emit(active);\r\n    };\r\n    SuiTabHeader.prototype.onClick = function () {\r\n        if (!this.isDisabled) {\r\n            // Activate the tab when clicked, so long as it isn't disabled.\r\n            this.isActive = true;\r\n        }\r\n    };\r\n    return SuiTabHeader;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.item\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiTabHeader.prototype, \"_headerClasses\", void 0);\r\n__decorate([\r\n    Input(\"suiTabHeader\"),\r\n    __metadata(\"design:type\", String)\r\n], SuiTabHeader.prototype, \"id\", void 0);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiTabHeader.prototype, \"isActiveChange\", void 0);\r\n__decorate([\r\n    Output(\"activate\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiTabHeader.prototype, \"onActivate\", void 0);\r\n__decorate([\r\n    Output(\"deactivate\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiTabHeader.prototype, \"onDeactivate\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiTabHeader.prototype, \"isActive\", null);\r\n__decorate([\r\n    HostBinding(\"class.disabled\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiTabHeader.prototype, \"isDisabled\", null);\r\n__decorate([\r\n    HostListener(\"click\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiTabHeader.prototype, \"onClick\", null);\r\nSuiTabHeader = __decorate([\r\n    Directive({\r\n        selector: \"[suiTabHeader]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiTabHeader);\r\nexport { SuiTabHeader };\r\n//# sourceMappingURL=tab-header.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/tabs/directives/tab-header.js\n// module id = 264\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('./Subject');\r\nvar queue_1 = require('./scheduler/queue');\r\nvar Subscription_1 = require('./Subscription');\r\nvar observeOn_1 = require('./operator/observeOn');\r\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\r\nvar SubjectSubscription_1 = require('./SubjectSubscription');\r\n/**\r\n * @class ReplaySubject<T>\r\n */\r\nvar ReplaySubject = (function (_super) {\r\n    __extends(ReplaySubject, _super);\r\n    function ReplaySubject(bufferSize, windowTime, scheduler) {\r\n        if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\r\n        if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\r\n        _super.call(this);\r\n        this.scheduler = scheduler;\r\n        this._events = [];\r\n        this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\r\n        this._windowTime = windowTime < 1 ? 1 : windowTime;\r\n    }\r\n    ReplaySubject.prototype.next = function (value) {\r\n        var now = this._getNow();\r\n        this._events.push(new ReplayEvent(now, value));\r\n        this._trimBufferThenGetEvents();\r\n        _super.prototype.next.call(this, value);\r\n    };\r\n    ReplaySubject.prototype._subscribe = function (subscriber) {\r\n        var _events = this._trimBufferThenGetEvents();\r\n        var scheduler = this.scheduler;\r\n        var subscription;\r\n        if (this.closed) {\r\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\r\n        }\r\n        else if (this.hasError) {\r\n            subscription = Subscription_1.Subscription.EMPTY;\r\n        }\r\n        else if (this.isStopped) {\r\n            subscription = Subscription_1.Subscription.EMPTY;\r\n        }\r\n        else {\r\n            this.observers.push(subscriber);\r\n            subscription = new SubjectSubscription_1.SubjectSubscription(this, subscriber);\r\n        }\r\n        if (scheduler) {\r\n            subscriber.add(subscriber = new observeOn_1.ObserveOnSubscriber(subscriber, scheduler));\r\n        }\r\n        var len = _events.length;\r\n        for (var i = 0; i < len && !subscriber.closed; i++) {\r\n            subscriber.next(_events[i].value);\r\n        }\r\n        if (this.hasError) {\r\n            subscriber.error(this.thrownError);\r\n        }\r\n        else if (this.isStopped) {\r\n            subscriber.complete();\r\n        }\r\n        return subscription;\r\n    };\r\n    ReplaySubject.prototype._getNow = function () {\r\n        return (this.scheduler || queue_1.queue).now();\r\n    };\r\n    ReplaySubject.prototype._trimBufferThenGetEvents = function () {\r\n        var now = this._getNow();\r\n        var _bufferSize = this._bufferSize;\r\n        var _windowTime = this._windowTime;\r\n        var _events = this._events;\r\n        var eventsCount = _events.length;\r\n        var spliceCount = 0;\r\n        // Trim events that fall out of the time window.\r\n        // Start at the front of the list. Break early once\r\n        // we encounter an event that falls within the window.\r\n        while (spliceCount < eventsCount) {\r\n            if ((now - _events[spliceCount].time) < _windowTime) {\r\n                break;\r\n            }\r\n            spliceCount++;\r\n        }\r\n        if (eventsCount > _bufferSize) {\r\n            spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\r\n        }\r\n        if (spliceCount > 0) {\r\n            _events.splice(0, spliceCount);\r\n        }\r\n        return _events;\r\n    };\r\n    return ReplaySubject;\r\n}(Subject_1.Subject));\r\nexports.ReplaySubject = ReplaySubject;\r\nvar ReplayEvent = (function () {\r\n    function ReplayEvent(time, value) {\r\n        this.time = time;\r\n        this.value = value;\r\n    }\r\n    return ReplayEvent;\r\n}());\r\n//# sourceMappingURL=ReplaySubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/ReplaySubject.js\n// module id = 266\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\r\nvar isArray_1 = require('../util/isArray');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar none = {};\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Combines multiple Observables to create an Observable whose values are\r\n * calculated from the latest values of each of its input Observables.\r\n *\r\n * <span class=\"informal\">Whenever any input Observable emits a value, it\r\n * computes a formula using the latest values from all the inputs, then emits\r\n * the output of that formula.</span>\r\n *\r\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\r\n *\r\n * `combineLatest` combines the values from this Observable with values from\r\n * Observables passed as arguments. This is done by subscribing to each\r\n * Observable, in order, and collecting an array of each of the most recent\r\n * values any time any of the input Observables emits, then either taking that\r\n * array and passing it as arguments to an optional `project` function and\r\n * emitting the return value of that, or just emitting the array of recent\r\n * values directly if there is no `project` function.\r\n *\r\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\r\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\r\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\r\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\r\n * bmi.subscribe(x => console.log('BMI is ' + x));\r\n *\r\n * // With output to console:\r\n * // BMI is 24.212293388429753\r\n * // BMI is 23.93948099205209\r\n * // BMI is 23.671253629592222\r\n *\r\n * @see {@link combineAll}\r\n * @see {@link merge}\r\n * @see {@link withLatestFrom}\r\n *\r\n * @param {Observable} other An input Observable to combine with the source\r\n * Observable. More than one input Observables may be given as argument.\r\n * @param {function} [project] An optional function to project the values from\r\n * the combined latest values into a new value on the output Observable.\r\n * @return {Observable} An Observable of projected values from the most recent\r\n * values from each input Observable, or an array of the most recent values from\r\n * each input Observable.\r\n * @method combineLatest\r\n * @owner Observable\r\n */\r\nfunction combineLatest() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    var project = null;\r\n    if (typeof observables[observables.length - 1] === 'function') {\r\n        project = observables.pop();\r\n    }\r\n    // if the first and only other argument besides the resultSelector is an array\r\n    // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\r\n    if (observables.length === 1 && isArray_1.isArray(observables[0])) {\r\n        observables = observables[0];\r\n    }\r\n    observables.unshift(this);\r\n    return this.lift.call(new ArrayObservable_1.ArrayObservable(observables), new CombineLatestOperator(project));\r\n}\r\nexports.combineLatest = combineLatest;\r\nvar CombineLatestOperator = (function () {\r\n    function CombineLatestOperator(project) {\r\n        this.project = project;\r\n    }\r\n    CombineLatestOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new CombineLatestSubscriber(subscriber, this.project));\r\n    };\r\n    return CombineLatestOperator;\r\n}());\r\nexports.CombineLatestOperator = CombineLatestOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar CombineLatestSubscriber = (function (_super) {\r\n    __extends(CombineLatestSubscriber, _super);\r\n    function CombineLatestSubscriber(destination, project) {\r\n        _super.call(this, destination);\r\n        this.project = project;\r\n        this.active = 0;\r\n        this.values = [];\r\n        this.observables = [];\r\n    }\r\n    CombineLatestSubscriber.prototype._next = function (observable) {\r\n        this.values.push(none);\r\n        this.observables.push(observable);\r\n    };\r\n    CombineLatestSubscriber.prototype._complete = function () {\r\n        var observables = this.observables;\r\n        var len = observables.length;\r\n        if (len === 0) {\r\n            this.destination.complete();\r\n        }\r\n        else {\r\n            this.active = len;\r\n            this.toRespond = len;\r\n            for (var i = 0; i < len; i++) {\r\n                var observable = observables[i];\r\n                this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\r\n            }\r\n        }\r\n    };\r\n    CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\r\n        if ((this.active -= 1) === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var values = this.values;\r\n        var oldVal = values[outerIndex];\r\n        var toRespond = !this.toRespond\r\n            ? 0\r\n            : oldVal === none ? --this.toRespond : this.toRespond;\r\n        values[outerIndex] = innerValue;\r\n        if (toRespond === 0) {\r\n            if (this.project) {\r\n                this._tryProject(values);\r\n            }\r\n            else {\r\n                this.destination.next(values.slice());\r\n            }\r\n        }\r\n    };\r\n    CombineLatestSubscriber.prototype._tryProject = function (values) {\r\n        var result;\r\n        try {\r\n            result = this.project.apply(this, values);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n            return;\r\n        }\r\n        this.destination.next(result);\r\n    };\r\n    return CombineLatestSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\nexports.CombineLatestSubscriber = CombineLatestSubscriber;\r\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/combineLatest.js\n// module id = 269\n// module chunks = 3","\"use strict\";\r\nvar isScheduler_1 = require('../util/isScheduler');\r\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\r\nvar mergeAll_1 = require('./mergeAll');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Creates an output Observable which sequentially emits all values from every\r\n * given input Observable after the current Observable.\r\n *\r\n * <span class=\"informal\">Concatenates multiple Observables together by\r\n * sequentially emitting their values, one Observable after the other.</span>\r\n *\r\n * <img src=\"./img/concat.png\" width=\"100%\">\r\n *\r\n * Joins this Observable with multiple other Observables by subscribing to them\r\n * one at a time, starting with the source, and merging their results into the\r\n * output Observable. Will wait for each Observable to complete before moving\r\n * on to the next.\r\n *\r\n * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>\r\n * var timer = Rx.Observable.interval(1000).take(4);\r\n * var sequence = Rx.Observable.range(1, 10);\r\n * var result = timer.concat(sequence);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * // results in:\r\n * // 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10\r\n *\r\n * @example <caption>Concatenate 3 Observables</caption>\r\n * var timer1 = Rx.Observable.interval(1000).take(10);\r\n * var timer2 = Rx.Observable.interval(2000).take(6);\r\n * var timer3 = Rx.Observable.interval(500).take(10);\r\n * var result = timer1.concat(timer2, timer3);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * // results in the following:\r\n * // (Prints to console sequentially)\r\n * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9\r\n * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5\r\n * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9\r\n *\r\n * @see {@link concatAll}\r\n * @see {@link concatMap}\r\n * @see {@link concatMapTo}\r\n *\r\n * @param {Observable} other An input Observable to concatenate after the source\r\n * Observable. More than one input Observables may be given as argument.\r\n * @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each\r\n * Observable subscription on.\r\n * @return {Observable} All values of each passed Observable merged into a\r\n * single Observable, in order, in serial fashion.\r\n * @method concat\r\n * @owner Observable\r\n */\r\nfunction concat() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    return this.lift.call(concatStatic.apply(void 0, [this].concat(observables)));\r\n}\r\nexports.concat = concat;\r\n/* tslint:enable:max-line-length */\r\n/**\r\n * Creates an output Observable which sequentially emits all values from every\r\n * given input Observable after the current Observable.\r\n *\r\n * <span class=\"informal\">Concatenates multiple Observables together by\r\n * sequentially emitting their values, one Observable after the other.</span>\r\n *\r\n * <img src=\"./img/concat.png\" width=\"100%\">\r\n *\r\n * Joins multiple Observables together by subscribing to them one at a time and\r\n * merging their results into the output Observable. Will wait for each\r\n * Observable to complete before moving on to the next.\r\n *\r\n * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>\r\n * var timer = Rx.Observable.interval(1000).take(4);\r\n * var sequence = Rx.Observable.range(1, 10);\r\n * var result = Rx.Observable.concat(timer, sequence);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * // results in:\r\n * // 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10\r\n *\r\n * @example <caption>Concatenate 3 Observables</caption>\r\n * var timer1 = Rx.Observable.interval(1000).take(10);\r\n * var timer2 = Rx.Observable.interval(2000).take(6);\r\n * var timer3 = Rx.Observable.interval(500).take(10);\r\n * var result = Rx.Observable.concat(timer1, timer2, timer3);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * // results in the following:\r\n * // (Prints to console sequentially)\r\n * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9\r\n * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5\r\n * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9\r\n *\r\n * @see {@link concatAll}\r\n * @see {@link concatMap}\r\n * @see {@link concatMapTo}\r\n *\r\n * @param {Observable} input1 An input Observable to concatenate with others.\r\n * @param {Observable} input2 An input Observable to concatenate with others.\r\n * More than one input Observables may be given as argument.\r\n * @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each\r\n * Observable subscription on.\r\n * @return {Observable} All values of each passed Observable merged into a\r\n * single Observable, in order, in serial fashion.\r\n * @static true\r\n * @name concat\r\n * @owner Observable\r\n */\r\nfunction concatStatic() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    var scheduler = null;\r\n    var args = observables;\r\n    if (isScheduler_1.isScheduler(args[observables.length - 1])) {\r\n        scheduler = args.pop();\r\n    }\r\n    if (scheduler === null && observables.length === 1) {\r\n        return observables[0];\r\n    }\r\n    return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_1.MergeAllOperator(1));\r\n}\r\nexports.concatStatic = concatStatic;\r\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/concat.js\n// module id = 270\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\r\nvar isArray_1 = require('../util/isArray');\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar iterator_1 = require('../symbol/iterator');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * @param observables\r\n * @return {Observable<R>}\r\n * @method zip\r\n * @owner Observable\r\n */\r\nfunction zipProto() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    return this.lift.call(zipStatic.apply(void 0, [this].concat(observables)));\r\n}\r\nexports.zipProto = zipProto;\r\n/* tslint:enable:max-line-length */\r\n/**\r\n * @param observables\r\n * @return {Observable<R>}\r\n * @static true\r\n * @name zip\r\n * @owner Observable\r\n */\r\nfunction zipStatic() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    var project = observables[observables.length - 1];\r\n    if (typeof project === 'function') {\r\n        observables.pop();\r\n    }\r\n    return new ArrayObservable_1.ArrayObservable(observables).lift(new ZipOperator(project));\r\n}\r\nexports.zipStatic = zipStatic;\r\nvar ZipOperator = (function () {\r\n    function ZipOperator(project) {\r\n        this.project = project;\r\n    }\r\n    ZipOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new ZipSubscriber(subscriber, this.project));\r\n    };\r\n    return ZipOperator;\r\n}());\r\nexports.ZipOperator = ZipOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ZipSubscriber = (function (_super) {\r\n    __extends(ZipSubscriber, _super);\r\n    function ZipSubscriber(destination, project, values) {\r\n        if (values === void 0) { values = Object.create(null); }\r\n        _super.call(this, destination);\r\n        this.iterators = [];\r\n        this.active = 0;\r\n        this.project = (typeof project === 'function') ? project : null;\r\n        this.values = values;\r\n    }\r\n    ZipSubscriber.prototype._next = function (value) {\r\n        var iterators = this.iterators;\r\n        if (isArray_1.isArray(value)) {\r\n            iterators.push(new StaticArrayIterator(value));\r\n        }\r\n        else if (typeof value[iterator_1.$$iterator] === 'function') {\r\n            iterators.push(new StaticIterator(value[iterator_1.$$iterator]()));\r\n        }\r\n        else {\r\n            iterators.push(new ZipBufferIterator(this.destination, this, value));\r\n        }\r\n    };\r\n    ZipSubscriber.prototype._complete = function () {\r\n        var iterators = this.iterators;\r\n        var len = iterators.length;\r\n        this.active = len;\r\n        for (var i = 0; i < len; i++) {\r\n            var iterator = iterators[i];\r\n            if (iterator.stillUnsubscribed) {\r\n                this.add(iterator.subscribe(iterator, i));\r\n            }\r\n            else {\r\n                this.active--; // not an observable\r\n            }\r\n        }\r\n    };\r\n    ZipSubscriber.prototype.notifyInactive = function () {\r\n        this.active--;\r\n        if (this.active === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    ZipSubscriber.prototype.checkIterators = function () {\r\n        var iterators = this.iterators;\r\n        var len = iterators.length;\r\n        var destination = this.destination;\r\n        // abort if not all of them have values\r\n        for (var i = 0; i < len; i++) {\r\n            var iterator = iterators[i];\r\n            if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\r\n                return;\r\n            }\r\n        }\r\n        var shouldComplete = false;\r\n        var args = [];\r\n        for (var i = 0; i < len; i++) {\r\n            var iterator = iterators[i];\r\n            var result = iterator.next();\r\n            // check to see if it's completed now that you've gotten\r\n            // the next value.\r\n            if (iterator.hasCompleted()) {\r\n                shouldComplete = true;\r\n            }\r\n            if (result.done) {\r\n                destination.complete();\r\n                return;\r\n            }\r\n            args.push(result.value);\r\n        }\r\n        if (this.project) {\r\n            this._tryProject(args);\r\n        }\r\n        else {\r\n            destination.next(args);\r\n        }\r\n        if (shouldComplete) {\r\n            destination.complete();\r\n        }\r\n    };\r\n    ZipSubscriber.prototype._tryProject = function (args) {\r\n        var result;\r\n        try {\r\n            result = this.project.apply(this, args);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n            return;\r\n        }\r\n        this.destination.next(result);\r\n    };\r\n    return ZipSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nexports.ZipSubscriber = ZipSubscriber;\r\nvar StaticIterator = (function () {\r\n    function StaticIterator(iterator) {\r\n        this.iterator = iterator;\r\n        this.nextResult = iterator.next();\r\n    }\r\n    StaticIterator.prototype.hasValue = function () {\r\n        return true;\r\n    };\r\n    StaticIterator.prototype.next = function () {\r\n        var result = this.nextResult;\r\n        this.nextResult = this.iterator.next();\r\n        return result;\r\n    };\r\n    StaticIterator.prototype.hasCompleted = function () {\r\n        var nextResult = this.nextResult;\r\n        return nextResult && nextResult.done;\r\n    };\r\n    return StaticIterator;\r\n}());\r\nvar StaticArrayIterator = (function () {\r\n    function StaticArrayIterator(array) {\r\n        this.array = array;\r\n        this.index = 0;\r\n        this.length = 0;\r\n        this.length = array.length;\r\n    }\r\n    StaticArrayIterator.prototype[iterator_1.$$iterator] = function () {\r\n        return this;\r\n    };\r\n    StaticArrayIterator.prototype.next = function (value) {\r\n        var i = this.index++;\r\n        var array = this.array;\r\n        return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\r\n    };\r\n    StaticArrayIterator.prototype.hasValue = function () {\r\n        return this.array.length > this.index;\r\n    };\r\n    StaticArrayIterator.prototype.hasCompleted = function () {\r\n        return this.array.length === this.index;\r\n    };\r\n    return StaticArrayIterator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ZipBufferIterator = (function (_super) {\r\n    __extends(ZipBufferIterator, _super);\r\n    function ZipBufferIterator(destination, parent, observable) {\r\n        _super.call(this, destination);\r\n        this.parent = parent;\r\n        this.observable = observable;\r\n        this.stillUnsubscribed = true;\r\n        this.buffer = [];\r\n        this.isComplete = false;\r\n    }\r\n    ZipBufferIterator.prototype[iterator_1.$$iterator] = function () {\r\n        return this;\r\n    };\r\n    // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next\r\n    //    this is legit because `next()` will never be called by a subscription in this case.\r\n    ZipBufferIterator.prototype.next = function () {\r\n        var buffer = this.buffer;\r\n        if (buffer.length === 0 && this.isComplete) {\r\n            return { value: null, done: true };\r\n        }\r\n        else {\r\n            return { value: buffer.shift(), done: false };\r\n        }\r\n    };\r\n    ZipBufferIterator.prototype.hasValue = function () {\r\n        return this.buffer.length > 0;\r\n    };\r\n    ZipBufferIterator.prototype.hasCompleted = function () {\r\n        return this.buffer.length === 0 && this.isComplete;\r\n    };\r\n    ZipBufferIterator.prototype.notifyComplete = function () {\r\n        if (this.buffer.length > 0) {\r\n            this.isComplete = true;\r\n            this.parent.notifyInactive();\r\n        }\r\n        else {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.buffer.push(innerValue);\r\n        this.parent.checkIterators();\r\n    };\r\n    ZipBufferIterator.prototype.subscribe = function (value, index) {\r\n        return subscribeToResult_1.subscribeToResult(this, this.observable, this, index);\r\n    };\r\n    return ZipBufferIterator;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/zip.js\n// module id = 273\n// module chunks = 3","\"use strict\";\r\nvar isArray_1 = require('../util/isArray');\r\nfunction isNumeric(val) {\r\n    // parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\r\n    // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\r\n    // subtraction forces infinities to NaN\r\n    // adding 1 corrects loss of precision from parseFloat (#15100)\r\n    return !isArray_1.isArray(val) && (val - parseFloat(val) + 1) >= 0;\r\n}\r\nexports.isNumeric = isNumeric;\r\n;\r\n//# sourceMappingURL=isNumeric.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/isNumeric.js\n// module id = 275\n// module chunks = 3","\r\n// Angular 2\r\n// rc2 workaround\r\nimport { enableDebugTools, disableDebugTools } from '@angular/platform-browser';\r\nimport { enableProdMode, ApplicationRef } from '@angular/core';\r\n// Environment Providers\r\nlet PROVIDERS: any[] = [\r\n  // common env directives\r\n];\r\nexport const environment = {\r\n  sistema: 1\r\n}\r\n\r\n// Angular debug tools in the dev console\r\n// https://github.com/angular/angular/blob/86405345b781a9dc2438c0fbe3e9409245647019/TOOLS_JS.md\r\nlet _decorateModuleRef = function identity<T>(value: T): T { return value; };\r\n\r\nif ('production' === ENV) {\r\n  enableProdMode();\r\n\r\n  // Production\r\n  _decorateModuleRef = (modRef: any) => {\r\n    disableDebugTools();\r\n\r\n    return modRef;\r\n  };\r\n\r\n  PROVIDERS = [\r\n    ...PROVIDERS,\r\n    // custom providers in production\r\n  ];\r\n\r\n} else {\r\n\r\n  _decorateModuleRef = (modRef: any) => {\r\n    const appRef = modRef.injector.get(ApplicationRef);\r\n    const cmpRef = appRef.components[0];\r\n\r\n    let _ng = (<any>window).ng;\r\n    enableDebugTools(cmpRef);\r\n    (<any>window).ng.probe = _ng.probe;\r\n    (<any>window).ng.coreTokens = _ng.coreTokens;\r\n    return modRef;\r\n  };\r\n\r\n  // Development\r\n  PROVIDERS = [\r\n    ...PROVIDERS,\r\n    // custom providers in development\r\n  ];\r\n\r\n}\r\n\r\nexport const decorateModuleRef = _decorateModuleRef;\r\n\r\nexport const ENV_PROVIDERS = [\r\n  ...PROVIDERS\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/environment.ts","export * from \"./dist/my-date-picker.module\";\r\nexport * from \"./dist/my-date-picker.component\";\r\nexport * from \"./dist/interfaces/my-date.interface\";\r\nexport * from \"./dist/interfaces/my-date-model.interface\";\r\nexport * from \"./dist/interfaces/my-input-field-changed.interface\";\r\nexport * from \"./dist/interfaces/my-calendar-view-changed.interface\";\r\nexport * from \"./dist/interfaces/my-input-focus-blur.interface\";\r\nexport * from \"./dist/interfaces/my-date-range.interface\";\r\nexport * from \"./dist/interfaces/my-day-labels.interface\";\r\nexport * from \"./dist/interfaces/my-month-labels.interface\";\r\nexport * from \"./dist/interfaces/my-options.interface\";\r\nexport * from \"./dist/interfaces/my-weekday.interface\";\r\nexport * from \"./dist/interfaces/my-marked-date.interface\";\r\nexport * from \"./dist/interfaces/my-marked-dates.interface\";\r\nexport * from \"./dist/interfaces/my-default-month.interface\";\r\nexport * from \"./dist/interfaces/my-selector.interface\";\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/index.js\n// module id = 278\n// module chunks = 3","export * from \"./dist/my-date-range-picker.module\";\r\nexport * from \"./dist/my-date-range-picker.component\";\r\nexport * from \"./dist/interfaces/my-date.interface\";\r\nexport * from \"./dist/interfaces/my-date-range-model.interface\";\r\nexport * from \"./dist/interfaces/my-input-field-changed.interface\";\r\nexport * from \"./dist/interfaces/my-calendar-view-changed.interface\";\r\nexport * from \"./dist/interfaces/my-input-focus-blur.interface\";\r\nexport * from \"./dist/interfaces/my-date-selected.interface\";\r\nexport * from \"./dist/interfaces/my-date-range.interface\";\r\nexport * from \"./dist/interfaces/my-day-labels.interface\";\r\nexport * from \"./dist/interfaces/my-month-labels.interface\";\r\nexport * from \"./dist/interfaces/my-options.interface\";\r\nexport * from \"./dist/interfaces/my-weekday.interface\";\r\nexport * from \"./dist/interfaces/my-default-month.interface\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/index.js\n// module id = 279\n// module chunks = 3","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar common_1 = require(\"@angular/common\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar textMaskCore_1 = require(\"text-mask-core/dist/textMaskCore\");\r\nvar MaskedInputDirective = MaskedInputDirective_1 = (function () {\r\n    function MaskedInputDirective(renderer, element) {\r\n        this.renderer = renderer;\r\n        this.element = element;\r\n        this.textMaskConfig = {\r\n            mask: '',\r\n            guide: true,\r\n            placeholderChar: '_',\r\n            pipe: undefined,\r\n            keepCharPositions: false,\r\n            onReject: undefined,\r\n            onAccept: undefined\r\n        };\r\n        this._onTouched = function () { };\r\n        this._onChange = function (_) { };\r\n    }\r\n    MaskedInputDirective.prototype.ngOnInit = function () {\r\n        if (this.element.nativeElement.tagName === 'INPUT') {\r\n            // `textMask` directive is used directly on an input element\r\n            this.inputElement = this.element.nativeElement;\r\n        }\r\n        else {\r\n            // `textMask` directive is used on an abstracted input element, `ion-input`, `md-input`, etc\r\n            this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\r\n        }\r\n        this.textMaskInputElement = textMaskCore_1.createTextMaskInputElement(Object.assign({ inputElement: this.inputElement }, this.textMaskConfig));\r\n    };\r\n    MaskedInputDirective.prototype.writeValue = function (value) {\r\n        if (this.textMaskInputElement !== undefined) {\r\n            this.textMaskInputElement.update(value);\r\n        }\r\n    };\r\n    MaskedInputDirective.prototype.registerOnChange = function (fn) { this._onChange = fn; };\r\n    MaskedInputDirective.prototype.registerOnTouched = function (fn) { this._onTouched = fn; };\r\n    MaskedInputDirective.prototype.onInput = function ($event) {\r\n        this.textMaskInputElement.update($event.target.value);\r\n        this._onChange($event.target.value);\r\n    };\r\n    MaskedInputDirective.prototype.setDisabledState = function (isDisabled) {\r\n        this.renderer.setElementProperty(this.element.nativeElement, 'disabled', isDisabled);\r\n    };\r\n    return MaskedInputDirective;\r\n}());\r\n__decorate([\r\n    core_1.Input('textMask'),\r\n    __metadata(\"design:type\", Object)\r\n], MaskedInputDirective.prototype, \"textMaskConfig\", void 0);\r\nMaskedInputDirective = MaskedInputDirective_1 = __decorate([\r\n    core_1.Directive({\r\n        host: {\r\n            '(input)': 'onInput($event)',\r\n            '(blur)': '_onTouched()'\r\n        },\r\n        selector: '[textMask]',\r\n        providers: [{\r\n                provide: forms_1.NG_VALUE_ACCESSOR,\r\n                useExisting: core_1.forwardRef(function () { return MaskedInputDirective_1; }),\r\n                multi: true\r\n            }]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [core_1.Renderer, core_1.ElementRef])\r\n], MaskedInputDirective);\r\nexports.MaskedInputDirective = MaskedInputDirective;\r\nvar TextMaskModule = (function () {\r\n    function TextMaskModule() {\r\n    }\r\n    return TextMaskModule;\r\n}());\r\nTextMaskModule = __decorate([\r\n    core_1.NgModule({\r\n        declarations: [MaskedInputDirective],\r\n        exports: [MaskedInputDirective],\r\n        imports: [common_1.CommonModule]\r\n    })\r\n], TextMaskModule);\r\nexports.TextMaskModule = TextMaskModule;\r\nvar textMaskCore_2 = require(\"text-mask-core/dist/textMaskCore\");\r\nexports.conformToMask = textMaskCore_2.conformToMask;\r\nvar MaskedInputDirective_1;\r\n//# sourceMappingURL=angular2TextMask.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-text-mask/dist/angular2TextMask.js\n// module id = 280\n// module chunks = 3","import {CommonModule} from '@angular/common';\r\nimport {NgModule} from '@angular/core';\r\n\r\nimport {SafeIframe} from \"./safeiframe\"\r\n\r\nimport {LadaDirective} from \"../directives/lada.directive\";\r\nimport {PhonenumberDirective} from \"../directives/phonenumber.directive\";\r\n\r\n\r\n@NgModule({\r\n    declarations:\r\n    [\r\n        SafeIframe,\r\n        LadaDirective,\r\n        PhonenumberDirective\r\n    ],\r\n    imports:\r\n    [\r\n        CommonModule\r\n    ],\r\n    exports:\r\n    [\r\n        SafeIframe,\r\n        LadaDirective,\r\n        PhonenumberDirective\r\n    ]\r\n})\r\n\r\nexport class PipeModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/Pipe/pipe.module.ts","import {OnInit, AfterViewInit, Component, Input, ViewChild, ElementRef, Output, EventEmitter} from '@angular/core';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {AppState} from '../../app.service';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport {saveAs as importedSaveAs} from \"file-saver\";\r\n\r\nimport {Helpers} from '../../app.helpers';\r\n\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'estadocuenta',\r\n    template: require('./estadocuenta.component.html'),\r\n    styles: [require('./tabla.css')],\r\n    providers: [AppState]\r\n})\r\nexport class EstadocuentaComponent implements OnInit, AfterViewInit {\r\n    @Input() alumnoid: number;\r\n    @Output() output = new EventEmitter();\r\n\r\n    @ViewChild('modal') public modal: ModalDirective;\r\n    @ViewChild('estadocuenta') estadocuenta: ElementRef;\r\n\r\n    FormBuscar: FormGroup;\r\n    submitted: boolean;\r\n    TipoestadocuentaSelect: any[];\r\n\r\n    datosimpresion: {\r\n        alumnos: any[],\r\n        familia: string\r\n    } = {\r\n        alumnos: [],\r\n        familia: null\r\n    };\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, public helpers: Helpers) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.TipoestadocuentaSelect = [\r\n            {\r\n                id: 1,\r\n                nombre: \"Saldo total del ciclo\"\r\n            },\r\n            {\r\n                id: 2,\r\n                nombre: \"Saldo vencido\"\r\n            },\r\n            {\r\n                id: 3,\r\n                nombre: \"Todo el historial de pagos\"\r\n            },\r\n            {\r\n                id: 4,\r\n                nombre: \"Por rango de fechas\"\r\n            }\r\n        ]\r\n        this.FormBuscar = this._fb.group({\r\n            tipoestadocuenta: [, <any> Validators.required],\r\n            familia: [],\r\n            fecha: []\r\n        });\r\n        this.FormBuscar.get('tipoestadocuenta').valueChanges.subscribe((tipoestadocuenta: number) => {\r\n            if (tipoestadocuenta == 4) {\r\n                this.FormBuscar.get('fecha').setValidators(Validators.required);\r\n            } else {\r\n                this.FormBuscar.get('fecha').setValue(null);\r\n                this.FormBuscar.get('fecha').setValidators(null);\r\n            }\r\n            this.FormBuscar.get('fecha').updateValueAndValidity();\r\n        })\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.modal.show();\r\n    }\r\n\r\n    getEstadocuenta() {\r\n        this.submitted = true;\r\n        if (!this.FormBuscar.valid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n        \r\n        var data = this.FormBuscar.value;\r\n        if(data.tipoestadocuenta == 4){\r\n            data.fechainicio = this.helpers.FechaObjetoToString(data.fecha.beginDate);\r\n            data.fechafin = this.helpers.FechaObjetoToString(data.fecha.endDate)\r\n        }\r\n        data = $.param(data);\r\n        this._httpService.getArchivo('Alumno/Estadocuenta', this.alumnoid + '?' + data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    importedSaveAs(result.body, \"Estado de cuenta\");\r\n                    this.cancelar();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n\r\n    cancelar() {\r\n        this.output.next(this.modal);\r\n        this.modal.hide();\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/estadocuenta/estadocuenta.component.ts","var toString = {}.toString;\r\n\r\nmodule.exports = function(it){\r\n  return toString.call(it).slice(8, -1);\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 283\n// module chunks = 3","var isObject = require('./_is-object')\r\n  , document = require('./_global').document\r\n  // in old IE typeof document.createElement is 'object'\r\n  , is = isObject(document) && isObject(document.createElement);\r\nmodule.exports = function(it){\r\n  return is ? document.createElement(it) : {};\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 284\n// module chunks = 3","import {OnInit, ViewEncapsulation, Component, ViewChild, Input, ComponentFactoryResolver, ViewContainerRef, EventEmitter, Output, ComponentFactory, ComponentRef} from '@angular/core';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\n\r\nimport {FichaComponent} from './ficha/ficha.component';\r\nimport {DictamenpestanaComponent} from './dictamenpestana/dictamenpestana.component';\r\n\r\n@Component({\r\n    selector: 'dictamen',\r\n    template: require('./dictamen.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DictamenComponent implements OnInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud; //Objecto que contiene todos los parametros a bindear en los componenetes\r\n    @Output() output = new EventEmitter();    \r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n\r\n    @ViewChild(\"container\", {read: ViewContainerRef}) container; // Etiqueta donde se insertara el contenedor\r\n    componentRef: ComponentRef<any>; // Contenedor\r\n   \r\n\r\n    pestana: number;\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(private _cfr: ComponentFactoryResolver) {}\r\n\r\n    ngOnInit() {             \r\n        this.contentView(1);\r\n    }\r\n\r\n    //Funcion que en base a la pestaña, selecciona un compoenente a cargar \r\n    contentView(e: number) {\r\n        if (e != this.pestana)\r\n            switch (e) {\r\n                case 1:\r\n                    this.cargarVista(FichaComponent);\r\n                    break;\r\n                case 2:\r\n                    this.cargarVista(DictamenpestanaComponent);\r\n                    break;\r\n            }\r\n        this.pestana = e;\r\n    }\r\n\r\n    //Funcion que carga el componenete en el contenedor\r\n    cargarVista(componente: any) {      \r\n        this.container.clear();                                                                 //Limpia el contenedor\r\n        const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(componente);   //Le asigna el componente a cargar\r\n        this.componentRef = this.container.createComponent(factory);                            //Carga el compoenente\r\n        this.componentRef.instance.parametrosModalSolicitud = this.parametrosModalSolicitud;    //Le envia \"parametrosModalReactivos\"\r\n        console.log(this.parametrosModalSolicitud);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/dictamen/dictamen.component.ts","import {AfterViewInit, ViewEncapsulation, Component, Input, Output, EventEmitter, ViewChild, ElementRef} from '@angular/core';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Config, ConfigERP} from '../../../configERP';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'modalfotos',\r\n    template: require('./modalfotos.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ModalfotosComponent implements AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    version: number;\r\n    modoModal: boolean;\r\n\r\n    @ViewChild('fotos') fotos: ElementRef;\r\n    @ViewChild('modalFotos') public modalFotos: ModalDirective;\r\n\r\n    constructor(private _config: ConfigERP) {\r\n        var config: Config = this._config.getConfig();\r\n        this.version = config.version;\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        if (!this.parametrosModalSolicitud.modoIndividual) {\r\n            this.modalFotos.onHidden.subscribe(() => {\r\n                $('body').addClass('modal-open');\r\n            });\r\n        }\r\n        (this.parametrosModalSolicitud.modalGenerica.element.nativeElement as HTMLElement).appendChild(this.fotos.nativeElement);\r\n        this.modalFotos.show();\r\n        \r\n    }\r\n\r\n    cerrar() {\r\n        this.modalFotos.hide();\r\n        this.output.next();\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/modalfotos/modalfotos.component.ts","import {ViewEncapsulation, Component, OnInit, AfterViewInit, ViewChild, Input, Output, ComponentFactoryResolver, EventEmitter} from '@angular/core';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\n\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'foto',\r\n    template: require('./foto.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class FotoComponent implements OnInit, AfterViewInit {\r\n    @Output() cerrar = new EventEmitter();\r\n    @Output() guardar = new EventEmitter();\r\n    @ViewChild('modalFoto') public modal: ModalDirective;\r\n    //indica si la camara fue bloqueada por el usuario\r\n    camarabloqueda: boolean;\r\n    //Id de la pestaña activa\r\n    pestaña: string = \"#camara\";\r\n    //archivo\r\n    archivo: any\r\n    //imagen\r\n    foto: any\r\n    //elemento html del video\r\n    video: any;\r\n    //elemento html de canvas *es donde se coloca la captura del video\r\n    canvas: any;\r\n    //camara\r\n    stream: MediaStream;\r\n    //Se inicializa los componenete para la camara\r\n    @Input() onSuccess: Function = (stream: MediaStream) => {\r\n        this.stream = stream;\r\n        this.video = <any> document.getElementsByTagName('video')[0];\r\n        this.canvas = <any> document.getElementsByTagName('canvas')[0];\r\n        this.video.srcObject = stream; //window.URL.createObjectURL(stream);\r\n        this.video.play();\r\n    };\r\n    @Input() onError: Function = (err) => {\r\n        console.log(err);\r\n        this.camarabloqueda = true;\r\n    };\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(public _cfr: ComponentFactoryResolver) {\r\n    }\r\n    //metodo de incio\r\n    ngOnInit() {\r\n        $(\"#img\").fileinput({\r\n            showUpload: false,\r\n            browseClass: \"btn btn-default\",\r\n            browseLabel: \"seleccionar\",\r\n            browseIcon: \"<i class=\\\"fa fa-file-image-o\\\"></i> \",\r\n            removeClass: \"btn btn-default\",\r\n            removeLabel: \"Quitar\",\r\n            removeIcon: \"<i class=\\\"glyphicon glyphicon-trash\\\"></i> \",\r\n            showCaption: false,\r\n            fileActionSettings: {showZoom: false}\r\n        });\r\n    }\r\n    //Metodo de inicio\r\n    ngAfterViewInit() {\r\n        $('a[data-toggle=\"tab\"]').on('shown.bs.tab', (e) => {\r\n            this.pestaña = $(e.target).attr(\"href\")\r\n            switch (this.pestaña) {\r\n                case '#seleccionar':\r\n                    this.stopCamara();\r\n                    break;\r\n                case '#camara':\r\n                    if (!this.stream.active) {\r\n                        this.startCamara();\r\n                    }\r\n                    break;\r\n            }\r\n        });\r\n        this.modal.show();\r\n    }\r\n\r\n    //Accion para guardar la imagen\r\n    guardarfoto() {\r\n        switch (this.pestaña) {\r\n            case '#seleccionar':\r\n                this.guardar.next(this.archivo);\r\n                break;\r\n            case '#camara':\r\n                this.guardar.next(this.foto);\r\n                break;\r\n        }\r\n        this.cerrarfoto()\r\n    }\r\n\r\n    //Cierra la modal donde se toman fotos\r\n    cerrarfoto() {\r\n        this.cerrar.next(this.modal);\r\n        this.stopCamara();\r\n        this.modal.hide()\r\n    }\r\n\r\n    //Accion que captura la imagen trasmitida por video\r\n    makeSnapshot() {\r\n        if (this.video) {\r\n            var hiddenCanvas = document.createElement('canvas');\r\n            hiddenCanvas.width = 320;\r\n            hiddenCanvas.height = 240;\r\n            var ctx = hiddenCanvas.getContext('2d');\r\n            ctx.drawImage(this.video, 0, 0, 320, 240);\r\n            var data = ctx.getImageData(0, 0, 320, 240);\r\n            this.canvas.getContext('2d').putImageData(data, 0, 0);\r\n            this.foto = this.canvas.toDataURL();\r\n        }\r\n    }\r\n\r\n    //Accion que obtiene obtine el contenido del archivo\r\n    extraerfile(img: any) {\r\n        var reader = new FileReader();\r\n        reader.onloadend = () => {\r\n            this.archivo = reader.result;\r\n        }\r\n        reader.readAsDataURL(img);\r\n    }\r\n\r\n    //Detine la trasmision de la camara\r\n    stopCamara() {\r\n        try {\r\n            let tracks: any[] = this.stream.getVideoTracks();\r\n            tracks.forEach(x => x.stop());\r\n        } catch (exception) {\r\n            if (!this.camarabloqueda)\r\n                this.stopCamara();\r\n        }\r\n    }\r\n    //Inicia la trasmision de la camara\r\n    startCamara() {\r\n        try {\r\n            navigator.mediaDevices.getUserMedia({video: true}).then((stream: MediaStream) => {\r\n                this.stream = stream;\r\n                this.video.srcObject = stream; //window.URL.createObjectURL(stream);\r\n                this.video.play();\r\n            });\r\n        } catch (exception) {\r\n            console.log(exception);\r\n        }\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/foto/foto.component.ts","import { DocumentInterruptSource } from './src/documentinterruptsource';\r\nimport { StorageInterruptSource } from './src/storageinterruptsource';\r\nexport * from './src/idle';\r\nexport * from './src/interruptargs';\r\nexport * from './src/interruptsource';\r\nexport * from './src/eventtargetinterruptsource';\r\nexport * from './src/documentinterruptsource';\r\nexport * from './src/windowinterruptsource';\r\nexport * from './src/storageinterruptsource';\r\nexport * from './src/keepalivesvc';\r\nexport * from './src/idleexpiry';\r\nexport * from './src/simpleexpiry';\r\nexport * from './src/localstorage';\r\nexport * from './src/localstorageexpiry';\r\nexport var DEFAULT_INTERRUPTSOURCES = [new DocumentInterruptSource('mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove scroll'), new StorageInterruptSource()];\r\nexport { NgIdleModule } from './src/module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/index.js\n// module id = 289\n// module chunks = 3","/**\r\n * Action script fallback interface\r\n */\r\ninterface ASCamera {\r\n  capture: Function;\r\n  save: Function;\r\n  setCamera: Function;\r\n  getCameraList: Function;\r\n  width: number;\r\n  height: number;\r\n}\r\n\r\n/**\r\n * Fallback external interface callback's\r\n */\r\ninterface EventCallbacks {\r\n  debug: Function;\r\n  onCapture: Function;\r\n  onTick: Function;\r\n  onSave: Function;\r\n}\r\n\r\n/**\r\n * Adobe flash fallback dispatcher\r\n */\r\nclass FallbackDispatcher {\r\n\r\n  private cam: ASCamera;\r\n\r\n  public static implementExternal(callbacks: EventCallbacks) {\r\n    const win = <any>window;\r\n    win.webcam = {\r\n      debug: callbacks.debug,\r\n      onCapture: callbacks.onCapture,\r\n      onTick: callbacks.onTick,\r\n      onSave: callbacks.onSave\r\n    };\r\n  }\r\n\r\n  constructor(camera: ASCamera) {\r\n    this.cam = camera;\r\n  }\r\n\r\n  capture(x?: any) {\r\n    try {\r\n      return this.cam.capture(x);\r\n    } catch (e) {\r\n      console.error(e);\r\n    }\r\n  }\r\n\r\n  save(x?: any) {\r\n    try {\r\n      return this.cam.save(x);\r\n    } catch (e) {\r\n      console.error(e);\r\n    }\r\n  }\r\n\r\n  setCamera(x?: any) {\r\n    try {\r\n      return this.cam.setCamera(x);\r\n    } catch (e) {\r\n      console.error(e);\r\n    }\r\n  }\r\n\r\n  getCameraSize() {\r\n    try {\r\n      return { width: this.cam.width, height: this.cam.height };\r\n    } catch (e) {\r\n      console.error(e);\r\n    }\r\n  }\r\n\r\n  getCameraList() {\r\n    try {\r\n      return this.cam.getCameraList();\r\n    } catch (e) {\r\n      console.error(e);\r\n    }\r\n  }\r\n}\r\n\r\nexport default FallbackDispatcher;\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./~/ng2-webcam/lib/fallback/ts/fallback.dispatcher.ts","import {AfterViewInit, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {Config, ConfigERP} from '../../../configERP';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {AppState} from '../../../app.service';\r\nimport {FormGroup, FormBuilder, Validators, FormArray} from '@angular/forms';\r\nimport {Helpers} from '../../../app.helpers';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\n\r\n\r\n@Component({\r\n    selector: 'areamedica',\r\n    template: require('./areamedica.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AreamedicaComponent implements AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    cambio: boolean;\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n    verision: number;\r\n\r\n    AreaMedicaForm: FormGroup;\r\n    mostrarenfermedadnombre: boolean;\r\n    mostrarenfermedadnombreciencias: boolean;\r\n    mostrarotraalergia: boolean = true;\r\n    otrasenfermedades: boolean = false;\r\n    mostraralergia: boolean;\r\n    mostrarmedicamento: boolean;\r\n\r\n    DatosMedicosForm: FormGroup;\r\n    selectenfermedad: any[];\r\n    contactomedico: any[];\r\n    selectParentesco: any[];\r\n    arrayAlergia: any[];\r\n    arrayAntecedentes: any[];\r\n    sanguineo: any[];\r\n\r\n    numberMask = createNumberMask({\r\n      prefix: '',\r\n      suffix: '',\r\n      includeThousandsSeparator: false,\r\n      thousandsSeparatorSymbol: ',',\r\n      allowDecimal: false,\r\n      decimalSymbol: '',\r\n      decimalLimit: 0,\r\n      integerLimit: null,\r\n      requireDecimal: false,\r\n      allowNegative: false,\r\n      allowLeadingZeroes: false\r\n    });\r\n\r\n    constructor(private _httpService: AppState, private _config: ConfigERP, public helpers: Helpers, private _fb: FormBuilder) {\r\n        var config: Config = this._config.getConfig();\r\n        this.verision = config.version;\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.AreaMedicaForm = this._fb.group({\r\n            datoaspiranteid: [],\r\n            nombreCE: [],\r\n            ladatelCE: [],\r\n            comtelCE: [],\r\n            parentescoCE: [],\r\n            enfermedad: [],\r\n            enfermedadNombre: [],\r\n            ladaenfermedadTelefono: [],\r\n            enfermedadDescripcion: [],\r\n            comenfermedadTelefono: [],\r\n            alergia1: [],\r\n            antecedente: [],\r\n            otraAlergia: [],\r\n            descripcionAntecedente: [],\r\n            autorizo: [],\r\n            autoriza: [],\r\n            auditivo: [],\r\n            aparatoAuditivo: [],\r\n            ortopedico: [],\r\n            ortopedico1: [],\r\n            vista: [],\r\n            lentes: [],\r\n            talla: [],\r\n            peso: [],\r\n            sanguineo: [],\r\n            contactomedico: this._fb.array([])\r\n        });\r\n        this.DatosMedicosForm = this._fb.group({\r\n            nombreCE: [],\r\n            ladacel: [],\r\n            celcom: [],\r\n            selectEnfermedad: [],\r\n            selectAlergico: [],\r\n            alergia1: [],\r\n            antecedente: [],\r\n            selectMeicamento: [],\r\n            enfermedad: [],\r\n            talla: [],\r\n            peso: [],\r\n            contactomedico: this._fb.array([])\r\n        });\r\n\r\n\r\n        this.selectenfermedad = [{id: 0, nombre: 'NO'}, {id: 0, nombre: 'SI'}];\r\n        this.parametrosModalSolicitud.pestanaAreaMedica.selectenfermedad = this.selectenfermedad;\r\n\r\n        this.AreaMedicaForm.get('enfermedad').valueChanges.subscribe((enfermedad) => {\r\n            if (enfermedad == 'NO') {\r\n                this.mostrarenfermedadnombre = false;\r\n            } else {\r\n                this.mostrarenfermedadnombre = true;\r\n            }\r\n        });\r\n\r\n        this.DatosMedicosForm.get('selectEnfermedad').valueChanges.subscribe((enfermedad) => {\r\n            if (enfermedad == 'SI') {\r\n                this.mostrarenfermedadnombreciencias = true;\r\n            } else {\r\n                this.mostrarenfermedadnombreciencias = false;\r\n            }\r\n        });\r\n        this.DatosMedicosForm.get('selectAlergico').valueChanges.subscribe((alergia) => {\r\n            if (alergia == 'SI') {\r\n                this.mostraralergia = true;\r\n            } else {\r\n                this.mostraralergia = false;\r\n            }\r\n        });\r\n        this.DatosMedicosForm.get('selectMeicamento').valueChanges.subscribe((medicamento) => {\r\n            if (medicamento == 'SI') {\r\n                this.mostrarmedicamento = true;\r\n            } else {\r\n                this.mostrarmedicamento = false;\r\n            }\r\n        });\r\n\r\n\r\n        if (this.parametrosModalSolicitud.pestanaAreaMedica.AreaMedicaForm ||\r\n            this.parametrosModalSolicitud.pestanaAreaMedica.DatosMedicosForm) {\r\n\r\n\r\n            this.selectenfermedad = this.parametrosModalSolicitud.pestanaAreaMedica.selectenfermedad;\r\n            this.selectParentesco = this.parametrosModalSolicitud.pestanaAreaMedica.selectParentesco;\r\n            this.arrayAlergia = this.parametrosModalSolicitud.pestanaAreaMedica.arrayAlergia;\r\n            this.arrayAntecedentes = this.parametrosModalSolicitud.pestanaAreaMedica.arrayAntecedentes;\r\n            this.sanguineo = this.parametrosModalSolicitud.pestanaAreaMedica.sanguineo;\r\n            if(this.parametrosModalSolicitud.pestanaAreaMedica.arrayContactos.length > 0) {\r\n                this.contactomedico = this.parametrosModalSolicitud.pestanaAreaMedica.arrayContactos;\r\n            }\r\n            if (this.parametrosModalSolicitud.pestanaAreaMedica.AreaMedicaForm) {\r\n                this.AreaMedicaForm.patchValue(this.parametrosModalSolicitud.pestanaAreaMedica.AreaMedicaForm);\r\n            }\r\n            if (this.parametrosModalSolicitud.pestanaAreaMedica.DatosMedicosForm) {\r\n                this.DatosMedicosForm.patchValue(this.parametrosModalSolicitud.pestanaAreaMedica.DatosMedicosForm);\r\n            }\r\n            if ((this.parametrosModalSolicitud.pestanaAreaMedica.AreaMedicaForm as any).contactomedico){\r\n              if (this.verision == 1) {\r\n                let b = this.AreaMedicaForm.get(\"contactomedico\") as FormArray;\r\n                let result = (this.parametrosModalSolicitud.pestanaAreaMedica.AreaMedicaForm as any);\r\n                  for (let j = 0; j < result.contactomedico.length; j++) {\r\n                    b.push(this._fb.group({\r\n                        contactoId: [result.contactomedico[j].contactodatomedicoid],\r\n                        nombreCE: [result.contactomedico[j].nombreCE, <any> Validators.required],\r\n                        ladatelCE: [result.contactomedico[j].ladatelCE, <any> Validators.required],\r\n                        comtelCE: [result.contactomedico[j].comtelCE, <any> Validators.required],\r\n                        parentescoCE: [result.contactomedico[j].parentescoCE, <any> Validators.required],\r\n                    }));\r\n                  }\r\n              }\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n\r\n    ngAfterViewInit() {\r\n        this.output.next(this);\r\n        if (!this.parametrosModalSolicitud.pestanaAreaMedica.AreaMedicaForm || !this.parametrosModalSolicitud.pestanaAreaMedica.DatosMedicosForm) {\r\n            this.buscarMedicos();\r\n        }\r\n    }\r\n\r\n\r\n    buscarMedicos() {\r\n        //Llamada al servicio datos iniciales\r\n        this._httpService.getElemento('Solicitud/datoMedico?solicitudadmisionid=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n\r\n                    this.selectParentesco = result.body.parentesco;\r\n                    this.parametrosModalSolicitud.pestanaAreaMedica.selectParentesco = result.body.parentesco;\r\n                    this.arrayAlergia = result.body.alergiasL;\r\n                    this.parametrosModalSolicitud.pestanaAreaMedica.arrayAlergia = result.body.alergiasL;\r\n                    this.arrayAntecedentes = result.body.antecedenteimportantes;\r\n                    this.parametrosModalSolicitud.pestanaAreaMedica.arrayAntecedentes = result.body.antecedenteimportantes;\r\n                    this.sanguineo = result.body.sanguineo;\r\n                    this.parametrosModalSolicitud.pestanaAreaMedica.sanguineo == result.body.sanguineo;\r\n                    this.parametrosModalSolicitud.pestanaAreaMedica.arrayContactos =  result.body.contactomedico;\r\n                    let alergia = result.body.solicitudAlergias.length > 0 ? (result.body.solicitudAlergias as any[]).map(x => x.alergiaid.alergiaid) : null;\r\n                    if (alergia) {\r\n                        alergia.forEach((x) => {\r\n                            if (x == 1) {\r\n                                this.mostrarotraalergia = false;\r\n                            }\r\n                        });\r\n                    }\r\n\r\n                    let antecedente = result.body.solicitudAntecedente.length > 0 ? (result.body.solicitudAntecedente as any[]).map(x => x.antecedentefamiliarimportanteid.antecedentefamiliarimportanteid) : null;\r\n                    if (antecedente) {\r\n                        antecedente.forEach((x) => {\r\n                            if (x == 5) {\r\n                                this.otrasenfermedades = true;\r\n                            }\r\n                        });\r\n                    }\r\n                    this.contactomedico = result.body.contactomedico\r\n                    if (this.verision == 1) {\r\n\r\n                    //     let b = this.AreaMedicaForm.get(\"contactomedico\") as FormArray;\r\n                    //     if (result.body.contactomedico) {\r\n                    //       for (let j = 0; j < result.body.contactomedico.length; j++) {\r\n                    //         b.push(this._fb.group({\r\n                    //             contactoId: [result.body.contactomedico[j].contactoemergenciaid],\r\n                    //             nombreCE: [result.body.contactomedico[j].nombre, <any> Validators.required],\r\n                    //             ladatelCE: [this.helpers.ParseTelefono(result.body.contactomedico[j].telefono)[0], <any> Validators.required],\r\n                    //             comtelCE: [this.helpers.ParseTelefono(result.body.contactomedico[j].telefono)[1], <any> Validators.required],\r\n                    //             parentescoCE: [result.body.contactomedico[j].parentescoid, <any> Validators.required],\r\n                    //         }));\r\n                    //       }\r\n                    //   }\r\n\r\n                      \r\n\r\n\r\n                        this.AreaMedicaForm.patchValue({\r\n                            datoaspiranteid: result.body.datomedico.datosaspiranteid.datosaspiranteid,\r\n                            nombreCE: result.body.datomedico.contactoemergencianombre ? result.body.datomedico.contactoemergencianombre : null,\r\n                            ladatelCE: result.body.datomedico.contactoemergenciatelefono ? this.helpers.ParseTelefono(result.body.datomedico.contactoemergenciatelefono)[0] : null,\r\n                            comtelCE: result.body.datomedico.contactoemergenciatelefono ? this.helpers.ParseTelefono(result.body.datomedico.contactoemergenciatelefono)[1] : null,\r\n                            parentescoCE: result.body.datomedico.contactoemergenciaparentesco ? result.body.datomedico.contactoemergenciaparentesco.parentescoid : null,\r\n                            enfermedad: result.body.datomedico.padece ? result.body.datomedico.padece : null,\r\n                            enfermedadNombre: result.body.datomedico.padeceenfermedadcuidanombre ? result.body.datomedico.padeceenfermedadcuidanombre : null,\r\n                            ladaenfermedadTelefono: result.body.datomedico.padeceenfermedadcuidatelefono ? this.helpers.ParseTelefono(result.body.datomedico.padeceenfermedadcuidatelefono)[0] : null,\r\n                            comenfermedadTelefono: result.body.datomedico.padeceenfermedadcuidatelefono ? this.helpers.ParseTelefono(result.body.datomedico.padeceenfermedadcuidatelefono)[1] : null,\r\n                            enfermedadDescripcion: result.body.datomedico.padeceenfermedadcuidadescripcion ? result.body.datomedico.padeceenfermedadcuidadescripcion : null,\r\n                            alergia1: alergia,\r\n                            antecedente: antecedente,\r\n                            otraAlergia: result.body.datomedico.otraalergia,\r\n                            descripcionAntecedente: result.body.datomedico.descripcionantecedenteimportante,\r\n                            autorizo: result.body.datomedico.autorizoantihistaminico,\r\n                            autoriza: result.body.datomedico.nombreautoriza,\r\n                            auditivo: result.body.datomedico.examenauditivo ? result.body.datomedico.examenauditivo : null,\r\n                            aparatoAuditivo: result.body.datomedico.aparatoauditivo ? result.body.datomedico.aparatoauditivo : null,\r\n                            ortopedico: result.body.datomedico.examenortopedicos ? result.body.datomedico.examenortopedicos : null,\r\n                            ortopedico1: result.body.datomedico.aditamentosortopedico,\r\n                            vista: result.body.datomedico.examenvista,\r\n                            lentes: result.body.datomedico.lentes,\r\n                            talla: result.body.datomedico.talla,\r\n                            peso: result.body.datomedico.peso,\r\n                            sanguineo: result.body.datomedico.tiposanguinio ? result.body.datomedico.tiposanguinio.tiposanguineoid : null,\r\n                        });\r\n                    } else {\r\n                        this.DatosMedicosForm.patchValue({\r\n                            datoaspiranteid: result.body.datomedico.datosaspiranteid.datosaspiranteid,\r\n                            nombreCE: result.body.datomedico.contactoemergencianombre ? result.body.datomedico.contactoemergencianombre : null,\r\n                            ladacel: result.body.datomedico.contactoemergenciatelefono ? this.helpers.ParseTelefono(result.body.datomedico.contactoemergenciatelefono)[0] : null,\r\n                            celcom: result.body.datomedico.contactoemergenciatelefono ? this.helpers.ParseTelefono(result.body.datomedico.contactoemergenciatelefono)[1] : null,\r\n                            selectEnfermedad: result.body.datomedico.padece ? 'SI' : 'NO',\r\n                            selectAlergico: result.body.datomedico.alergico ? 'SI' : 'NO',\r\n                            alergia1: result.body.datomedico.alergico ? result.body.datomedico.alergico : null,\r\n                            antecedente: result.body.datomedico.antecedentefamiliar,\r\n                            selectMeicamento: result.body.datomedico.antecedentefamiliar ? 'SI' : 'NO',\r\n                            enfermedad: result.body.datomedico.padece ? result.body.datomedico.padece : null,\r\n                            talla: result.body.datomedico.talla,\r\n                            peso: result.body.datomedico.peso,\r\n                        });\r\n                    }\r\n\r\n                    this.parametrosModalSolicitud.pestanaAreaMedica.AreaMedicaForm = this.AreaMedicaForm.value;\r\n                    this.parametrosModalSolicitud.pestanaAreaMedica.DatosMedicosForm = this.DatosMedicosForm.value;\r\n\r\n\r\n                }\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/areamedica/areamedica.component.ts","import {OnInit, AfterViewInit, AfterContentInit, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport {AppState} from '../../../app.service';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'comentarios',\r\n    template: require('./comentarios.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ComentariosComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n\r\n    FormGuardar: FormGroup;\r\n    submitted: boolean;\r\n\r\n    arrayComentarios: any;\r\n    dtOptionsCom: any = {};\r\n    dtTriggerCom = new Subject;\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        $.fn.dataTable.ext.errMode = 'none';\r\n        this.dtOptionsCom = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [1], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n\r\n        this.FormGuardar = this._fb.group({\r\n            solicitudid: [this.parametrosModalSolicitud.entidad.solicitudadmisionid],\r\n            comentario: [, <any> Validators.required]\r\n        })\r\n\r\n        if (this.parametrosModalSolicitud.pestanaComentarios.arrayComentarios) {\r\n            this.arrayComentarios = this.parametrosModalSolicitud.pestanaComentarios.arrayComentarios;\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTriggerCom.next();\r\n        if (!this.parametrosModalSolicitud.pestanaComentarios.arrayComentarios) {\r\n            this.buscarComentarios()\r\n        }\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    buscarComentarios() {\r\n        this.submitted = false;\r\n        this.FormGuardar.get('comentario').reset();\r\n        this._httpService.getElemento('Solicitud/comentario/?solicitudid=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaComenmtarios\").dataTable().fnDestroy();\r\n                    this.arrayComentarios = result.body.comentarios;\r\n                    this.parametrosModalSolicitud.pestanaComentarios.arrayComentarios = result.body.comentarios;\r\n                    this.dtTriggerCom.next();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    guardarComentario() {\r\n        this.submitted = true;\r\n        if (this.FormGuardar.invalid) {\r\n            return false;\r\n        }\r\n        this._httpService.postElemento('Solicitud/comentario/', this.FormGuardar.value).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.buscarComentarios();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    //Eliminar comentario\r\n    eliminarComentario(id: number) {\r\n        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n            message: \"Confirme que desea eliminar un registro\",\r\n            hideAfter: false,\r\n            actions: {\r\n                delete: {\r\n                    label: \"Eliminar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                        this._httpService.deleteElemento('Solicitud/comentario', id).subscribe(\r\n                            result => {\r\n                                if (result.status == 200) {\r\n                                    Messenger().post({\r\n                                        message: result.body,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                    this.buscarComentarios();\r\n                                } else {\r\n                                    Messenger().post({\r\n                                        message: result.body,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                }\r\n                            },\r\n                            error => {\r\n                                Messenger().post({\r\n                                    message: 'No se pudo comunicar con el servidor',\r\n                                    type: 'error',\r\n                                    showCloseButton: true\r\n                                });\r\n                            }\r\n                        );\r\n                    }\r\n                },\r\n                cancel: {\r\n                    label: \"Cancelar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                    }\r\n                }\r\n            }\r\n        })\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/comentarios/comentarios.component.ts","import {OnInit, AfterViewInit, AfterContentInit, ChangeDetectorRef, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from '../../../app.service';\r\nimport {FormGroup, FormBuilder, Validators, FormControl} from '@angular/forms';\r\nimport {Helpers} from '../../../app.helpers';\r\n\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport { StorageService } from 'app/directives/storage.service';\r\n\r\ndeclare let Messenger: any;\r\ndeclare var moment: any;\r\n\r\n@Component({\r\n    selector: 'datosaspirante',\r\n    template: require('./datosaspirante.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DatosaspiranteComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    cambio: boolean;\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n    version: any;\r\n\r\n    DatosAspirante: FormGroup;\r\n    submitted: boolean;\r\n\r\n    generoSelect: any[];\r\n    estudiadoextSelect: any[];\r\n    selectViveCon: any[];\r\n    labelnacionalidad: string;\r\n    selectNacionalidad: any[];\r\n    selectPais: any[];\r\n    selectEstados: any[];\r\n    selectMunicipios: any[];\r\n    formatonombre: any;\r\n    nacionalidades: any;\r\n    fechanivel: any;\r\n    fechaniveltemp: any;\r\n    edadnivel: any;\r\n    constructor(private _httpService: AppState, private storage: StorageService, private _help: Helpers, private _fb: FormBuilder, private _cdRef: ChangeDetectorRef) {\r\n        let parametros: any[] = JSON.parse(this.storage.getItem('parametros'));\r\n        let formatonombre = parametros.find(x=> x.nombre == 'FormatoNombre');\r\n        this.formatonombre = formatonombre ? formatonombre.valor : 0;\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        /**Version colegio*/\r\n        this.version = this.parametrosModalSolicitud.version;\r\n        /**Formulario*/\r\n        this.DatosAspirante = this._fb.group({\r\n            solicitudadmisionid: [],\r\n            edadnivel: [],\r\n            fechanivel: [],\r\n            datosgenerales: this._fb.group({\r\n                nombre: [, <any> Validators.required],\r\n                apellidopaterno: [, <any> Validators.required],\r\n                apellidomaterno: [, <any> Validators.required],\r\n                sexo: [, <any> Validators.required],\r\n                curp: [], //Quitar validacion html\r\n                vivecon: [],\r\n                //celularlada: [],//Quitar validacion html\r\n                celular: [],//Quitar validacion html            \r\n                email: [],//Quitar validacion html               ,\r\n            }),\r\n            fechalugarnacimiento: this._fb.group({\r\n                fecha: [, <any> Validators.required],\r\n                anos: [, <any> Validators.required],\r\n                meses: [, <any> Validators.required],\r\n                promedio: [],//Quitar validacion html\r\n                pais: [],\r\n                estado: [],\r\n                municipio: [],\r\n            }),\r\n            escuelaprocedencia: this._fb.group({ //Exclusivo lux\r\n                nombre: [],//Quitar validacion html\r\n                ciudad: []//Quitar validacion html\r\n            }),\r\n            extranjero: this._fb.group({\r\n                estudios: [],\r\n                texto: []//Quitar validacion html\r\n            }),\r\n            contacto: this._fb.group({\r\n                nombre: [, <any> Validators.required],\r\n                email: [, Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)],\r\n                //celularlada: [, <any> Validators.required],\r\n                celular: [, <any> Validators.required],\r\n                //telefonolada: [],//Quitar validacion html\r\n                telefono: []//Quitar validacion html\r\n            }),\r\n            nacionalidad: [, <any> Validators.required],\r\n            noNomina:[] /* Actualmente no se puede validar porque no hay 360 : 15-01-2022 */\r\n        });\r\n        /**Selecs estaticos*/\r\n        this.generoSelect = [{id: 1, nombre: \"Masculino\"}, {id: 2, nombre: \"Femenino\"}];\r\n        this.estudiadoextSelect = [{id: true, nombre: 'SI'}, {id: false, nombre: 'NO'}];\r\n        /**Subscripciones del formulario*/\r\n        this.DatosAspirante.get('datosgenerales').get('apellidopaterno').valueChanges.subscribe((apellidopaterno: string) => {\r\n            if (apellidopaterno) {\r\n                this.DatosAspirante.get('datosgenerales').get('apellidomaterno').setValidators(null);\r\n            } else {\r\n                this.DatosAspirante.get('datosgenerales').get('apellidomaterno').setValidators(<any> Validators.required);\r\n            }\r\n            this.DatosAspirante.get('datosgenerales').get('apellidomaterno').updateValueAndValidity({onlySelf: true, emitEvent: false});\r\n        });\r\n        this.DatosAspirante.get('datosgenerales').get('apellidomaterno').valueChanges.subscribe((apellidomaterno: string) => {\r\n            if (apellidomaterno) {\r\n                this.DatosAspirante.get('datosgenerales').get('apellidopaterno').setValidators(null);\r\n            } else {\r\n                this.DatosAspirante.get('datosgenerales').get('apellidopaterno').setValidators(<any> Validators.required);\r\n            }\r\n            this.DatosAspirante.get('datosgenerales').get('apellidopaterno').updateValueAndValidity({onlySelf: true, emitEvent: false});\r\n        });\r\n        this.DatosAspirante.get('fechalugarnacimiento').get('fecha').valueChanges.subscribe((fecha: {date: {year: number, month: number, day: number}}) => {\r\n            if (fecha) {\r\n                let hoy = moment();\r\n                let nacimiento = moment.duration(hoy.diff(moment(this._help.FechaObjetoToString(fecha.date))));\r\n                let edadnivel = this.fechanivel ? moment.duration(moment(this.fechanivel).diff(moment(this._help.FechaObjetoToString(fecha.date)))) : null;\r\n\r\n                this.DatosAspirante.get('fechalugarnacimiento').get('anos').setValue(nacimiento.years());\r\n                this.DatosAspirante.get('fechalugarnacimiento').get('meses').setValue(nacimiento.months());\r\n\r\n                this.edadnivel = edadnivel ? edadnivel.years() + \" año(s) y \" + edadnivel.months() + \" mes(es)\" : null;\r\n            } else {\r\n                this.edadnivel = null;\r\n                this.DatosAspirante.get('fechalugarnacimiento').get('anos').setValue(0);\r\n                this.DatosAspirante.get('fechalugarnacimiento').get('meses').setValue(0);\r\n            }\r\n        })\r\n\r\n        let p = '\\\\d{10}';\r\n        this.DatosAspirante.get('contacto').get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n        this.DatosAspirante.get('contacto').get('telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n\r\n        /*\r\n         IDEC se omite el uso de la lada         \r\n        this.DatosAspirante.get('contacto').get('celularlada').valueChanges.subscribe((lada: string) => {\r\n            let p;\r\n            if (lada) {\r\n                if (lada.length == 4) {\r\n                    p = '\\\\d{4}.\\\\d{4}';\r\n                } else if (lada.length == 5) {\r\n                    p = '\\\\d{3}.\\\\d{4}';\r\n                } else {\r\n                    p = '\\\\d{10}.\\\\d{10}';\r\n                }\r\n                this.DatosAspirante.get('contacto').get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n            } else {\r\n                p = '\\\\d{10}.\\\\d{10}';\r\n                this.DatosAspirante.get('contacto').get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n            }\r\n            this.DatosAspirante.get('contacto').get('celular').updateValueAndValidity();\r\n        });*/\r\n\r\n        /*\r\n         IDEC se omite el uso de la lada\r\n        this.DatosAspirante.get('contacto').get('telefonolada').valueChanges.subscribe((lada: string) => {\r\n            let p;\r\n            if (lada) {\r\n                if (lada.length == 4) {\r\n                    p = '\\\\d{4}.\\\\d{4}';\r\n                } else if (lada.length == 5) {\r\n                    p = '\\\\d{3}.\\\\d{4}';\r\n                } else {\r\n                    p = '\\\\d{10}.\\\\d{10}';\r\n                }\r\n                this.DatosAspirante.get('contacto').get('telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n            } else {\r\n                if (this.DatosAspirante.get('contacto').get('telefono').value) {\r\n                    p = '\\\\d{3}.\\\\d{10}';\r\n                }\r\n                this.DatosAspirante.get('contacto').get('telefono').setValidators(Validators.pattern(p));\r\n            }\r\n            this.DatosAspirante.get('contacto').get('telefono').updateValueAndValidity();\r\n        }); */\r\n\r\n        /*\r\n         IDEC se omite el uso de la lada\r\n        this.DatosAspirante.get('contacto').get('telefono').valueChanges.subscribe((telefono: string) => {\r\n            let lada = this.DatosAspirante.get('contacto').get('telefonolada').value;\r\n            if (telefono) {\r\n                let p;\r\n                if (lada) {\r\n                    if (lada.length == 4) {\r\n                        p = '\\\\d{4}.\\\\d{4}';\r\n                    } else if (lada.length == 5) {\r\n                        p = '\\\\d{3}.\\\\d{4}';\r\n                    } else {\r\n                        p = '\\\\d{10}.\\\\d{10}';\r\n                    }\r\n                    this.DatosAspirante.get('contacto').get('telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n                } else {\r\n                    p = '\\\\d{10}.\\\\d{10}';\r\n                    this.DatosAspirante.get('contacto').get('telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n                }\r\n            } else {\r\n                if (!lada) {\r\n                    this.DatosAspirante.get('contacto').get('telefono').setValidators(null);\r\n                }\r\n            }\r\n            this.DatosAspirante.get('contacto').get('telefono').updateValueAndValidity({onlySelf: true, emitEvent: false});\r\n        }) */\r\n\r\n        this.DatosAspirante.get('datosgenerales').get('curp').valueChanges.subscribe((curp: any) => {\r\n            if (curp) {\r\n                this.DatosAspirante.get('datosgenerales').get('curp').setValidators(\r\n                    Validators.pattern(/^([A-Z][AEIOUX][A-Z]{2}\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\d])(\\d)$/)\r\n                );\r\n                this.DatosAspirante.get('datosgenerales').get('curp').updateValueAndValidity({onlySelf: true, emitEvent: false});\r\n            }\r\n        });\r\n\r\n        this.DatosAspirante.get('nacionalidad').valueChanges.subscribe((nacionalidad: any[]) => {\r\n            if (this.labelnacionalidad == \"Mexicano\") {\r\n                if (nacionalidad.findIndex(x => x == 112) == -1) {\r\n                    nacionalidad.push(112);\r\n                    this.DatosAspirante.get('nacionalidad').setValue(nacionalidad);\r\n                }\r\n            }\r\n            if (nacionalidad) {\r\n                let mexicano = nacionalidad.find(x => x == 112);\r\n                if (mexicano) {\r\n                    this.DatosAspirante.get('datosgenerales').get('curp').setValidators(<any> Validators.compose([<any> Validators.required,\r\n                    Validators.pattern(/^([A-Z][AEIOUX][A-Z]{2}\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\d])(\\d)$/)])\r\n                    );\r\n                } else {\r\n                    this.DatosAspirante.get('datosgenerales').get('curp').setValidators(null);\r\n                }\r\n            } else {\r\n                this.DatosAspirante.get('datosgenerales').get('curp').setValidators(null);\r\n            }\r\n            this.DatosAspirante.get('datosgenerales').get('curp').updateValueAndValidity();\r\n        });\r\n\r\n        //Si ya se ha ingresado a la pantalla se cargan los datos de la memoria\r\n        if (this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante) {\r\n            this.selectPais = this.parametrosModalSolicitud.pestanaDatosAspirante.selectPais;\r\n            this.selectEstados = this.parametrosModalSolicitud.pestanaDatosAspirante.selectEstados;\r\n            this.selectMunicipios = this.parametrosModalSolicitud.pestanaDatosAspirante.selectMunicipios;\r\n            if (!this.parametrosModalSolicitud.edicion) {\r\n                this.selectViveCon = this.parametrosModalSolicitud.pestanaDatosAspirante.selectViveCon;\r\n            }\r\n            this.labelnacionalidad = this.parametrosModalSolicitud.pestanaDatosAspirante.labelnacionalidad;\r\n            this.selectNacionalidad = this.parametrosModalSolicitud.pestanaDatosAspirante.selectNacionalidad;\r\n            this.DatosAspirante.patchValue(this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante)\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        //Quitamos los required de los input HTML\r\n        this.DatosAspirante.get('datosgenerales').get('curp').setValidators(null);\r\n        this.DatosAspirante.get('datosgenerales').get('curp').updateValueAndValidity()\r\n        //this.DatosAspirante.get('datosgenerales').get('celularlada').setValidators(null);\r\n        //this.DatosAspirante.get('datosgenerales').get('celularlada').updateValueAndValidity();\r\n        this.DatosAspirante.get('datosgenerales').get('celular').setValidators(null);\r\n        this.DatosAspirante.get('datosgenerales').get('celular').updateValueAndValidity();\r\n        this.DatosAspirante.get('datosgenerales').get('email').setValidators(null);\r\n        this.DatosAspirante.get('datosgenerales').get('email').updateValueAndValidity();\r\n        this.DatosAspirante.get('fechalugarnacimiento').get('promedio').setValidators(null);\r\n        this.DatosAspirante.get('fechalugarnacimiento').get('promedio').updateValueAndValidity();\r\n\r\n        if (this.version == 2 || this.parametrosModalSolicitud.entidad.gradoid.nivelid.nivelid == 1) {\r\n            this.DatosAspirante.get('escuelaprocedencia').get('nombre').setValidators(null);\r\n            this.DatosAspirante.get('escuelaprocedencia').get('nombre').updateValueAndValidity();\r\n            this.DatosAspirante.get('escuelaprocedencia').get('ciudad').setValidators(null);\r\n            this.DatosAspirante.get('escuelaprocedencia').get('ciudad').updateValueAndValidity();\r\n        }\r\n\r\n        this.DatosAspirante.get('extranjero').get('texto').setValidators(null);\r\n        this.DatosAspirante.get('extranjero').get('texto').updateValueAndValidity();\r\n        //this.DatosAspirante.get('contacto').get('telefonolada').setValidators(null);\r\n        //this.DatosAspirante.get('contacto').get('telefonolada').updateValueAndValidity();\r\n        this.DatosAspirante.get('contacto').get('telefono').setValidators(null);\r\n        this.DatosAspirante.get('contacto').get('telefono').updateValueAndValidity();\r\n        this._cdRef.detectChanges();\r\n\r\n        //Si ya se ha ingresado a la pantalla realizamos la subscripcion de cambio, si no buscamos los datos\r\n        if (this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante) {\r\n            this.fechaniveltemp = this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante.fechanivel;\r\n            this.selectPais = this.parametrosModalSolicitud.pestanaDatosAspirante.selectPais;\r\n            this.selectEstados = this.parametrosModalSolicitud.pestanaDatosAspirante.selectEstados;\r\n            this.selectMunicipios = this.parametrosModalSolicitud.pestanaDatosAspirante.selectMunicipios;\r\n            if (!this.parametrosModalSolicitud.edicion) {\r\n                this.selectViveCon = this.parametrosModalSolicitud.pestanaDatosAspirante.selectViveCon;\r\n            }\r\n            this.labelnacionalidad = this.parametrosModalSolicitud.pestanaDatosAspirante.labelnacionalidad;\r\n            this.selectNacionalidad = this.parametrosModalSolicitud.pestanaDatosAspirante.selectNacionalidad;\r\n            this.DatosAspirante.patchValue(this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante);\r\n\r\n            this.DatosAspirante.valueChanges.subscribe(() => {\r\n                this.cambio = true;\r\n            });\r\n        } else {\r\n            this.buscarDatosAsp();\r\n        }\r\n        if (this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante) {\r\n            this.fechaniveltemp = this.DatosAspirante.get(\"fechanivel\").value;\r\n            this.edadnivel = this.DatosAspirante.get(\"edadnivel\").value;\r\n        }\r\n        this._cdRef.detectChanges();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);;\r\n    }\r\n\r\n    buscarDatosAsp() {\r\n        this._httpService.getElemento('Solicitud/datosAspirante/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    //Edad dependiendo del nivel\r\n                    this.fechanivel = result.body.fechanivel ? result.body.fechanivel.split(\"T\")[0] : null;\r\n                    if (this.fechanivel) {\r\n                        let fechaniveltemp = this.fechanivel.split(\"-\");\r\n                        this.fechaniveltemp = fechaniveltemp[2] + \"/\" + fechaniveltemp[1] + \"/\" + fechaniveltemp[0];\r\n                    }\r\n                    //Selects\r\n                    this.selectNacionalidad = result.body.nacionalidad;\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.selectNacionalidad = this.selectNacionalidad;\r\n                    this.selectPais = result.body.pais;\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.selectPais = this.selectPais;\r\n                    this.selectEstados = result.body.estados;\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.selectEstados = this.selectEstados;\r\n                    this.selectMunicipios = result.body.municipios;\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.selectMunicipios = this.selectMunicipios;\r\n                    this.selectViveCon = result.body.viveCon;\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.selectViveCon = this.selectViveCon;\r\n                    this.nacionalidades = result.body.nacionalidades;\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.nacionalidades = this.nacionalidades;\r\n                    //Valores de la solicitud\r\n                    let solicitud = result.body.solicitud;\r\n                    let nacionalidades = (result.body.nacionalidades as any[]).map(x => x.nacionalidad.nacionalidadid);\r\n                    if (nacionalidades) {\r\n                        if (nacionalidades.find(x => x == 112)) {\r\n                            this.labelnacionalidad = \"Mexicano\";\r\n                            let indice = this.selectNacionalidad.findIndex(x => x.nacionalidadid == 112);\r\n                            this.selectNacionalidad.splice(indice, 1);\r\n                        }\r\n                    }\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.labelnacionalidad = this.labelnacionalidad;\r\n                    console.log(solicitud);\r\n                    let celular = solicitud.datoaspiranteid.celular !== undefined ? solicitud.datoaspiranteid.celular.replace('-', '') : solicitud.datoaspiranteid.celular;\r\n                    let celcontacto = solicitud.contactoid.celular !== undefined  ? solicitud.contactoid.celular.replace('-', '') : solicitud.contactoid.celular;\r\n                    let telcontacto = solicitud.contactoid.telefono !== undefined ? solicitud.contactoid.telefono.replace('-', '') : solicitud.contactoid.telefono;\r\n\r\n                    let fecha = this._help.FechaToStringObjeto(solicitud.datoaspiranteid.fechanacimiento);\r\n                    this.DatosAspirante.patchValue({\r\n                        solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                        datosgenerales: {\r\n                            nombre: solicitud.datoaspiranteid.nombre ? solicitud.datoaspiranteid.nombre : null,\r\n                            apellidopaterno: solicitud.datoaspiranteid.apellidopaterno ? solicitud.datoaspiranteid.apellidopaterno : null,\r\n                            apellidomaterno: solicitud.datoaspiranteid.apellidomaterno ? solicitud.datoaspiranteid.apellidomaterno : null,\r\n                            sexo: solicitud.datoaspiranteid.sexo,\r\n                            curp: solicitud.datoaspiranteid.curp,\r\n                            vivecon: solicitud.datoaspiranteid.viveconid ? solicitud.datoaspiranteid.viveconid.viveconid : null,\r\n                            email: solicitud.datoaspiranteid.email,\r\n                            //celularlada: celular[0] ? celular[0] : null,\r\n                            //celular: celular[1] ? celular[1] : null,                            \r\n                            celular: celular,                            \r\n                        },\r\n                        fechalugarnacimiento: {\r\n                            fecha: fecha ? {date: fecha} : null,\r\n                            anos: solicitud.datoaspiranteid.edadanos ? solicitud.datoaspiranteid.edadanos : 0,\r\n                            meses: solicitud.datoaspiranteid.edadmes ? solicitud.datoaspiranteid.edadmes : 0,\r\n                            promedio: solicitud.datoaspiranteid.promedioactual ? solicitud.datoaspiranteid.promedioactual : null,\r\n                            pais: result.body.estados ? result.body.estados[0].paisid.paisid : null,\r\n                            estado: result.body.estados ? result.body.estados[0].estadoid : null,\r\n                            municipio: result.body.municipios ? result.body.municipios[0].municipioid : null\r\n                        },\r\n                        escuelaprocedencia: {\r\n                            nombre: solicitud.datoaspiranteid.nombreescuelaprocedencia ? solicitud.datoaspiranteid.nombreescuelaprocedencia : null,\r\n                            ciudad: solicitud.datoaspiranteid.ciudadescuelaprocedencia ? solicitud.datoaspiranteid.ciudadescuelaprocedencia : null,\r\n                        },\r\n                        extranjero: {\r\n                            estudios: solicitud.datoaspiranteid.gradosextrangero,\r\n                            texto: solicitud.datoaspiranteid.lugargradosextranger,\r\n                        },\r\n                        contacto: {\r\n                            nombre: solicitud.contactoid.nombre ? solicitud.contactoid.nombre : null,\r\n                            email: solicitud.contactoid.correo ? solicitud.contactoid.correo : null,\r\n                            //celularlada: celcontacto[0] ? celcontacto[0] : null,\r\n                            celular: celcontacto !== undefined ? celcontacto.replace('-', '') : null,\r\n                            //telefonolada: telcontacto[0] ? telcontacto[0] : null,\r\n                            telefono: telcontacto !== undefined ? telcontacto.replace('-', '') : null,\r\n                        },\r\n                        nacionalidad: nacionalidades,\r\n                        noNomina: solicitud.nonomina !== undefined ? solicitud.nonomina : 0,\r\n                    });\r\n                    this.DatosAspirante.get(\"edadnivel\").setValue(this.edadnivel);\r\n                    this.DatosAspirante.get(\"fechanivel\").setValue(this.fechaniveltemp);\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante = this.DatosAspirante.value;\r\n                    this.DatosAspirante.valueChanges.subscribe(() => {\r\n                        this.cambio = true;\r\n                    });\r\n\r\n                    if (!solicitud.datoaspiranteid.edadanos && !solicitud.datoaspiranteid.edadmes) {\r\n                        this.DatosAspirante.get('fechalugarnacimiento').get('fecha').setValue(this.DatosAspirante.get('fechalugarnacimiento').get('fecha').value);\r\n                    }\r\n\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        if (this.parametrosModalSolicitud.edicion) {\r\n            this.guardarCatalogo();\r\n        } else {\r\n            this.accionGuardar.next(true);\r\n        }\r\n    }\r\n\r\n    transformartexto(forname: FormControl) {\r\n        let texto: string = forname.value;\r\n        switch(this.formatonombre){\r\n            case \"0\":\r\n            break;\r\n            case \"1\":\r\n            forname.setValue(texto.toUpperCase());\r\n            break;\r\n            case \"2\":\r\n            forname.setValue(this._help.capitalize(texto));\r\n            break;\r\n            default:\r\n            break;\r\n        }\r\n    }\r\n\r\n    guardarCatalogo() {\r\n        this.submitted = true;\r\n        if (this.DatosAspirante.invalid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n        if (!this.cambio) {\r\n            this.accionGuardar.next(true);\r\n            return false;\r\n        }\r\n        let datos = JSON.parse(JSON.stringify(this.DatosAspirante.value));\r\n        datos.fechalugarnacimiento.fecha = this._help.FechaObjetoToString(datos.fechalugarnacimiento.fecha.date);\r\n        datos.datosgenerales.celular = datos.datosgenerales.celular;\r\n        datos.contacto.celular =  datos.contacto.celular;\r\n        datos.contacto.telefono = datos.contacto.telefono;\r\n\r\n        //Llamada al servicio post para insertar un nuevo elemento\r\n        this._httpService.postElemento('Solicitud/datosAspirante/validacionDatos', datos, false, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: \"Se han guardado los datos.\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.parametrosModalSolicitud.buscar = true;\r\n                    this.parametrosModalSolicitud.pestanaDatosAspirante.DatosAspirante = this.DatosAspirante.value;\r\n                    this.accionGuardar.next(true);\r\n                } else {\r\n                 Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                \r\n                }\r\n            },\r\n            error => {\r\n\r\n            }\r\n        );\r\n    }\r\n\r\n    /*limpiarTelefono(tel){\r\n        let telefono;\r\n        do{\r\n            telefono = tel.replace(' ', '');\r\n            telefono = telefono.replace('-', '');\r\n        }while(tel.indexOf('-') >= 0 || tel.indexOf(' ') >= 0);\r\n        return telefono;\r\n    } */\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/datosaspirante/datosaspirante.component.ts","import {OnInit, AfterContentInit, AfterViewInit, Component, Input, Output, EventEmitter, ViewChild} from '@angular/core';\r\nimport {AppState} from '../../../app.service';\r\nimport {Helpers} from '../../../app.helpers';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {FormGroup, FormBuilder, Validators, FormControl} from '@angular/forms';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport { StorageService } from 'app/directives/storage.service';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'datosfamiliares',\r\n    template: require('./datosfamiliares.component.html'),\r\n})\r\nexport class DatosfamiliaresComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n\r\n    version: any;\r\n\r\n    //Padres o tutores\r\n    arrayPadres: any[] = [];\r\n    dtOptionsPT: any = {};\r\n    dtTriggerPT = new Subject;\r\n    @ViewChild('modalPadre') modalPadre: ModalDirective;\r\n\r\n    tutorfacutacionSelect: any[] = [];\r\n\r\n    FormInformacionbasica: FormGroup;\r\n    optionsSelect: any[];\r\n    parentescoSelect: any[];\r\n    submitted: boolean;\r\n\r\n    InformacionAdicional: FormGroup;\r\n\r\n    //Clave familiar (Ciencias)\r\n    familia: {clavefamiliar: string, familia: string, tutorid: number} = {clavefamiliar: \"\", familia: \"\", tutorid: null}\r\n    AsignacionClave: FormGroup;\r\n    @ViewChild('modalAsignarClave') public modalAsignarClave: ModalDirective;\r\n    dtOptionsFamiliaresC: any = {};\r\n    dtTriggerFamiliaresC = new Subject;\r\n    arrayFamiliaresClaveAlumnos: any;\r\n\r\n    DatosFamiliares: FormGroup;\r\n\r\n    //GridPersonasRecoge\r\n    arrayPersonaRecoge: any;\r\n    dtOptionsPersonaRecoge: any = {};\r\n    dtTriggerPersonaRecoge = new Subject;\r\n\r\n    SelectEstados: any[];\r\n    SelectMunicipios: any[];\r\n    SelectColonias: any[];\r\n\r\n    SelectNacionalidad: any[];\r\n    SelectSituacion: any[];\r\n    SelectEscolaridad: any[];\r\n\r\n    SelectGeneracion: any[];\r\n\r\n    formatonombre: any;\r\n\r\n    numberMask = createNumberMask({\r\n      prefix: '',\r\n      suffix: '',\r\n      includeThousandsSeparator: false,\r\n      thousandsSeparatorSymbol: ',',\r\n      allowDecimal: false,\r\n      decimalSymbol: '',\r\n      decimalLimit: 0,\r\n      integerLimit: null,\r\n      requireDecimal: false,\r\n      allowNegative: false,\r\n      allowLeadingZeroes: false\r\n    });\r\n\r\n    constructor(private _httpService: AppState, private storage: StorageService, private _fb: FormBuilder, private _help: Helpers) {\r\n        let parametros: any[] = JSON.parse(this.storage.getItem('parametros'));\r\n        let formatonombre = parametros.find(x=> x.nombre == 'FormatoNombre');\r\n        this.formatonombre = formatonombre ? formatonombre.valor : 0;\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        $.fn.dataTable.ext.errMode = 'none';\r\n        /**Version colegio*/\r\n        this.version = this.parametrosModalSolicitud.version;\r\n        /**Subscripcion de las modales*/\r\n        this.modalPadre.onHidden.subscribe(() => {\r\n            $('body').addClass('modal-open');\r\n        });\r\n        this.modalAsignarClave.onHidden.subscribe(() => {\r\n            $('body').addClass('modal-open');\r\n        });\r\n\r\n        /**Configuracion de las tablas*/\r\n        this.dtOptionsPT = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [7], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        this.dtOptionsFamiliaresC = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [4], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        this.dtOptionsPersonaRecoge = {\r\n            dom: 'rtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"}\r\n        };\r\n\r\n        /**formularios*/\r\n        this.FormInformacionbasica = this._fb.group({\r\n            nombre: [, <any> Validators.required],\r\n            apellidopaterno: [, <any> Validators.required],\r\n            apellidomaterno: [, <any> Validators.required],\r\n            correo: [, Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)],\r\n            //ladacel: [, <any> Validators.required],\r\n            celular: [, <any> Validators.required],\r\n            parentesco: [, <any> Validators.required],\r\n            alumnoInstituto: [, this.version == 1 ? Validators.required : null],\r\n            especificarAlumnoInstituto: [, this.version == 1 ? Validators.required : null],\r\n            idtutor: [],\r\n            exalumno: [, this.version == 2 ? Validators.required : null],\r\n            generacion: [, this.version == 2 ? Validators.required : null]\r\n        });\r\n        this.InformacionAdicional = this._fb.group({\r\n            curp: [],\r\n            fecha: [],\r\n            tutor: [],\r\n            finado: [],\r\n            nacionalidad: [],\r\n            situacionconyugal: [],\r\n            escolaridad: [],\r\n            tipoocupacion: [],\r\n            ocupacion: [],\r\n            ramo: [],\r\n            empresa: [],\r\n            //ladatel: [],\r\n            telefono: [],\r\n            extencion: [],\r\n            horariotrabajo: [],\r\n            exalumno: [],\r\n            generacion: [],\r\n            alumnoInstituto: [, <any> Validators.required],\r\n            especificarAlumnoInstituto: [],\r\n        });\r\n        this.AsignacionClave = this._fb.group({\r\n            clavefamiliar: [],\r\n            nombre: [],\r\n            apellidopaterno: [],\r\n            matricula: [],\r\n            escolaridad: [],\r\n            curp: [],\r\n            apellidomaterno: []\r\n        });\r\n        this.DatosFamiliares = this._fb.group({\r\n            cp: [],\r\n            estado: [],\r\n            municipio: [],\r\n            colonia: [],\r\n            otracolonia: [],\r\n            calle: [],\r\n            numex: [],\r\n            numint: [],\r\n        });\r\n        /**Subscripciones del formulario*/\r\n        /*\r\n         *  IDEC: se omite el uso de lada\r\n         */   \r\n        let p = '\\\\d{10}'; \r\n        this.FormInformacionbasica.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n        this.FormInformacionbasica.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n\r\n        /*this.FormInformacionbasica.get('celular').valueChanges.subscribe((telefono: string) => {\r\n            let lada = this.FormInformacionbasica.get('ladacel').value;\r\n            if (telefono) {\r\n                let p;\r\n                if (lada) {\r\n                    if (lada.length == 4) {\r\n                        p = '\\\\d{4}.\\\\d{4}';\r\n                    } else if (lada.length == 5) {\r\n                        p = '\\\\d{3}.\\\\d{4}';\r\n                    } else {\r\n                        p = '\\\\d{10}.\\\\d{10}';\r\n                    }\r\n                    this.FormInformacionbasica.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n                } else {\r\n                    p = '\\\\d{10}.\\\\d{10}';\r\n                    this.FormInformacionbasica.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n                }\r\n            } else {\r\n                if (!lada) {\r\n                 let p = '\\\\d{10}.\\\\d{10}';\r\n                this.FormInformacionbasica.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n                }\r\n            }\r\n            this.FormInformacionbasica.get('celular').updateValueAndValidity({onlySelf: true, emitEvent: false});\r\n        }) */\r\n\r\n\r\n        /*\r\n         *  IDEC: se omite el uso de lada\r\n         */           \r\n        /*this.FormInformacionbasica.get('ladacel').valueChanges.subscribe((lada: string) => {\r\n            let p;\r\n            if (lada) {\r\n                if (lada.length == 4) {\r\n                    p = '\\\\d{4}.\\\\d{4}';\r\n                } else if (lada.length == 5) {\r\n                    p = '\\\\d{3}.\\\\d{4}';\r\n                } else {\r\n                    p = '\\\\d{10}.\\\\d{10}';\r\n                }\r\n                this.FormInformacionbasica.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n            } else {\r\n                p = '\\\\d{10}.\\\\d{10}';\r\n\r\n                this.FormInformacionbasica.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n            }\r\n            this.FormInformacionbasica.get('celular').updateValueAndValidity();\r\n        });*/\r\n\r\n\r\n\r\n\r\n        this.FormInformacionbasica.get('apellidopaterno').valueChanges.subscribe((apellidopaterno: string) => {\r\n            if (apellidopaterno) {\r\n                this.FormInformacionbasica.get('apellidomaterno').setValidators(null);\r\n            } else {\r\n                this.FormInformacionbasica.get('apellidomaterno').setValidators(<any> Validators.required);\r\n            }\r\n            this.FormInformacionbasica.get('apellidomaterno').updateValueAndValidity({onlySelf: true, emitEvent: false});\r\n        });\r\n        this.FormInformacionbasica.get('apellidomaterno').valueChanges.subscribe((apellidomaterno: string) => {\r\n            if (apellidomaterno) {\r\n                this.FormInformacionbasica.get('apellidopaterno').setValidators(null);\r\n            } else {\r\n                this.FormInformacionbasica.get('apellidopaterno').setValidators(<any> Validators.required);\r\n            }\r\n            this.FormInformacionbasica.get('apellidopaterno').updateValueAndValidity({onlySelf: true, emitEvent: false});\r\n        });\r\n        this.FormInformacionbasica.get('alumnoInstituto').valueChanges.subscribe((alumnoInstituto) => {\r\n            this.FormInformacionbasica.get('especificarAlumnoInstituto').setValue(null);\r\n            if (alumnoInstituto == 1) {\r\n                this.FormInformacionbasica.get('especificarAlumnoInstituto').setValidators(<any> Validators.required);\r\n            } else {\r\n                this.FormInformacionbasica.get('especificarAlumnoInstituto').setValidators(null);\r\n            }\r\n            this.FormInformacionbasica.get('especificarAlumnoInstituto').updateValueAndValidity();\r\n        });\r\n        if(this.version == 2) {\r\n            this.FormInformacionbasica.get('exalumno').valueChanges.subscribe((exalumno) => {\r\n                this.FormInformacionbasica.get('generacion').setValue(null);\r\n                if (exalumno == 1) {\r\n                    this.FormInformacionbasica.get('generacion').setValidators(<any> Validators.required);\r\n                } else {\r\n                    this.FormInformacionbasica.get('generacion').setValidators(null);\r\n                }\r\n                this.FormInformacionbasica.get('generacion').updateValueAndValidity();\r\n            });\r\n        }\r\n        /**Selecs estaticos*/\r\n        this.optionsSelect = [{id: true, nombre: \"Si\"}, {id: false, nombre: \"No\"}];\r\n\r\n        if (this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPadres) {\r\n            this.parentescoSelect = this.parametrosModalSolicitud.pestanaDatosFamiliares.parentescoSelect;\r\n            this.SelectSituacion = this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectSituacion;\r\n            this.SelectEscolaridad = this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectEscolaridad;\r\n            this.SelectGeneracion = this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectGeneracion;\r\n            this.SelectNacionalidad = this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectNacionalidad;\r\n            $(\"#tablaPadresCrop\").dataTable().fnDestroy();\r\n            this.arrayPadres = this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPadres;\r\n            this.dtTriggerPT.next();\r\n\r\n            this.loadSelectTutotfacturacion();\r\n            this.familia = this.parametrosModalSolicitud.pestanaDatosFamiliares.familia;\r\n\r\n            this.SelectEstados = this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectEstados;\r\n            this.SelectMunicipios = this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectMunicipios;\r\n            this.SelectColonias = this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectColonias;\r\n            if (this.parametrosModalSolicitud.pestanaDatosFamiliares.DatosFamiliares) {\r\n                this.DatosFamiliares.patchValue(this.parametrosModalSolicitud.pestanaDatosFamiliares.DatosFamiliares);\r\n            }\r\n            $(\"#tablaRecoje\").dataTable().fnDestroy();\r\n            this.arrayPersonaRecoge = this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPersonaRecoge;\r\n            this.dtTriggerPersonaRecoge.next();\r\n        }\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTriggerPT.next();\r\n        this.dtTriggerFamiliaresC.next();\r\n        this.dtTriggerPersonaRecoge.next();\r\n        if (!this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPadres) {\r\n            this.buscarFamiliar();\r\n        }\r\n    }\r\n\r\n    //Funcion inicial para recargar los datos\r\n    buscarFamiliar() {\r\n        this._httpService.getElemento('Solicitud/datoFamiliar/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    //select para agregar padres\r\n                    this.parentescoSelect = result.body.parentesco;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.parentescoSelect = result.body.parentesco;\r\n                    this.SelectSituacion = result.body.situacionconyugal;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectSituacion = result.body.situacionconyugal;\r\n                    this.SelectEscolaridad = result.body.escolaridad;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectEscolaridad = result.body.escolaridad;\r\n                    this.SelectGeneracion = result.body.generacion;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectGeneracion = result.body.generacion;\r\n                    this.SelectNacionalidad = result.body.nacionalidades;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectNacionalidad = result.body.nacionalidades;\r\n                    //grid para tutores\r\n                    $(\"#tablaPadresCrop\").dataTable().fnDestroy();\r\n                    this.arrayPadres = result.body.padres;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPadres = result.body.padres;\r\n                    this.dtTriggerPT.next();\r\n\r\n                    this.loadSelectTutotfacturacion()\r\n\r\n                    this.familia = {\r\n                        clavefamiliar: (result.body.clavefamiliar) ? result.body.clavefamiliar.clave : '',\r\n                        familia: (result.body.clavefamiliar) ? result.body.clavefamiliar.apellidopaterno + ' ' + result.body.clavefamiliar.apellidomaterno : '',\r\n                        tutorid: (result.body.tutorfacturacionid) ? result.body.tutorfacturacionid : null,\r\n                    }\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.familia = this.familia;\r\n                    //Domicilio\r\n                    let domicilio = result.body.datoaspirante;\r\n                    this.SelectEstados = result.body.estados;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectEstados = result.body.estados;\r\n                    this.SelectMunicipios = result.body.municipios;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectMunicipios = result.body.municipios;\r\n                    this.SelectColonias = result.body.colonias;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.SelectColonias = result.body.colonias;\r\n                    this.DatosFamiliares.patchValue({\r\n                        cp: domicilio.cp,\r\n                        estado: domicilio.municipioviviendaid ? domicilio.municipioviviendaid.estadoid.estadoid : null,\r\n                        municipio: domicilio.municipioviviendaid ? domicilio.municipioviviendaid.municipioid : null,\r\n                        colonia: domicilio.colonia == \"Otra\" ? -1 : domicilio.coloniaid ? domicilio.coloniaid.coloniaid : null,\r\n                        otracolonia: domicilio.otracolonia,\r\n                        calle: domicilio.calle,\r\n                        numex: domicilio.numeroexterior,\r\n                        numint: domicilio.numerointeriror\r\n                    });\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.DatosFamiliares = this.DatosFamiliares.value;\r\n\r\n                    //grid personas que recoge\r\n                    $(\"#tablaRecoje\").dataTable().fnDestroy();\r\n                    this.arrayPersonaRecoge = result.body.personaautoriza;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPersonaRecoge = result.body.personaautoriza;\r\n                    this.dtTriggerPersonaRecoge.next();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    setformatotelefono(celular: any) {\r\n        return this._help.ParseTelefono(celular).join(' ');\r\n    }\r\n\r\n    transformartexto(forname: FormControl) {\r\n        let texto: string = forname.value;\r\n        switch(this.formatonombre){\r\n            case \"0\":\r\n            break;\r\n            case \"1\":\r\n            forname.setValue(texto.toUpperCase());\r\n            break;\r\n            case \"2\":\r\n            forname.setValue(this._help.capitalize(texto));\r\n            break;\r\n            default:\r\n            break;\r\n        }\r\n    }\r\n\r\n    //Padres\r\n    openPadres(padre: any) {\r\n        let e = padre.padre;\r\n        this.FormInformacionbasica.patchValue({\r\n            clave: e.solicitudadmisionid.clavesolicitud,\r\n            nombre: e.nombre,\r\n            apellidopaterno: e.apellidopaterno,\r\n            apellidomaterno: e.apellidomaterno,\r\n            correo: e.correo,\r\n            //ladacel: e.celular ? this._help.ParseTelefono(e.celular)[0] : null,\r\n            celular: e.celular ? e.celular : null,\r\n            parentesco: e.tutorid.tutorid,\r\n            alumnoInstituto: e.alumnoinstituto,\r\n            especificarAlumnoInstituto: e.especificaralumno,\r\n            idtutor: e.padresotutoresid,\r\n            exalumno: e.exlux,\r\n            generacion: e.generacionid ? e.generacionid.generacionid : null\r\n        });\r\n\r\n        if (!this.parametrosModalSolicitud.edicion) {\r\n            let nacionalidades = padre.nacionalidad ? (padre.nacionalidad as any[]).map(x => x.nacionalidadid.nacionalidadid) : null;\r\n            this.InformacionAdicional.patchValue({\r\n                curp: e.curp,\r\n                fecha: e.fechanacimiento ? {date: this._help.FechaToStringObjeto(e.fechanacimiento)} : null,\r\n                tutor: e.tutor,\r\n                finado: e.finado,\r\n                nacionalidad: nacionalidades,\r\n                situacionconyugal: e.situacionconyugal ? e.situacionconyugal.situacionconyugalid : null,\r\n                escolaridad: e.nivelestudioid ? e.nivelestudioid.escolaridadid : null,\r\n                tipoocupacion: e.tipoocupacion,\r\n                ocupacion: e.ocupacion,\r\n                ramo: e.ramo,\r\n                empresa: e.empresa,\r\n                //ladatel: e.telempresa ? this._help.ParseTelefono(e.telempresa)[0] : null,\r\n                telefono: e.telempresa ? e.telempresa : null,\r\n                extencion: e.extencionempresa,\r\n                horariotrabajo: e.horariotrabajo,\r\n                exalumno: e.exlux,\r\n                generacion: e.generacionid ? e.generacionid.generacionid : null,\r\n                alumnoInstituto: e.alumnoinstituto,\r\n                especificarAlumnoInstituto: e.especificaralumno\r\n            });\r\n        }\r\n        this.modalPadre.show();\r\n    }\r\n    closePadres() {\r\n        this.submitted = false;\r\n        this.FormInformacionbasica.reset();\r\n        this.InformacionAdicional.reset();\r\n        this.modalPadre.hide();\r\n    }\r\n    savePadres() {\r\n        this.submitted = true;\r\n\r\n        if (this.FormInformacionbasica.invalid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n\r\n        let datos = this.FormInformacionbasica.value;\r\n        datos.solicitudadmisionid = this.parametrosModalSolicitud.entidad.solicitudadmisionid;\r\n        datos.celular = datos.celular !== undefined ? datos.celular.replace('-', '') : datos.celular;\r\n\r\n        this._httpService.postElemento('Solicitud/datosFamiliares/padres', datos, false, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaPadresCrop\").dataTable().fnDestroy();\r\n                    this.arrayPadres = result.body.padres;\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPadres = result.body.padres;\r\n                    this.dtTriggerPT.next();\r\n\r\n                    this.loadSelectTutotfacturacion();\r\n                    this.closePadres();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    removePadres(id: number) {\r\n        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n            message: `Esta seguro que desea eliminar padre y/o tutor?`,\r\n            hideAfter: false,\r\n            actions: {\r\n                cancel: {\r\n                    label: \"Cancelar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                    }\r\n                },\r\n                delete: {\r\n                    label: \"Aceptar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                        this._httpService.deleteElemento('Solicitud/datosFamiliares/padres', '?solicitudadmisionid=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid + '&tutorid=' + id).subscribe(\r\n                            result => {\r\n                                if (result.status == 200) {\r\n                                    Messenger().post({\r\n                                        message: result.body.mensaje,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                    $(\"#tablaPadresCrop\").dataTable().fnDestroy();\r\n                                    this.arrayPadres = result.body.padres;\r\n                                    this.parametrosModalSolicitud.pestanaDatosFamiliares.arrayPadres = result.body.padres;\r\n                                    this.dtTriggerPT.next();\r\n                                    this.loadSelectTutotfacturacion();\r\n                                    if(this.familia.tutorid == id){\r\n                                        this.familia.tutorid = null;\r\n                                    }\r\n                                } else {\r\n\r\n                                }\r\n                            },\r\n                            error => {\r\n                                Messenger().post({\r\n                                    message: \"Error al comunicarse con el servidor\",\r\n                                    type: 'error',\r\n                                    showCloseButton: true\r\n                                });\r\n                            }\r\n                        );\r\n\r\n                    }\r\n                }\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    loadSelectTutotfacturacion(){\r\n        this.tutorfacutacionSelect = this.arrayPadres.map(x=> {\r\n            return {\"padresotutoresid\": x.padre.padresotutoresid, \"nombre\": x.padre.nombre + \" \" + x.padre.apellidopaterno + \" \" + x.padre.apellidomaterno}\r\n        });\r\n        this.familia.tutorid = this.familia.tutorid;\r\n    }\r\n\r\n    openClaveFamiliar() {\r\n        this.AsignacionClave.patchValue({\r\n            apellidopaterno: this.parametrosModalSolicitud.entidad.datoaspiranteid.apellidopaterno,\r\n            apellidomaterno: this.parametrosModalSolicitud.entidad.datoaspiranteid.apellidomaterno\r\n        })\r\n        this.modalAsignarClave.show();\r\n    }\r\n    //Asignacion de clave\r\n    buscarClaveFamiliar() {\r\n        let filtros = Object.keys(this.AsignacionClave.value).findIndex(x => this.AsignacionClave.value[x] != null);\r\n        if (filtros == -1) {\r\n            Messenger().post({\r\n                message: 'Debes ingresar al menos un filtro',\r\n                type: 'success',\r\n                showCloseButton: true\r\n            });\r\n            return false;\r\n        }\r\n\r\n        var data = $.param(this.AsignacionClave.value);\r\n        this._httpService.getElemento('Solicitud/claveFamiliar/filtros/?' + data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaAsignacionClave\").dataTable().fnDestroy();\r\n                    this.arrayFamiliaresClaveAlumnos = result.body.clavefamiliar;\r\n                    this.dtTriggerFamiliaresC.next();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    limpiarFiltersClave() {\r\n        $(\"#tablaAsignacionClave\").dataTable().fnClearTable();\r\n        this.AsignacionClave.reset();\r\n    }\r\n    asignarClave(e: any) {\r\n        let datos = {\r\n            solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n            clave: e.clavefamiliarid.clave\r\n        }\r\n        this._httpService.postElemento('Solicitud/claveFamiliar/', datos, false, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.buscarFamiliar();\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.familia = {\r\n                        clavefamiliar: e.clavefamiliarid.clave,\r\n                        familia: e.alumnoid.apellidopaterno + ' ' + e.alumnoid.apellidomaterno,\r\n                        tutorid: this.familia.tutorid\r\n                    }\r\n                    this.parametrosModalSolicitud.pestanaDatosFamiliares.familia = this.familia;\r\n                    this.closeAsignacionClave();\r\n\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    closeAsignacionClave() {\r\n        this.limpiarFiltersClave();\r\n        this.modalAsignarClave.hide();\r\n    }\r\n\r\n    guardar() {\r\n        if (this.arrayPadres.length == 0 && this.parametrosModalSolicitud.edicion) {\r\n            Messenger().post({\r\n                message: 'Capturar por lo menos a uno de los padres',\r\n                type: 'success',\r\n                showCloseButton: true\r\n            });\r\n        } else {\r\n            if (!this.familia.tutorid && this.parametrosModalSolicitud.edicion) {\r\n                Messenger().post({\r\n                    message: 'Selecciona al tutor encargado de los datos de facturación',\r\n                    type: 'success',\r\n                    showCloseButton: true\r\n                });\r\n                return;\r\n            }\r\n\r\n            let datos = {solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid, padreotutoresid: this.familia.tutorid};\r\n            this._httpService.postElemento('Solicitud/datosFamiliares/tutorfacturacion', datos, false, true).subscribe(\r\n                result => {\r\n                    if (result.status == 200) {\r\n                        this.accionGuardar.next(true);\r\n                    } else {\r\n                        Messenger().post({\r\n                            message: result.body,\r\n                            type: 'error',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n\r\n    }\r\n    /*limpiarTelefono(tel){\r\n        let telefono;\r\n        do{\r\n            telefono = tel.replace(' ', '');\r\n            telefono = telefono.replace('-', '');\r\n        }while(tel.indexOf('-') >= 0 || tel.indexOf(' ') >= 0);\r\n        return telefono;\r\n    }*/\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/datosfamiliares/datosfamiliares.component.ts","import {AfterViewInit, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from '../../../app.service';\r\nimport {Config, ConfigERP} from '../../../configERP';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {FormGroup, FormBuilder, FormControl} from '@angular/forms';\r\n\r\n@Component({\r\n    selector: 'dinamicafamiliar',\r\n    template: require('./dinamicafamiliar.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DinamicafamiliarComponent implements AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    cambio: boolean;\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n    verision: any;\r\n    status: boolean = false;\r\n\r\n\r\n    DinamicaFamiliarForm: FormGroup;\r\n    Selectparentesco: any[];\r\n\r\n    mostrarcustodia: boolean;\r\n    mostrarenfermedad: boolean;\r\n    mostrarmuerte: boolean;\r\n    mostrarotro: boolean;\r\n\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, private _config: ConfigERP) {\r\n        var config: Config = this._config.getConfig();\r\n        this.verision = config.version;\r\n    }\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.DinamicaFamiliarForm = this._fb.group({\r\n            ninguna: [],\r\n            divorcio: [],\r\n            separacion: [],\r\n            custodia: [],\r\n            parentesco: [],\r\n            enfermedad: [],\r\n            miembro: [],\r\n            muerte: [],\r\n            quien: [],\r\n            residencia: [],\r\n            mediosH: [],\r\n            segundosM: [],\r\n            madrePadre: [],\r\n            otro: [],\r\n            deQuien: []\r\n        });\r\n\r\n        this.DinamicaFamiliarForm.get('ninguna').valueChanges.subscribe((ninguna) => {\r\n            if (ninguna) {\r\n                this.mostrarcustodia = false;\r\n                this.mostrarenfermedad = false;\r\n                this.mostrarmuerte = false;\r\n                this.mostrarotro = false;\r\n                Object.keys((this.DinamicaFamiliarForm as any).controls as any).map((n: string, i: number) => {\r\n                    if (n != 'ninguna')\r\n                        this.DinamicaFamiliarForm.get(n).setValue(false);\r\n                });\r\n            }\r\n\r\n        });\r\n\r\n\r\n        this.DinamicaFamiliarForm.get('custodia').valueChanges.subscribe((custodia) => {\r\n            if (custodia) {\r\n                this.mostrarcustodia = true;\r\n            } else {\r\n                this.mostrarcustodia = false;\r\n            }\r\n\r\n        });\r\n\r\n        this.DinamicaFamiliarForm.get('enfermedad').valueChanges.subscribe((enfermedad) => {\r\n            if (enfermedad) {\r\n                this.mostrarenfermedad = true;\r\n            } else {\r\n                this.mostrarenfermedad = false;\r\n            }\r\n\r\n        });\r\n        this.DinamicaFamiliarForm.get('muerte').valueChanges.subscribe((muerte) => {\r\n            if (muerte) {\r\n                this.mostrarmuerte = true;\r\n            } else {\r\n                this.mostrarmuerte = false;\r\n            }\r\n\r\n        });\r\n\r\n        this.DinamicaFamiliarForm.get('otro').valueChanges.subscribe((otro) => {\r\n            if (otro) {\r\n                this.mostrarotro = true;\r\n            } else {\r\n                this.mostrarotro = false;\r\n            }\r\n\r\n        });\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.output.next(this);\r\n            if (this.parametrosModalSolicitud.pestanaDinamicaFamiliar.DinamicaFamiliarForm) {\r\n                this.Selectparentesco = this.parametrosModalSolicitud.pestanaDinamicaFamiliar.Selectparentesco;\r\n                this.DinamicaFamiliarForm.patchValue(this.parametrosModalSolicitud.pestanaDinamicaFamiliar.DinamicaFamiliarForm);\r\n            } else {\r\n                this.buscarDinamica();\r\n            }\r\n        \r\n    }\r\n\r\n    //Dinamica\r\n    buscarDinamica() {\r\n\r\n        //Llamada al servicio datos iniciales        \r\n        this._httpService.getElemento('Solicitud/dinamicaFamiliar/?solicitudadmisionid=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.Selectparentesco = result.body.parentesco;\r\n                    this.parametrosModalSolicitud.pestanaDinamicaFamiliar.Selectparentesco = result.body.parentesco;\r\n                    this.DinamicaFamiliarForm.patchValue({\r\n                        divorcio: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.divorcio ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.divorcio : null,\r\n                        separacion: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.separacion ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.separacion : null,\r\n                        custodia: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.custodia ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.custodia : null,\r\n                        parentesco: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.parentescoid.parentescoid ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.parentescoid.parentescoid : null,\r\n                        enfermedad: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.enfermedadgrave ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.enfermedadgrave : null,\r\n                        miembro: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.miembroenfermedadgrave ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.miembroenfermedadgrave : null,\r\n                        muerte: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.muerteperdida ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.muerteperdida : null,\r\n                        quien: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.miembromuerteperdidad ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.miembromuerteperdidad : null,\r\n                        residencia: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.cambioresidencia ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.cambioresidencia : null,\r\n                        mediosH: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.medioshermano ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.medioshermano : null,\r\n                        segundosM: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.segundosmatrimonios ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.segundosmatrimonios : null,\r\n                        madrePadre: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.madrepadresoltero ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.madrepadresoltero : null,\r\n                        otro: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.otros ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.otros : null,\r\n                        deQuien: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.descripcionotros ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.descripcionotros : null,\r\n                        ninguna: result.body.solicitud.datoaspiranteid.dinamicafamiliarid.ninguna ? result.body.solicitud.datoaspiranteid.dinamicafamiliarid.ninguna : null,\r\n                    });\r\n\r\n                    this.parametrosModalSolicitud.pestanaDinamicaFamiliar.DinamicaFamiliarForm = this.DinamicaFamiliarForm.value;\r\n                }\r\n            },\r\n            error => {\r\n\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/dinamicafamiliar/dinamicafamiliar.component.ts","import {OnInit, AfterViewInit, AfterContentInit, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from '../../../app.service';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'documentacion',\r\n    template: require('./documentacion.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class DocumentacionComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    cambio: boolean;\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n\r\n    //Documentcion\r\n    documentacion: FormGroup;\r\n    submitted: boolean;\r\n\r\n    arrayDoc: any;\r\n    tramites: {nombre: string, valor: boolean}[] = [{valor: true, nombre: 'Si'}, {valor: false, nombre: 'No'}];\r\n\r\n    numberMask = createNumberMask({\r\n      prefix: '',\r\n      suffix: '',\r\n      includeThousandsSeparator: false,\r\n      thousandsSeparatorSymbol: ',',\r\n      allowDecimal: false,\r\n      decimalSymbol: '',\r\n      decimalLimit: 0,\r\n      integerLimit: null,\r\n      requireDecimal: false,\r\n      allowNegative: false,\r\n      allowLeadingZeroes: false\r\n    });\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.documentacion = this._fb.group({\r\n            tramites: [, <any> Validators.required],\r\n            preescolaractivo: [],\r\n            preescolarcuantos: [],\r\n            primariaactivo: [],\r\n            primariacuantos: [],\r\n            secundariaactivo: [],\r\n            secundariacuantos: [],\r\n            bachilleratoactivo: [],\r\n            bachilleratocuantos: []\r\n        });\r\n\r\n        this.documentacion.get('preescolaractivo').valueChanges.subscribe((valor) => {\r\n            if (valor) {\r\n                this.documentacion.get('preescolarcuantos').setValidators(<any> Validators.required);\r\n                this.documentacion.get('preescolarcuantos').updateValueAndValidity();\r\n            } else {\r\n                this.documentacion.get('preescolarcuantos').setValue(null);\r\n                this.documentacion.get('preescolarcuantos').setValidators(null);\r\n                this.documentacion.get('preescolarcuantos').updateValueAndValidity();\r\n            }\r\n        });\r\n        this.documentacion.get('primariaactivo').valueChanges.subscribe((valor) => {\r\n            if (valor) {\r\n                this.documentacion.get('primariacuantos').setValidators(<any> Validators.required);\r\n                this.documentacion.get('primariacuantos').updateValueAndValidity();\r\n            } else {\r\n                this.documentacion.get('primariacuantos').setValue(null);\r\n                this.documentacion.get('primariacuantos').setValidators(null);\r\n                this.documentacion.get('primariacuantos').updateValueAndValidity();\r\n            }\r\n        });\r\n        this.documentacion.get('secundariaactivo').valueChanges.subscribe((valor) => {\r\n            if (valor) {\r\n                this.documentacion.get('secundariacuantos').setValidators(<any> Validators.required);\r\n                this.documentacion.get('secundariacuantos').updateValueAndValidity();\r\n            } else {\r\n                this.documentacion.get('secundariacuantos').setValue(null);\r\n                this.documentacion.get('secundariacuantos').setValidators(null);\r\n                this.documentacion.get('secundariacuantos').updateValueAndValidity();\r\n            }\r\n        });\r\n        this.documentacion.get('bachilleratoactivo').valueChanges.subscribe((valor) => {\r\n            if (valor) {\r\n                this.documentacion.get('bachilleratocuantos').setValidators(<any> Validators.required);\r\n                this.documentacion.get('bachilleratocuantos').updateValueAndValidity();\r\n            } else {\r\n                this.documentacion.get('bachilleratocuantos').setValue(null);\r\n                this.documentacion.get('bachilleratocuantos').setValidators(null);\r\n                this.documentacion.get('bachilleratocuantos').updateValueAndValidity();\r\n            }\r\n        });\r\n\r\n        if (this.parametrosModalSolicitud.pestanaDocumentacion.documentacion) {\r\n            this.arrayDoc = this.parametrosModalSolicitud.pestanaDocumentacion.arrayDoc;\r\n            this.documentacion.patchValue(this.parametrosModalSolicitud.pestanaDocumentacion.documentacion);\r\n        }\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        if (this.parametrosModalSolicitud.pestanaDocumentacion.documentacion) {\r\n            this.documentacion.valueChanges.subscribe(() => {\r\n                this.cambio = true;\r\n            });\r\n        } else {\r\n            this.buscarDocumentacion();\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    buscarDocumentacion() {\r\n        this._httpService.getElemento('Solicitud/documentacion/validacion/?solicitudId=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.arrayDoc = (result.body.documentacion as any[]).filter(x => x.documentoporgradoid.activo);\r\n                    this.parametrosModalSolicitud.pestanaDocumentacion.arrayDoc = this.arrayDoc;\r\n                    let gradosConsiderados: any[] = result.body.gradoconsiderado;\r\n                    this.documentacion.get('tramites').setValue(gradosConsiderados.length > 0);\r\n                    (gradosConsiderados).forEach((x) => {\r\n                        switch (x.nivelid.nivelid) {\r\n                            case 1:\r\n                                this.documentacion.get('preescolaractivo').setValue(true);\r\n                                this.documentacion.get('preescolarcuantos').setValue(x.numero);\r\n                                break;\r\n                            case 2:\r\n                                this.documentacion.get('primariaactivo').setValue(true);\r\n                                this.documentacion.get('primariacuantos').setValue(x.numero);\r\n                                break;\r\n                            case 3:\r\n                                this.documentacion.get('secundariaactivo').setValue(true);\r\n                                this.documentacion.get('secundariacuantos').setValue(x.numero);\r\n                                break;\r\n                            case 4:\r\n                                this.documentacion.get('bachilleratoactivo').setValue(true);\r\n                                this.documentacion.get('bachilleratocuantos').setValue(x.numero);\r\n                                break;\r\n                        }\r\n                    });\r\n\r\n                    this.parametrosModalSolicitud.pestanaDocumentacion.documentacion = this.documentacion.value;\r\n                    this.documentacion.valueChanges.subscribe(() => {\r\n                        this.cambio = true;\r\n                    });\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    validacionDocumentacion(e: any) {\r\n        let datos = {\r\n            solicitudId: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n            validacion: $('#oriVal' + e.documentoporsolicitudadmisionid).is(':checked'),\r\n            documentoId: e.documentoporsolicitudadmisionid\r\n        }\r\n        this._httpService.putElemento('Solicitud/documentacion/validacion/', datos, false, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaDocumentacion.arrayDoc = (result.body.documentacion as any[]).filter(x => x.documentoporgradoid.activo);\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body.mensaje,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        if (!this.cambio) {\r\n            this.accionGuardar.next(true);\r\n            return false;\r\n        }\r\n\r\n        if (this.documentacion.get('tramites').value == true) {\r\n            if (this.documentacion.get('preescolaractivo').value != true && this.documentacion.get('primariaactivo').value != true && this.documentacion.get('secundariaactivo').value != true && this.documentacion.get('bachilleratoactivo').value != true) {\r\n                Messenger().post({\r\n                    message: 'Seleccione por lo menos un nivel',\r\n                    type: 'success',\r\n                    showCloseButton: true\r\n                });\r\n                return false;\r\n            }\r\n        }\r\n        this.submitted = true;\r\n        if (!this.documentacion.valid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n        let niveles = {\r\n            solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n            tramites: this.documentacion.get('tramites').value,\r\n            preescolar: {activo: this.documentacion.get('preescolaractivo').value, cuantos: this.documentacion.get('preescolarcuantos').value ? this.documentacion.get('preescolarcuantos').value : 0},\r\n            primaria: {activo: this.documentacion.get('primariaactivo').value, cuantos: this.documentacion.get('primariacuantos').value ? this.documentacion.get('primariacuantos').value : 0},\r\n            secundaria: {activo: this.documentacion.get('secundariaactivo').value, cuantos: this.documentacion.get('secundariacuantos').value ? this.documentacion.get('secundariacuantos').value : 0},\r\n            bachillerato: {activo: this.documentacion.get('bachilleratoactivo').value, cuantos: this.documentacion.get('bachilleratocuantos').value ? this.documentacion.get('bachilleratocuantos').value : 0}\r\n        }\r\n\r\n        this._httpService.postElemento('Solicitud/documentacion/', niveles).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n\r\n                    this.parametrosModalSolicitud.pestanaDocumentacion.documentacion = this.documentacion.value;\r\n                    this.accionGuardar.next(true);\r\n                }\r\n            },\r\n            error => {\r\n\r\n            }\r\n        );\r\n    }\r\n\r\n    envioCorreo() {\r\n        this._httpService.getElemento('Familiar/EnvioCorreoSolicitud/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: \"Se ha notificado la clave por email.\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n\r\n                } if (result.status == 206) {\r\n                    Messenger().post({\r\n                        message: \"Se ha notificado la clave por email.\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                } else {\r\n\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Se ha notificado la clave por email.\",\r\n                    type: 'success',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    niveles(valor: boolean) {\r\n        if (!valor) {\r\n            this.documentacion.reset({tramites: valor});\r\n        }\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/documentacion/documentacion.component.ts","import {OnInit, AfterContentInit, AfterViewInit, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from '../../../app.service';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'encuesta',\r\n    template: require('./encuesta.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class EncuestaComponent implements OnInit, AfterContentInit, AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n\r\n    cambio: boolean;\r\n    version: number;\r\n\r\n    Encuestaform: FormGroup;\r\n    submitted: boolean;\r\n\r\n    SelectGenero: any[];\r\n    parentescoSelect: any[];\r\n    Selectmedio1: any[];\r\n    Selectmedio2: any[];\r\n    Selectmedio3: any[];\r\n\r\n    numberMask = createNumberMask({\r\n      prefix: '',\r\n      suffix: '',\r\n      includeThousandsSeparator: false,\r\n      thousandsSeparatorSymbol: ',',\r\n      allowDecimal: false,\r\n      decimalSymbol: '',\r\n      decimalLimit: 0,\r\n      integerLimit: null,\r\n      requireDecimal: false,\r\n      allowNegative: false,\r\n      allowLeadingZeroes: false\r\n    });\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.version = this.parametrosModalSolicitud.version;\r\n        this.Encuestaform = this._fb.group({\r\n            nombre: [, <any> Validators.required],\r\n            correo: [, <any> Validators.required],\r\n            parentesco: [, this.version == 2 ? <any> Validators.required : null],\r\n            edad: [, this.version == 1 ? <any> Validators.required : null],\r\n            sexo: [, this.version == 1 ? <any> Validators.required : null],\r\n            colonia: [, this.version == 1 ? <any> Validators.required : null],\r\n            motivo: [, this.version == 2 ? <any> Validators.required : null],\r\n            checkmedio1: [],\r\n            medio1: [],\r\n            checkmedio2: [],\r\n            medio2: [],\r\n            checkmedio3: [],\r\n            medio3: [],\r\n            checkotromedio: [],\r\n            otromedio: []\r\n        });\r\n\r\n        this.SelectGenero = [{descripcion: 'Masculino'}, {descripcion: 'Femenino'}];\r\n\r\n        this.Encuestaform.get('checkmedio1').valueChanges.subscribe((internet) => {\r\n            if (internet) {\r\n                this.Encuestaform.get('medio1').setValidators(<any> Validators.required);\r\n                this.Encuestaform.get('medio1').updateValueAndValidity();\r\n            } else {\r\n                this.Encuestaform.get('medio1').setValidators(null);\r\n                this.Encuestaform.get('medio1').updateValueAndValidity();\r\n            }\r\n        })\r\n        this.Encuestaform.get('checkmedio2').valueChanges.subscribe((prensa) => {\r\n            if (prensa) {\r\n                this.Encuestaform.get('medio2').setValidators(<any> Validators.required);\r\n                this.Encuestaform.get('medio2').updateValueAndValidity();\r\n            } else {\r\n                this.Encuestaform.get('medio2').setValidators(null);\r\n                this.Encuestaform.get('medio2').updateValueAndValidity();\r\n            }\r\n        })\r\n        this.Encuestaform.get('checkmedio3').valueChanges.subscribe((internos) => {\r\n            if (internos) {\r\n                this.Encuestaform.get('medio3').setValidators(<any> Validators.required);\r\n                this.Encuestaform.get('medio3').updateValueAndValidity();\r\n            } else {\r\n                this.Encuestaform.get('medio3').setValidators(null);\r\n                this.Encuestaform.get('medio3').updateValueAndValidity();\r\n            }\r\n        })\r\n        this.Encuestaform.get('checkotromedio').valueChanges.subscribe((otro) => {\r\n            this.Encuestaform.get('otromedio').setValue(null);\r\n            if (otro) {\r\n                this.Encuestaform.get('otromedio').setValidators(<any> Validators.required);\r\n                this.Encuestaform.get('otromedio').updateValueAndValidity();\r\n            } else {\r\n                this.Encuestaform.get('otromedio').setValidators(null);\r\n                this.Encuestaform.get('otromedio').updateValueAndValidity();\r\n            }\r\n        })\r\n\r\n\r\n        if (this.parametrosModalSolicitud.pestanaEncuesta.Encuestaform) {\r\n            this.Selectmedio1 = this.parametrosModalSolicitud.pestanaEncuesta.Selectmedio1;\r\n            this.Selectmedio2 = this.parametrosModalSolicitud.pestanaEncuesta.Selectmedio2;\r\n            this.Selectmedio3 = this.parametrosModalSolicitud.pestanaEncuesta.Selectmedio3;\r\n            this.parentescoSelect = this.parametrosModalSolicitud.pestanaEncuesta.parentescoSelect;\r\n            this.Encuestaform.patchValue(this.parametrosModalSolicitud.pestanaEncuesta.Encuestaform);\r\n        }\r\n\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        if (this.version == 2) {\r\n            this.Encuestaform.get('colonia').setValidators(null);\r\n            this.Encuestaform.get('colonia').updateValueAndValidity();\r\n            this.Encuestaform.get('edad').setValidators(null);\r\n            this.Encuestaform.get('edad').updateValueAndValidity();\r\n            this.Encuestaform.get('sexo').setValidators(null);\r\n            this.Encuestaform.get('sexo').updateValueAndValidity();\r\n        } else {\r\n            this.Encuestaform.get('motivo').setValidators(null);\r\n            this.Encuestaform.get('motivo').updateValueAndValidity();\r\n        }\r\n\r\n        if (this.parametrosModalSolicitud.pestanaEncuesta.Encuestaform) {\r\n            this.Encuestaform.valueChanges.subscribe(() => {\r\n                this.cambio = true;\r\n            });\r\n        } else {\r\n            this.buscarEncuesta();\r\n        }\r\n    }\r\n\r\n    buscarEncuesta() {\r\n        //Llamada al servicio datos iniciales\r\n        this._httpService.getElemento('Solicitud/encuesta/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parentescoSelect = result.body.parentesco;\r\n                    this.parametrosModalSolicitud.pestanaEncuesta.parentescoSelect = this.parentescoSelect;\r\n                    this.Selectmedio1 = (result.body.medio as any[]).filter(x => x.tipomedioid.tipomediosid == 1);\r\n                    this.parametrosModalSolicitud.pestanaEncuesta.Selectmedio1 = this.Selectmedio1;\r\n                    this.Selectmedio2 = (result.body.medio as any[]).filter(x => x.tipomedioid.tipomediosid == 2);\r\n                    this.parametrosModalSolicitud.pestanaEncuesta.Selectmedio2 = this.Selectmedio2;\r\n                    this.Selectmedio3 = (result.body.medio as any[]).filter(x => x.tipomedioid.tipomediosid == 3);\r\n                    this.parametrosModalSolicitud.pestanaEncuesta.Selectmedio3 = this.Selectmedio3;\r\n\r\n                    let contacto = result.body.contacto;\r\n                    let encuesta = result.body.encuesta;\r\n\r\n                    let medio1 = (result.body.solicitudMedios as any[]).find(x => x.mediosid.tipomedioid.tipomediosid == 1);\r\n                    let medio2 = (result.body.solicitudMedios as any[]).find(x => x.mediosid.tipomedioid.tipomediosid == 2);\r\n                    let medio3 = (result.body.solicitudMedios as any[]).find(x => x.mediosid.tipomedioid.tipomediosid == 3);\r\n                    this.Encuestaform.patchValue({\r\n                        nombre: contacto ? contacto.nombre : null,\r\n                        correo: contacto ? contacto.correo : null,\r\n\r\n                        edad: encuesta ? encuesta.edad : null,\r\n                        sexo: encuesta ? encuesta.sexo : null,\r\n                        colonia: encuesta ? encuesta.colonia : null,\r\n\r\n                        parentesco: encuesta ? encuesta.parentesco : null,\r\n                        motivo: encuesta ? encuesta.eleccion : null,\r\n\r\n                        checkmedio1: medio1 ? true : false,\r\n                        medio1: medio1 ? medio1.mediosid.mediosid : null,\r\n                        checkmedio2: medio2 ? true : false,\r\n                        medio2: medio2 ? medio2.mediosid.mediosid : null,\r\n                        checkmedio3: medio3 ? true : false,\r\n                        medio3: medio3 ? medio3.mediosid.mediosid : null,\r\n                        checkotromedio: encuesta.otromedio ? true : false,\r\n                        otromedio: encuesta ? encuesta.otromedio : null\r\n                    });\r\n                    this.parametrosModalSolicitud.pestanaEncuesta.Encuestaform = this.Encuestaform.value;\r\n                    this.Encuestaform.valueChanges.subscribe(() => {\r\n                        this.cambio = true;\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        if (this.parametrosModalSolicitud.edicion) {\r\n            this.guardarCatalogo();\r\n        } else {\r\n            this.accionGuardar.next(true);\r\n        }\r\n    }\r\n\r\n    guardarCatalogo() {\r\n        this.submitted = true;\r\n        if (this.Encuestaform.invalid) {\r\n            return false;\r\n        }\r\n        this.submitted = false;\r\n\r\n        if (!this.cambio) {\r\n            this.accionGuardar.next(true);\r\n            return false;\r\n        }\r\n\r\n        let datos = this.Encuestaform.value;\r\n        datos.solicitudadmisionid = this.parametrosModalSolicitud.entidad.solicitudadmisionid;\r\n        this._httpService.postElemento('Solicitud/encuesta/', datos).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body.msj,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.parametrosModalSolicitud.pestanaEncuesta.Encuestaform = datos;\r\n                    this.accionGuardar.next(true);\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/encuesta/encuesta.component.ts","import {OnInit, AfterViewInit, ViewEncapsulation, Component, Input, Output, EventEmitter, ViewChild} from '@angular/core';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport {AppState} from '../../../app.service';\r\n\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {Helpers} from '../../../app.helpers';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'evaluaciones',\r\n    template: require('./evaluaciones.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class EvaluacionesComponent implements OnInit, AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n    version: number;\r\n\r\n    arrayEvaluacion: any[] = [];\r\n    arrayEvaluacionFaltantes: any[] = [];\r\n\r\n    @ViewChild('modalEvaluacionesUpdate') public modalEvaluacionesUpdate: ModalDirective;\r\n    tipoEvaluacionid: number;\r\n    dtOptionsEvUpdate: any = {};\r\n    dtTriggerEvUpdate = new Subject;\r\n    arrayEvUpdate: any;\r\n    FormEventoCambio: FormGroup;\r\n\r\n    @ViewChild('modalAddEvento') public modalAddEvento: ModalDirective;\r\n    lugarFull: any;\r\n    evaluadoresFull: any;\r\n    FormEvento: FormGroup;\r\n    submitted: boolean;\r\n\r\n    @ViewChild('modalEventoFolio') public modalEventoFolio: ModalDirective;\r\n    dtOptionsEventosFolio: any = {};\r\n    dtTriggerEventosFolio = new Subject;\r\n    FormFolio: FormGroup;\r\n    arrayEventosFolio: any[];\r\n\r\n\r\n    numberMask = createNumberMask({\r\n      prefix: '',\r\n      suffix: '',\r\n      includeThousandsSeparator: false,\r\n      thousandsSeparatorSymbol: ',',\r\n      allowDecimal: false,\r\n      decimalSymbol: '',\r\n      decimalLimit: 0,\r\n      integerLimit: null,\r\n      requireDecimal: false,\r\n      allowNegative: false,\r\n      allowLeadingZeroes: false\r\n  });\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, public helpers: Helpers) {\r\n    }\r\n    ngOnInit() {\r\n        this.version = this.parametrosModalSolicitud.version;\r\n        this.dtOptionsEventosFolio = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [2, 9], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        this.dtOptionsEvUpdate = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [4], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n\r\n        this.FormEventoCambio = this._fb.group({\r\n            evaluacionporsolicitudadmisionid: [],\r\n            eventoevaluacionid: [],\r\n            solicitudadmisionid: [],\r\n            evaluacionid: [],\r\n            evaluacion: [],\r\n            tipoevaluacionid: [],\r\n            tipo: []\r\n        });\r\n        this.FormEvento = this._fb.group({\r\n            evaluacionporsolicitudadmisionid: [],\r\n            solicitudadmisionid: [],\r\n            fecha: [, <any> Validators.required],\r\n            horainicio: [, <any> Validators.required],\r\n            horafin: [, <any> Validators.required],\r\n            gradoid: [],\r\n            evaluacionid: [],\r\n            lugarid: [, <any> Validators.required],\r\n            evaluadorid: [, <any> Validators.required],\r\n            cupo: [, <any> Validators.required],\r\n            ciclo: [],\r\n            nivel: [],\r\n            grado: [],\r\n            evaluacion: []\r\n        })\r\n        this.FormFolio = this._fb.group({\r\n            folio: [, <any> Validators.required]\r\n        })\r\n        $('#horafin, #horainicio').bootstrapMaterialDatePicker({\r\n            weekStart: 0,\r\n            lang: 'es',\r\n            nowButton: true,\r\n            shortTime: true,\r\n            format: 'HH:mm',\r\n            date: false\r\n        }).on('change', (e, date) => {\r\n            this.FormEvento.get(e.target.id).setValue(date.format(\"HH:mm\"));\r\n            this.FormEvento.get(\"horafin\").setErrors(null);\r\n            var fi = this.FormEvento.get(\"horainicio\").value;\r\n            var ff = this.FormEvento.get(\"horafin\").value;\r\n            if (new Date('1991/1/1 ' + fi) > new Date('1991/1/1 ' + ff) || !fi || !ff) {\r\n                this.FormEvento.get(\"horafin\").setErrors({mayor: true});\r\n            }\r\n        });\r\n\r\n        if (this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacionFaltantes) {\r\n            this.arrayEvaluacionFaltantes = this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacionFaltantes;\r\n            this.arrayEvaluacion = this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacion;\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTriggerEventosFolio.next();\r\n        this.output.next(this);\r\n\r\n        this.modalAddEvento.onHidden.subscribe(() => {\r\n            $('body').addClass('modal-open');\r\n        });\r\n        this.modalEvaluacionesUpdate.onHidden.subscribe(() => {\r\n            $('body').addClass('modal-open');\r\n        });\r\n        this.modalEventoFolio.onHidden.subscribe(() => {\r\n            $('body').addClass('modal-open');\r\n        });\r\n\r\n        if (!this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacionFaltantes) {\r\n            if (!this.parametrosModalSolicitud.listaespera) {\r\n                this.buscarEvaluaciones().then(() => this.parametrosModalSolicitud.edicion ? this.buscarEvaluaciones() : null);\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n    /* -------------------------------------------------------------------------------------------------------------- */\r\n    //Evaluacioenes\r\n    buscarEvaluaciones(): Promise<any> {\r\n        var promise = new Promise((resolve, reject) => {\r\n            var data = {\r\n                solicitudid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                version: this.version,\r\n                edicion: this.parametrosModalSolicitud.edicion\r\n            }\r\n            this._httpService.postElemento('Solicitud/ValidacionDatos/Evaluaciones/', data, false, true).subscribe(\r\n                result => {\r\n                    if (result.status == 200) {\r\n                        this.arrayEvaluacionFaltantes = result.body.evaluacionesFaltantes;\r\n                        this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacionFaltantes = result.body.evaluacionesFaltantes;\r\n                        this.arrayEvaluacion = result.body.evaluaciones;\r\n                        this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacion = result.body.evaluaciones;\r\n                        if (result.body.mensaje) {\r\n                            Messenger().post({\r\n                                message: result.body.mensaje,\r\n                                type: 'success',\r\n                                showCloseButton: true\r\n                            });\r\n                        }\r\n                        resolve();\r\n                    } if (result.status == 206) {\r\n                        reject();\r\n                        Messenger().post({\r\n                            message: result.body,\r\n                            type: 'success',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        });\r\n        return promise;\r\n    }\r\n\r\n    eliminarAsignacion() {\r\n        this._httpService.deleteElemento('Solicitud/Evaluaciones', this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body.msj,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.arrayEvaluacionFaltantes = result.body.evaluacionesFaltantes;\r\n                    this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacionFaltantes = result.body.evaluacionesFaltantes;\r\n                    this.arrayEvaluacion = null;\r\n                    this.parametrosModalSolicitud.pestanaEvaluaciones.arrayEvaluacion = null;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    //Agregamo eventos que no tenia (Evaluaciones faltantes)\r\n    openEditarEvaluacionesFaltantes(e: any) {\r\n        this.FormEventoCambio.patchValue({\r\n            evaluacionid: e.evaluacionid,\r\n            evaluacion: e.evaluacion,\r\n        });\r\n        this.getFechasdisponibles(e);\r\n    }\r\n\r\n    //(Boton editar evaluacion, Aqui cambiamos por otro evento del mismo examen) Abre el modal\r\n    editarEvaluaciones(e: any) {\r\n        this.FormEventoCambio.patchValue({\r\n            evaluacionporsolicitudadmisionid: e.evaluacionporsolicitudadmisionid,\r\n            evaluacionid: e.evaluacionid,\r\n            evaluacion: e.evaluacion,\r\n            tipoevaluacionid: this.version == 1 ? e.tipoevaluacionid : null\r\n        });\r\n        this.getFechasdisponibles(e);\r\n    }\r\n\r\n    //\r\n    getFechasdisponibles(e) {\r\n        let datos = {\r\n            evaluacionid: e.evaluacionid,\r\n            eventoevaluacionid: e.eventoevaluacionid ? e.eventoevaluacionid : 0,\r\n            gradoid: this.parametrosModalSolicitud.entidad.gradoid.gradoid,\r\n            usuarioid: this.arrayEvaluacion && this.version == 2 ? this.arrayEvaluacion[0].usuarioid : 0\r\n        };\r\n        datos = $.param(datos);\r\n        this._httpService.getElemento('Solicitud/evaluaciones/update/?' + datos).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaEvUpdateModal\").dataTable().fnDestroy();\r\n                    this.arrayEvUpdate = result.body.evaluaciones;\r\n                    this.dtTriggerEvUpdate.next();\r\n\r\n                    this.modalEvaluacionesUpdate.show();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"No se encontraro datos\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    //Cerrar modal para el cambio de evetno\r\n    cerrarrEvaluacionUpdate() {\r\n        $(\"#tablaEvUpdateModal\").dataTable().fnClearTable();\r\n        this.modalEvaluacionesUpdate.hide();\r\n        this.FormEventoCambio.reset();\r\n    }\r\n    //Cambiamos el evento\r\n    saveEvaluacionesEdit(e: any) {\r\n        this.FormEventoCambio.patchValue({\r\n            eventoevaluacionid: e.eventoevaluacionid,\r\n            solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n            tipo: 1\r\n        })\r\n        this._httpService.postElemento('Solicitud/Evaluaciones/update/', this.FormEventoCambio.value).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.cerrarrEvaluacionUpdate();\r\n                    this.buscarEvaluaciones();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al guardar los datos\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    //Creamos un nuevo evento\r\n    openaddEvento() {\r\n        this._httpService.getElemento('Calendarioevaluacion/Validaciondatos/?solicitudid=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid + '&gradoid=' + this.parametrosModalSolicitud.entidad.gradoid.gradoid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.lugarFull = result.body.lugares;\r\n                    this.evaluadoresFull = result.body.evaluadores;\r\n\r\n                    let evaluadorid = this.arrayEvaluacion && this.version == 2 ? Number(this.arrayEvaluacion[0].personaid) : null;\r\n                    this.FormEvento.patchValue({\r\n                        evaluacionporsolicitudadmisionid: this.FormEventoCambio.get('evaluacionporsolicitudadmisionid').value,\r\n                        solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                        gradoid: this.parametrosModalSolicitud.entidad.gradoid.gradoid,\r\n                        evaluacionid: this.FormEventoCambio.get('evaluacionid').value,\r\n                        ciclo: result.body.ciclo,\r\n                        nivel: this.parametrosModalSolicitud.entidad.gradoid.nivelid.nombre,\r\n                        grado: this.parametrosModalSolicitud.entidad.gradoid.grado,\r\n                        evaluacion: this.FormEventoCambio.get('evaluacion').value,\r\n                        evaluadorid: evaluadorid\r\n                    })\r\n                    this.modalAddEvento.show();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"No se encontraro datos\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                //this._httpService.mensajeDanger(\"Error al crear un grado\");\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    closeAddEvento() {\r\n        this.modalAddEvento.hide();\r\n        this.submitted = false;\r\n        this.FormEvento.reset();\r\n    }\r\n    saveAddEvento() {\r\n        this.submitted = true;\r\n        if (this.FormEvento.invalid) {\r\n            return false;\r\n        }\r\n        let data = this.FormEvento.value;\r\n        data.fechainicio = this.helpers.FechaObjetoToString(data.fecha.beginDate);\r\n        data.fechafin = this.helpers.FechaObjetoToString(data.fecha.endDate)\r\n\r\n        this._httpService.postElemento('Calendarioevaluacion/Validaciondatos', data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.closeAddEvento();\r\n                    this.cerrarrEvaluacionUpdate();\r\n                    this.buscarEvaluaciones();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n    //Buscamos por Folio\r\n    buscarEventosByFolio() {\r\n        this.submitted = true;\r\n        if (this.FormFolio.invalid) {\r\n            return false;\r\n        }\r\n        this.parametrosModalSolicitud.entidad.gradoid.gradoid\r\n        this._httpService.getElemento('Solicitud/Eventos/Folio?folio=' + this.FormFolio.get('folio').value).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaEventosFolio\").dataTable().fnDestroy();\r\n                    this.arrayEventosFolio = result.body.eventos;\r\n                    this.dtTriggerEventosFolio.next();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    LimpiarEventosByFolio() {\r\n        $(\"#tablaEventosFolio\").dataTable().fnClearTable();\r\n        this.FormFolio.reset();\r\n        this.submitted = false;\r\n    }\r\n    closeEventosByFolio() {\r\n        this.LimpiarEventosByFolio();\r\n        this.modalEventoFolio.hide();\r\n    }\r\n    asignarEventosByFolio(e: any) {\r\n        let obj = {\r\n            solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n            evaluacionporsolicitudadmisionid: this.FormEventoCambio.get('evaluacionporsolicitudadmisionid').value,\r\n            eventoevaluacionid: e.EventoEvaluacionId,\r\n            tipo: 2\r\n        }\r\n        this._httpService.postElemento('Solicitud/Evaluaciones/update/', obj).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: \"Se ha guardado los datos.\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.closeEventosByFolio();\r\n                    this.cerrarrEvaluacionUpdate();\r\n                    this.buscarEvaluaciones();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"Error al guardar los datos\",\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al guardar los datos\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/evaluaciones/evaluaciones.component.ts","import {Component, Input, OnInit, AfterViewInit, AfterContentInit, EventEmitter, Output, ViewChild} from '@angular/core';\r\nimport {AppState} from \"app/app.service\";\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport {FormGroup, FormBuilder, Validators, FormControl} from '@angular/forms';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {Helpers} from '../../../app.helpers';\r\nimport { StorageService } from 'app/directives/storage.service';\r\n\r\ndeclare var $: any;\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'expediente',\r\n    template: require('./expediente.component.html')\r\n})\r\nexport class Expediente implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n    cambio: boolean;\r\n\r\n    //Modal\r\n    @ViewChild('modalGrado') modalGrado: ModalDirective;\r\n\r\n    ExpedienteAspirante: FormGroup;\r\n    submitted: boolean;\r\n\r\n    FormGrado: FormGroup;\r\n    submittedModal: boolean;\r\n\r\n    EstatussaludSelect: any[];\r\n    SiNoSelect: any[];\r\n    EscuelajesuitaSelect: any[];\r\n\r\n    //GridGrados\r\n    arrayGradosrepetidos: any[];\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject;\r\n\r\n    NivelSelect: any[];\r\n    GradoSelect: any[];\r\n    GradoSelectFull: any[];\r\n\r\n    formatonombre: any;\r\n\r\n    constructor(private _httpService: AppState,private storage: StorageService,  public _help: Helpers, private _fb: FormBuilder) {\r\n        let parametros: any[] = JSON.parse(this.storage.getItem('parametros'));\r\n        let formatonombre = parametros.find(x=> x.nombre == 'FormatoNombre');\r\n        this.formatonombre = formatonombre ? formatonombre.valor : 0;\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        /**Al abrir una modal sobre una modal, hacemos una subscripcion para agregar una clase y evitar que se quede la pantalla oscura*/\r\n        this.modalGrado.onHidden.subscribe(() => {\r\n            $(\"body\").addClass(\"modal-open\");\r\n        });\r\n        //Parametros para configurar el datatable\r\n        this.dtOptions = {\r\n            dom: 'rtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [3], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        /**Formulario*/\r\n        this.ExpedienteAspirante = this._fb.group({\r\n            estadosalud: [, <any> Validators.required],\r\n            necesidadespecial: [, <any> Validators.required],\r\n            necesidadespecialtexto: [],\r\n            exalumno: [, <any> Validators.required],\r\n            hijopersonal: [, <any> Validators.required],\r\n            jesuita: [, <any> Validators.required],\r\n            escuelajesuitaid: [],\r\n            nombreescuela: [], //Quitar validacion HTML\r\n            ciudadescuela: [, <any> Validators.required],\r\n            motivocambio: [, <any> Validators.required]\r\n        });\r\n        this.FormGrado = this._fb.group({\r\n            gradorepetidoid: [],\r\n            nivelid: [, <any> Validators.required],\r\n            gradoid: [, <any> Validators.required],\r\n            causa: [, <any> Validators.required]\r\n        })\r\n        /**Selecs estaticos*/\r\n        this.EstatussaludSelect = [{nombre: \"Buena\"}, {nombre: \"Regular\"}, {nombre: \"Mala\"}];\r\n        this.SiNoSelect = [{valor: true, nombre: \"Si\"}, {valor: false, nombre: \"No\"}];\r\n        /**Subscripciones del formulario*/\r\n        this.ExpedienteAspirante.get('necesidadespecial').valueChanges.subscribe((necesidadespecial: boolean) => {\r\n            this.ExpedienteAspirante.get('necesidadespecialtexto').reset()\r\n            if (necesidadespecial) {\r\n                this.ExpedienteAspirante.get('necesidadespecialtexto').setValidators(<any> Validators.required);\r\n            } else {\r\n                this.ExpedienteAspirante.get('necesidadespecialtexto').setValidators(null);\r\n            }\r\n            this.ExpedienteAspirante.get('necesidadespecialtexto').updateValueAndValidity();\r\n        });\r\n        this.ExpedienteAspirante.get('jesuita').valueChanges.subscribe((jesuita: boolean) => {\r\n            this.ExpedienteAspirante.get('escuelajesuitaid').reset();\r\n            if (jesuita == null) {\r\n                this.ExpedienteAspirante.get('motivocambio').reset();\r\n            }\r\n            if (jesuita) {\r\n                this.ExpedienteAspirante.get('escuelajesuitaid').setValidators(<any> Validators.required);\r\n            } else {\r\n                this.ExpedienteAspirante.get('escuelajesuitaid').setValidators(null);\r\n            }\r\n            this.ExpedienteAspirante.get('escuelajesuitaid').updateValueAndValidity();\r\n        });\r\n        this.ExpedienteAspirante.get('escuelajesuitaid').valueChanges.subscribe((escuelajesuitaid: number) => {\r\n            if (escuelajesuitaid) {\r\n                this.ExpedienteAspirante.get('nombreescuela').setValidators(null);\r\n                let ciudad = this.EscuelajesuitaSelect.find(x => x.escuelajesuitaid == escuelajesuitaid);\r\n                this.ExpedienteAspirante.get('ciudadescuela').setValue(ciudad ? ciudad.descripcion : null);\r\n            } else {\r\n                this.ExpedienteAspirante.get('nombreescuela').setValidators(<any> Validators.required);\r\n                this.ExpedienteAspirante.get('nombreescuela').reset();\r\n                this.ExpedienteAspirante.get('ciudadescuela').reset();\r\n            }\r\n            this.ExpedienteAspirante.get('nombreescuela').updateValueAndValidity();\r\n        });\r\n\r\n        //Si ya se ha ingresado a la pantalla se cargan los datos de la memoria\r\n        if (this.parametrosModalSolicitud.pestanaExpediente.ExpedienteAspirante) {\r\n            this.NivelSelect = this.parametrosModalSolicitud.pestanaExpediente.NivelSelect;\r\n            this.GradoSelectFull = this.parametrosModalSolicitud.pestanaExpediente.GradoSelectFull;\r\n            this.EscuelajesuitaSelect = this.parametrosModalSolicitud.pestanaExpediente.EscuelajesuitaSelect;\r\n            this.arrayGradosrepetidos = this.parametrosModalSolicitud.pestanaExpediente.arrayGradosrepetidos;\r\n            this.ExpedienteAspirante.patchValue(this.parametrosModalSolicitud.pestanaExpediente.ExpedienteAspirante);\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        //Quitamos los required de los input HTML\r\n        this.ExpedienteAspirante.get('necesidadespecialtexto').setValidators(null);\r\n        this.ExpedienteAspirante.get('necesidadespecialtexto').updateValueAndValidity();\r\n        this.ExpedienteAspirante.get('nombreescuela').setValidators(null);\r\n        this.ExpedienteAspirante.get('nombreescuela').updateValueAndValidity();\r\n\r\n        //Si ya se ha ingresado a la pantalla realizamos la subscripcion de cambio, si no buscamos los datos\r\n        if (this.parametrosModalSolicitud.pestanaExpediente.ExpedienteAspirante) {\r\n            this.arrayGradosrepetidos = this.parametrosModalSolicitud.pestanaExpediente.arrayGradosrepetidos;\r\n            this.dtTrigger.next();\r\n            this.ExpedienteAspirante.valueChanges.subscribe(() => {\r\n                this.cambio = true;\r\n            });\r\n        } else {\r\n            this.buscar();\r\n        }\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    //Funcion inicial para recargar los datos\r\n    buscar() {\r\n        //Llamada al servicio datos iniciales        \r\n        this._httpService.getElemento('Solicitud/expediente/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.arrayGradosrepetidos = result.body.gradosrepetidos;\r\n                    this.parametrosModalSolicitud.pestanaExpediente.arrayGradosrepetidos = this.arrayGradosrepetidos;\r\n                    this.dtTrigger.next();\r\n\r\n                    this.NivelSelect = result.body.nivel;\r\n                    this.parametrosModalSolicitud.pestanaExpediente.NivelSelect = this.NivelSelect;\r\n                    this.GradoSelectFull = result.body.grado;\r\n                    this.parametrosModalSolicitud.pestanaExpediente.GradoSelectFull = this.GradoSelectFull;\r\n                    this.EscuelajesuitaSelect = (result.body.escuelajesuitas as any[]);\r\n                    this.EscuelajesuitaSelect ? this.EscuelajesuitaSelect.push({escuelajesuitaid: 0, nombre: \"Otra\"}) : null;\r\n                    this.parametrosModalSolicitud.pestanaExpediente.EscuelajesuitaSelect = this.EscuelajesuitaSelect;\r\n\r\n                    let infoadicional = result.body.infoadicional\r\n                    let escuelaprocedencia = result.body.escuelaprocedencia;\r\n                    this.ExpedienteAspirante.patchValue({\r\n                        estadosalud: infoadicional.estadosalud,\r\n                        necesidadespecial: infoadicional.necesidadespecial,\r\n                        necesidadespecialtexto: infoadicional.descripcionnecesidad,\r\n                        exalumno: infoadicional.alumnoinstituto,\r\n                        hijopersonal: infoadicional.hijopersonal,\r\n                        jesuita: escuelaprocedencia ? escuelaprocedencia.escuelajesuitaid ? true : false : null,\r\n                        escuelajesuitaid: escuelaprocedencia ? escuelaprocedencia.escuelajesuitaid ? escuelaprocedencia.escuelajesuitaid.escuelajesuitaid : null : null,\r\n                        nombreescuela: escuelaprocedencia ? escuelaprocedencia.escuelajesuitaid ? null : escuelaprocedencia.nombre : null,\r\n                        ciudadescuela: escuelaprocedencia ? escuelaprocedencia.escuelajesuitaid ? escuelaprocedencia.escuelajesuitaid.descripcion : escuelaprocedencia.municipio : null,\r\n                        motivocambio: escuelaprocedencia ? escuelaprocedencia.causaseparacion : null\r\n                    })\r\n                    this.parametrosModalSolicitud.pestanaExpediente.ExpedienteAspirante = this.ExpedienteAspirante.value;\r\n                    this.ExpedienteAspirante.valueChanges.subscribe(() => {\r\n                        this.cambio = true;\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        if (this.parametrosModalSolicitud.edicion) {\r\n            this.guardarCatalogo();\r\n        } else {\r\n            this.accionGuardar.next(true);\r\n        }\r\n    }\r\n\r\n    guardarCatalogo() {\r\n        this.submitted = true;\r\n        if (this.ExpedienteAspirante.invalid) {\r\n            return false;\r\n        }\r\n        if (!this.cambio) {\r\n            this.accionGuardar.next(true);\r\n            return false;\r\n        }\r\n        \r\n        let datos = this.ExpedienteAspirante.value;\r\n        datos.solicitudadmisionid = this.parametrosModalSolicitud.entidad.solicitudadmisionid;\r\n        //Llamada al servicio post para insertar un nuevo elemento\r\n        this._httpService.postElemento('Solicitud/expediente/', datos, false, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.pestanaExpediente.ExpedienteAspirante = this.ExpedienteAspirante.value;\r\n                    this.accionGuardar.next(true);\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n\r\n    transformartexto(forname: FormControl) {\r\n        let texto: string = forname.value;\r\n        switch(this.formatonombre){\r\n            case \"0\":\r\n            break;\r\n            case \"1\":\r\n            forname.setValue(texto.toUpperCase());\r\n            break;\r\n            case \"2\":\r\n            forname.setValue(this._help.capitalize(texto));\r\n            break;\r\n            default:\r\n            break;\r\n        }\r\n    }\r\n\r\n    loadgrado(id: number) {\r\n        this.FormGrado.get('gradoid').setValue(null);\r\n        this.GradoSelect = this.GradoSelectFull.filter(x => x.nivelid.nivelid == id);\r\n    }\r\n\r\n    openGrado(e: any) {\r\n        this.loadgrado(e.gradoid.nivelid.nivelid)\r\n        this.FormGrado.patchValue({\r\n            gradorepetidoid: e.gradorepetidoid,\r\n            nivelid: e.gradoid.nivelid.nivelid,\r\n            gradoid: e.gradoid.gradoid,\r\n            causa: e.causa\r\n        })\r\n        this.modalGrado.show();\r\n    }\r\n    saveGrado() {\r\n        this.submittedModal = true;\r\n        if (this.FormGrado.invalid) {\r\n            return false;\r\n        }\r\n        let data = this.FormGrado.value;\r\n        data.solicitudadmisionid = this.parametrosModalSolicitud.entidad.solicitudadmisionid;\r\n        this._httpService.postElemento('Solicitud/expediente/gradorepetido', data, false, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaGrados\").dataTable().fnDestroy();\r\n                    this.arrayGradosrepetidos = result.body.gradosrepetidos;\r\n                    this.parametrosModalSolicitud.pestanaExpediente.arrayGradosrepetidos = this.arrayGradosrepetidos;\r\n                    this.dtTrigger.next();\r\n                    this.closeGrado();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body.mensaje,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n\r\n    }\r\n\r\n    //Accion al cerrar el modal\r\n    closeGrado() {\r\n        this.FormGrado.reset();\r\n        this.modalGrado.hide();\r\n        this.submittedModal = false;\r\n        this.GradoSelect = [];\r\n    }\r\n\r\n    removeGrado(id: number) {\r\n        //Llamada al servicio delete para eliminar un elemento\r\n        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n            message: \"Confirme que desea eliminar un registro\",\r\n            hideAfter: false,\r\n            actions: {\r\n                delete: {\r\n                    label: \"Eliminar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                        this._httpService.deleteElemento('Solicitud/expediente/gradorepetido', id).subscribe(\r\n                            result => {\r\n                                if (result.status == 200) {\r\n                                    $(\"#tablaGrados\").dataTable().fnDestroy();\r\n                                    this.arrayGradosrepetidos = result.body.gradosrepetidos;\r\n                                    this.parametrosModalSolicitud.pestanaExpediente.arrayGradosrepetidos = this.arrayGradosrepetidos;\r\n                                    this.dtTrigger.next();\r\n                                } else {\r\n                                    Messenger().post({\r\n                                        message: result.body.mensaje,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                }\r\n                            },\r\n                            error => {\r\n                                Messenger().post({\r\n                                    message: \"Error al comunicarse con el servidor\",\r\n                                    type: 'error',\r\n                                    showCloseButton: true\r\n                                });\r\n                            }\r\n                        );\r\n                    }\r\n                },\r\n                cancel: {\r\n                    label: \"Cancelar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                    }\r\n                }\r\n            }\r\n        })\r\n\r\n\r\n\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/expediente/expediente.component.ts","import {AfterViewInit, ViewEncapsulation, Component, Input, ViewContainerRef, ComponentFactoryResolver, ComponentFactory, ComponentRef, Output, EventEmitter, ViewChild} from '@angular/core';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {AppState} from '../../../app.service';\r\nimport {saveAs as importedSaveAs} from \"file-saver\";\r\n\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {FotoComponent} from '../../../componenetesgenerales/foto/foto.component';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'fotografia',\r\n    template: require('./fotografia.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FotografiaComponent implements AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n\r\n    @ViewChild(\"container\", {read: ViewContainerRef}) container;\r\n    componentRef: ComponentRef<any>;\r\n\r\n    constructor(private _httpService: AppState, public _cfr: ComponentFactoryResolver, ) {\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    //Accion para abrir el modal para tomar foto\r\n    tomarfoto(tipo: any) {\r\n        this.container.clear();\r\n        const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(FotoComponent);\r\n        this.componentRef = this.container.createComponent(factory);\r\n        this.componentRef.instance.guardar.subscribe((imagen: any) => {\r\n            var datos = new FormData();\r\n            datos.append(\"id\", this.parametrosModalSolicitud.entidad.datoaspiranteid.datoaspiranteid.toString());\r\n            if (tipo == 'aspirante') {\r\n                datos.append(\"persona\", \"0\");\r\n                datos.append(\"foto\", imagen);\r\n                this.guardarfoto(datos);\r\n            } else {\r\n                datos.append(\"persona\", \"1\");\r\n                datos.append(\"foto\", imagen);\r\n                this.guardarfoto(datos);\r\n            }\r\n        });\r\n        this.componentRef.instance.cerrar.subscribe((modal: ModalDirective) => {\r\n            modal.onHidden.subscribe(() => {\r\n                $('body').addClass('modal-open');\r\n                this.componentRef.destroy();\r\n            });\r\n        }\r\n        );\r\n    }\r\n\r\n    //Accion para guardar la imagen\r\n    guardarfoto(datos: FormData) {\r\n        this._httpService.postArchivo('Solicitud/GuardarFoto', datos).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    if (datos.get('persona') == '0') {\r\n                        this.parametrosModalSolicitud.entidad.datoaspiranteid.foto = datos.get('foto');\r\n                    } else {\r\n                        this.parametrosModalSolicitud.entidad.datoaspiranteid.fotofamiliar = datos.get('foto');\r\n                    }\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/fotografia/fotografia.component.ts","import {AfterViewInit, ViewEncapsulation, Component, Input, Output, EventEmitter, ViewChild} from '@angular/core';\r\nimport {AppState} from '../../../app.service';\r\nimport {Config, ConfigERP} from '../../../configERP';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Subject} from 'rxjs/Rx';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'hermanos',\r\n    template: require('./hermanos.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HermanosComponent implements AfterViewInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n    version: number;\r\n    cambio: boolean;\r\n\r\n    @ViewChild('modalHermano1') modalHermano1: ModalDirective;\r\n\r\n    //GridHermano1\r\n    arrayHermano1: any;\r\n    dtOptionsH1: any = {};\r\n    dtTriggerH1 = new Subject;\r\n\r\n    constructor(private _httpService: AppState, private _config: ConfigERP) {\r\n        var config: Config = this._config.getConfig();\r\n        this.version = config.version;\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        $.fn.dataTable.ext.errMode = 'none';\r\n        this.output.next(this);\r\n        //Parametros hermano1\r\n        this.dtOptionsH1 = {\r\n            dom: 'rtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [1], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        setTimeout(() => {\r\n            if (this.parametrosModalSolicitud.pestanaHermanos.arrayHermano1) {\r\n                this.arrayHermano1 = this.parametrosModalSolicitud.pestanaHermanos.arrayHermano1;\r\n            }\r\n\r\n            if (!this.parametrosModalSolicitud.pestanaHermanos.arrayHermano1) {\r\n                this.BuscarHermnos();\r\n            }\r\n        }, 300);\r\n    }\r\n\r\n    //Hermanos\r\n    BuscarHermnos() {\r\n        this._httpService.getElemento('Solicitud/hermano/Validacion/?solicitudid=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaHermano1\").dataTable().fnDestroy();\r\n                    this.arrayHermano1 = result.body.Hermanos1;\r\n                    this.parametrosModalSolicitud.pestanaHermanos.arrayHermano1 = result.body.Hermanos1;\r\n                    this.dtTriggerH1.next();\r\n\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    openHermano1(e: any) {\r\n        this.modalHermano1.show();\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/hermanos/hermanos.component.ts","import {OnInit, AfterViewInit, AfterContentInit, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport {AppState} from '../../../app.service';\r\nimport {parametrosModalSolicitud} from '../modalsolicitud';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'otrosprocesos',\r\n    template: require('./otrosprocesos.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OtrosprocesosComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud;\r\n    @Output() output = new EventEmitter();\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n\r\n    arrayProcesos: any;\r\n    dtOptionsProcesos: any = {};\r\n    dtTriggerProcesos = new Subject;\r\n\r\n    constructor(private _httpService: AppState) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        $.fn.dataTable.ext.errMode = 'none';\r\n        this.dtOptionsProcesos = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [1], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        if (this.parametrosModalSolicitud.pestanaotrosprocesos.arrayProcesos) {\r\n            this.arrayProcesos = this.parametrosModalSolicitud.pestanaotrosprocesos.arrayProcesos;\r\n        }\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTriggerProcesos.next();\r\n        if (!this.parametrosModalSolicitud.pestanaotrosprocesos.arrayProcesos) {\r\n            this.buscarProcesos();\r\n        }\r\n    }\r\n\r\n    //Evaluacioenes\r\n    buscarProcesos() {\r\n        this._httpService.getElemento('Solicitud/otrosProceso/?solicitudid=' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaProcesos\").dataTable().fnDestroy();\r\n                    this.arrayProcesos = result.body.solicitudes;\r\n                    this.parametrosModalSolicitud.pestanaotrosprocesos.arrayProcesos = result.body.solicitudes;\r\n                    this.dtTriggerProcesos.next();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body.mensaje,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al comunicarse con el servidor\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/otrosprocesos/otrosprocesos.component.ts","import {OnInit, ViewEncapsulation, Component, Input, } from '@angular/core';\r\nimport * as moment from 'moment'\r\nimport { parametrosModalSolicitud } from 'app/admisiones/modalsolicitud/modalsolicitud';\r\nimport { AppState } from 'app/app.service';\r\nimport { ConfigERP, Config } from 'app/configERP';\r\nmoment.locale('es')\r\n\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'ficha',\r\n    template: require('./ficha.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FichaGeneralComponent implements OnInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud; //Objecto que contiene todos los parametros a bindear en los componenetes\r\n\r\n    cartasBI: any;\r\n    cartas: any;\r\n    sistema: any;\r\n    arrayEntrevista: any;\r\n    FichaGeneral: any = []\r\n    arrayPsicometrico: any;\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(private _httpService: AppState, private _config: ConfigERP) {\r\n        var config: Config = this._config.getConfig();\r\n        this.sistema = config.version;\r\n    }\r\n\r\n    ngOnInit() {\r\n        if (this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral) {\r\n            this.FichaGeneral = this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral;\r\n            this.arrayEntrevista = this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIEntrevista;\r\n            this.arrayPsicometrico = this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIPsicometrico;\r\n        } else {\r\n            this.ficha();\r\n        }\r\n    }\r\n\r\n    formatValue(value: any, key: any, index: number) {\r\n        let tipo = 1\r\n        this.FichaGeneral[index].tipos.filter(x => {\r\n            if (x.columna == key) {\r\n                tipo = x.tipo\r\n            }\r\n        })\r\n        let result = value;\r\n        if (tipo == 1) {\r\n            result = (value) ? value : '';\r\n        }\r\n        if (tipo == 2) {\r\n            result = (moment(value).isValid()) ? moment(value, 'DD/MM/YYYY', true).isValid() ? value : moment(value).format(\"DD/MM/YYYY\") : 'Fecha no proporcionada';\r\n            if (result == 'Fecha no proporcionada' && value !== null) {\r\n                result = value\r\n            }\r\n        }\r\n        if (tipo == 3) {\r\n            result = (!value) ? '' : value;\r\n        }\r\n        if (tipo == 4) {\r\n            result = (!value) ? '' : Number(value).toFixed(1) + '%';\r\n        }\r\n        if (tipo == 5) {\r\n            result = (value == \"1\") ? 'Si' : 'No';\r\n        }\r\n        if (tipo == 6) {\r\n            result = (moment(value).isValid()) ? moment(value).format('LLLL') : 'Fecha no proporcionada';\r\n        }\r\n        if (tipo == 7) {\r\n            result = (moment(value).isValid()) ? moment(value).format('LT') : 'Hora no proporcionada';\r\n        }\r\n        return result;\r\n    }\r\n\r\n    ficha() {\r\n        if (!this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral) {\r\n            let data = {\r\n                solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                tableroid: [1]\r\n            }\r\n\r\n            this._httpService.getElemento('Tablero/SolicitudAmision?' + $.param(data)).subscribe(result => {\r\n                if (result.status == 200) {\r\n                    this.FichaGeneral = result.body\r\n                    this.FichaGeneral.map(x => x.tipos = JSON.parse(x.tipos));\r\n                    this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIGeneral = this.FichaGeneral;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'warning',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    getEntrevista() {\r\n        if (!this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIEntrevista) {\r\n            let data = {\r\n                solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                tableroid: [2]\r\n            }\r\n\r\n            this._httpService.getElemento('Tablero/SolicitudAmision?' + $.param(data)).subscribe(result => {\r\n                if (result.status == 200) {\r\n                    this.arrayEntrevista = result.body[0].data;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIEntrevista = result.body[0].data;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'warning',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    getPsicometrico() {\r\n        if (!this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIPsicometrico) {\r\n            let data = {\r\n                solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n                tableroid: [3]\r\n            }\r\n\r\n            this._httpService.getElemento('Tablero/SolicitudAmision?' + $.param(data)).subscribe(result => {\r\n                if (result.status == 200) {\r\n                    this.arrayPsicometrico = result.body[0].data;\r\n                    this.parametrosModalSolicitud.pestanaDictamen.ficha.arrayTablerosBIPsicometrico = result.body[0].data;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'warning',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n                error => {\r\n                    Messenger().post({\r\n                        message: \"Error al comunicarse con el servidor\",\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    formatocalificacion(calificaion: any) {\r\n        if (calificaion == null || calificaion == undefined || calificaion == \"\") {\r\n            return null;\r\n        } else {\r\n            let entero = parseInt(calificaion);\r\n            return entero.toFixed(2);\r\n        }\r\n\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/dictamen/ficha/ficha.component.ts","import {AfterViewInit, ViewEncapsulation, Component, OnInit, ViewChild, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder} from '@angular/forms';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Subject} from 'rxjs/Rx';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'fotosalumno',\r\n    template: require('./fotosalumno.component.html'),\r\n    providers: [AppState],\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FotosAlumnoComponent implements OnInit, AfterViewInit {\r\n    @Input() idalumno: any;\r\n    @Output() output = new EventEmitter();\r\n    fotosalumnos: any;\r\n\r\n    @ViewChild('modalFoto') public modalFoto: ModalDirective;\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {}\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.getfotosAlumnos();\r\n        this.modalFoto.show();\r\n\r\n    }\r\n\r\n    getfotosAlumnos() {\r\n        //Llamada al servicio get para obtener el array para llenar el select\r\n        this._httpService.getElemento('Controlescolar/Alumno/Fotos/' + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.fotosalumnos = result.body;\r\n                    let arrayimg = this.fotosalumnos.length - 1;\r\n                    $.when($('img'+arrayimg)).then(() => {\r\n                        $('.my-flipster').flipster();\r\n                    });\r\n                } else {\r\n                    this.fotosalumnos = {\r\n                        ciclo: '',\r\n                        nivel: '',\r\n                        grado: '',\r\n                        foto: \"./assets/img/white-image.png\"\r\n                    };\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    cerrarModalFoto() {\r\n        this.modalFoto.hide()\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/fotosalumno/fotosalumno.component.ts","import {AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, Output, EventEmitter, ComponentRef, ViewChild, ViewContainerRef, ComponentFactory, ComponentFactoryResolver} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder} from '@angular/forms';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport { ModalDirective } from 'ng2-bootstrap';\r\nimport { FichaComponent } from 'app/admisiones/modalsolicitud/dictamen/ficha/ficha.component';\r\nimport {DictamenpestanaComponent} from 'app/admisiones/modalsolicitud/dictamen/dictamenpestana/dictamenpestana.component';\r\nimport { parametrosModalSolicitud } from 'app/admisiones/modalsolicitud/modalsolicitud';\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'admisiones',\r\n    template: require('./admisiones.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AdmisionesComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Input() version: any;\r\n    @Output() output = new EventEmitter();\r\n\r\n    accion: boolean;\r\n    submitted: boolean;\r\n\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject();\r\n    exportar: any;\r\n\r\n    arraytabla: any[];\r\n    formConsulta: FormGroup;\r\n\r\n    componentRef: ComponentRef<any>; // Contenedor\r\n    pestana: number;\r\n    params: parametrosModalSolicitud;\r\n\r\n    @ViewChild(\"containerFicha\", {read: ViewContainerRef}) containerTutor;\r\n    @ViewChild('modalFicha') public modal: ModalDirective;\r\n    @ViewChild(\"modalGenerica\", {read: ViewContainerRef}) modalGenerica;\r\n\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, private _cfr: ComponentFactoryResolver,) {\r\n    }\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.formConsulta = this._fb.group({\r\n            matricula: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTrigger.next();\r\n        this.consultar();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    openFicha(c) {   \r\n        this.modal.show()   \r\n        let params = new parametrosModalSolicitud()\r\n        params.entidad = {\r\n            solicitudadmisionid: c.solicitudadmisionid\r\n        }\r\n        this.params = params;\r\n        this.params.modalGenerica = this.modalGenerica;\r\n        this.cargardatos();\r\n    } \r\n\r\n    cerrarFicha(){\r\n        this.modal.hide()\r\n        this.containerTutor.clear()\r\n    }\r\n\r\n\r\n    consultar() {\r\n        if (this.idalumno) {\r\n            this._httpService.getElemento('Controlescolar/Alumno/Solicitud?curp=' + this.idalumno).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        this.arraytabla = res.body.solicitud;\r\n                    }\r\n\r\n                },\r\n                err => {\r\n                    //handle your error here.\r\n                    console.log(err);\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n\r\n    contentView(e: number) {\r\n        if (e != this.pestana)\r\n            switch (e) {\r\n                case 1:\r\n                    this.cargarVista(FichaComponent);\r\n                    break;\r\n                case 2:\r\n                    this.cargarVista(DictamenpestanaComponent);\r\n                    break;\r\n            }\r\n        this.pestana = e;\r\n    }\r\n\r\n    //Funcion que carga el componenete en el contenedor\r\n    cargarVista(componente: any) {      \r\n        this.containerTutor.clear();                                                                 //Limpia el contenedor\r\n        const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(componente);   //Le asigna el componente a cargar\r\n        this.componentRef = this.containerTutor.createComponent(factory);                            //Carga el compoenente\r\n        this.componentRef.instance.parametrosModalSolicitud = this.params;    //Le envia \"parametrosModalReactivos\"\r\n        console.log(this.params);\r\n    }\r\n\r\n    cargardatos() {\r\n        $(\"#ficha\").addClass(\"active\");\r\n        $(\"#dictamen\").removeClass(\"active\");\r\n        this.params.version = this.version;\r\n        let modalSolicitudView = {\r\n            datosaspirante: {visible: true, editable: false},\r\n            datosfamiliares: {visible: true, editable: false},\r\n            fotografia: {visible: true, editable: false},\r\n            encuesta: {visible: true, editable: false},\r\n            evaluaciones: {visible: true, editable: false},\r\n            documentacion: {visible: true, editable: false},\r\n            comentarios: {visible: true, editable: false},\r\n            hermanos: {visible: true, editable: false},\r\n            dinamicafamiliar: {visible: this.version == 1, editable: false},\r\n            areamedica: {visible: true, editable: false},\r\n            otrosprocesos: {visible: true, editable: false},\r\n            dictaminacion: {visible: true, editable: false},\r\n            expediente: {visible: this.version == 2, editable: false}\r\n        };\r\n        this.params.configpestana = modalSolicitudView;\r\n        this._httpService.getElemento('Solicitudadmision/' + this.params.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.params.entidad = result.body.entidad;\r\n                    this.contentView(1);\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/admisiones/admisiones.component.ts","import { AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Helpers } from '../../../../../app.helpers';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'areamedicaidec',\r\n    template: require('./areamedicaidec.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AreamedicaidecComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Output() output = new EventEmitter();\r\n    @Output() guardado = new EventEmitter();\r\n    @Input() seguridad: any;\r\n\r\n\r\n    ladamask = [\"(\", /\\d/, /\\d/, /\\d/, \")\"];\r\n    telmask = [/\\d/, /\\d/, /\\d/, \"-\", /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n    Formareamedica: FormGroup;\r\n\r\n    selectOpciones: any[];\r\n    selectAlergias: any[];\r\n\r\n    arrayDatosmedicos: any[];\r\n    padecedis: boolean = false;\r\n    submitted: boolean = false;\r\n    datocambiado: boolean = false;\r\n    alergicodes: boolean = false;\r\n    antecedentedes: boolean = false;\r\n    lada1: any;\r\n    ladacontacto: any;\r\n    telefonocontacto: any;\r\n\r\n    numberMask = createNumberMask({\r\n        prefix: '',\r\n        suffix: '',\r\n        includeThousandsSeparator: false,\r\n        thousandsSeparatorSymbol: ',',\r\n        allowDecimal: false,\r\n        decimalSymbol: '',\r\n        decimalLimit: 0,\r\n        integerLimit: null,\r\n        requireDecimal: false,\r\n        allowNegative: false,\r\n        allowLeadingZeroes: false\r\n    });\r\n\r\n\r\n    constructor(private URLBase: AppState, private _fb: FormBuilder, private _help: Helpers) { }\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n\r\n        if (this.nuevo) {\r\n            this.Formareamedica = this._fb.group({\r\n                //contactoemergencianombre: [, <any> Validators.required],\r\n                alergia: null,\r\n                alergico: [, <any>Validators.required],\r\n                enfermedadcronica: [, <any>Validators.required],\r\n                medicamentoregularidad: [, <any>Validators.required],\r\n                talla: [, <any>Validators.required],\r\n                peso: [, <any>Validators.required],\r\n                padece: [],\r\n                antecedentefamiliar: []\r\n                //ladacontacto: [, <any> Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n                //telefonocontacto: [, <any> Validators.required]\r\n            });\r\n        } else {\r\n            this.Formareamedica = this._fb.group({\r\n                //contactoemergencianombre: [, <any> Validators.required],\r\n                alergia: null,\r\n                alergico: [],\r\n                enfermedadcronica: [],\r\n                medicamentoregularidad: [],\r\n                talla: [],\r\n                peso: [],\r\n                padece: [],\r\n                antecedentefamiliar: []\r\n                //ladacontacto: [, <any> Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n                //telefonocontacto: [, <any> Validators.required]\r\n            });\r\n        }\r\n\r\n        this.selectOpciones = [\r\n            {\r\n                id: 1,\r\n                nombre: \"Si\"\r\n            },\r\n            {\r\n                id: 0,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n        // this.Formareamedica.get('ladacontacto').valueChanges.subscribe((lada) => {\r\n        //     let p;\r\n        //     if (lada.length == 5) {\r\n        //         p = '^\\\\d{3}.\\\\d{4}$';\r\n        //     } else {\r\n        //         p = '^\\\\d{4}.\\\\d{4}$';\r\n        //     }\r\n        //     this.Formareamedica.get(\"telefonocontacto\").setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp(p))]));\r\n        //     this.Formareamedica.get(\"telefonocontacto\").updateValueAndValidity();\r\n        //     this.ladacontacto = lada;\r\n        //     let telefono = this.Formareamedica.get('telefonocontacto').value;\r\n        //     if (telefono && telefono.match(p)) {\r\n        //         return null;\r\n        //     } else {\r\n        //         return {telefono: false}\r\n        //     }\r\n        // });\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.DatosIniciales();\r\n        this.Datosmedicos();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    DatosIniciales() {\r\n        this.URLBase.getElemento('Controlescolar/Alumno/ContactoEmergencia').subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.selectAlergias = result.body.alergias;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    Datosmedicos() {\r\n        this.URLBase.getElemento(\"Controlescolar/Alumno/DatosMedicos/\" + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.arrayDatosmedicos = result.body;\r\n                    this.cargarDatos(this.arrayDatosmedicos);\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    cargarDatos(datos) {\r\n        let enfermedadcronica = \"\";\r\n        let medicamentoregularidad = 0;\r\n        if (datos.datosmedicos.padece) {\r\n            this.Formareamedica.get(\"padece\").setValidators(Validators.required);\r\n            this.Formareamedica.get(\"padece\").updateValueAndValidity();\r\n            this.padecedis = true;\r\n            enfermedadcronica = \"Si\";\r\n        } else {\r\n            this.Formareamedica.get(\"padece\").setValidators(null);\r\n            this.Formareamedica.get(\"padece\").updateValueAndValidity();\r\n            this.padecedis = false;\r\n            enfermedadcronica = \"No\"\r\n        }\r\n\r\n        if (datos.datosmedicos.antecedentefamiliar) {\r\n            this.Formareamedica.get(\"antecedentefamiliar\").setValidators(Validators.required);\r\n            this.Formareamedica.get(\"antecedentefamiliar\").updateValueAndValidity();\r\n            medicamentoregularidad = 1;\r\n            this.antecedentedes = true;\r\n        } else {\r\n            this.Formareamedica.get(\"antecedentefamiliar\").setValidators(null);\r\n            this.Formareamedica.get(\"antecedentefamiliar\").updateValueAndValidity();\r\n            medicamentoregularidad = 0;\r\n            this.antecedentedes = false;\r\n        }\r\n\r\n        this.Formareamedica.setValue({\r\n            //contactoemergencianombre: datos.datosmedicos.contactoemergencianombre ? datos.datosmedicos.contactoemergencianombre : null,\r\n            alergia: null,\r\n            alergico: datos.datosmedicos.alergico ? datos.datosmedicos.alergico : null,\r\n            enfermedadcronica: enfermedadcronica,\r\n            medicamentoregularidad: medicamentoregularidad,\r\n            talla: datos.datosmedicos.talla ? datos.datosmedicos.talla : null,\r\n            peso: datos.datosmedicos.peso ? datos.datosmedicos.peso : null,\r\n            padece: datos.datosmedicos.padece ? datos.datosmedicos.padece : null,\r\n            antecedentefamiliar: datos.datosmedicos.antecedentefamiliar ? datos.datosmedicos.antecedentefamiliar : null\r\n            //ladacontacto: datos.datosmedicos.contactoemergenciatelefono ? this._help.ParseTelefono(datos.datosmedicos.contactoemergenciatelefono)[0] : null,\r\n            //telefonocontacto: datos.datosmedicos.contactoemergenciatelefono ? this._help.ParseTelefono(datos.datosmedicos.contactoemergenciatelefono)[1] : null,\r\n\r\n        });\r\n\r\n        // this.ladacontacto = datos.datosmedicos.contactoemergenciatelefono ? this._help.ParseTelefono(datos.datosmedicos.contactoemergenciatelefono)[0] : null;\r\n        // this.Formareamedica.get(\"telefonocontacto\").setValue(null);\r\n        // this.telefonocontacto = datos.datosmedicos.contactoemergenciatelefono ? this._help.ParseTelefono(datos.datosmedicos.contactoemergenciatelefono)[1] : null;\r\n\r\n        if (datos.datosmedicos.alergico) {\r\n            this.Formareamedica.get(\"alergia\").setValue(1);\r\n            this.alergicodes = true;\r\n            this.Formareamedica.get(\"alergico\").setValidators([Validators.required]);\r\n            this.Formareamedica.get(\"alergico\").updateValueAndValidity();\r\n        } else {\r\n            this.Formareamedica.get(\"alergia\").setValue(0);\r\n            this.alergicodes = false;\r\n            this.Formareamedica.get(\"alergico\").clearValidators();\r\n            this.Formareamedica.get(\"alergico\").setValue(\"\");\r\n            this.Formareamedica.get(\"alergico\").updateValueAndValidity();\r\n        }\r\n\r\n        this.cambioDato();\r\n    }\r\n\r\n    Editar() {\r\n        if(!this.seguridad.accesos.Areamedicaeditar) {\r\n            this.guardado.next(true);\r\n            return false;\r\n        }\r\n        var obguardar;\r\n        this.submitted = true;\r\n        if (this.Formareamedica.invalid) {\r\n            this.guardado.next(false);\r\n            return false;\r\n        }\r\n\r\n        if (this.datocambiado == true) {\r\n            obguardar = this.Formareamedica.value;\r\n            //obguardar.telefonocontacto = this._help.UnitTelefono(this.Formareamedica.get(\"ladacontacto\").value, this.Formareamedica.get(\"telefonocontacto\").value)\r\n            this.URLBase.postElemento(\"Controlescolar/Alumno/DatosMedicos/\" + this.idalumno, obguardar, false, true).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        Messenger().post({\r\n                            message: \"Se ha actualizado el registro\",\r\n                            type: \"success\",\r\n                            showCloseButton: true\r\n                        });\r\n                        this.datocambiado = false;\r\n                        this.guardado.next(true);\r\n                    } else {\r\n                        Messenger().post({\r\n                            message: \"Ocurrio un error al intentar guardar el registro\",\r\n                            type: \"success\",\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                },\r\n                err => {\r\n                    Messenger().post({\r\n                        message: \"No se pudo comunicar con el servidor\",\r\n                        type: \"error\",\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        } else {\r\n            this.guardado.next(true);\r\n        }\r\n    }\r\n\r\n    loadAlergia(id) {\r\n        if (id != null) {\r\n            if (id == 1) {\r\n                this.alergicodes = true;\r\n                this.Formareamedica.get(\"alergico\").setValidators([Validators.required]);\r\n                this.Formareamedica.get(\"alergico\").updateValueAndValidity();\r\n            } else {\r\n                this.alergicodes = false;\r\n                this.Formareamedica.get(\"alergico\").clearValidators();\r\n                this.Formareamedica.get(\"alergico\").setValue(\"\");\r\n                this.Formareamedica.get(\"alergico\").updateValueAndValidity();\r\n            }\r\n\r\n\r\n        }\r\n    }\r\n\r\n    setPadece (dato) {\r\n        if (dato == \"Si\") {\r\n            this.Formareamedica.get(\"padece\").setValidators(Validators.required);\r\n            this.Formareamedica.get(\"padece\").updateValueAndValidity();\r\n            this.padecedis = true;\r\n        } else {\r\n            this.Formareamedica.get(\"padece\").setValidators(null);\r\n            this.Formareamedica.get(\"padece\").updateValueAndValidity();\r\n            this.Formareamedica.get(\"padece\").setValue(null);\r\n            this.padecedis = false;\r\n        }\r\n    }\r\n\r\n    setMedicamento (dato) {\r\n        if (dato == 1) {\r\n            this.Formareamedica.get(\"antecedentefamiliar\").setValidators(Validators.required);\r\n            this.Formareamedica.get(\"antecedentefamiliar\").updateValueAndValidity();\r\n            this.antecedentedes = true;\r\n        } else {\r\n            this.Formareamedica.get(\"antecedentefamiliar\").setValidators(null);\r\n            this.Formareamedica.get(\"antecedentefamiliar\").updateValueAndValidity();\r\n            this.Formareamedica.get(\"antecedentefamiliar\").setValue(null);\r\n            this.antecedentedes = false;\r\n        }\r\n    }\r\n\r\n    cambioDato(): void {\r\n        this.Formareamedica.valueChanges.subscribe(val => {\r\n            if (val != null) {\r\n                this.datocambiado = true;\r\n            }\r\n        });\r\n    }\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicaidec/areamedicaidec.component.ts","import {AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder, Validators, FormArray} from '@angular/forms';\r\nimport {Config, ConfigERP} from 'app/configERP';\r\nimport {Helpers} from '../../../../../app.helpers';\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\nimport createNumberMask from \"text-mask-addons/dist/createNumberMask\";\r\n\r\n@Component({\r\n    selector: 'areamedicalux',\r\n    template: require('./areamedicalux.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AreamedicaluxComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Output() output = new EventEmitter();\r\n    @Output() guardado = new EventEmitter();\r\n    @Input() seguridad: any;\r\n\r\n    ladamask = [\"(\", /\\d/, /\\d/, /\\d/, \")\"];\r\n    pesomask = [\"(\", /\\d/, /\\d/, /\\d/, \")\"];\r\n    telmask = [/\\d/, /\\d/, /\\d/, \"-\", /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n    Formareamedia: FormGroup;\r\n    formulario: FormGroup;\r\n    submitted: boolean = false;\r\n    datocambiado: boolean = false;\r\n    alergicodes: boolean = false;\r\n    selectOpciones: any[];\r\n    selectParentesco: any[];\r\n    selectTiposangre: any[];\r\n    selectAlergias: any[];\r\n    selectAntecedentes: any[];\r\n\r\n    lada1: any;\r\n    ladacontacto: any;\r\n    telefono: any;\r\n    telefonocontacto: any;\r\n\r\n    enfermedad: boolean = false;\r\n\r\n    arrayDatosmedicos: any[];\r\n\r\n    currencyMask = function (rawValue: string) {\r\n        let numberMask = createNumberMask({\r\n            prefix: \"\",\r\n            suffix: \"\",\r\n            includeThousandsSeparator: false,\r\n            thousandsSeparatorSymbol: \"\",\r\n            allowDecimal: false,\r\n            decimalSymbol: \"\",\r\n            decimalLimit: \"\",\r\n            integerLimit: 3,\r\n            requireDecimal: false,\r\n            allowNegative: false,\r\n            allowLeadingZeroes: false\r\n        });\r\n        let mask = numberMask(rawValue);\r\n\r\n        return mask;\r\n    };\r\n\r\n\r\n    b: any;\r\n    e: any[];\r\n    version: any;\r\n    constructor(private URLBase: AppState, private _fb: FormBuilder, private _help: Helpers, private _config: ConfigERP) {\r\n        var config: Config = this._config.getConfig();\r\n        this.version = config.version;\r\n\r\n    }\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n\r\n        if(this.nuevo){\r\n            this.Formareamedia = this._fb.group({\r\n                version: [this.version],\r\n                alergico: [],\r\n                enfermedad: [, <any> Validators.required],\r\n                alergiaid: [, <any> Validators.required],\r\n                autorizoantihistaminico: [, <any> Validators.required],\r\n                examenauditivo: [, <any> Validators.required],\r\n                lada: [],\r\n                telefono: [],\r\n                personaatiende: [],\r\n                tiposangineo: [, <any> Validators.required],\r\n                talla: [, <any> Validators.required],\r\n                examenvista: [, <any> Validators.required],\r\n                examenortopedicos: [, <any> Validators.required],\r\n                peso: [, <any> Validators.required],\r\n                lentes: [, <any> Validators.required],\r\n                aditamentoortopedico: [, <any> Validators.required],\r\n                aparatoauditivo: [, <any> Validators.required],\r\n                nombreautoriza: [, <any> Validators.required],\r\n                antecedentefamiliarimportanteid: [, <any> Validators.required],\r\n                padece: [],\r\n                otrocontacto: this._fb.array([]),\r\n                eliminados: []\r\n            });\r\n        }else{\r\n            this.Formareamedia = this._fb.group({\r\n                version: [this.version],\r\n                alergico: [],\r\n                enfermedad: [],\r\n                alergiaid: [],\r\n                autorizoantihistaminico: [],\r\n                examenauditivo: [],\r\n                lada: [],\r\n                telefono: [],\r\n                personaatiende: [],\r\n                tiposangineo: [],\r\n                talla: [],\r\n                examenvista: [],\r\n                examenortopedicos: [],\r\n                peso: [],\r\n                lentes: [],\r\n                aditamentoortopedico: [],\r\n                aparatoauditivo: [],\r\n                nombreautoriza: [],\r\n                antecedentefamiliarimportanteid: [],\r\n                padece: [],\r\n                otrocontacto: this._fb.array([]),\r\n                eliminados: []\r\n            });\r\n        }\r\n\r\n\r\n\r\n        this.selectOpciones = [\r\n            {\r\n                id: 1,\r\n                nombre: \"Si\"\r\n            },\r\n            {\r\n                id: 0,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n\r\n        this.Formareamedia.get('lada').valueChanges.subscribe((lada) => {\r\n            if (lada) {\r\n                let p;\r\n                if (lada.length == 5) {\r\n                    p = '^\\\\d{3}.\\\\d{4}$';\r\n                } else {\r\n                    p = '^\\\\d{4}.\\\\d{4}$';\r\n                }\r\n                this.Formareamedia.get(\"telefono\").setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp(p))]));\r\n                this.Formareamedia.get(\"telefono\").updateValueAndValidity();\r\n                this.lada1 = lada;\r\n                let telefono = this.Formareamedia.get('telefono').value;\r\n                if (telefono && telefono.match(p)) {\r\n                    return null;\r\n                } else {\r\n                    return {telefono: false}\r\n                }\r\n            }\r\n\r\n        });\r\n\r\n        this.e = [];\r\n\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        this.DatosIniciales();\r\n        this.Datosmedicos();\r\n\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n\r\n        this.output.next(this);\r\n\r\n    }\r\n\r\n\r\n    DatosIniciales() {\r\n        this.URLBase.getElemento('Controlescolar/Alumno/ContactoEmergencia').subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.selectParentesco = result.body.parentesco;\r\n                    this.selectTiposangre = result.body.tiposangre;\r\n                    this.selectAlergias = result.body.alergias;\r\n                    this.selectAntecedentes = result.body.antecedentes;\r\n\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    Datosmedicos() {\r\n        this.URLBase.getElemento(\"Controlescolar/Alumno/DatosMedicos/\" + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    let datos = result.body;\r\n                    let arrayalergias = [];\r\n                    let arrayantecedentes = [];\r\n                    // setTimeout(() => {\r\n                    //     if (datos.otrocontacto.length > 0) {\r\n                    //         for (let i = 0; i < datos.otrocontacto.length; i++) {\r\n                    //             this.b = this.Formareamedia.get(\"otrocontacto\") as FormArray;\r\n                    //             let contacto = this._fb.group({\r\n                    //                 contactoemergenciaid: [datos.otrocontacto[i].contactoemergenciaid],\r\n                    //                 alumnoid: [datos.otrocontacto[i].alumnoid.alumnoid],\r\n                    //                 nombre: [datos.otrocontacto[i].nombre],\r\n                    //                 lada: [this._help.ParseTelefono(datos.otrocontacto[i].telefono)[0]],\r\n                    //                 telefono: [this._help.ParseTelefono(datos.otrocontacto[i].telefono)[1]],\r\n                    //                 parentescoid: [(datos.otrocontacto[i].parentescoid) ? datos.otrocontacto[i].parentescoid.parentescoid : null]\r\n                    //             });\r\n                    //             this.b.push(contacto);\r\n                    //         }\r\n                    //     } else {\r\n                    //         this.b = this.Formareamedia.get(\"otrocontacto\") as FormArray;\r\n                    //         let contacto = this._fb.group({\r\n                    //             contactoemergenciaid: [],\r\n                    //             alumnoid: [],\r\n                    //             nombre: [, <any> Validators.required],\r\n                    //             lada: [, <any> Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n                    //             telefono: [, <any> Validators.required],\r\n                    //             parentescoid: [, <any> Validators.required]\r\n                    //         });\r\n                    //         this.b.push(contacto);\r\n                    //     }\r\n                    // }, 300);\r\n\r\n                    if (datos.alergias) {\r\n                        for (let i = 0; i < datos.alergias.length; i++) {\r\n                            arrayalergias.push(datos.alergias[i].alergiaid.alergiaid);\r\n                            if (arrayalergias[i] == 6) {\r\n                                this.alergicodes = true;\r\n                            } else {\r\n                                this.alergicodes = false;\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    if (datos.antecedentes) {\r\n                        for (let i = 0; i < datos.antecedentes.length; i++) {\r\n                            arrayantecedentes.push(datos.antecedentes[i].antecedentefamiliarimportanteid.antecedentefamiliarimportanteid);\r\n                        }\r\n                    }\r\n\r\n\r\n                    this.Formareamedia.patchValue({\r\n                        version: this.version,\r\n                        alergico: datos.datosmedicos.alergico ? datos.datosmedicos.alergico : null,\r\n                        enfermedad: [, <any> Validators.required],\r\n                        alergiaid: arrayalergias,\r\n                        autorizoantihistaminico: datos.datosmedicos.autorizoantihistaminico ? parseInt(datos.datosmedicos.autorizoantihistaminico) : null,\r\n                        examenauditivo: datos.datosmedicos.examenauditivo ? parseInt(datos.datosmedicos.examenauditivo) : null,\r\n                        lada: datos.datosmedicos.telefonopersonaatiende ? this._help.ParseTelefono(datos.datosmedicos.telefonopersonaatiende)[0] : null,\r\n                        telefono: datos.datosmedicos.telefonopersonaatiende ? this._help.ParseTelefono(datos.datosmedicos.telefonopersonaatiende)[1] : null,\r\n                        personaatiende: datos.datosmedicos.personaatiende ? datos.datosmedicos.personaatiende : null,\r\n                        tiposangineo: datos.datosmedicos.tiposangineo ? datos.datosmedicos.tiposangineo.tiposanguineoid : null,\r\n                        talla: datos.datosmedicos.talla ? datos.datosmedicos.talla : null,\r\n                        examenvista: datos.datosmedicos.examenvista ? parseInt(datos.datosmedicos.examenvista) : null,\r\n                        examenortopedicos: datos.datosmedicos.examenortopedicos ? parseInt(datos.datosmedicos.examenortopedicos) : null,\r\n                        peso: datos.datosmedicos.peso ? datos.datosmedicos.peso : null,\r\n                        lentes: datos.datosmedicos.lentes ? parseInt(datos.datosmedicos.lentes) : null,\r\n                        aditamentoortopedico: datos.datosmedicos.aditamentoortopedico ? parseInt(datos.datosmedicos.aditamentoortopedico) : null,\r\n                        aparatoauditivo: datos.datosmedicos.aparatoauditivo ? parseInt(datos.datosmedicos.aparatoauditivo) : null,\r\n                        nombreautoriza: datos.datosmedicos.nombreautoriza ? datos.datosmedicos.nombreautoriza : null,\r\n                        antecedentefamiliarimportanteid: arrayantecedentes,\r\n                        padece: datos.datosmedicos.padece ? datos.datosmedicos.padece : null,\r\n                    });\r\n\r\n\r\n\r\n                    if (datos.datosmedicos.padece || datos.telefonos.lada || datos.telefonos.telefono) {\r\n                        this.Formareamedia.get(\"enfermedad\").setValue(1);\r\n                        this.Formareamedia.get(\"personaatiende\").setValidators([Validators.required]);\r\n                        this.Formareamedia.get(\"personaatiende\").updateValueAndValidity();\r\n                        this.Formareamedia.get(\"lada\").setValidators([Validators.required]);\r\n                        this.Formareamedia.get(\"lada\").updateValueAndValidity();\r\n                        this.Formareamedia.get(\"telefono\").setValidators([Validators.required]);\r\n                        this.Formareamedia.get(\"telefono\").updateValueAndValidity();\r\n                        this.Formareamedia.get(\"padece\").setValidators([Validators.required]);\r\n                        this.Formareamedia.get(\"padece\").updateValueAndValidity();\r\n                        this.enfermedad = true;\r\n                    } else {\r\n                        this.Formareamedia.get(\"enfermedad\").setValue(0);\r\n                        this.Formareamedia.get(\"personaatiende\").clearValidators();\r\n                        this.Formareamedia.get(\"personaatiende\").setValue(null);\r\n                        this.Formareamedia.get(\"personaatiende\").updateValueAndValidity();\r\n                        this.Formareamedia.get(\"lada\").clearValidators();\r\n                        this.Formareamedia.get(\"lada\").setValue(null);\r\n                        this.Formareamedia.get(\"lada\").updateValueAndValidity();\r\n                        this.Formareamedia.get(\"telefono\").clearValidators();\r\n                        this.Formareamedia.get(\"telefono\").setValue(null);\r\n                        this.Formareamedia.get(\"telefono\").updateValueAndValidity();\r\n                        this.Formareamedia.get(\"padece\").clearValidators();\r\n                        this.Formareamedia.get(\"padece\").setValue(null);\r\n                        this.Formareamedia.get(\"padece\").updateValueAndValidity();\r\n                        this.enfermedad = false;\r\n                        $(\"#alergia\").css(\"margin-top\", \"0px\");\r\n                    }\r\n                    this.lada1 = datos.datosmedicos.telefonopersonaatiende ? this._help.ParseTelefono(datos.datosmedicos.telefonopersonaatiende)[0] : null;\r\n                    this.Formareamedia.get(\"telefono\").setValue(null);\r\n                    this.telefono = datos.datosmedicos.telefonopersonaatiende ? this._help.ParseTelefono(datos.datosmedicos.telefonopersonaatiende)[1] : null;\r\n                    this.cambioDato();\r\n\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    Editar() {\r\n        \r\n        if(!this.seguridad.accesos.Areamedicaeditar) {\r\n            this.guardado.next(true);\r\n            return false;\r\n        }\r\n        this.submitted = true;\r\n        if (this.enfermedad == true) {\r\n            this.Formareamedia.get('lada').setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]));\r\n            this.Formareamedia.get('lada').updateValueAndValidity();\r\n            this.Formareamedia.get('telefono').setValidators(Validators.required);\r\n            this.Formareamedia.get('telefono').updateValueAndValidity();\r\n        }\r\n\r\n        if (this.Formareamedia.invalid) {\r\n            this.guardado.next(false);\r\n            return false;\r\n        }\r\n\r\n        let data = this.Formareamedia.value;\r\n        data.telefonopersonaatiende = this._help.UnitTelefono(data.lada, data.telefono);\r\n        if (this.datocambiado== true) {\r\n            this.URLBase.postElemento(\"Controlescolar/Alumno/DatosMedicos/\" + this.idalumno, data, false, true).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        this.b=[];\r\n                        this.Formareamedia.setControl('otrocontacto', this._fb.array([]));\r\n                        Messenger().post({\r\n                            message: \"Se ha actualizado el registro\",\r\n                            type: \"success\",\r\n                            showCloseButton: true\r\n                        });\r\n                        this.guardado.next(true);\r\n                        this.datocambiado = false;\r\n                    } else {\r\n                        Messenger().post({\r\n                            message: \"Ocurrio un error al intentar guardar el registro\",\r\n                            type: \"success\",\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                },\r\n                err => {\r\n                    Messenger().post({\r\n                        message: \"No se pudo comunicar con el servidor\",\r\n                        type: \"error\",\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        } else {\r\n            this.guardado.next(true);\r\n        }\r\n    }\r\n\r\n\r\n    loadAlergia(id) {\r\n        let ids: number[] = this.Formareamedia.get(\"alergiaid\").value;\r\n        let alergia = ids.find(x => x == 6);\r\n        if (alergia) {\r\n            this.alergicodes = true;\r\n            this.Formareamedia.get(\"alergico\").setValidators([Validators.required]);\r\n        } else {\r\n            this.alergicodes = false;\r\n            this.Formareamedia.get(\"alergico\").clearValidators();\r\n            this.Formareamedia.get(\"alergico\").setValue(null);\r\n        }\r\n        this.Formareamedia.get(\"alergico\").updateValueAndValidity();\r\n\r\n    }\r\n\r\n\r\n    loadEnfermedad(id) {\r\n        if (id == 1) {\r\n            this.Formareamedia.get(\"personaatiende\").setValidators([Validators.required]);\r\n            this.Formareamedia.get(\"personaatiende\").updateValueAndValidity();\r\n            this.Formareamedia.get(\"lada\").setValidators([Validators.required]);\r\n            this.Formareamedia.get(\"lada\").updateValueAndValidity();\r\n            this.Formareamedia.get(\"telefono\").setValidators([Validators.required]);\r\n            this.Formareamedia.get(\"telefono\").updateValueAndValidity();\r\n            this.Formareamedia.get(\"padece\").setValidators([Validators.required]);\r\n            this.Formareamedia.get(\"padece\").updateValueAndValidity();\r\n            this.enfermedad = true;\r\n            //            $(\"#alergia\").css(\"margin-top\", \"125px\");\r\n        } else if (id == 0) {\r\n            this.enfermedad = false;\r\n            this.Formareamedia.get(\"personaatiende\").clearValidators();\r\n            this.Formareamedia.get(\"personaatiende\").setValidators(null);\r\n            this.Formareamedia.get(\"personaatiende\").setValue(\"\");\r\n            this.Formareamedia.get(\"personaatiende\").updateValueAndValidity();\r\n            this.Formareamedia.get(\"lada\").clearValidators();\r\n            this.Formareamedia.get(\"lada\").setValidators(null);\r\n            this.Formareamedia.get(\"lada\").setValue(\"\");\r\n            this.Formareamedia.get(\"lada\").updateValueAndValidity();\r\n            this.Formareamedia.get(\"telefono\").clearValidators();\r\n            this.Formareamedia.get(\"telefono\").setValidators(null);\r\n            this.Formareamedia.get(\"telefono\").setValue(\"\");\r\n            this.Formareamedia.get(\"telefono\").updateValueAndValidity();\r\n            this.Formareamedia.get(\"padece\").clearValidators();\r\n            this.Formareamedia.get(\"padece\").setValidators(null);\r\n            this.Formareamedia.get(\"padece\").setValue(\"\");\r\n            this.Formareamedia.get(\"padece\").updateValueAndValidity();\r\n            this.Formareamedia.updateValueAndValidity();\r\n            $(\"#alergia\").css(\"margin-top\", \"0px\");\r\n        }\r\n    }\r\n\r\n    cambioDato(): void {\r\n        this.Formareamedia.valueChanges.subscribe(val => {\r\n            if (val != null) {\r\n                this.datocambiado = true;\r\n\r\n            }\r\n        });\r\n    }\r\n\r\n    addareamedica() {\r\n        this.b = this.Formareamedia.get(\"otrocontacto\") as FormArray;\r\n        let contacto = this._fb.group({\r\n            contactoemergenciaid: [],\r\n            alumnoid: [],\r\n            nombre: [, <any> Validators.required],\r\n            lada: [, <any> Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n            telefono: [, <any> Validators.required],\r\n            parentescoid: [, <any> Validators.required]\r\n        });\r\n        this.b.push(contacto);\r\n\r\n    }\r\n\r\n    respuesta(res) {\r\n        this.datocambiado = res.datocambiado;\r\n\r\n    }\r\n\r\n    eliminarcontacto(objeto) {\r\n\r\n        if (this.Formareamedia.get(\"otrocontacto\").value.length > 1) {\r\n            (this.Formareamedia.get(\"otrocontacto\") as FormArray).removeAt(objeto.i);\r\n            this.e.push(objeto.Formareamedia.value.contactoemergenciaid);\r\n            this.Formareamedia.get(\"eliminados\").setValue(this.e);\r\n        } else {\r\n            Messenger().post({\r\n                message: 'Debe tener al menos un contacto de emergencia',\r\n                type: 'success',\r\n                showCloseButton: true\r\n            });\r\n        }\r\n    }\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicalux.component.ts","import {AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder} from '@angular/forms';\r\nimport {Subject} from 'rxjs/Rx';\r\n\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'becas',\r\n    template: require('./becas.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\n\r\n\r\nexport class BecasComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Output() output = new EventEmitter();\r\n\r\n    accion: boolean;\r\n    submitted: boolean;\r\n\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject();\r\n    exportar: any;\r\n\r\n    arraytabla: any[];\r\n\r\n    datosBecas: any[];\r\n\r\n    formConsulta: FormGroup;\r\n\r\n    BooleanSelect: any[];\r\n    TablaBeca: any[];\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {}\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n\r\n\r\n        this.BooleanSelect = [\r\n            {\r\n                id: 1,\r\n                nombre: \"SI\"\r\n            },\r\n            {\r\n                id: 2,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n        this.formConsulta = this._fb.group({\r\n            matricula: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTrigger.next();\r\n        this.consultar();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n\r\n    consultar() {\r\n        if (this.idalumno) {\r\n            this.formConsulta.get(\"matricula\").setValue(this.idalumno);\r\n            this._httpService.postElemento('Controlescolar/Alumno/ConsultaBecas/Filtrar', this.formConsulta.value, false, true).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        this.datosBecas = res.body;\r\n                    } else {\r\n                        Messenger().post({\r\n                            message: \"No se encontró ningun registro\",\r\n                            type: 'success',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n\r\n                },\r\n                err => {\r\n                    //handle your error here.\r\n                    console.log(err);\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/becas/becas.component.ts","import {AfterViewInit, Component, ViewEncapsulation, OnInit, ViewChild, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {Router} from '@angular/router';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport {Seguridad} from 'entity/seguridad'\r\nimport { Helpers } from 'app/app.helpers';\r\n\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\ndeclare var alasql: any;\r\n\r\n@Component({\r\n    selector: 'certificaciones',\r\n    template: require('./certificaciones.component.html'),\r\n    providers: [AppState],\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class CertificacionesComponent implements OnInit, AfterViewInit {\r\n    @Input() idalumno: number;\r\n    @Input() nuevo: any;\r\n    @Input() seguridad: Seguridad;\r\n    @Input() select: {\r\n        SelectNacionalidad: any[],\r\n        SelectParentesco: any[],\r\n        SelectGrupo: any[],\r\n        SelectTipobaja: any[],\r\n        SelectMotivobajaFull: any[],\r\n        SelectEstatus: any[],\r\n        SelectPaisFull: any[],\r\n        SelectCiudadFull: any[],\r\n        SelectEstadoFull: any[],\r\n        SelectNivelIdioma : any[],\r\n        SelectIdiomaCertificacion: any[],\r\n        BooleanSelect: any[],\r\n        GeneroSelect: any[],\r\n    };\r\n    @Output() output = new EventEmitter();\r\n    @Output() guardado = new EventEmitter();\r\n    accion: boolean;\r\n    FormGuardar: FormGroup;\r\n    submitted: boolean;\r\n\r\n    @ViewChild('modal') public modal: ModalDirective;\r\n\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject();\r\n    exportar: any;\r\n    arrayentidad: any[];\r\n    datocambiado: boolean;\r\n    SelectIdioma: any[];\r\n    SelectIdiomaCertificacion: any[];\r\n\r\n    numberMask = createNumberMask({\r\n        prefix: '',\r\n        suffix: '',\r\n        includeThousandsSeparator: false,\r\n        thousandsSeparatorSymbol: ',',\r\n        allowDecimal: false,\r\n        decimalSymbol: '',\r\n        decimalLimit: 0,\r\n        integerLimit: null,\r\n        requireDecimal: false,\r\n        allowNegative: false,\r\n        allowLeadingZeroes: false\r\n      });\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, public helpers: Helpers, private _router: Router) {\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        $.fn.dataTable.ext.errMode = 'none';\r\n        $.fn.widgster.Constructor.DEFAULTS.bodySelector = '.widget-body form';\r\n        $('.widget').widgster();\r\n        //Parametros para configurar el datatable\r\n        this.dtOptions = {\r\n            dom: 'Blfrtip',\r\n            buttons: [{\r\n                extend: 'excel',\r\n                title: 'Nivelidioma',\r\n                exportOptions: {orthogonal: 'sort', columns: [0, 1, 2,3]}\r\n            }],\r\n            initComplete: () => {\r\n                var botones = $('.dt-buttons').hide();\r\n                this.exportar = function () {\r\n                    botones.find('.buttons-excel').click();\r\n                }\r\n            },\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [5], \"searchable\": false, \"orderable\": false},\r\n            {\r\n                targets: [3], \"orderDataType\": \"dom-text\",\r\n                render: function (data, type, row, meta) {\r\n                    if (type === 'sort') {\r\n                        var $input = $(data);\r\n                        data = ($input.hasClass(\"fa-check-square-o\")) ? \"SI\" : \"NO\";\r\n                    }\r\n                    return data;\r\n                }\r\n            }\r\n            ]\r\n        };\r\n        //Metodos para llenar la tabla\r\n        this.FormGuardar = this._fb.group({\r\n            certificacionid: [, <any>Validators.required],\r\n            idiomaid:[, <any>Validators.required],\r\n            fechacertificado: [, <any>Validators.required],\r\n            calificacion: [, <any>Validators.required],\r\n            alumnoid: [],\r\n            certificacionporalumnoid: [],\r\n            vigencia: [, <any>Validators.required]\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.dtTrigger.next();\r\n        this.buscar();\r\n        this.FormGuardar.get(\"alumnoid\").setValue(this.idalumno);\r\n        this.FormGuardar.valueChanges.subscribe(val => {\r\n            if (val != null) {\r\n                this.datocambiado = true;\r\n            }\r\n        });\r\n    }\r\n\r\n\r\n    //Accion de busqueda de inicio\r\n    buscar() {\r\n        //Llamada al servicio get para obtener el array para llenar el grid        \r\n        this._httpService.getElemento('Controlescolar/Alumno/Certificacion/' + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tabla\").dataTable().fnDestroy();\r\n                    this.arrayentidad = result.body;\r\n                    this.arrayentidad = result.body.map((alumno) => {\r\n                        alumno.idioma = this.select.SelectNivelIdioma.find(x=> x.idiomaid.idiomaid == alumno.certificacionid? alumno.certificacionid.idiomaid.idiomaid : 0);\r\n                        alumno.fecha = this.parseFecha(alumno.fechacertificado);\r\n                        return alumno;\r\n                    });\r\n                    this.dtTrigger.next();\r\n                } else {\r\n                    $(\"#tabla\").dataTable().fnClearTable();\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    //Accion al cerrar el modal\r\n    cancelar() {\r\n        this.modal.hide();\r\n        this.FormGuardar.reset({activo: true, alumnoid: this.idalumno})\r\n        this.submitted = false;\r\n        this.SelectIdiomaCertificacion = [];\r\n    }\r\n\r\n    //Acion para obtener los datos a editar y colocarlos en el modal\r\n    editar(r: any) {\r\n        try {\r\n            this.accion = true;\r\n            this.loadCertificacion(r.certificacionid.idiomaid.idiomaid);\r\n            this.FormGuardar.setValue({\r\n                certificacionid: r.certificacionid.certificacionid,\r\n                idiomaid: r.certificacionid.idiomaid.idiomaid,\r\n                fechacertificado: r.fechacertificado ? {date: this.helpers.FechaToStringObjeto(r.fechacertificado)} : null,\r\n                calificacion: r.calificacion,\r\n                alumnoid: r.alumnoid.alumnoid,\r\n                certificacionporalumnoid: r.certificacionporalumnoid,\r\n                vigencia: r.vigencia\r\n            })\r\n            this.modal.show();            \r\n        } catch (error) {\r\n            Messenger().post({\r\n                message: \"Ocurrio un error al intentar cargar los datos\",\r\n                type: 'success',\r\n                showCloseButton: true\r\n            });\r\n        }\r\n\r\n    }\r\n\r\n    //Accion para insertar o actualizar una entidad\r\n    guardar() {\r\n        if(!this.seguridad.accesos.Certificacioneseditar ||  !this.seguridad.accesos.Certificacionesagregar) {\r\n            this.guardado.next(true);\r\n            return false;\r\n        }\r\n        this.submitted = true;\r\n        if (!this.FormGuardar.valid) {\r\n            return false;\r\n        }\r\n\r\n        if(this.datocambiado == true) {\r\n            let data = this.FormGuardar.value;\r\n            data.fechacertificacion = this.helpers.FechaObjetoToString(data.fechacertificado.date);\r\n    \r\n            if (!this.FormGuardar.get('certificacionporalumnoid').value) {\r\n                //Llamada al servicio post para insertar un nuevo elemento\r\n                this._httpService.postElemento('Controlescolar/Alumno/Certificacion', data, null, true).subscribe(\r\n                    result => {\r\n                        if (result.status == 200) {\r\n                            this.cancelar();\r\n                            Messenger().post({\r\n                                message: result.body,\r\n                                type: 'success',\r\n                                showCloseButton: true\r\n                            });\r\n                            this.buscar();\r\n                        } else {\r\n                            Messenger().post({\r\n                                message: result.body,\r\n                                type: 'success',\r\n                                showCloseButton: true\r\n                            });\r\n                        }\r\n                    },\r\n                    error => {\r\n                        var errorMessage = <any> error;\r\n                        Messenger().post({\r\n                            message: 'No se pudo comunicar con el servidor',\r\n                            type: 'error',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                );\r\n            } else {\r\n                //Llamada al servicio put para actualizar un elemento\r\n                this._httpService.putElemento('Controlescolar/Alumno/Certificacion/' + this.FormGuardar.get('certificacionporalumnoid').value, data, null, true).subscribe(\r\n                    result => {\r\n                        if (result.status == 200) {\r\n                            this.cancelar();\r\n                            Messenger().post({\r\n                                message: result.body,\r\n                                type: 'success',\r\n                                showCloseButton: true\r\n                            });\r\n                            this.buscar();\r\n                        } else {\r\n                            Messenger().post({\r\n                                message: result.body,\r\n                                type: 'success',\r\n                                showCloseButton: true\r\n                            });\r\n                        }\r\n                    },\r\n                    error => {\r\n    \r\n                        var errorMessage = <any> error;\r\n                        Messenger().post({\r\n                            message: 'No se pudo comunicar con el servidor',\r\n                            type: 'error',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                );\r\n            }\r\n        } else {\r\n            this.guardado.next(true);\r\n        }\r\n\r\n\r\n    }\r\n\r\n    //Accion para eliminar una entidad\r\n    eliminar(id: number) {\r\n        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n            message: \"Confirme que desea eliminar el registro\",\r\n            hideAfter: false,\r\n            \r\n            actions: {\r\n                cancel: {\r\n                    label: \"Cancelar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                    }\r\n                },\r\n                delete: {\r\n                    label: \"Eliminar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                        //Llamada al servicio delete para eliminar un elemento\r\n                        this._httpService.deleteElemento('Controlescolar/Alumno/Certificacion/eliminarcert', id).subscribe(\r\n                            result => {\r\n                                if (result.status == 200) {\r\n                                    Messenger().post({\r\n                                        message: result.body,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                    this.buscar();\r\n                                } else {\r\n                                    Messenger().post({\r\n                                        message: result.body,\r\n                                        type: 'success',\r\n                                        showCloseButton: true\r\n                                    });\r\n                                }\r\n                            },\r\n                            error => {\r\n                                var errorMessage = <any> error;\r\n                                Messenger().post({\r\n                                    message: 'No se pudo comunicar con el servidor',\r\n                                    type: 'error',\r\n                                    showCloseButton: true\r\n                                });\r\n                            }\r\n                        );\r\n                    }\r\n                }\r\n            }\r\n        })\r\n    }\r\n\r\n    loadCertificacion(e) {\r\n        let id = e ? e : \"0\";\r\n        this.SelectIdiomaCertificacion = this.select.SelectIdiomaCertificacion.filter(x=> x.idiomaid ? x.idiomaid.idiomaid == id : null);\r\n    }\r\n\r\n    parseFecha(fecha: string) {\r\n        if (fecha) {\r\n            let array = fecha.split('T');\r\n            return array[0];\r\n        } else {\r\n            return null;\r\n        }\r\n\r\n    }\r\n\r\n\r\n} \n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/certificaciones/certificaciones.component.ts","import {AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder, Validators, FormArray} from '@angular/forms';\r\nimport {Helpers} from 'app/app.helpers';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { Seguridad } from 'entity/seguridad';\r\ndeclare let Messenger: any;\r\nimport {Config, ConfigERP} from 'app/configERP';\r\n\r\n@Component({\r\n    selector: 'contactosemergencia',\r\n    template: require('./contactosemergencia.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ContactosEmergenciaComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Input() seguridad: Seguridad;\r\n    @Output() output = new EventEmitter();\r\n    @Output() guardado = new EventEmitter();\r\n\r\n\r\n    Formareamedia: FormGroup;\r\n\r\n\r\n    submitted: boolean = false;\r\n    datocambiado: boolean = false;\r\n\r\n    e: any[];\r\n    version: any;\r\n    contactos: any[] = [];\r\n\r\n    lada1: any;\r\n    ladacontacto: any;\r\n    telefonocontacto: any;\r\n\r\n    selectOpciones: any[];\r\n    selectParentesco: any[];\r\n\r\n    numberMask = createNumberMask({\r\n        prefix: '',\r\n        suffix: '',\r\n        includeThousandsSeparator: false,\r\n        thousandsSeparatorSymbol: ',',\r\n        allowDecimal: false,\r\n        decimalSymbol: '',\r\n        decimalLimit: 0,\r\n        integerLimit: null,\r\n        requireDecimal: false,\r\n        allowNegative: false,\r\n        allowLeadingZeroes: false\r\n    });\r\n\r\n\r\n    constructor(private URLBase: AppState, private _fb: FormBuilder, private _help: Helpers, private _config: ConfigERP) {\r\n        var config: Config = this._config.getConfig();\r\n        this.version = config.version;\r\n    }\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n\r\n        this.selectOpciones = [\r\n            {\r\n                id: 1,\r\n                nombre: \"Si\"\r\n            },\r\n            {\r\n                id: 0,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n        //Formulario para guardar los contactos de emergencia\r\n        this.Formareamedia = this._fb.group({\r\n            otrocontacto: this._fb.array([]),\r\n            version: this.version,\r\n            eliminados: []\r\n        });\r\n        this.e = [];\r\n    }\r\n\r\n\r\n    ngAfterViewInit() {\r\n        this.DatosIniciales();\r\n        this.DatosContacto();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n\r\n    DatosIniciales() {\r\n        this.URLBase.getElemento('Controlescolar/Alumno/ContactoEmergencia').subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.selectParentesco = result.body.parentesco;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    DatosContacto() {\r\n        let b;\r\n        this.URLBase.getElemento(\"Alumno/Data/ContactoMedico/\" + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    b = this.Formareamedia.get(\"otrocontacto\") as FormArray;\r\n                    for (let c of result.body) {\r\n                        let contacto = this._fb.group({\r\n                            contactoemergenciaid: [c.contactoemergenciaid],\r\n                            alumnoid: [c.alumnoid.alumnoid],\r\n                            nombre: [c.nombre],\r\n                            lada: [this._help.ParseTelefono(c.telefono)[0]],\r\n                            telefono: [this._help.ParseTelefono(c.telefono)[1]],\r\n                            email: [c.email],\r\n                            parentescoid: [c.parentescoid.parentescoid]\r\n                        });\r\n                        b.push(contacto);\r\n                        this.contactos.push(c);\r\n                    }\r\n                    this.cambioDato();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    //    valores (){\r\n    //        let b = this.FormContactomedico.get(\"contacto\") as FormArray;\r\n    //        b.push(this._fb.group({\r\n    //            contactoId: [],\r\n    //            nombreCE: [, <any> Validators.required],\r\n    //            ladatelCE: [, <any> Validators.required],\r\n    //            comteltemp: [, <any> Validators.required],\r\n    //            parentescoCE: [, <any> Validators.required],\r\n    //        }));\r\n    //    }\r\n\r\n    cambioDato(): void {\r\n        this.Formareamedia.valueChanges.subscribe(val => {\r\n            if (val != null) {\r\n                this.datocambiado = true;\r\n                console.log(this.datocambiado);\r\n            }\r\n        });\r\n    }\r\n\r\n    respuesta(res) {\r\n        this.datocambiado = res.datocambiado;\r\n\r\n    }\r\n\r\n    eliminarcontacto(objeto) {\r\n        let registro;\r\n        if (this.Formareamedia.get(\"otrocontacto\").value.length > 1) {\r\n            for(let i = 0; i < this.Formareamedia.get(\"otrocontacto\").value.length; i ++) {\r\n                if (i == objeto.i) {\r\n                    registro = this.Formareamedia.get(\"otrocontacto\").value[i];\r\n                }\r\n            }\r\n            (this.Formareamedia.get(\"otrocontacto\") as FormArray).removeAt(objeto.i);\r\n            if (registro.contactoemergenciaid) {\r\n                this.e.push(registro.contactoemergenciaid);                \r\n            }\r\n            this.Formareamedia.get(\"eliminados\").setValue(this.e);\r\n        } else {\r\n            Messenger().post({\r\n                message: 'Debe tener al menos un contacto de emergencia',\r\n                type: 'success',\r\n                showCloseButton: true\r\n            });\r\n        }\r\n    }\r\n\r\n    addareamedica() {\r\n        let b;\r\n        b = this.Formareamedia.get(\"otrocontacto\") as FormArray;\r\n        let contacto = this._fb.group({\r\n            contactoemergenciaid: [],\r\n            alumnoid: [],\r\n            nombre: [, <any> Validators.required],\r\n            lada: [, <any> Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n            telefono: [, <any> Validators.required],\r\n            email: [, Validators.pattern(\r\n                /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n            )],\r\n            parentescoid: [, <any> Validators.required]\r\n        });\r\n        b.push(contacto);\r\n    }\r\n\r\n    Editar() {\r\n        if(!this.seguridad.accesos.Contactoeditar || !this.seguridad.accesos.Contactoagregar) {\r\n            this.guardado.next(true);\r\n            return false;\r\n        }\r\n        this.submitted = true;\r\n        if (this.Formareamedia.invalid && this.nuevo) {\r\n            this.guardado.next(false);\r\n            return false;\r\n        }\r\n\r\n        let dato = this.Formareamedia.value;\r\n        for (let i of dato.otrocontacto) {\r\n            i.telefonocontacto = this._help.UnitTelefono(i.lada, i.telefono);\r\n        }\r\n\r\n        let data = {\r\n            alumnoid: this.idalumno,\r\n            contactos: dato.otrocontacto,\r\n            eliminados: this.Formareamedia.get(\"eliminados\").value\r\n        };\r\n        if (this.datocambiado== true) {\r\n        this.URLBase.postElemento('Alumno/Guardar/ContactoMedico', data, null, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.guardado.next(true);\r\n                    (this.Formareamedia.get(\"otrocontacto\") as FormArray).controls = [];\r\n                    this.tablaContacto();\r\n                    this.datocambiado = false;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n        } else {\r\n            this.guardado.next(true);\r\n        }\r\n    }\r\n\r\n    tablaContacto() {\r\n        this.submitted = false;\r\n        this.URLBase.getElemento(\"Alumno/Data/ContactoMedico/\" + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                        this.contactos = result.body;\r\n                    } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    \r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/contactosemergencia/contactosemergencia.component.ts","import { AfterViewInit, AfterContentInit, Component, ViewEncapsulation, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { Router } from '@angular/router';\r\nimport { ModalDirective } from 'ng2-bootstrap/modal';\r\nimport { Subject } from 'rxjs/Rx';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { Seguridad } from 'entity/seguridad'\r\nimport { Helpers } from 'app/app.helpers';\r\n\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\ndeclare var alasql: any;\r\n\r\n@Component({\r\n    selector: 'custodia',\r\n    template: require('./custodia.component.html'),\r\n    providers: [AppState],\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class CustodiaComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() seguridad: Seguridad;\r\n    @Input() alumno: number;\r\n    @Input() nuevo: any;\r\n    @Output() guardado = new EventEmitter();\r\n    @Input() select: {\r\n        SelectNacionalidad: any[],\r\n        SelectParentesco: any[],\r\n        SelectGrupo: any[],\r\n        SelectTipobaja: any[],\r\n        SelectMotivobajaFull: any[],\r\n        SelectEstatus: any[],\r\n        SelectPaisFull: any[],\r\n        SelectCiudadFull: any[],\r\n        SelectEstadoFull: any[],\r\n        SelectNivelIdioma: any[],\r\n        SelectIdiomaCertificacion: any[],\r\n        BooleanSelect: any[],\r\n        GeneroSelect: any[],\r\n    };\r\n\r\n    @Output() output = new EventEmitter();\r\n    accion: boolean;\r\n    FormGuardar: FormGroup;\r\n    submitted: boolean;\r\n    mostrarcustodia: boolean = false;\r\n    datocambiado: boolean = false;\r\n\r\n    numberMask = createNumberMask({\r\n        prefix: '',\r\n        suffix: '',\r\n        includeThousandsSeparator: false,\r\n        thousandsSeparatorSymbol: ',',\r\n        allowDecimal: false,\r\n        decimalSymbol: '',\r\n        decimalLimit: 0,\r\n        integerLimit: null,\r\n        requireDecimal: false,\r\n        allowNegative: false,\r\n        allowLeadingZeroes: false\r\n    });\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, public helpers: Helpers, private _router: Router) {\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        $.fn.widgster.Constructor.DEFAULTS.bodySelector = '.widget-body form';\r\n        $('.widget').widgster();\r\n\r\n        //Metodos para llenar la tabla\r\n        this.FormGuardar = this._fb.group({\r\n            alumnoid: [],\r\n            custodia: [],\r\n            custodiapersona: [],\r\n            custodiaoficio: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.loadCustodia();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n        //this.cambioDato();\r\n    }\r\n\r\n    //Accion de busqueda de inicio\r\n    loadCustodia() {\r\n        if (this.alumno && (this.alumno as any).custodiapersona || this.alumno && (this.alumno as any).custodiaoficio) {\r\n            this.mostrarcustodia = true;\r\n\r\n            this.FormGuardar.patchValue({\r\n                custodia: ((this.alumno as any).custodiapersona ||  (this.alumno as any).custodiaoficio? 1 : 0),\r\n                custodiapersona: (this.alumno as any).custodiapersona,\r\n                custodiaoficio:  (this.alumno as any).custodiaoficio,\r\n                alumnoid: (this.alumno as any).alumnoid\r\n            });\r\n            this.cambioDato();\r\n        } else {\r\n            this.mostrarcustodia = false;\r\n            this.cambioDato();\r\n        }\r\n    }\r\n\r\n    //Accion para insertar o actualizar una entidad\r\n    Editar() {\r\n        if(!this.seguridad.accesos.Custodiaagregar) {\r\n            this.guardado.next(true);\r\n            return false;\r\n        }\r\n        this.submitted = true;\r\n        if (!this.FormGuardar.valid) {\r\n            return false;\r\n        }\r\n\r\n        if(this.datocambiado == true) {\r\n            let datos = this.FormGuardar.value;\r\n            //Llamada al servicio post para insertar un nuevo elemento\r\n            this._httpService.postElemento(\"Controlescolar/Alumno/Custodia/\" + (this.alumno as any).alumnoid, datos, null, true).subscribe(\r\n                result => {\r\n                    if (result.status == 200) {\r\n                        Messenger().post({\r\n                            message: result.body,\r\n                            type: 'success',\r\n                            showCloseButton: true\r\n                        });\r\n                        (this.alumno as any).custodiapersona = this.FormGuardar.get(\"custodiapersona\").value;\r\n                        (this.alumno as any).custodiaoficio = this.FormGuardar.get(\"custodiaoficio\").value;\r\n                        this.guardado.next(true);\r\n                    } else {\r\n                        Messenger().post({\r\n                            message: result.body,\r\n                            type: 'success',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                },\r\n                error => {\r\n                    var errorMessage = <any>error;\r\n                    Messenger().post({\r\n                        message: 'No se pudo comunicar con el servidor',\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        } else {\r\n            this.guardado.next(true);\r\n        }\r\n    }\r\n\r\n    IsCustodia(e) {\r\n        this.FormGuardar.get(\"custodiapersona\").setValidators(e && e == 1? Validators.required : null);\r\n        this.FormGuardar.get(\"custodiapersona\").updateValueAndValidity();\r\n        this.FormGuardar.get(\"custodiaoficio\").setValidators(e && e == 1? Validators.required : null);\r\n        this.FormGuardar.get(\"custodiaoficio\").updateValueAndValidity();\r\n        this.mostrarcustodia = (e && e == 1? true : false);\r\n        if(e && e != 1) {\r\n            this.FormGuardar.get(\"custodiapersona\").setValue(null);\r\n            this.FormGuardar.get(\"custodiaoficio\").setValue(null);\r\n        }\r\n\r\n    }\r\n\r\n    cambioDato(): void {\r\n        this.FormGuardar.valueChanges.subscribe(val => {\r\n            if (val != null) {\r\n                this.datocambiado = true;\r\n            }\r\n        });\r\n    }\r\n\r\n} \n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/custodia/custodia.component.ts","import { AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Helpers } from '../../../../../app.helpers';\r\nimport { StorageService } from \"app/directives/storage.service\";\r\nimport { Seguridad } from 'entity/seguridad';\r\nimport { Router } from '@angular/router';\r\nimport {ConfigERP, Config} from \"app/configERP\";\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'datosgenerales',\r\n    template: require('./datosgenerales.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n    styles: [require('./estilos.css')]\r\n})\r\nexport class DatosgeneralesComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: number;\r\n    @Input() cicloid: number;\r\n    @Input() seguridad: any;\r\n    @Input() nuevo: any;\r\n    @Input() select: {\r\n        SelectNacionalidad: any[],\r\n        SelectParentesco: any[],\r\n        SelectGrupo: any[],\r\n        SelectTipobaja: any[],\r\n        SelectMotivobajaFull: any[],\r\n        SelectEstatus: any[],\r\n        SelectPaisFull: any[],\r\n        SelectCiudadFull: any[],\r\n        SelectEstadoFull: any[],\r\n        BooleanSelect: any[],\r\n        GeneroSelect: any[],\r\n    };\r\n\r\n    SelectMotivobaja: any[];\r\n    SelectCiudad: any[];\r\n    SelectEstado: any[];\r\n\r\n    @Output() output = new EventEmitter();\r\n    @Output() guardado = new EventEmitter();\r\n\r\n    Formdatosalumno: FormGroup;\r\n    submitted: boolean = false;\r\n    datocambiado: boolean = false;\r\n\r\n    EdadActual: string;\r\n    ladamask = [\"(\", /\\d/, /\\d/, /\\d/, \")\"];\r\n    telmask = [/\\d/, /\\d/, /\\d/, \"-\", /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n    intercambio;\r\n    mostrarnumeronomina: boolean;\r\n    nombreprofesor: any;\r\n    sistema: any;\r\n    usuarioid: any;\r\n    validado: any;\r\n\r\n    constructor(private URLBase: AppState, private _config: ConfigERP, private _help: Helpers, private _fb: FormBuilder, private _router: Router, private storage: StorageService) {\r\n        var config: Config = this._config.getConfig();\r\n        this.sistema = config.version;\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.Formdatosalumno = this._fb.group({\r\n            primernombre: [, <any>Validators.required],\r\n            fechanacimiento: [, <any>Validators.required],\r\n            nacionalidadid: [, <any>Validators.required],\r\n            lada: [, <any>Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n            celular: [\"\"],\r\n            apellidopaterno: [, <any>Validators.required],\r\n            sexo: [, <any>Validators.required],\r\n            correoelectronicoper: [, Validators.pattern(\r\n                /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n            )],\r\n            apellidomaterno: [, <any>Validators.required],\r\n            curp: [, Validators.compose([Validators.required, Validators.pattern(\r\n                /^([A-Z][AEIOUX][A-Z]{2}\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\d])(\\d)$/\r\n            )])],\r\n            lada2: [],\r\n            correoelectronicoint: [],\r\n            nombrecompleto: [],\r\n            matricula: [],\r\n            celular2: [\"\"],\r\n            relacionalumnoid: [],\r\n            intercambio: [],\r\n            grupoid: [],\r\n            nolista: [],\r\n            estatusid: [, <any>Validators.required],\r\n            fechaingreso: [],\r\n            fechaegreso: [],\r\n            fechainicio: [],\r\n            fechafin: [],\r\n            observaciones: [],\r\n            tipobajaid: [],\r\n            motivobajaid: [],\r\n            paisid: [],\r\n            estadoid: [],\r\n            ciudadid: [],\r\n            reingresofuturo: [],\r\n            hijopersonal: [],\r\n            nonomina: [],\r\n            usuarioid: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n\r\n        this.Formdatosalumno.get('apellidopaterno').valueChanges.subscribe((c: string) => {\r\n            if (c) {\r\n                this.Formdatosalumno.get('apellidomaterno').setValidators(null);\r\n            } else if (!this.Formdatosalumno.get('apellidomaterno').value) {\r\n                this.Formdatosalumno.get('apellidomaterno').setValidators(Validators.required);\r\n                this.Formdatosalumno.get('apellidopaterno').setValidators(Validators.required);\r\n            } else {\r\n                this.Formdatosalumno.get('apellidopaterno').setValidators(null);\r\n            }\r\n            this.Formdatosalumno.get('apellidopaterno').updateValueAndValidity({ emitEvent: false });\r\n            this.Formdatosalumno.get('apellidomaterno').updateValueAndValidity({ emitEvent: false });\r\n        });\r\n\r\n        this.Formdatosalumno.get('apellidomaterno').valueChanges.subscribe((c: string) => {\r\n            if (c) {\r\n                this.Formdatosalumno.get('apellidopaterno').setValidators(null);\r\n            } else if (!this.Formdatosalumno.get('apellidopaterno').value) {\r\n                this.Formdatosalumno.get('apellidomaterno').setValidators(Validators.required);\r\n                this.Formdatosalumno.get('apellidopaterno').setValidators(Validators.required);\r\n            } else {\r\n                this.Formdatosalumno.get('apellidomaterno').setValidators(null);\r\n            }\r\n            this.Formdatosalumno.get('apellidopaterno').updateValueAndValidity({ emitEvent: false });\r\n            this.Formdatosalumno.get('apellidomaterno').updateValueAndValidity({ emitEvent: false });\r\n        });\r\n        this.Formdatosalumno.get('correoelectronicoper').valueChanges.subscribe((c: string) => {\r\n            if (c) {\r\n                this.Formdatosalumno.get('correoelectronicoper').setValidators(Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/));\r\n            } else {\r\n                this.Formdatosalumno.get('correoelectronicoper').setValidators(null);\r\n            }\r\n            this.Formdatosalumno.get('correoelectronicoper').updateValueAndValidity({ emitEvent: false });\r\n        });\r\n\r\n        this.Formdatosalumno.get('correoelectronicoint').valueChanges.subscribe((c: string) => {\r\n            if (c) {\r\n                this.Formdatosalumno.get('correoelectronicoint').setValidators(Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/));\r\n            } else {\r\n                this.Formdatosalumno.get('correoelectronicoint').setValidators(null);\r\n            }\r\n            this.Formdatosalumno.get('correoelectronicoint').updateValueAndValidity({ emitEvent: false });\r\n        });\r\n\r\n        this.Formdatosalumno.get('curp').valueChanges.subscribe((curp: any) => {\r\n            this.Formdatosalumno.get('curp').setValidators(curp ? Validators.pattern(\r\n                /^([A-Z][AEIOUX][A-Z]{2}\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\d])(\\d)$/\r\n            ) : Validators.required);\r\n            this.Formdatosalumno.get('curp').updateValueAndValidity({ emitEvent: false });\r\n        })\r\n        this.Formdatosalumno.get('lada').valueChanges.subscribe((lada: string) => {\r\n            let p;\r\n            if (lada) {\r\n                if (lada.length == 4) {\r\n                    p = '\\\\d{4}.\\\\d{4}';\r\n                } else if (lada.length == 5) {\r\n                    p = '\\\\d{3}.\\\\d{4}';\r\n                } else {\r\n                    p = '\\\\d{10}.\\\\d{10}';\r\n                }\r\n                this.Formdatosalumno.get('lada').setValidators([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]);\r\n                this.Formdatosalumno.get('celular').setValidators([Validators.required, Validators.pattern(p)]);\r\n            } else if (!this.Formdatosalumno.get('celular').value) {\r\n                this.Formdatosalumno.get('lada').setValidators(null)\r\n                this.Formdatosalumno.get('celular').setValidators(null);\r\n            } else {\r\n                this.Formdatosalumno.get('lada').setValidators([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]);\r\n            }\r\n            this.Formdatosalumno.get('lada').updateValueAndValidity({ emitEvent: false });\r\n            this.Formdatosalumno.get('celular').updateValueAndValidity({ emitEvent: false });\r\n        });\r\n        this.Formdatosalumno.get('celular').valueChanges.subscribe((tel) => {\r\n            let p;\r\n            let lada = this.Formdatosalumno.get('lada').value;\r\n            if (lada && lada != \"(\") {\r\n                this.Formdatosalumno.get('lada').setValidators([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]);\r\n                this.Formdatosalumno.get('lada').updateValueAndValidity({ emitEvent: false });\r\n\r\n                if (lada.length == 5) {\r\n                    p = '^\\\\d{3}.\\\\d{4}$';\r\n                } else {\r\n                    p = '^\\\\d{4}.\\\\d{4}$';\r\n                }\r\n                this.Formdatosalumno.get(\"celular\").setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp(p))]));\r\n                this.Formdatosalumno.get(\"celular\").updateValueAndValidity({ emitEvent: false });\r\n                let telefono = this.Formdatosalumno.get('celular').value;\r\n                if (telefono && telefono.match(p)) {\r\n                    return null;\r\n                } else {\r\n                    return { telefono: false }\r\n                }\r\n\r\n            }\r\n\r\n            if (tel) {\r\n                this.Formdatosalumno.get('lada').setValidators(<any>Validators.required);\r\n                this.Formdatosalumno.get('lada').updateValueAndValidity({ onlySelf: true, emitEvent: false });\r\n            } else {\r\n                if (this.Formdatosalumno.get('lada').value) {\r\n                    this.Formdatosalumno.get('celular').setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp(p))]));\r\n                    this.Formdatosalumno.get('celular').updateValueAndValidity({ onlySelf: true, emitEvent: false });\r\n                } else {\r\n                    this.Formdatosalumno.get('lada').setValidators(null);\r\n                    this.Formdatosalumno.get('lada').updateValueAndValidity({ onlySelf: true, emitEvent: false });\r\n                    this.Formdatosalumno.get('celular').setValidators(null);\r\n                    this.Formdatosalumno.get('celular').updateValueAndValidity({ onlySelf: true, emitEvent: false });\r\n                }\r\n            }\r\n        });\r\n        /*this.Formdatosalumno.get('lada2').valueChanges.subscribe((lada2: string) => {\r\n            let p;\r\n            if (lada2) {\r\n                if (lada2.length == 5) {\r\n                    p = '^\\\\d{3}.\\\\d{4}$';\r\n                } else {\r\n                    p = '^\\\\d{4}.\\\\d{4}$';\r\n                }\r\n                this.Formdatosalumno.get(\"celular2\").setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp(p))]));\r\n                this.Formdatosalumno.get(\"celular2\").updateValueAndValidity();\r\n                let telefono = this.Formdatosalumno.get('celular2').value;\r\n                if (telefono && telefono.match(p)) {\r\n                    return null;\r\n                } else {\r\n                    return { telefono: false }\r\n                }\r\n            }\r\n        }); */\r\n        this.Formdatosalumno.get('fechanacimiento').valueChanges.subscribe((fecha: any) => {\r\n            fecha ? fecha.date ? this.EdadActual = this.calcularEdad(this._help.FechaObjetoToString(fecha ? fecha.date : null)) : null : null;\r\n\r\n        })\r\n        this.Formdatosalumno.get('estatusid').valueChanges.subscribe((estatusid: number) => {\r\n            if (estatusid == 1) {\r\n                this.Formdatosalumno.get(\"fechaegreso\").setValue(null);\r\n                this.Formdatosalumno.get(\"fechaegreso\").setValidators(null);\r\n                this.Formdatosalumno.get(\"fechaegreso\").updateValueAndValidity();\r\n\r\n                this.Formdatosalumno.get(\"tipobajaid\").setValue(null);\r\n                this.Formdatosalumno.get(\"tipobajaid\").setValidators(null);\r\n                this.Formdatosalumno.get(\"tipobajaid\").updateValueAndValidity();\r\n\r\n                this.Formdatosalumno.get(\"motivobajaid\").setValue(null);\r\n                this.Formdatosalumno.get(\"motivobajaid\").setValidators(null);\r\n                this.Formdatosalumno.get(\"motivobajaid\").updateValueAndValidity();\r\n            } else {\r\n                this.Formdatosalumno.get(\"fechaegreso\").setValidators(null);\r\n                this.Formdatosalumno.get(\"fechaegreso\").updateValueAndValidity();\r\n                this.Formdatosalumno.get(\"tipobajaid\").setValidators(null);\r\n                this.Formdatosalumno.get(\"tipobajaid\").updateValueAndValidity();\r\n                this.Formdatosalumno.get(\"motivobajaid\").setValidators(null);\r\n                this.Formdatosalumno.get(\"motivobajaid\").updateValueAndValidity();\r\n            }\r\n        });\r\n        this.Formdatosalumno.get(\"correoelectronicoper\").setValidators([Validators.required, Validators.pattern(\r\n            /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n        )]);\r\n        this.Formdatosalumno.get(\"correoelectronicoper\").updateValueAndValidity();\r\n        this.Formdatosalumno.get(\"correoelectronicoint\").setValidators([Validators.required, Validators.pattern(\r\n            /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n        )]);\r\n        this.Formdatosalumno.get(\"correoelectronicoint\").updateValueAndValidity();\r\n\r\n        this.Formdatosalumno.get('hijopersonal').valueChanges.subscribe((c) => {\r\n            if (c && this.sistema == 2) {\r\n                this.Formdatosalumno.get('nonomina').setValidators(Validators.required);\r\n                this.mostrarnumeronomina = true;\r\n            } else {\r\n                this.usuarioid = null;\r\n                this.Formdatosalumno.get('nonomina').setValidators(null);\r\n                this.mostrarnumeronomina = false;\r\n            }\r\n            this.Formdatosalumno.get('nonomina').updateValueAndValidity({ emitEvent: false });\r\n        });\r\n\r\n\r\n        this.consultar();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    consultar() {\r\n        this.URLBase.getElemento('Controlescolar/Alumno/DatosGenerales/' + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.cargarDatos(result.body.datosgenerales, result.body.contactoemergencia[0], result.body.situacionactual);\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    buscarProfesor(nonomina) {\r\n        if (!this.Formdatosalumno.get(\"nonomina\").value) {\r\n            return false;\r\n        }\r\n        this.URLBase.getElemento('Controlescolar/Reinscripcion/profesor/' + this.Formdatosalumno.get(\"nonomina\").value).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    let prof = result.body;\r\n                    this.nombreprofesor = prof ? prof.nombreprofesor : '';\r\n                    this.usuarioid = prof.usuarioid;\r\n                    this.validado = true;\r\n                } else {\r\n                    this.usuarioid = null;\r\n                    this.nombreprofesor = '';\r\n                    this.validado = false;\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                this.usuarioid = null;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    cargarDatos(dg, ce, sa) {\r\n        //this.loadGrado(this.datosalumno.nivelid);\r\n        dg.fechanacimiento ? dg.fechanacimiento.date ?\r\n            this.EdadActual = this.calcularEdad(this._help.FechaObjetoToString(dg.fechanacimiento ? dg.fechanacimiento.date : null)) : null : null;\r\n        var idnacionalidades = [];\r\n        if (dg.nacionalidad) {\r\n            for (var i = dg.nacionalidad.length - 1; i >= 0; i--) {\r\n                idnacionalidades[i] = dg.nacionalidad[i].nacionalidadid;\r\n            }\r\n        }\r\n\r\n        if (dg.fechanacimiento) {\r\n            var fechanac = dg.fechanacimiento.split(\"T\");\r\n            var fechanacimiento = fechanac[0].split(\"-\");\r\n        }\r\n        if (sa.fechaegreso) {\r\n            var fechaegreso = sa.fechaegreso.split(\"-\");\r\n        }\r\n        if (sa.fechaingreso) {\r\n            var fechaingreso = sa.fechaingreso.split(\"-\");\r\n        }\r\n        if (sa.tipobajaid) {\r\n            this.getMotivobaja(sa.tipobajaid);\r\n        }\r\n\r\n        this.getEstado(dg.paisid);\r\n        this.getCiudad(dg.estadoid);\r\n        this.isIntercambio(parseInt(dg.intercambio));\r\n\r\n        this.usuarioid = dg.usuarioid;\r\n\r\n        if(dg.hijopersonal) {\r\n            this.mostrarnumeronomina = true;\r\n            this.nombreprofesor = dg.nombreprofesor;\r\n        }\r\n\r\n        this.Formdatosalumno.patchValue({\r\n            primernombre: dg.primernombre ? dg.primernombre : null,\r\n            lada: dg.telefono ? this._help.ParseTelefono(dg.telefono)[0] : \"\",\r\n            celular: dg.telefono ? this._help.ParseTelefono(dg.telefono)[1] : \"\",\r\n            fechanacimiento: fechanacimiento ? { date: { day: parseInt(fechanacimiento[2]), month: parseInt(fechanacimiento[1]), year: parseInt(fechanacimiento[0]) } } : null,\r\n            nacionalidadid: idnacionalidades ? idnacionalidades : null,\r\n            apellidopaterno: dg.apellidopaterno ? dg.apellidopaterno : null,\r\n            sexo: dg.sexo ? dg.sexo : null,\r\n            correoelectronicoper: dg.correo ? dg.correo : null,\r\n            apellidomaterno: dg.apellidomaterno ? dg.apellidomaterno : null,\r\n            curp: dg.curp ? dg.curp : null,\r\n            correoelectronicoint: dg.correoinstitucional ? dg.correoinstitucional : null,\r\n            nombrecompleto: (ce) ? ce.contactoemergencianombre ? ce.contactoemergencianombre : null : null,\r\n            //lada2: (ce) ? ce.contactoemergenciatelefono ? this._help.ParseTelefono(ce.contactoemergenciatelefono)[0] : \"\" : null,\r\n            celular2: (ce) ? ce.contactoemergenciatelefono ? this._help.ParseTelefono(ce.contactoemergenciatelefono)[1] : \"\" : null,\r\n            relacionalumnoid: (ce) ? ce.parentescoid ? ce.parentescoid : null : null,\r\n            intercambio: dg.intercambio,\r\n            fechainicio: dg.fechainicio ? { date: this._help.FechaToStringObjeto(dg.fechainicio) } : null,\r\n            fechafin: dg.fechafin ? { date: this._help.FechaToStringObjeto(dg.fechafin) } : null,\r\n            observaciones: dg.observaciones ? dg.observaciones : null,\r\n            matricula: [],\r\n            grupoid: sa.grupoid ? parseInt(sa.grupoid) : null,\r\n            nolista: sa.numerolista ? sa.numerolista : null,\r\n            estatusid: sa.alumnoestatusid ? sa.alumnoestatusid : null,\r\n            fechaingreso: fechaingreso ? { date: { day: parseInt(fechaingreso[2]), month: parseInt(fechaingreso[1]), year: parseInt(fechaingreso[0]) } } : null,\r\n            fechaegreso: fechaegreso ? { date: { day: parseInt(fechaegreso[2]), month: parseInt(fechaegreso[1]), year: parseInt(fechaegreso[0]) } } : null,\r\n            tipobajaid: sa.tipobajaid ? sa.tipobajaid : null,\r\n            motivobajaid: sa.motivobajaid ? sa.motivobajaid : null,\r\n            paisid: dg.paisid ? dg.paisid : null,\r\n            estadoid: dg.estadoid ? dg.estadoid : null,\r\n            ciudadid: dg.ciudadid ? dg.ciudadid : null,\r\n            reingresofuturo: dg.reingresofuturo ? 1 : dg.reingresofuturo === false ? \"0\" : null,\r\n            hijopersonal: dg.hijopersonal ? 1 : dg.hijopersonal === false ? false : null,\r\n            nonomina: dg.numeronomina ? dg.numeronomina : null,\r\n            usuarioid: dg.usuarioid ? dg.usuarioid : null\r\n        });\r\n        \r\n\r\n        this.Formdatosalumno.valueChanges.subscribe(() => {\r\n            this.datocambiado = true;\r\n        });\r\n    }\r\n\r\n    getEstado(id) {\r\n        if (id != null) {\r\n            this.SelectEstado = this.select.SelectEstadoFull.filter((x) => x.paisid.paisid == id);\r\n        } else {\r\n            this.Formdatosalumno.get(\"estadoid\").setValue(null);\r\n            this.SelectEstado = [];\r\n            this.Formdatosalumno.get(\"ciudadid\").setValue(null);\r\n            this.SelectCiudad = [];\r\n        }\r\n    }\r\n\r\n    getCiudad(id) {\r\n        if (id != null) {\r\n            this.SelectCiudad = this.select.SelectCiudadFull.filter((x) => x.estadoid.estadoid == id);\r\n        } else {\r\n            this.Formdatosalumno.get(\"ciudadid\").setValue(null);\r\n            this.SelectCiudad = [];\r\n        }\r\n    }\r\n\r\n    getMotivobaja(id) {\r\n        if (id != null) {\r\n            this.SelectMotivobaja = this.select.SelectMotivobajaFull.filter((x) => x.tipobajaid.tipobajaid == id);\r\n        } else {\r\n            this.SelectMotivobaja = [];\r\n            this.Formdatosalumno.get(\"motivobajaid\").setValue(null);\r\n        }\r\n    }\r\n\r\n    calcularEdad(fecha: string) {\r\n        var values = fecha.split(\"-\");\r\n        var dia = Number(values[2]);\r\n        var mes = Number(values[1]);\r\n        var ano = Number(values[0]);\r\n        var fecha_hoy = new Date();\r\n        var ahora_ano = fecha_hoy.getFullYear();\r\n        var ahora_mes = fecha_hoy.getMonth() + 1;\r\n        var ahora_dia = fecha_hoy.getDate();\r\n        var edad = (ahora_ano + 1900) - ano;\r\n        if (ahora_mes < mes) {\r\n            edad--;\r\n        }\r\n        if ((mes == ahora_mes) && (ahora_dia < dia)) {\r\n            edad--;\r\n        }\r\n        if (edad > 1900) {\r\n            edad -= 1900;\r\n        }\r\n        var meses = 0;\r\n        if (ahora_mes > mes && dia > ahora_dia)\r\n            meses = ahora_mes - mes - 1;\r\n        else if (ahora_mes > mes)\r\n            meses = ahora_mes - mes\r\n        if (ahora_mes < mes && dia < ahora_dia)\r\n            meses = 12 - (mes - ahora_mes);\r\n        else if (ahora_mes < mes)\r\n            meses = 12 - (mes - ahora_mes + 1);\r\n        if (ahora_mes == mes && dia > ahora_dia)\r\n            meses = 11;\r\n\r\n        var dias = 0;\r\n        if (ahora_dia > dia)\r\n            dias = ahora_dia - dia;\r\n        if (ahora_dia < dia) {\r\n            var ultimoDiaMes = new Date(ahora_ano, ahora_mes - 1, 0);\r\n            dias = ultimoDiaMes.getDate() - (dia - ahora_dia);\r\n        }\r\n\r\n        return edad + \" años, \" + meses + \" meses y \" + dias + \" días\";\r\n    }\r\n\r\n    isIntercambio(e) {\r\n        this.intercambio = (e && e != \"0\" ? true : !e ? false : false);\r\n        this.Formdatosalumno.get(\"fechainicio\").setValidators(this.intercambio ? Validators.required : null);\r\n        this.Formdatosalumno.get(\"fechainicio\").updateValueAndValidity();\r\n\r\n        this.Formdatosalumno.get(\"observaciones\").setValidators(this.intercambio ? Validators.required : null);\r\n        this.Formdatosalumno.get(\"observaciones\").updateValueAndValidity();\r\n\r\n        !this.intercambio ? this.Formdatosalumno.get(\"fechainicio\").setValue(null) : null;\r\n        !this.intercambio ? this.Formdatosalumno.get(\"fechafin\").setValue(null) : null;\r\n        !this.intercambio ? this.Formdatosalumno.get(\"observaciones\").setValue(null) : null;\r\n    }\r\n\r\n    Editar() {\r\n        if (!this.seguridad.accesos.Datosgeneraleseditar) {\r\n            this.guardado.next(true);\r\n            return false;\r\n        }\r\n        console.log(this.Formdatosalumno);\r\n        if (this.nuevo) {\r\n            this.submitted = true;\r\n            if (this.Formdatosalumno.invalid) {\r\n                this.guardado.next(false);\r\n                return false;\r\n            }\r\n\r\n            let data = this.Formdatosalumno.value;\r\n            if (this.datocambiado) {\r\n                let objetoguardar = {};\r\n                if (this.Formdatosalumno.get(\"fechaegreso\").value) {\r\n                    let fechaegreso = this.Formdatosalumno.get(\"fechaegreso\").value;\r\n                    if (fechaegreso && fechaegreso.date) {\r\n                        this.Formdatosalumno.get(\"fechaegreso\").setValue(this._help.FechaObjetoToString(fechaegreso.date));\r\n                    }\r\n\r\n\r\n                }\r\n                if (this.Formdatosalumno.get(\"fechaingreso\").value) {\r\n                    let fechaingreso = this.Formdatosalumno.get(\"fechaingreso\").value;\r\n                    if (fechaingreso && fechaingreso.date) {\r\n                        this.Formdatosalumno.get(\"fechaingreso\").setValue(this._help.FechaObjetoToString(fechaingreso.date));\r\n                    }\r\n\r\n\r\n                }\r\n                if (this.Formdatosalumno.get(\"fechanacimiento\").value) {\r\n                    let fechanacimiento = this.Formdatosalumno.get(\"fechanacimiento\").value;\r\n                    if (fechanacimiento && fechanacimiento.date) {\r\n                        this.Formdatosalumno.get(\"fechanacimiento\").setValue(this._help.FechaObjetoToString(fechanacimiento.date));\r\n                    }\r\n                }\r\n\r\n                if(this.Formdatosalumno.get(\"hijopersonal\").value && !this.validado && this.sistema == 2) {\r\n                    Messenger().post({\r\n                        message: \"Debe introducir un número de nomina valido\",\r\n                        type: \"success\",\r\n                        showCloseButton: true\r\n                    });\r\n                    return false;\r\n                }\r\n\r\n\r\n                objetoguardar = {\r\n                    alumnoid: this.idalumno,\r\n                    nuevo: this.nuevo,\r\n                    fechanacimiento: this.Formdatosalumno.get(\"fechanacimiento\").value,\r\n                    sexo: this.Formdatosalumno.get(\"sexo\").value,\r\n                    curp: this.Formdatosalumno.get(\"curp\").value,\r\n                    correoinstitucional: this.Formdatosalumno.get(\"correoelectronicoint\").value,\r\n                    primernombre: this.Formdatosalumno.get(\"primernombre\").value,\r\n                    apellidopaterno: this.Formdatosalumno.get(\"apellidopaterno\").value,\r\n                    apellidomaterno: this.Formdatosalumno.get(\"apellidomaterno\").value,\r\n                    lugarnacimiento: {\r\n                        paisid: this.Formdatosalumno.get(\"paisid\").value,\r\n                        estadoid: this.Formdatosalumno.get(\"estadoid\").value,\r\n                        municipioid: this.Formdatosalumno.get(\"ciudadid\").value,\r\n                    },\r\n                    alumnotelefono: {\r\n                        telefono: this._help.UnitTelefono(this.Formdatosalumno.get(\"lada\").value, this.Formdatosalumno.get(\"celular\").value)\r\n                    },\r\n                    alumnocorreo: [\r\n                        {\r\n                            correo: this.Formdatosalumno.get(\"correoelectronicoper\").value\r\n                        }\r\n                    ],\r\n                    nacionalidadid: this.Formdatosalumno.get(\"nacionalidadid\").value,\r\n                    alumnoestatusid: this.Formdatosalumno.get(\"estatusid\").value,\r\n                    alumnodatomedico: {\r\n                        contactoemergencianombre: this.Formdatosalumno.get(\"nombrecompleto\").value,\r\n                        //contactoemergenciatelefono: this._help.UnitTelefono(this.Formdatosalumno.get(\"lada2\").value, this.Formdatosalumno.get(\"celular2\").value),\r\n                        contactoemergenciaparentesco: this.Formdatosalumno.get(\"relacionalumnoid\").value,\r\n                    },\r\n                    motivobajaid: this.Formdatosalumno.get(\"motivobajaid\").value,\r\n                    tipobajaid: this.Formdatosalumno.get(\"tipobajaid\").value,\r\n                    fechabaja: this.Formdatosalumno.get(\"fechaegreso\").value,\r\n                    intercambio: this.Formdatosalumno.get(\"intercambio\").value,\r\n                    reingresofuturo: this.Formdatosalumno.get(\"reingresofuturo\").value,\r\n                    hijopersonal: this.Formdatosalumno.get(\"hijopersonal\").value,\r\n                    fechainicio: data.intercambio == 1 ?\r\n                        this._help.FechaObjetoToString(data.fechainicio ? data.fechainicio.date : null) : null,\r\n                    fechafin: data.intercambio == 1 ?\r\n                        data.fechafin ? this._help.FechaObjetoToString(data.fechafin.date) : null : null,\r\n                    observaciones: data.observaciones ? data.observaciones : null,\r\n                    cicloid: this.cicloid,\r\n                    nonomina: this.Formdatosalumno.get(\"nonomina\").value,\r\n                    usuarioid: this.usuarioid\r\n                }\r\n\r\n                this.URLBase.postElemento(\"Controlescolar/Alumno/DatosGenerales\", objetoguardar, false, true).subscribe(\r\n                    res => {\r\n                        if (res.status == 200) {\r\n                            Messenger().post({\r\n                                message: \"Se ha actualizado el registro\",\r\n                                type: \"success\",\r\n                                showCloseButton: true\r\n                            });\r\n                            this.datocambiado = false;\r\n                            this.guardado.next(true);\r\n                        } else {\r\n                            Messenger().post({\r\n                                message: \"No se encontro ningun registro\",\r\n                                type: \"success\",\r\n                                showCloseButton: true\r\n                            });\r\n                        }\r\n                    },\r\n                    err => {\r\n                        Messenger().post({\r\n                            message: \"No se pudo comunicar con el servidor\",\r\n                            type: \"error\",\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                );\r\n            }\r\n            else {\r\n                this.guardado.next(true);\r\n            }\r\n        } else {\r\n            this.guardado.next(true);\r\n        }\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/datosgenerales/datosgenerales.component.ts","import { AfterViewInit, Component, ViewEncapsulation, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { Router } from '@angular/router';\r\nimport { ModalDirective } from 'ng2-bootstrap/modal';\r\nimport { Subject } from 'rxjs/Rx';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { Seguridad } from 'entity/seguridad'\r\nimport { Helpers } from 'app/app.helpers';\r\n\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\ndeclare var alasql: any;\r\n\r\n@Component({\r\n    selector: 'extraordinarios',\r\n    template: require('./extraordinarios.component.html'),\r\n    providers: [AppState],\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class ExtraordinariosComponent implements OnInit, AfterViewInit {\r\n\r\n    @Input() idalumno: number;\r\n    @Input() cicloid: number;\r\n    @Input() nuevo: any;\r\n    @Input() select: {\r\n        SelectNacionalidad: any[],\r\n        SelectParentesco: any[],\r\n        SelectGrupo: any[],\r\n        SelectTipobaja: any[],\r\n        SelectMotivobajaFull: any[],\r\n        SelectEstatus: any[],\r\n        SelectPaisFull: any[],\r\n        SelectCiudadFull: any[],\r\n        SelectEstadoFull: any[],\r\n        SelectNivelIdioma: any[],\r\n        SelectIdiomaCertificacion: any[],\r\n        BooleanSelect: any[],\r\n        GeneroSelect: any[],\r\n    };\r\n\r\n    @Output() output = new EventEmitter();\r\n    accion: boolean;\r\n    FormGuardar: FormGroup;\r\n    submitted: boolean;\r\n\r\n    @ViewChild('modal') public modal: ModalDirective;\r\n\r\n    dtOptions: any = {};\r\n    dtOptions2: any = {};\r\n    dtTrigger = new Subject();\r\n    exportar: any;\r\n    arrayentidad: any[];\r\n    arraytabla: any[];\r\n    estatusextraordinario: boolean = false;\r\n    alumnomodal: any;\r\n    matriculamodal: any;\r\n    ciclomodal: any;\r\n    nivelmodal: any;\r\n    gradomodal: any;\r\n    materiamodal: any;\r\n    verision: any;\r\n    materiaporplanestudioidmodal: any;\r\n    intentomodal: any;\r\n    acuerdosmodal: any;\r\n    dtTriggerAcuerdos = new Subject();\r\n    FormAcuerdo: FormGroup;\r\n    FormAlumno: FormGroup;\r\n    usuarioid: any;\r\n    hoy: any;\r\n    dataalumno: any;\r\n    selectPeriodo: any;\r\n    @ViewChild('acuerdos') public modalacuerdos: ModalDirective;\r\n    @ViewChild('modalextraordinarios') public modalextraordinarios: ModalDirective;\r\n\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, public helpers: Helpers, private _router: Router) {\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        $.fn.widgster.Constructor.DEFAULTS.bodySelector = '.widget-body form';\r\n        $('.widget').widgster();\r\n        //Parametros para configurar el datatable\r\n        this.dtOptions = {\r\n            dom: 'Blfrtip',\r\n            initComplete: () => {\r\n                var botones = $('.dt-buttons').hide();\r\n                this.exportar = function () {\r\n                    botones.find('.buttons-excel').click();\r\n                }\r\n            },\r\n            language: { url: \"./assets/datatable/Spanish.json\" },\r\n            columnDefs: [{ \"targets\": [19], \"searchable\": false, \"orderable\": false }]\r\n        };\r\n        this.dtOptions2 = {\r\n            dom: 'lfrtip',\r\n            language: { url: \"./assets/datatable/Spanish.json\" },\r\n        };       \r\n        //Metodos para llenar la tabla\r\n        this.FormGuardar = this._fb.group({\r\n            certificacionid: [, <any>Validators.required],\r\n            idiomaid: [, <any>Validators.required],\r\n            fechacertificado: [, <any>Validators.required],\r\n            calificacion: [, <any>Validators.required],\r\n            alumnoid: [],\r\n            certificacionporalumnoid: [],\r\n            vigencia: [, <any>Validators.required]\r\n        });\r\n\r\n        this.FormAcuerdo = this._fb.group({\r\n            tipoextraordinarioid: [, <any>Validators.required],\r\n            periodoregularizacionid: [, <any>Validators.required],\r\n            agendaextraordinarioid: [, <any>Validators.required],\r\n            cicloid: [],\r\n            extraordinarioid: [],\r\n            acuerdoextraordinarioid: [],\r\n            intento: [],\r\n            usuarioid: []\r\n\r\n        });\r\n        this.FormAlumno = this._fb.group({\r\n            alumnoid: [],\r\n            periodoregularizacionid: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.dtTrigger.next();\r\n        this.consultar();\r\n        this.FormGuardar.get(\"alumnoid\").setValue(this.idalumno);\r\n        this.modalacuerdos.onHidden.subscribe(() => {\r\n            $('body').addClass('modal-open');\r\n        })\r\n    }\r\n\r\n    consultar() {\r\n        if (this.idalumno) {\r\n            this._httpService.getElemento('Controlescolar/Alumno/Subgrupos/Datoalumno?alumnoid=' + this.idalumno).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        this.arraytabla = res.body;\r\n                    }\r\n\r\n                },\r\n                err => {\r\n                    //handle your error here.\r\n                    console.log(err);\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    //Accion de busqueda de inicio\r\n    buscar(c) {\r\n        this.dataalumno = {\r\n            gradoid: c.gradoid,\r\n            cicloid: c.cicloid? c.cicloid : null,\r\n            alumnoid: this.idalumno\r\n        }\r\n        //Llamada al servicio get para obtener el array para llenar el grid        \r\n        this._httpService.postElemento('Controlescolar/Extraordinario/Filtrar', this.dataalumno, null, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.modalextraordinarios.show();\r\n                    $(\"#tabla\").dataTable().fnDestroy();\r\n                    this.arrayentidad = result.body;\r\n                    this.dtTrigger.next();\r\n                } else {\r\n                    $(\"#tabla\").dataTable().fnClearTable();\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    //Accion al cerrar el modal\r\n    cancelar() {\r\n        this.modal.hide();\r\n        this.FormGuardar.reset({ activo: true, alumnoid: this.idalumno })\r\n        this.submitted = false;\r\n    }\r\n\r\n\r\n    //Accion para obtener los datos al ver y colocarlos en el modal\r\n    verAcuerdos(r: any) {\r\n        if (r.estatus == \"Irregular\" || r.estatus == \"Revalidado\") {\r\n            this.estatusextraordinario = true;\r\n        } else {\r\n            this.estatusextraordinario = false;\r\n        }\r\n        /*\r\n        this.FormAcuerdos.setValue({\r\n            matricula: r.municipioid\r\n        });\r\n        */\r\n\r\n        this.alumnomodal = r.alumno;\r\n        this.matriculamodal = r.matricula;\r\n\r\n        this.ciclomodal = r.ciclo;\r\n        this.materiaporplanestudioidmodal = r.materiaporplanestudioid;\r\n        this.nivelmodal = r.nivel;\r\n        this.gradomodal = r.grado;\r\n        this.materiamodal = r.materia;\r\n        let acuerdos = r.acuerdos.length + 1;\r\n\r\n        if (this.verision == 1 && acuerdos < 4) {\r\n            this.intentomodal = false;\r\n        } else {\r\n            this.intentomodal = true;\r\n        }\r\n\r\n        $(\"#tablaAcuerdos\").dataTable().fnDestroy();\r\n        this.acuerdosmodal = r.acuerdos;\r\n        this.dtTriggerAcuerdos.next();\r\n        this.FormAcuerdo.get('extraordinarioid').setValue(r.extraordinarioid);\r\n        this.FormAcuerdo.get('cicloid').setValue(r.cicloid);\r\n        this.FormAcuerdo.get('usuarioid').setValue(this.usuarioid);\r\n        this.modalacuerdos.show();\r\n    }\r\n\r\n    //Accion al cerrar el modal\r\n    cerrar() {\r\n        this.modalacuerdos.hide();\r\n    }\r\n\r\n    cerrarExtraordinarios(){\r\n        this.modalextraordinarios.hide();\r\n        $(\"#tabla\").dataTable().fnClearTable();\r\n    }\r\n\r\n    getPeriodos(c) {\r\n        this._httpService.getElemento('Controlescolar/Extraordinario/Periodos').subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.selectPeriodo = result.body.periodos.filter(x=> x.cicloid.cicloid == c.cicloid);\r\n                    this.hoy = result.body.hoy;\r\n                    let today = new Date(this.hoy);\r\n                    for (let p of this.selectPeriodo) {\r\n                        if (new Date(this.hoy) >= new Date(p.fechainicio) && new Date(p.fechafin) > new Date(this.hoy)) {\r\n                            this.FormAlumno.get(\"periodoregularizacionid\").setValue(p.periodoregularizacionid);\r\n                        }\r\n                    }\r\n                    this.buscar(c);\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    buscarExtraordinario() {\r\n        let data = this.dataalumno;\r\n        data.periodoregularizacionid = this.FormAlumno.get(\"periodoregularizacionid\").value;\r\n        this._httpService.postElemento('Controlescolar/Extraordinario/Filtrar', data, null, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tabla\").dataTable().fnDestroy();\r\n                    this.arrayentidad = result.body;\r\n                    this.dtTrigger.next();\r\n                } else {\r\n                    $(\"#tabla\").dataTable().fnClearTable();\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    limpiar() {\r\n        this.FormAlumno.reset();\r\n        $(\"#tabla\").dataTable().fnClearTable();\r\n    }\r\n\r\n} \n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/extraordinarios/extraordinarios.component.ts","import { AfterViewInit, AfterContentInit, ViewEncapsulation, ComponentRef, Component, OnInit, Input, Output, ComponentFactory, EventEmitter, ViewChild, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { ModalDirective } from 'ng2-bootstrap/modal';\r\nimport { Subject } from 'rxjs/Rx';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { PadreTutorComponent } from 'app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/padretutor.component';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { ConfigERP, Config } from 'app/configERP';\r\nimport { Seguridad } from 'entity/seguridad';\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\nimport { ModalalumnoComponent } from '../../../componentesacademico/modalalumno/modalalumno.component';\r\n\r\n@Component({\r\n  selector: 'familia',\r\n  template: require('./familia.component.html'),\r\n  encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FamiliaComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n  @Input() idalumno: any;\r\n  @Input() nuevo: any;\r\n  @Input() seguridad: Seguridad;\r\n  @Output() consultarMetodo = new EventEmitter();\r\n  @Output() output = new EventEmitter();\r\n  @Output() salir = new EventEmitter();\r\n  @Input() select: {\r\n    SelectNacionalidad: any[],\r\n    SelectParentesco: any[],\r\n    SelectGrupo: any[],\r\n    SelectTipobaja: any[],\r\n    SelectMotivobajaFull: any[],\r\n    SelectEstatus: any[],\r\n    SelectPaisFull: any[],\r\n    SelectCiudadFull: any[],\r\n    SelectEstadoFull: any[],\r\n    SelectNivelIdioma: any[],\r\n    SelectIdioma: any[],\r\n    SelectCertificacion: any[],\r\n    BooleanSelect: any[],\r\n    GeneroSelect: any[],\r\n  };\r\n\r\n  accion: boolean;\r\n  submitted: boolean;\r\n  lectura: boolean = true;\r\n  sistema: any;\r\n  summittedTutor: boolean;\r\n  @ViewChild(\"container\", { read: ViewContainerRef }) container;\r\n  FormGuardar: FormGroup;\r\n  FormAlumno: FormGroup;\r\n  FormPersona: FormGroup;\r\n  FormHermano: FormGroup;\r\n\r\n  dtOptions: any = {};\r\n  dtTrigger = new Subject();\r\n  exportar: any;\r\n  editarAlumno: boolean = false;\r\n  arraytablafamilia: any[];\r\n  arraytablafamilias: any[];\r\n  arraytablahermanos: any[];\r\n  arraytablapersonas: any[];\r\n  clavefamiliar: any = {\r\n    clave: '',\r\n    apellidopaterno: '',\r\n    apellidomaterno: '',\r\n    clavefamiliarid: 0\r\n  }\r\n  arraydomicilio: any[];\r\n  BooleanSelect: any[];\r\n  SelectEstadoFull: any[];\r\n  SelectEstado: any[];\r\n  SelectCiudad: any[];\r\n  SelectColonia: any[];\r\n  existecp: boolean;\r\n\r\n  numberMaskNoComma = createNumberMask({\r\n    prefix: '',\r\n    suffix: '',\r\n    includeThousandsSeparator: true,\r\n    thousandsSeparatorSymbol: '',\r\n    allowDecimal: false,\r\n    decimalSymbol: '',\r\n    decimalLimit: 0,\r\n    integerLimit: 3,\r\n    requireDecimal: false,\r\n    allowNegative: false,\r\n    allowLeadingZeroes: false\r\n  });\r\n\r\n  componentRef: ComponentRef<any>; // Contenedor\r\n  public maskCP = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n  @ViewChild(\"containerTutor\", { read: ViewContainerRef }) containerTutor;\r\n  @ViewChild('modalparentesco') public modalparentesco: ModalDirective;\r\n  @ViewChild('modalHermano') public modalHermano: ModalDirective;\r\n  constructor(private URLBase: AppState, private _config: ConfigERP, private _httpService: AppState, private _fb: FormBuilder,\r\n    private _router: Router, private _cfr: ComponentFactoryResolver) {\r\n    var config: Config = this._config.getConfig();\r\n    this.sistema = config.version;\r\n  }\r\n\r\n  //Metodo de inicio\r\n  ngOnInit(): void {\r\n\r\n    this.FormGuardar = this._fb.group({\r\n      cp: [, Validators.required],\r\n      estadoid: [, Validators.required],\r\n      ciudadid: [, Validators.required],\r\n      colonia: [, Validators.required],\r\n      noexterior: [, Validators.required],\r\n      nointerior: [],\r\n      calle: [, Validators.required],\r\n      otracolonia: [],\r\n      alumnodomicilioid: [],\r\n      colonias: [],\r\n      coloniaid: [],\r\n      alumnoid: this.idalumno\r\n    });\r\n\r\n    this.FormAlumno = this._fb.group({\r\n      alumnoid: this.idalumno,\r\n    });\r\n\r\n    this.FormPersona = this._fb.group({\r\n      nombre: [],\r\n      parentescoid: [, <any>Validators.required]\r\n    });\r\n\r\n    this.FormHermano = this._fb.group({\r\n      Nombre: [, <any>Validators.required],\r\n      ApellidoPaterno: [, <any>Validators.required],\r\n      ApellidoMaterno: [, <any>Validators.required],\r\n      CURP: [, [<any>Validators.required, Validators.pattern(\"([A-Z][AEIOUX][A-Z]{2}\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\d])(\\d)\")]],\r\n      Edad: [, <any>Validators.required],\r\n      HermanoId: []\r\n    });\r\n\r\n    this.BooleanSelect = [\r\n      {\r\n        id: 1,\r\n        nombre: \"SI\"\r\n      },\r\n      {\r\n        id: 2,\r\n        nombre: \"No\"\r\n      }\r\n    ];\r\n\r\n\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.dtTrigger.next();\r\n    this.consultar();\r\n\r\n  }\r\n\r\n  ngAfterContentInit() {\r\n    this.output.next(this);\r\n  }\r\n\r\n  Editar() {\r\n    console.log(\"entro\");\r\n    this.submitted = true;\r\n    if (this.FormGuardar.invalid) {\r\n      return false;\r\n    }\r\n\r\n    let data = this.FormGuardar.value;\r\n    data.colonias = data.otracolonia ? data.otracolonia : data.colonia;\r\n    this._httpService.postElemento('Controlescolar/Alumno/Familia/GuardarDomicilio', data, null, true).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          Messenger().post({\r\n            message: result.body,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n        else {\r\n          //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n          Messenger().post({\r\n            message: 'No se puedo realizar la operación.',\r\n            type: 'error',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n\r\n\r\n      },\r\n      error => {\r\n        //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n        Messenger().post({\r\n          message: 'No se puedo realizar la operación.',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n      }\r\n    );\r\n  }\r\n\r\n  miembrojesuita(c) {\r\n    if (c == true) {\r\n      return \"SI\";\r\n    } else {\r\n      return \"NO\";\r\n    }\r\n  }\r\n\r\n  calculateAge(birthday) { // birthday is a date\r\n    birthday = new Date(birthday)\r\n    var ageDifMs = Date.now() - birthday.getTime();\r\n    var ageDate = new Date(ageDifMs); // miliseconds from epoch\r\n    return Math.abs(ageDate.getUTCFullYear() - 1970);\r\n  }\r\n\r\n  openPadretutor(c) {\r\n    this.containerTutor.clear();\r\n    const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(PadreTutorComponent);\r\n    this.componentRef = this.containerTutor.createComponent(factory);\r\n    c.nuevo = this.nuevo;\r\n    c.idalumno = this.idalumno;\r\n    this.componentRef.instance.parametros = c;\r\n    this.componentRef.instance.output.subscribe((out: { modal: ModalDirective }) => {\r\n      out.modal.onHidden.subscribe(() => {\r\n        $('body').removeClass('modal-open');\r\n        this.datosPadres();\r\n        this.componentRef.destroy();\r\n      });\r\n    });\r\n  }\r\n\r\n\r\n  obtenerHermano(matricula) {\r\n    this.consultarMetodo.next(matricula)\r\n  }\r\n  openHermano(c) {\r\n    this.FormHermano.patchValue({\r\n      Nombre: c.alumnoid ? c.alumnoid.primernombre + (' ' + c.alumnoid.segundonombre ? c.alumnoid.segundonombre : '') : null,\r\n      ApellidoPaterno: c.alumnoid ? c.alumnoid.apellidopaterno : null,\r\n      ApellidoMaterno: c.alumnoid ? c.alumnoid.apellidomaterno : null,\r\n      CURP: c.alumnoid ? c.alumnoid.curp : null,\r\n      Edad: c.alumnoid ? c.alumnoid.edad : null,\r\n      HermanoId: c.alumnoid ? c.alumnoid.HermanoId : null\r\n    })\r\n    this.modalHermano.show();\r\n\r\n  }\r\n  closeHermano() {\r\n    this.summittedTutor = false;\r\n    this.FormHermano.reset();\r\n    this.modalHermano.hide();\r\n  }\r\n  GuardarHermano() {\r\n    this.summittedTutor = true;\r\n    this.FormHermano.get(\"CURP\").setValidators(this.sistema == 1 ? Validators.required : null);\r\n    this.FormHermano.get(\"CURP\").updateValueAndValidity();\r\n    if (this.FormHermano.invalid) {\r\n      return false;\r\n    }\r\n    this._httpService.putElemento('portalfamiliar/Hermano', this.FormHermano.value).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          this.datosPadres();\r\n        }\r\n        else {\r\n          //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n          Messenger().post({\r\n            message: 'No se puedo realizar la operación.',\r\n            type: 'error',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n\r\n\r\n      },\r\n      error => {\r\n        //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n        Messenger().post({\r\n          message: 'No se puedo realizar la operación.',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n      }\r\n    );\r\n  }\r\n\r\n  consultar() {\r\n    if (this.idalumno) {\r\n      var data = $.param(this.FormAlumno.value);\r\n      //Llamada al servicio get para obtener el array para llenar el select\r\n      this.URLBase.getElemento('Controlescolar/Alumno/Familia/?' + data).subscribe(\r\n        result => {\r\n          if (result.status == 200) {\r\n            this.arraytablafamilias = result.body.padresotutores;\r\n            this.arraytablapersonas = result.body.personasautorizadas;\r\n            this.arraytablahermanos = result.body.hermanos;\r\n            let array = this.arraytablahermanos.map((x) => {\r\n              let nombre = x.nombrecompleto;\r\n              if (nombre.includes(\"*\")) {\r\n                x.hijopersonal = true;\r\n              }\r\n              return x;\r\n            });\r\n            this.arraytablahermanos = array;\r\n            this.clavefamiliar = result.body.clavefamiliar\r\n            this.arraydomicilio = result.body.domicilio;\r\n            this.cargarDomicilio(this.arraydomicilio);\r\n\r\n          } else {\r\n            Messenger().post({\r\n              message: result.body,\r\n              type: 'success',\r\n              showCloseButton: true\r\n            });\r\n          }\r\n        },\r\n        error => {\r\n          Messenger().post({\r\n            message: 'No se pudo comunicar con el servidor',\r\n            type: 'error',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n  datosPadres() {\r\n    if (this.idalumno) {\r\n      var data = $.param(this.FormAlumno.value);\r\n      //Llamada al servicio get para obtener el array para llenar el select\r\n      this.URLBase.getElemento('Controlescolar/Alumno/Familia/?' + data).subscribe(\r\n        result => {\r\n          if (result.status == 200) {\r\n            this.arraytablafamilias = result.body.padresotutores;\r\n            this.arraytablahermanos = result.body.hermanos;\r\n          } else {\r\n            Messenger().post({\r\n              message: result.body,\r\n              type: 'success',\r\n              showCloseButton: true\r\n            });\r\n          }\r\n        },\r\n        error => {\r\n          Messenger().post({\r\n            message: 'No se pudo comunicar con el servidor',\r\n            type: 'error',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n\r\n  cargarDomicilio(c) {\r\n    if (c && c.length > 0) {\r\n\r\n      c[0].codigopostal ? this.FormGuardar.get('cp').setValue(c[0].codigopostal+'') : null;\r\n      c[0].estadoid ? this.FormGuardar.get('estadoid').setValue(c[0].estadoid) : null;\r\n      c[0].ciudadid ? this.FormGuardar.get('ciudadid').setValue(c[0].ciudadid) : null;\r\n      c[0].colonia ? this.FormGuardar.get('colonia').setValue(c[0].colonia) : null;\r\n      c[0].coloniaid ? this.FormGuardar.get('coloniaid').setValue(c[0].coloniaid) : null;\r\n      c[0].numeroexterior ? this.FormGuardar.get('noexterior').setValue(c[0].numeroexterior) : null;\r\n      c[0].numerointerior ? this.FormGuardar.get('nointerior').setValue(c[0].numerointerior) : null;\r\n      c[0].calle ? this.FormGuardar.get('calle').setValue(c[0].calle) : null;\r\n      c[0].alumnodomicilioid ? this.FormGuardar.get('alumnodomicilioid').setValue(c[0].alumnodomicilioid) : null;\r\n    }\r\n    this.getEstado();\r\n  }\r\n\r\n\r\n  getEstado() {\r\n    this._httpService.getElemento('Estado/' + 484).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          this.SelectEstadoFull = result.body;\r\n          this.SelectEstado = result.body;\r\n          this.cambiarCP(false);\r\n        } else {\r\n          Messenger().post({\r\n            message: result.body,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      },\r\n      error => {\r\n        Messenger().post({\r\n          message: 'No se pudo comunicar con el servidor',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n  getCiudad(id): Promise<any> {\r\n    var promise = new Promise((result, reject) => {\r\n      this.FormGuardar.patchValue({\r\n        ciudadid: null,\r\n        colonia: null,\r\n        otracolonia: null\r\n      });\r\n      this.SelectColonia = [];\r\n\r\n      if (id && !this.existecp) {\r\n        this._httpService.getElemento('Ciudad/' + id).subscribe(\r\n          res => {\r\n            if (res.status == 200) {\r\n\r\n              this.SelectCiudad = res.body;\r\n              result();\r\n            } else {\r\n              Messenger().post({\r\n                message: res.body,\r\n                type: 'success',\r\n                showCloseButton: true\r\n              });\r\n            }\r\n          },\r\n          error => {\r\n            Messenger().post({\r\n              message: 'No se pudo comunicar con el servidor',\r\n              type: 'error',\r\n              showCloseButton: true\r\n            });\r\n          }\r\n        );\r\n      }\r\n    });\r\n\r\n    return promise;\r\n  }\r\n\r\n  Savepersonarecoge() {\r\n    this.submitted = true;\r\n    if (this.FormPersona.invalid) {\r\n      return false;\r\n    }\r\n    let data = this.FormPersona.value;\r\n    data.alumnoid = this.idalumno;\r\n    this._httpService.postElemento('Controlescolar/ConsultaAlumnos/Personarecoge', data, null, true).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          Messenger().post({\r\n            message: result.body,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n          this.cancelar();\r\n          this.getPersonaAutoriza();\r\n        } else {\r\n          Messenger().post({\r\n            message: result.body,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      },\r\n      error => {\r\n        Messenger().post({\r\n          message: 'No se pudo comunicar con el servidor',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n      }\r\n    );\r\n  }\r\n\r\n  cancelar() {\r\n    this.FormPersona.reset();\r\n    this.submitted = false;\r\n    this.modalparentesco.hide();\r\n  }\r\n\r\n  getPersonaAutoriza() {\r\n    this._httpService.getElemento('Controlescolar/ConsultaAlumnos/Personarecoge/' + this.idalumno).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          this.arraytablapersonas = result.body;\r\n        } else {\r\n          Messenger().post({\r\n            message: result.body,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      },\r\n      error => {\r\n        Messenger().post({\r\n          message: 'No se pudo comunicar con el servidor',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n      }\r\n    );\r\n  }\r\n\r\n  compoenete(e) {\r\n    this.salir.next(e);\r\n  }\r\n\r\n  async cambiarCP(manual) {\r\n    var cp = this.FormGuardar.get('cp').value+'';\r\n    var aux = cp ? cp.replace(/\\_/g, \"\") : \"\";\r\n\r\n    this.FormGuardar.patchValue({\r\n      ciudadid: null,\r\n      estadoid: null,\r\n      otracolonia: null\r\n    });\r\n    \r\n    if(manual) {\r\n      this.FormGuardar.get(\"colonia\").setValue(null);\r\n    }\r\n\r\n    if (aux.length == 5) {\r\n      this._httpService.getElemento('Colonia/GetByCP/' + cp).subscribe\r\n        (\r\n          result => {\r\n            if (result.status == 200) {\r\n              this.SelectCiudad = [result.body[0].municipioid];\r\n              let colonia = result.body;\r\n              let otracol = { nombre: \"Otra\", coloniaid: 0 };\r\n              colonia.push(otracol);\r\n              this.SelectColonia = colonia;\r\n              this.SelectEstado = [result.body[0].municipioid.estadoid];\r\n\r\n\r\n              this.FormGuardar.get(\"estadoid\").setValue(result.body[0].municipioid.estadoid.estadoid);\r\n              this.FormGuardar.get(\"ciudadid\").setValue(result.body[0].municipioid.municipioid);\r\n\r\n              this.existecp = true;\r\n              if (!manual) {\r\n                this.CambiarColonia(this.FormGuardar.get(\"colonia\").value, this.FormGuardar.get(\"coloniaid\").value);\r\n              }\r\n              console.log(this.FormGuardar.value);\r\n            }\r\n            else if (result.status == 206) {\r\n              this.SelectEstado = this.SelectEstadoFull;\r\n              this.SelectCiudad = [];\r\n              this.SelectColonia = [];\r\n              Messenger().post({\r\n                message: 'No se encontró un codigo postal con los datos introducidos.',\r\n                type: 'success',\r\n                showCloseButton: true\r\n              });\r\n              let colonia = [];\r\n              let otracol = { nombre: \"Otra\", coloniaid: 0 };\r\n              colonia.push(otracol);\r\n              this.SelectColonia = colonia;\r\n              this.existecp = false;\r\n            }\r\n            else {\r\n              this.existecp = false;\r\n              this.SelectCiudad = [];\r\n              this.SelectColonia = [];\r\n              //this._httpService.mensajeDanger('No se pudieron cargar los datos. Intente más tarde. ');\r\n              Messenger().post({\r\n                message: 'No se pudieron cargar los datos. Intente más tarde.',\r\n                type: 'error',\r\n                showCloseButton: true\r\n              });\r\n\r\n            }\r\n          },\r\n          error => {\r\n            this.SelectCiudad = [];\r\n            //this._httpService.mensajeDanger('No se pudieron cargar los datos. Intente más tarde. ');\r\n            Messenger().post({\r\n              message: 'No se pudieron cargar los datos. Intente más tarde.',\r\n              type: 'error',\r\n              showCloseButton: true\r\n            });\r\n          }\r\n        );\r\n    } else {\r\n      this.SelectCiudad = [];\r\n      this.SelectColonia = [];\r\n      this.SelectEstado = this.SelectEstadoFull;\r\n    }\r\n  }\r\n\r\n  CambiarColonia(colonia,coloniaid) {\r\n    if (colonia) {\r\n      let col = this.SelectColonia.find(x => x.nombre == colonia);\r\n\r\n      if (coloniaid) {\r\n        if (col.nombre != \"Otra\") {\r\n          this.FormGuardar.get('colonia').setValue(col.nombre);\r\n          this.FormGuardar.get('cp').setValue(col.cp);\r\n          this.FormGuardar.get('otracolonia').setValue(\"\");\r\n        }\r\n      }\r\n      else {\r\n        if (this.FormGuardar.get('colonia').value != \"Otra\") {\r\n          this.FormGuardar.get('otracolonia').setValue(this.FormGuardar.get('colonia').value);\r\n        }\r\n\r\n        this.FormGuardar.get('colonia').setValue(\"Otra\");\r\n      }\r\n    }\r\n  }\r\n\r\n  getColonia(id) {\r\n    this._httpService.getElemento('Colonia/' + id).subscribe\r\n      (\r\n        result => {\r\n          if (result.status == 200) {\r\n            this.SelectColonia = result.body;\r\n\r\n            this.FormGuardar.get(\"colonia\").setValue(null);\r\n            this.FormGuardar.get(\"otracolonia\").setValue(null);\r\n\r\n          }\r\n          else {\r\n            this.SelectColonia = [];\r\n            //this._httpService.mensajeDanger('No se pudieron cargar los datos. Intente más tarde. ');\r\n            Messenger().post({\r\n              message: 'No se pudieron cargar los datos. Intente más tarde.',\r\n              type: 'error',\r\n              showCloseButton: true\r\n            });\r\n          }\r\n        },\r\n        error => {\r\n          this.SelectColonia = [];\r\n          //this._httpService.mensajeDanger('No se pudieron cargar los datos. Intente más tarde. ');\r\n          Messenger().post({\r\n            message: 'No se pudieron cargar los datos. Intente más tarde.',\r\n            type: 'error',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      );\r\n  }\r\n\r\n  ValidarCodigoPostal(cp) {\r\n    if (!cp) {\r\n      return false;\r\n    }\r\n\r\n    var aux = cp.replace(/\\_/, \"\");\r\n\r\n    if (aux.length == 5) {\r\n      return true;\r\n    }\r\n    else {\r\n      return false;\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/familia/familia.component.ts","import { AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Subject } from 'rxjs/Rx';\r\nimport { ModalDirective } from 'ng2-bootstrap/modal';\r\nimport { saveAs } from 'file-saver';\r\n\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n    selector: 'historialacademico',\r\n    template: require('./historialacademico.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\n\r\nexport class HistorialAcademicoComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Output() output = new EventEmitter();\r\n    @ViewChild('modalCalificacion') public modalCalificacion: ModalDirective;\r\n    @ViewChild('modalReporte') public modalReporte: ModalDirective;\r\n    @ViewChild('modalBitacora') public modalBitacora: ModalDirective;\r\n\r\n\r\n    accion: boolean;\r\n    submitted: boolean;\r\n\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject();\r\n    dtTriggertbitacoracal = new Subject();\r\n    dtOptions2: any = {};\r\n    dtOptions3: any = {};\r\n    dtTrigger2 = new Subject();\r\n    exportar: any;\r\n    alumno: any;\r\n    datosalumno: any;\r\n    arraytabla: any[];\r\n    arrayentidad: any[];\r\n    datosBecas: any[];\r\n    materianombre: any;\r\n    \r\n    formConsulta: FormGroup;\r\n\r\n    BooleanSelect: any[];\r\n    TablaBeca: any[];\r\n\r\n    arraycolumnas: any[] = [];\r\n    arraymateriasr: any[] = [];\r\n    arraycalificaciones: any[] = [];\r\n    mostrar: boolean = false;\r\n    arraycalbitacora: any;\r\n    public checkall: boolean = false;\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) { }\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.dtOptions = {\r\n            dom: 'lfrtip',\r\n            language: { url: \"./assets/datatable/Spanish.json\" },\r\n            columnDefs: [\r\n                { targets: [0], searchable: false, orderable: false }\r\n            ],\r\n            order: [1]\r\n\r\n        };\r\n\r\n        this.dtOptions2 = {\r\n            dom: 'lfrtip',\r\n            language: { url: \"./assets/datatable/Spanish.json\" },\r\n            columnDefs: [\r\n                { targets: [0], searchable: false, orderable: false }\r\n            ],\r\n            order: [1]\r\n\r\n        };\r\n\r\n        this.dtOptions3 = {\r\n            dom: 'lfrtip',\r\n            language: { url: \"./assets/datatable/Spanish.json\" },\r\n        };\r\n\r\n        this.BooleanSelect = [\r\n            {\r\n                id: 1,\r\n                nombre: \"SI\"\r\n            },\r\n            {\r\n                id: 2,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n        this.formConsulta = this._fb.group({\r\n            alumnoid: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTrigger.next();\r\n        this.consultar();\r\n        this.datosAlumnos();\r\n        this.modalBitacora.onHidden.subscribe((x) => {\r\n            $('body').addClass('modal-open');\r\n        });\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    datosAlumnos() {\r\n        this._httpService.getElemento('Alumno/?alumnoid=' + this.idalumno).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.alumno = result.body[0];\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    consultar() {\r\n        if (this.idalumno) {\r\n            this._httpService.getElemento('Controlescolar/Alumno/Subgrupos/Datoalumno?alumnoid=' + this.idalumno).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        let data = res.body;\r\n                        data.forEach(x => {\r\n                            x.checked = false;\r\n                        });\r\n                        this.arraytabla = data;\r\n                    }\r\n\r\n                },\r\n                err => {\r\n                    //handle your error here.\r\n                    console.log(err);\r\n                }\r\n            );\r\n        }\r\n    }\r\n    public onCheckAll() {\r\n        this.arraytabla.forEach(x => {\r\n            x.checked = this.checkall;\r\n        });\r\n    }\r\n\r\n    public downloadCalificaciones() {\r\n        let data = this.arraytabla.filter(x => x.checked);\r\n        if (data.length > 0) {\r\n            this._httpService.getArchivo(\"Controlescolar/CapturaCalificacion/kardex\", \"?\" + data.map(x => \"ac[]=\" + x.alumnoporcicloid).join(\"&\")).subscribe(\r\n                r => { if (r.status == 200) { saveAs(r.body, \"KardexAlumno.pdf\"); } else { this.showMessage(\"La impresion no esta disponible\") } },\r\n                e => { this.showMessage(\"No se puede comunicar con el servidor.\"); }\r\n            )\r\n        } else {\r\n            this.showMessage(\"Seleccione un grado.\");\r\n        }\r\n    }\r\n    private showMessage(message) {\r\n        Messenger().post({\r\n            message: message,\r\n            type: 'success',\r\n            showCloseButton: true\r\n        });\r\n    }\r\n\r\n    openCalificaciones(obj) {\r\n        let hoy = new Date();\r\n        this.datosalumno = obj;\r\n        let objeto = {\r\n            alumnoporcicloid: obj.alumnoporcicloid,\r\n            cicloid: obj.cicloid ? obj.cicloid : null,\r\n            gradoid: obj.gradoid ? obj.gradoid : null\r\n        }\r\n        let data = $.param(objeto);\r\n        this._httpService.getElemento('Controlescolar/CapturaCalificacion/alumno?alumnoid[]=' + this.idalumno + '&' + data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    let data = result.body.data ? result.body.data[0] : result.body[0];\r\n                    if (data) {\r\n                        try {\r\n                            this.arraycolumnas = data.col.filter(x => x.visible ? x.visible[1] == true : true);\r\n                            this.arraymateriasr = data.row;\r\n                            this.arraycalificaciones = data.inte;\r\n                            this.modalCalificacion.show();\r\n                        } catch (error) {\r\n                            console.log(error);\r\n                            Messenger().post({\r\n                                message: \"Ocurrio un error al obtener las calificaciones del alumno.\",\r\n                                type: 'success',\r\n                                showCloseButton: true\r\n                            });\r\n                        }\r\n                    } else {\r\n                        Messenger().post({\r\n                            message: \"No se encontraron calificaciones relacionadas con el alumno.\",\r\n                            type: 'success',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n                    this.mostrar = true;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    getDataXY(materia, periodo) {\r\n        let data = this.arraycalificaciones.find(x => x.row == materia.id && x.col == periodo.id);\r\n        if (data) {\r\n            if (!data._cali) {\r\n                let calificacion;\r\n                if (data.extra) {\r\n                    calificacion = data.extra + \" (E)\";\r\n                } else if (data.rec) {\r\n                    calificacion = data.rec + \" (Rc)\";\r\n                } else {\r\n                    let calRaw = [];\r\n                    if (data.data || (data.data===0 && data.col==\"_falt_\")) { calRaw.push(data.data); }\r\n                    if (data.data2) { calRaw.push(data.data2); }\r\n                    calificacion = calRaw.join(\"/\");\r\n                }\r\n                data._cali = calificacion;\r\n            }\r\n            return data._cali;\r\n        }\r\n        return \"-\";\r\n    }\r\n    imprimirboleta() {\r\n        let objeto = {\r\n            publicacion: false,\r\n            cicloid: this.datosalumno.cicloid ? this.datosalumno.cicloid : null,\r\n            nivelid: this.datosalumno.nivelid ? this.datosalumno.nivelid : null,\r\n            gradoid: this.datosalumno.gradoid ? this.datosalumno.gradoid : null,\r\n            matricula: this.alumno.matricula\r\n        }\r\n        let data = $.param(objeto);\r\n        this._httpService.getArchivo('Controlescolar', 'Boletaimpresion/?' + data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    saveAs(result.body, \"boleta\");\r\n                } else {\r\n                    Messenger().post({\r\n                        message: 'La boleta aun no se encuentra disponible.',\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    openReportedisciplina(c) {\r\n        var data = {\r\n            alumnoid: this.idalumno,\r\n            alumnoporcicloid: c.alumnoporcicloid,\r\n            activo: 1,\r\n            cicloid: c.cicloid ? c.cicloid : null\r\n        }\r\n        data = $.param(data);\r\n        this._httpService.getElemento('portalfamiliar/Reportedisciplina/' + this.idalumno + '?' + data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaReportedis\").dataTable().fnDestroy();\r\n                    for (let i = 0; i < (result.body as any[]).length; i++) {\r\n                        let fechat = result.body[i].fecha.split(\"T\");\r\n                        result.body[i].fecha = fechat[0];\r\n                        result.body[i].fechaformat = this.convertDate(fechat[0]);\r\n                    }\r\n                    this.arrayentidad = result.body;\r\n                    this.dtTrigger2.next();\r\n                    this.modalReporte.show();\r\n                } else {\r\n                    $(\"tablaFormato\").dataTable().fnClearTable();\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    expandir(tabla: any, descripcion: string) {\r\n        var tr = $(tabla.srcElement).closest('tr');\r\n        var row = $(\"#tablaReportedis\").dataTable().api().row(tr);\r\n        if (row.child.isShown()) {\r\n            $(tabla.srcElement).removeClass(\"fa-minus\");\r\n            $(tabla.srcElement).addClass(\"fa-plus\");\r\n            row.child.hide();\r\n        }\r\n        else {\r\n            $(tabla.srcElement).removeClass(\"fa-plus\");\r\n            $(tabla.srcElement).addClass(\"fa-minus\");\r\n            let html = this.formulaTotext(descripcion);\r\n            let tmp = document.createElement(\"DIV\");\r\n            tmp.innerHTML = html;\r\n            let text = tmp.textContent || tmp.innerText || \"\";\r\n            row.child(text).show();\r\n        }\r\n    }\r\n\r\n    formulaTotext(text) {\r\n        return text = text ? String(text).replace(/<math.*?math>/g, '[Formula]') : '';\r\n    }\r\n\r\n    convertDate(input) {\r\n        if (input) {\r\n            var str = input.split('-');\r\n            return str[2] + '/' + str[1] + '/' + str[0];\r\n        } else {\r\n            return '';\r\n        }\r\n    }\r\n\r\n    openBitacora (nombre, datos) {\r\n        this.materianombre = nombre;\r\n        $(\"#tablaBitacora\").dataTable().fnDestroy();\r\n        this.arraycalbitacora = datos;\r\n        this.dtTriggertbitacoracal.next();\r\n        this.modalBitacora.show();\r\n    }\r\n\r\n    cerrarBitacora() {\r\n        $(\"#tablaBitacora\").dataTable().fnClearTable();\r\n        this.modalBitacora.hide();\r\n        this.materianombre = null;\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialacademico/historialacademico.component.ts","import {AfterViewInit, ViewChild, ViewContainerRef, AfterContentInit, ComponentRef, ViewEncapsulation, ComponentFactory, ComponentFactoryResolver, Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder} from '@angular/forms';\r\nimport {Subject} from 'rxjs/Rx';\r\nimport {EstadocuentaComponent} from 'app/componenetesgenerales/estadocuenta/estadocuenta.component';\r\n\r\n@Component({\r\n    selector: 'historialfinanciero',\r\n    template: require('./historialfinanciero.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HistorialFinancieroComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Output() output = new EventEmitter();\r\n    componentRef: ComponentRef<any>; // Contenedor\r\n    accion: boolean;\r\n    submitted: boolean;\r\n\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject();\r\n    exportar: any;\r\n\r\n    arraytabla: any[];\r\n\r\n    datosBecas: any[];\r\n\r\n    formConsulta: FormGroup;\r\n\r\n    BooleanSelect: any[];\r\n    TablaBeca: any[];\r\n\r\n    @ViewChild(\"containerAlumno\", {read: ViewContainerRef}) containerAlumno;\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder,private _cfr: ComponentFactoryResolver) {}\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n\r\n\r\n        this.BooleanSelect = [\r\n            {\r\n                id: 1,\r\n                nombre: \"SI\"\r\n            },\r\n            {\r\n                id: 2,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n        this.formConsulta = this._fb.group({\r\n            alumnoid: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTrigger.next();\r\n        this.consultar();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n\r\n    consultar() {\r\n        if (this.idalumno) {\r\n            this._httpService.getElemento('Controlescolar/Alumno/HistorialFinanciero?alumnoid=' +  this.idalumno).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        this.arraytabla = res.body;\r\n                    }\r\n\r\n                },\r\n                err => {\r\n                    //handle your error here.\r\n                    console.log(err);\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n\r\n    estadocuenta() {\r\n        this.containerAlumno.clear();\r\n        const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(EstadocuentaComponent);\r\n        this.componentRef = this.containerAlumno.createComponent(factory);\r\n        this.componentRef.instance.alumnoid = this.idalumno;\r\n    }\r\n    \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialfinanciero/historialacademico.component.ts","import {AfterViewInit, AfterContentInit, ViewEncapsulation, Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder} from '@angular/forms';\r\nimport {Subject} from 'rxjs/Rx';\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'horario',\r\n    template: require('./horario.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HorarioComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Output() output = new EventEmitter();\r\n\r\n    accion: boolean;\r\n    submitted: boolean;\r\n\r\n    dtOptions: any = {};\r\n    dtTrigger = new Subject();\r\n    exportar: any;\r\n\r\n    arraytabla: any[];\r\n\r\n    datosBecas: any[];\r\n\r\n    formConsulta: FormGroup;\r\n\r\n    BooleanSelect: any[];\r\n    TablaBeca: any[];\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {}\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n\r\n\r\n        this.BooleanSelect = [\r\n            {\r\n                id: 1,\r\n                nombre: \"SI\"\r\n            },\r\n            {\r\n                id: 2,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n        this.formConsulta = this._fb.group({\r\n            CicloId: [],\r\n            Nombre: [],\r\n            Matricula: [],\r\n            EstatusId: [],\r\n            ApellidoP: [],\r\n            NivelId: [],\r\n            ApellidoM: [],\r\n            Grado: [],\r\n            Tipobecaid: [],\r\n            Alumnoid: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTrigger.next();\r\n        this.consultar();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n\r\n    consultar() {\r\n        if (this.idalumno) {\r\n            this.formConsulta.get(\"Alumnoid\").setValue(this.idalumno);\r\n            this._httpService.postElemento('Controlescolar/ImportarHorarios/TablaHorarioAlumno', {\r\n                alumnoid: this.idalumno\r\n            }, null, true).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        let data = res.body;\r\n\r\n                        let horarios = []\r\n\r\n                        res.body.map(res => {\r\n                            res.map(horario => {\r\n                                if(horario.Lunes){\r\n                                    horario.Lunes.map(dia => {\r\n                                        horarios.push({\r\n                                            dia: 'Lunes',\r\n                                            materia: dia.materia,\r\n                                            hora: horario.hora,\r\n                                            salon: dia.salon,\r\n                                            profesor: dia.profesor,\r\n                                            grupo: dia.grupo\r\n                                        })\r\n                                    })\r\n                                }\r\n                                if(horario.Martes){\r\n                                    horario.Martes.map(dia => {\r\n                                        horarios.push({\r\n                                            dia: 'Martes',\r\n                                            materia: dia.materia,\r\n                                            hora: horario.hora,\r\n                                            salon: dia.salon,\r\n                                            profesor: dia.profesor,\r\n                                            grupo: dia.grupo\r\n                                        })\r\n                                    })\r\n                                }\r\n                                if(horario.Miercoles){\r\n                                    horario.Miercoles.map(dia => {\r\n                                        horarios.push({\r\n                                            dia: 'Miercoles',\r\n                                            materia: dia.materia,\r\n                                            hora: horario.hora,\r\n                                            salon: dia.salon,\r\n                                            profesor: dia.profesor,\r\n                                            grupo: dia.grupo\r\n                                        })\r\n                                    })\r\n                                }\r\n                                if(horario.Jueves){\r\n                                    horario.Jueves.map(dia => {\r\n                                        horarios.push({\r\n                                            dia: 'Jueves',\r\n                                            materia: dia.materia,\r\n                                            hora: horario.hora,\r\n                                            salon: dia.salon,\r\n                                            profesor: dia.profesor,\r\n                                            grupo: dia.grupo\r\n                                        })\r\n                                    })\r\n                                }\r\n                                if(horario.Viernes){\r\n                                    horario.Viernes.map(dia => {\r\n                                        horarios.push({\r\n                                            dia: 'Viernes',\r\n                                            materia: dia.materia,\r\n                                            hora: horario.hora,\r\n                                            salon: dia.salon,\r\n                                            profesor: dia.profesor,\r\n                                            grupo: dia.grupo\r\n                                        })\r\n                                    })\r\n                                }\r\n                            })\r\n                        })\r\n\r\n                        this.datosBecas = []\r\n\r\n                        this.datosBecas.push({\r\n                            dia: 'Lunes',\r\n                            horarios: horarios.filter(x => x.dia == 'Lunes')\r\n                        })\r\n                        this.datosBecas.push({\r\n                            dia: 'Martes',\r\n                            horarios: horarios.filter(x => x.dia == 'Martes')\r\n                        })\r\n                        this.datosBecas.push({\r\n                            dia: 'Miercoles',\r\n                            horarios: horarios.filter(x => x.dia == 'Miercoles')\r\n                        })\r\n                        this.datosBecas.push({\r\n                            dia: 'Jueves',\r\n                            horarios: horarios.filter(x => x.dia == 'Jueves')\r\n                        })\r\n                        this.datosBecas.push({\r\n                            dia: 'Viernes',\r\n                            horarios: horarios.filter(x => x.dia == 'Viernes')\r\n                        })\r\n\r\n                        if(this.datosBecas.length == 0){\r\n                            Messenger().post({\r\n                                message: 'No hay horarios para mostrar',\r\n                                type: 'warning',\r\n                                showCloseButton: true\r\n                            });\r\n                        }\r\n                    }else{\r\n                        Messenger().post({\r\n                            message: res.body,\r\n                            type: 'warning',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n\r\n                },\r\n                err => {\r\n                    //handle your error here.\r\n                    Messenger().post({\r\n                        message: 'No se pudo comunicar con el servidor',\r\n                        type: 'error',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/horario/horario.component.ts","import { AfterViewInit, AfterContentInit, ViewEncapsulation, ComponentRef, Component, OnInit, Input, Output, ComponentFactory, EventEmitter, ViewChild, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { ModalDirective } from 'ng2-bootstrap/modal';\r\nimport { IMyDateModel, IMyDpOptions } from 'mydatepicker';\r\nimport { Subject } from 'rxjs/Rx';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { PadreTutorModel } from \"./padretutor.model\";\r\nimport { AlumnoModel } from \"./alumno.model\";\r\nimport { Helpers } from \"app/app.helpers\";\r\nimport { Console } from '@angular/core/src/console';\r\nimport { NormalModuleReplacementPlugin } from 'webpack';\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n  selector: 'padretutor',\r\n  template: require('./padretutor.component.html'),\r\n  encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PadreTutorComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n  @Input() parametros: any;\r\n  @Output() output = new EventEmitter();\r\n\r\n  //datos\r\n  operacion: string;\r\n  nuevoTutor: PadreTutorModel = new PadreTutorModel();\r\n  alumno: AlumnoModel = new AlumnoModel();\r\n  padretutor: any;\r\n  padreDetalle: any;\r\n\r\n  summittedTutor: boolean;\r\n  opcionaesFehaNacimiento: IMyDpOptions;\r\n\r\n  //catálogos\r\n  generacion: Array<any> = [];\r\n  tutor: Array<any> = [];\r\n  nacionalidad: Array<any> = [];\r\n  situacionConyugal: Array<any> = [];\r\n  escolaridad: Array<any> = [];\r\n  familias: Array<any> = [];\r\n\r\n  respuestaSiNo: any[] = [{ nombre: \"Si\", valor: \"1\" }, { nombre: \"No\", valor: \"0\" }];\r\n\r\n  //tablas\r\n  dtOptionsTutor: any;\r\n  dtTriggerTutor = new Subject();\r\n  exportar: any;\r\n\r\n  FormAlumno: FormGroup;\r\n  FormDatos: FormGroup;\r\n  datosalumno: any;\r\n  editar: boolean = true;\r\n\r\n\r\n  @ViewChild('modalTutor') public modal: ModalDirective;\r\n\r\n  constructor(private URLBase: AppState, private _httpService: AppState, private _fb: FormBuilder, private _router: Router, private _help: Helpers,\r\n    private _cfr: ComponentFactoryResolver) { }\r\n  //Metodo de inicio\r\n  ngOnInit(): void {\r\n\r\n    this.FormAlumno = this._fb.group({\r\n      padresotutoresid: this.parametros.padresotutoresid,\r\n      alumnoid: this.parametros.idalumno\r\n    });\r\n\r\n    this.FormDatos = this._fb.group({\r\n      Nombre: [, <any>Validators.required],\r\n      ApellidoPaterno: [, <any>Validators.required],\r\n      ApellidoMaterno: [, <any>Validators.required],\r\n      //Lada: [, <any>Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n      Telefono: [],\r\n      Correo: [, Validators.pattern(\r\n        /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n      )],\r\n      TutorId: [, <any>Validators.required],\r\n      Ramo: [],\r\n      ExLux: [],\r\n      AlumnoInstituto: [],\r\n      EspecificarAlumno: [],\r\n      FechaNacimiento: [, <any>Validators.required],\r\n      Nacionalidad: [],\r\n      SituacionConyugalId: [],\r\n      NivelEstudioId: [],\r\n      Empresa: [],\r\n      ExtensionEmpresa: [],\r\n      EspecificacionOcupacion: [],\r\n      HorarioTrabajo: [],\r\n      //LadaEmpresa: [, <any>Validators.compose([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))])],\r\n      TelefonoEmpresa: [],\r\n      Celular: [],\r\n      GeneracionId: [],\r\n      Vive: [false],\r\n      Tutor: [\"0\"],\r\n      PadresOTutoresId: [this.parametros.padresotutoresid],\r\n      ClaveFamiliarId:[ , <any>Validators.required]\r\n    });\r\n    this.editar = (this.parametros.nuevo ? true : false);\r\n    console.log(this.editar);\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.dtTriggerTutor.next();\r\n    this.modal.show();\r\n    this.consultar();\r\n    this.GetCatálogos(); //obtiene los catálogos de esta pantalla\r\n    this.FormDatos.get('ApellidoPaterno').valueChanges.subscribe((c: string) => {\r\n      if (c) {\r\n        this.FormDatos.get('ApellidoMaterno').setValidators(null);\r\n      } else if (!this.FormDatos.get('ApellidoMaterno').value) {\r\n        this.FormDatos.get('ApellidoMaterno').setValidators(Validators.required);\r\n        this.FormDatos.get('ApellidoPaterno').setValidators(Validators.required);\r\n      } else {\r\n        this.FormDatos.get('ApellidoPaterno').setValidators(null);\r\n      }\r\n      this.FormDatos.get('ApellidoPaterno').updateValueAndValidity({ emitEvent: false });\r\n      this.FormDatos.get('ApellidoMaterno').updateValueAndValidity({ emitEvent: false });\r\n    });\r\n\r\n    this.FormDatos.get('ApellidoMaterno').valueChanges.subscribe((c: string) => {\r\n      if (c) {\r\n        this.FormDatos.get('ApellidoPaterno').setValidators(null);\r\n      } else if (!this.FormDatos.get('ApellidoPaterno').value) {\r\n        this.FormDatos.get('ApellidoMaterno').setValidators(Validators.required);\r\n        this.FormDatos.get('ApellidoPaterno').setValidators(Validators.required);\r\n      } else {\r\n        this.FormDatos.get('ApellidoMaterno').setValidators(null);\r\n      }\r\n      this.FormDatos.get('ApellidoPaterno').updateValueAndValidity({ emitEvent: false });\r\n      this.FormDatos.get('ApellidoMaterno').updateValueAndValidity({ emitEvent: false });\r\n    });\r\n\r\n    this.FormDatos.get('Correo').valueChanges.subscribe((c: string) => {\r\n      if (c) {\r\n        this.FormDatos.get('Correo').setValidators(Validators.pattern(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/));\r\n      } else {\r\n        this.FormDatos.get('Correo').setValidators(null);\r\n      }\r\n      this.FormDatos.get('Correo').updateValueAndValidity({ emitEvent: false });\r\n    });\r\n\r\n    /*this.FormDatos.get('Lada').valueChanges.subscribe((lada: string) => {\r\n      let p ;\r\n      /*if (lada) {\r\n        if (lada.length == 4) {\r\n          p = '\\\\d{4}.\\\\d{4}';\r\n        } else if (lada.length == 5) {\r\n          p = '\\\\d{3}.\\\\d{4}';\r\n        } else {\r\n          p = '\\\\d{10}.\\\\d{10}';\r\n        }\r\n        //this.FormDatos.get('Lada').setValidators([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]);\r\n        this.FormDatos.get('Telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n      } else if (!this.FormDatos.get('Telefono').value) {\r\n        this.FormDatos.get('Lada').setValidators(null)\r\n        this.FormDatos.get('Telefono').setValidators(null);\r\n      } else {\r\n        this.FormDatos.get('Lada').setValidators([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]);\r\n      }\r\n      this.FormDatos.get('Lada').updateValueAndValidity({ emitEvent: false });\r\n      this.FormDatos.get('Telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n      this.FormDatos.get('Telefono').updateValueAndValidity({ emitEvent: false });\r\n    }); */\r\n\r\n    this.FormDatos.get('Telefono').valueChanges.subscribe((tel) => {\r\n      let p = '^\\\\d{10}$';\r\n\r\n      if (tel) {\r\n        this.FormDatos.get(\"Telefono\").setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp(p))]));\r\n          this.FormDatos.get('Telefono').updateValueAndValidity({ onlySelf: true, emitEvent: false });        \r\n      }\r\n    }); \r\n\r\n    this.FormDatos.get('Celular').valueChanges.subscribe((tel) => {\r\n      let p = '^\\\\d{10}$';\r\n\r\n      if (tel) {\r\n        this.FormDatos.get(\"Celular\").setValidators(Validators.compose([Validators.required, Validators.pattern(new RegExp(p))]));\r\n          this.FormDatos.get('Celular').updateValueAndValidity({ onlySelf: true, emitEvent: false });        \r\n      }\r\n    });\r\n\r\n    /*this.FormDatos.get('LadaEmpresa').valueChanges.subscribe((lada: string) => {\r\n      let p;\r\n      if (lada) {\r\n        if (lada.length == 4) {\r\n          p = '\\\\d{4}.\\\\d{4}';\r\n        } else if (lada.length == 5) {\r\n          p = '\\\\d{3}.\\\\d{4}';\r\n        } else {\r\n          p = '\\\\d{10}.\\\\d{10}';\r\n        }\r\n        this.FormDatos.get('LadaEmpresa').setValidators([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]);\r\n        this.FormDatos.get('TelefonoEmpresa').setValidators([Validators.required, Validators.pattern(p)]);\r\n      } else if (!this.FormDatos.get('TelefonoEmpresa').value) {\r\n        this.FormDatos.get('LadaEmpresa').setValidators(null)\r\n        this.FormDatos.get('TelefonoEmpresa').setValidators(null);\r\n      } else {\r\n        this.FormDatos.get('LadaEmpresa').setValidators([Validators.required, Validators.pattern(new RegExp('\\([1-9][0-9]{1,2}\\)'))]);\r\n      }\r\n      this.FormDatos.get('LadaEmpresa').updateValueAndValidity({ emitEvent: false });\r\n      this.FormDatos.get('TelefonoEmpresa').updateValueAndValidity({ emitEvent: false });\r\n    }); */\r\n\r\n    this.FormDatos.get('TelefonoEmpresa').valueChanges.subscribe((tel) => {\r\n      let p = '^\\\\d{10}$';\r\n\r\n      this.FormDatos.get(\"TelefonoEmpresa\").setValidators(Validators.compose([Validators.pattern(new RegExp(p))]));\r\n      this.FormDatos.get(\"TelefonoEmpresa\").updateValueAndValidity({ emitEvent: false });\r\n\r\n    });\r\n\r\n  }\r\n\r\n  ngAfterContentInit() {\r\n    this.output.next(this);\r\n  }\r\n\r\n  CerrarPadreTutor() {\r\n    this.output.next({ modal: this.modal });\r\n    this.modal.hide();\r\n  }\r\n\r\n\r\n  GetCatálogos() {\r\n    this.URLBase.getElemento('Controlescolar/Alumno/PadresOTutores').subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          this.generacion = result.body.generacion;\r\n          console.log(this.generacion);\r\n          this.tutor = result.body.tutor;\r\n          this.nacionalidad = result.body.nacionalidad;\r\n          this.situacionConyugal = result.body.situacionconyugal;\r\n          this.escolaridad = result.body.escolaridad;\r\n        }\r\n        else {\r\n          Messenger().post({\r\n            message: result.body,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      },\r\n      error => {\r\n        Messenger().post({\r\n          message: 'No se pudo comunicar con el servidor',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n      }\r\n    );\r\n  }\r\n\r\n  consultar() {\r\n    var data = $.param(this.FormAlumno.value);\r\n    //Llamada al servicio get para obtener el array para llenar el select\r\n    this.URLBase.getElemento('Controlescolar/Alumno/PadreOTutor?' + data).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          this.familias = result.body.familias;\r\n\r\n          let data = result.body.padres ? result.body.padres : {};\r\n          let fechanac = data && data.FechaNacimiento ? data.FechaNacimiento.split(\"-\") : null;\r\n          this.FormDatos.patchValue({            \r\n            Nombre: data.Nombre,\r\n            ApellidoPaterno: data.ApellidoPaterno,\r\n            ApellidoMaterno: data.ApellidoMaterno,\r\n            //Lada: data.Telefono ? this._help.ParseTelefono(data.Telefono)[0] : null,\r\n            Telefono: data.Telefono ? data.Telefono.replace('-', '') : null,\r\n            Celular: data.Celular ? data.Celular.replace('-', '') : null,\r\n            Correo: data.Correo,    \r\n            TutorId: data.TutorId,\r\n            Ramo: data.Ramo,\r\n            ExLux: data.ExLux,\r\n            AlumnoInstituto: data.AlumnoInstituto ? data.AlumnoInstituto : '0',\r\n            EspecificarAlumno: data.EspecificarAlumno ? data.EspecificarAlumno : null,\r\n            FechaNacimiento: fechanac ? { date: { day: parseInt(fechanac[0]), month: parseInt(fechanac[1]), year: fechanac[2] } } : null,\r\n            Nacionalidad: data.Nacionalidad,\r\n            SituacionConyugalId: data.SituacionConyugalId,\r\n            NivelEstudioId: data.NivelEstudioId,\r\n            Empresa: data.Empresa,\r\n            ExtensionEmpresa: data.ExtensionEmpresa,\r\n            EspecificacionOcupacion: data.EspecificacionOcupacion,\r\n            HorarioTrabajo: data.HorarioTrabajo,\r\n            //LadaEmpresa: data.TelEmpresa ? this._help.ParseTelefono(data.TelEmpresa)[0] : null,\r\n            TelefonoEmpresa: data.TelEmpresa ? data.TelEmpresa : null,\r\n            GeneracionId: parseInt(data.GeneracionId),\r\n            Vive: data.Vive,\r\n            Tutor: data.Tutor,\r\n            ClaveFamiliarId: +data.ClaveFamiliarId\r\n          });          \r\n        }\r\n        else {\r\n          this.padreDetalle = null;\r\n          Messenger().post({\r\n            message: result.body,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n      },\r\n      error => {\r\n        this.padreDetalle = null;\r\n        Messenger().post({\r\n          message: 'No se pudo comunicar con el servidor',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n      }\r\n    );\r\n  }\r\n\r\n  SetPadreTutor(data) {\r\n    var tutor = new PadreTutorModel();\r\n    console.log(data);\r\n    tutor.PadresOTutoresId = data.PadresOTutoresId;\r\n    tutor.Nombre = data.Nombre;\r\n    tutor.ApellidoPaterno = data.ApellidoPaterno;\r\n    tutor.ApellidoMaterno = data.ApellidoMaterno;\r\n    tutor.Correo = data.Correo;\r\n    tutor.TutorId = data.TutorId;\r\n    tutor.AlumnoInstituto = data.AlumnoInstituto;\r\n    tutor.EspecificarAlumno = data.EspecificarAlumno;\r\n\r\n    //tutor.Lada = this.GetLadaTelefono(data.Telefono);\r\n    tutor.Telefono = data.Telefono.replace('-', '');\r\n    tutor.Celular = data.Celular.replace('-', '');\r\n\r\n    tutor.FechaNacimiento = data.FechaNacimiento;\r\n    tutor.Finado = data.Finado == \"1\" ? true : false;\r\n\r\n    tutor.Nacionalidad = data.Nacionalidad;\r\n    tutor.SituacionConyugalId = data.SituacionConyugalId;\r\n    tutor.NivelEstudioId = data.NivelEstudioId;\r\n\r\n    tutor.Ocupacion = data.Ocupacion;\r\n    tutor.EspecificacionOcupacion = data.EspecificacionOcupacion;\r\n    tutor.Ramo = data.Ramo;\r\n    tutor.Empresa = data.Empresa;\r\n    tutor.ExtensionEmpresa = data.ExtensionEmpresa;\r\n    tutor.HorarioTrabajo = data.HorarioTrabajo;\r\n    //tutor.LadaEmpresa = this.GetLadaTelefono(data.TelEmpresa);\r\n    tutor.TelefonoEmpresa = data.TelEmpresa.replace('-', '');\r\n\r\n    tutor.ExLux = data.ExLux;\r\n    tutor.GeneracionId = parseInt(data.GeneracionId);\r\n\r\n    return tutor;\r\n  }\r\n\r\n  SetDateCalendar(date) {\r\n    var year = parseInt(date.slice(6));\r\n    var mes = parseInt(date.slice(3, 5)) - 1;\r\n    var dia = parseInt(date.slice(0, 2));\r\n\r\n    return { date: { year: year, month: mes + 1, day: dia }, jsdate: new Date(year, mes, dia) };\r\n  }\r\n\r\n  GetLadaTelefono(tel) {\r\n    if (!tel) {\r\n      return \"\";\r\n    }\r\n    else {\r\n      return \"(\" + tel.slice(0, 3) + \")\";\r\n    }\r\n  }\r\n\r\n  GetTelefonoTelefono(tel) {\r\n    if (!tel) {\r\n      return \"\";\r\n    }\r\n    else {\r\n      return tel.slice(3, 6) + \"-\" + tel.slice(6);\r\n    }\r\n  }\r\n\r\n  EditarPadreoTutor() {\r\n    this.FormDatos.get(\"EspecificarAlumno\").setValidators(this.FormDatos.get(\"AlumnoInstituto\").value == '1' ? Validators.required : null);\r\n    this.FormDatos.get(\"EspecificarAlumno\").updateValueAndValidity();\r\n    this.FormDatos.get(\"GeneracionId\").setValidators(this.FormDatos.get(\"ExLux\").value == '1' ? Validators.required : null);\r\n    this.FormDatos.get(\"GeneracionId\").updateValueAndValidity();\r\n    this.FormDatos.get(\"ExtensionEmpresa\").setValidators(null);\r\n    this.FormDatos.get(\"ExtensionEmpresa\").updateValueAndValidity();\r\n    this.FormDatos.get(\"Vive\").setValidators(null);\r\n    this.FormDatos.get(\"Vive\").updateValueAndValidity();\r\n    this.FormDatos.get(\"Tutor\").setValidators(null);\r\n    this.FormDatos.get(\"Tutor\").updateValueAndValidity();\r\n    this.FormDatos.get(\"EspecificacionOcupacion\").setValidators(null);\r\n    this.FormDatos.get(\"EspecificacionOcupacion\").updateValueAndValidity();\r\n    this.FormDatos.get(\"HorarioTrabajo\").setValidators(null);\r\n    this.FormDatos.get(\"HorarioTrabajo\").updateValueAndValidity();\r\n    this.FormDatos.get(\"Empresa\").setValidators(null);\r\n    this.FormDatos.get(\"Empresa\").updateValueAndValidity();\r\n    this.FormDatos.get(\"Ramo\").setValidators(null);\r\n    this.FormDatos.get(\"Ramo\").updateValueAndValidity();\r\n    this.FormDatos.get(\"ExLux\").setValidators(null);\r\n    this.FormDatos.get(\"ExLux\").updateValueAndValidity();\r\n    this.FormDatos.get(\"AlumnoInstituto\").setValidators(null);\r\n    this.FormDatos.get(\"AlumnoInstituto\").updateValueAndValidity();\r\n    this.FormDatos.get(\"FechaNacimiento\").setValidators(null);\r\n    this.FormDatos.get(\"FechaNacimiento\").updateValueAndValidity();\r\n    this.summittedTutor = true;\r\n    if (this.FormDatos.invalid) {\r\n      return false;\r\n    }\r\n\r\n    let data = this.FormDatos.value;\r\n    data.FechaNacimiento ? data.FechaNacimiento = this._help.FechaObjetoToString(data.FechaNacimiento.date) : null;\r\n    //data.Telefono ? data.Telefono = this._help.UnitTelefono(data.Lada, data.Telefono) : null;\r\n    data.Telefono ? data.Telefono.replace('-', '') : null;\r\n    data.Celular ? data.Celular.replace('-','') : null;\r\n    data.TelefonoEmpresa ? data.TelefonoEmpresa.replace('-', '') : null;\r\n    //data.TelefonoEmpresa ? data.TelefonoEmpresa = this._help.UnitTelefono(data.LadaEmpresa, data.TelefonoEmpresa) : null;\r\n\r\n    if(data.PadresOTutoresId){\r\n      this.Actualizar(data);\r\n    }else{\r\n      this.Crear(data);\r\n    }\r\n  }\r\n\r\n  Crear(data){\r\n    this._httpService.postElemento('portalfamiliar/Ciencias/PadresOTutoresAlumno', data).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          (<any>$(\"#padreTutor\")).dataTable().fnDestroy();\r\n          this.CerrarPadreTutor();\r\n          Messenger().post({\r\n            message: result.body.msj,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n        else {\r\n          //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n          Messenger().post({\r\n            message: 'No se puedo realizar la operación.',\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n\r\n        }\r\n\r\n\r\n      },\r\n      error => {\r\n        //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n        Messenger().post({\r\n          message: 'No se puedo realizar la operación.',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  Actualizar(data){\r\n    this._httpService.putElemento('portalfamiliar/Ciencias/PadresOTutoresAlumno', data).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          (<any>$(\"#padreTutor\")).dataTable().fnDestroy();\r\n          this.CerrarPadreTutor();\r\n          Messenger().post({\r\n            message: result.body.msj,\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n        else {\r\n          //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n          Messenger().post({\r\n            message: 'No se puedo realizar la operación.',\r\n            type: 'success',\r\n            showCloseButton: true\r\n          });\r\n\r\n        }\r\n\r\n\r\n      },\r\n      error => {\r\n        //this._httpService.mensajeDanger('No se puedo realizar la operación.');\r\n        Messenger().post({\r\n          message: 'No se puedo realizar la operación.',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        });\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  GetPadresTutores() {\r\n    this._httpService.getElemento('Controlescolar/Alumno/Familia/?alumnoid=' + this.parametros.idalumno).subscribe(\r\n      result => {\r\n        if (result.status == 200) {\r\n          this.padretutor = result.body.padresotutores;\r\n        }\r\n        else {\r\n          this.padretutor = [];\r\n          //this._httpService.mensajeDanger('No se encontraron los padres o tutotes.');\r\n          Messenger().post({\r\n            message: 'No se encontraron los padres o tutotes.',\r\n            type: 'error',\r\n            showCloseButton: true\r\n          });\r\n        }\r\n\r\n        this.dtTriggerTutor.next();\r\n      },\r\n      error => {\r\n        //this._httpService.mensajeDanger('No se encontraron los padres o tutotes.');\r\n        Messenger().post({\r\n          message: 'No se encontraron los padres o tutotes.',\r\n          type: 'error',\r\n          showCloseButton: true\r\n        })\r\n        this.padretutor = [];\r\n\r\n        this.dtTriggerTutor.next();\r\n      }\r\n    );\r\n  }\r\n\r\n  ValidarDatosPadreOTutor() {\r\n    if (!this.nuevoTutor.Nombre) {\r\n      return false;\r\n    }\r\n\r\n    if (!this.nuevoTutor.ApellidoPaterno && !this.nuevoTutor.ApellidoMaterno) {\r\n      return false;\r\n    }\r\n\r\n\r\n    if (!this.nuevoTutor.TutorId) {\r\n      return false;\r\n    }\r\n\r\n    if (!this.nuevoTutor.AlumnoInstituto) {\r\n      return false;\r\n    }\r\n\r\n    if (this.nuevoTutor.AlumnoInstituto == \"1\" && !this.nuevoTutor.EspecificarAlumno) {\r\n      return false;\r\n    }\r\n\r\n    if (!this.nuevoTutor.FechaNacimiento) {\r\n      return false;\r\n    }\r\n\r\n    if (this.nuevoTutor.Nacionalidad.length == 0) {\r\n      return false;\r\n    }\r\n\r\n    if (!this.nuevoTutor.SituacionConyugalId && this.nuevoTutor.Vive) {\r\n      return false;\r\n    }\r\n\r\n    if (!this.nuevoTutor.NivelEstudioId && this.nuevoTutor.Vive) {\r\n      return false;\r\n    }\r\n\r\n    if (!this.nuevoTutor.Ocupacion && this.nuevoTutor.Vive) {\r\n      return false;\r\n    }\r\n\r\n    if (this.nuevoTutor.Ocupacion == \"Económicamente activo\" && this.nuevoTutor.Vive) {\r\n      if (!this.nuevoTutor.EspecificacionOcupacion) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.Ramo) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.Empresa) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.HorarioTrabajo) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.Antiguedad) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.LadaEmpresa || !this.nuevoTutor.TelefonoEmpresa) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.Lada || !this.nuevoTutor.Telefono) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.Correo) {\r\n        return false;\r\n      }\r\n    }\r\n    else {\r\n      if (this.nuevoTutor.Ocupacion == \"Económicamente activo\" && (this.nuevoTutor.LadaEmpresa || this.nuevoTutor.TelefonoEmpresa || this.nuevoTutor.ExtensionEmpresa)) {\r\n        return false;\r\n      }\r\n\r\n      if ((this.nuevoTutor.Telefono || this.nuevoTutor.Lada)) {\r\n        return false;\r\n      }\r\n\r\n      if (!this.nuevoTutor.Correo) {\r\n        return false;\r\n      }\r\n    }\r\n\r\n    if (!this.nuevoTutor.ExLux) {\r\n      return false;\r\n    }\r\n\r\n    if (this.nuevoTutor.ExLux == \"1\" && !this.nuevoTutor.GeneracionId) {\r\n      return false;\r\n    }\r\n\r\n\r\n    return true;\r\n  }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/padretutor.component.ts","import { AfterViewInit, AfterContentInit, ViewEncapsulation, Component, ViewChild, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Subject } from 'rxjs/Rx';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\n\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'subgrupos',\r\n    template: require('./subgrupos.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SubgruposComponent implements OnInit, AfterViewInit, AfterContentInit {\r\n    @Input() idalumno: any;\r\n    @Input() nuevo: any;\r\n    @Output() output = new EventEmitter();\r\n    @ViewChild('modalSubgrupo') public modalSubgrupo: ModalDirective;\r\n    accion: boolean;\r\n    submitted: boolean;\r\n\r\n    dtOptions: any = {};\r\n    dtOptions2: any = {};\r\n    dtTrigger = new Subject();\r\n    dtTrigger2 = new Subject();\r\n    exportar: any;\r\n\r\n    arraytabla: any[];\r\n    arrayentidad: any[];\r\n    datosBecas: any[];\r\n\r\n    formConsulta: FormGroup;\r\n\r\n    BooleanSelect: any[];\r\n    TablaBeca: any[];\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) { }\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n\r\n\r\n        this.BooleanSelect = [\r\n            {\r\n                id: 1,\r\n                nombre: \"SI\"\r\n            },\r\n            {\r\n                id: 2,\r\n                nombre: \"No\"\r\n            }\r\n        ];\r\n\r\n        this.formConsulta = this._fb.group({\r\n            alumnoid: []\r\n        });\r\n\r\n        this.dtOptions2 = {\r\n            dom: 'lfrtip',\r\n            language: { url: \"./assets/datatable/Spanish.json\" },\r\n        };\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.dtTrigger.next();\r\n        this.dtTrigger2.next();\r\n        this.consultar();\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n\r\n    consultar() {\r\n        if (this.idalumno) {\r\n            this._httpService.getElemento('Controlescolar/Alumno/Subgrupos/Datoalumno?alumnoid=' + this.idalumno).subscribe(\r\n                res => {\r\n                    if (res.status == 200) {\r\n                        this.arraytabla = res.body;\r\n                    } else {\r\n                        Messenger().post({\r\n                            message: res.body,\r\n                            type: 'success',\r\n                            showCloseButton: true\r\n                        });\r\n                    }\r\n\r\n                },\r\n                err => {\r\n                    //handle your error here.\r\n                    console.log(err);\r\n                }\r\n            );\r\n        }\r\n    }\r\n\r\n    openGrupostalleresAlumno(c) {\r\n        this.arrayentidad = [];\r\n        this._httpService.getElemento('Controlescolar/Alumno/Subgrupos/Grupotalleralumno?alumnoporcicloid=' + c.alumnoporcicloid).subscribe(\r\n            res => {\r\n                if (res.status == 200) {\r\n                    this.modalSubgrupo.show();\r\n                    this.arrayentidad = res.body;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: res.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n\r\n            },\r\n            err => {\r\n                //handle your error here.\r\n                console.log(err);\r\n            }\r\n        );\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/subgrupos/subgrupos.ts","var __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nimport { EventTargetInterruptSource } from './eventtargetinterruptsource';\r\n/*\r\n * An interrupt source that uses events on the document element (html tag).\r\n */\r\nvar DocumentInterruptSource = (function (_super) {\r\n    __extends(DocumentInterruptSource, _super);\r\n    function DocumentInterruptSource(events, throttleDelay) {\r\n        if (throttleDelay === void 0) { throttleDelay = 500; }\r\n        return _super.call(this, document.documentElement, events, throttleDelay) || this;\r\n    }\r\n    /*\r\n     * Checks to see if the event should be filtered.\r\n     * @param event - The original event object.\r\n     * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\r\n     */\r\n    DocumentInterruptSource.prototype.filterEvent = function (event) {\r\n        // some browser bad input hacks\r\n        if (event.type === 'mousemove'\r\n            && ((event.originalEvent && event.originalEvent.movementX === 0 &&\r\n                event.originalEvent.movementY === 0)\r\n                || (event.movementX !== void 0 && !event.movementX || !event.movementY))) {\r\n            return true;\r\n        }\r\n        return false;\r\n    };\r\n    return DocumentInterruptSource;\r\n}(EventTargetInterruptSource));\r\nexport { DocumentInterruptSource };\r\n//# sourceMappingURL=documentinterruptsource.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/documentinterruptsource.js\n// module id = 324\n// module chunks = 3","import { EventEmitter, Injectable, Optional } from '@angular/core';\r\nimport { IdleExpiry } from './idleexpiry';\r\nimport { Interrupt } from './interrupt';\r\nimport { KeepaliveSvc } from './keepalivesvc';\r\nimport { LocalStorageExpiry } from './localstorageexpiry';\r\n/*\r\n * Indicates the desired auto resume behavior.\r\n */\r\nexport var AutoResume;\r\n(function (AutoResume) {\r\n    /*\r\n     * Auto resume functionality will be disabled.\r\n     */\r\n    AutoResume[AutoResume[\"disabled\"] = 0] = \"disabled\";\r\n    /*\r\n     * Can resume automatically even if they are idle.\r\n     */\r\n    AutoResume[AutoResume[\"idle\"] = 1] = \"idle\";\r\n    /*\r\n     * Can only resume automatically if they are not yet idle.\r\n     */\r\n    AutoResume[AutoResume[\"notIdle\"] = 2] = \"notIdle\";\r\n})(AutoResume || (AutoResume = {}));\r\n/**\r\n * A service for detecting and responding to user idleness.\r\n */\r\nvar Idle = (function () {\r\n    function Idle(expiry, keepaliveSvc) {\r\n        this.expiry = expiry;\r\n        this.idle = 20 * 60; // in seconds\r\n        this.timeoutVal = 30; // in seconds\r\n        this.autoResume = AutoResume.idle;\r\n        this.interrupts = new Array;\r\n        this.running = false;\r\n        this.keepaliveEnabled = false;\r\n        this.onIdleStart = new EventEmitter;\r\n        this.onIdleEnd = new EventEmitter;\r\n        this.onTimeoutWarning = new EventEmitter();\r\n        this.onTimeout = new EventEmitter();\r\n        this.onInterrupt = new EventEmitter;\r\n        if (keepaliveSvc) {\r\n            this.keepaliveSvc = keepaliveSvc;\r\n            this.keepaliveEnabled = true;\r\n        }\r\n        this.setIdling(false);\r\n    }\r\n    /*\r\n     * Sets the idle name for localStorage.\r\n     * Important to set if multiple instances of Idle with LocalStorageExpiry\r\n     * @param The name of the idle.\r\n     */\r\n    Idle.prototype.setIdleName = function (key) {\r\n        if (this.expiry instanceof LocalStorageExpiry) {\r\n            this.expiry.setIdleName(key);\r\n        }\r\n        else {\r\n            throw new Error('Cannot set expiry key name because no LocalStorageExpiry has been provided.');\r\n        }\r\n    };\r\n    /*\r\n     * Returns whether or not keepalive integration is enabled.\r\n     * @return True if integration is enabled; otherwise, false.\r\n     */\r\n    Idle.prototype.getKeepaliveEnabled = function () {\r\n        return this.keepaliveEnabled;\r\n    };\r\n    /*\r\n     * Sets and returns whether or not keepalive integration is enabled.\r\n     * @param True if the integration is enabled; otherwise, false.\r\n     * @return The current value.\r\n     */\r\n    Idle.prototype.setKeepaliveEnabled = function (value) {\r\n        if (!this.keepaliveSvc) {\r\n            throw new Error('Cannot enable keepalive integration because no KeepaliveSvc has been provided.');\r\n        }\r\n        return this.keepaliveEnabled = value;\r\n    };\r\n    /*\r\n     * Returns the current timeout value.\r\n     * @return The timeout value in seconds.\r\n     */\r\n    Idle.prototype.getTimeout = function () {\r\n        return this.timeoutVal;\r\n    };\r\n    /*\r\n     * Sets the timeout value.\r\n     * @param seconds - The timeout value in seconds. 0 or false to disable timeout feature.\r\n     * @return The current value. If disabled, the value will be 0.\r\n     */\r\n    Idle.prototype.setTimeout = function (seconds) {\r\n        if (seconds === false) {\r\n            this.timeoutVal = 0;\r\n        }\r\n        else if (typeof seconds === 'number' && seconds >= 0) {\r\n            this.timeoutVal = seconds;\r\n        }\r\n        else {\r\n            throw new Error('\\'seconds\\' can only be \\'false\\' or a positive number.');\r\n        }\r\n        return this.timeoutVal;\r\n    };\r\n    /*\r\n     * Returns the current idle value.\r\n     * @return The idle value in seconds.\r\n     */\r\n    Idle.prototype.getIdle = function () {\r\n        return this.idle;\r\n    };\r\n    /*\r\n     * Sets the idle value.\r\n     * @param seconds - The idle value in seconds.\r\n     * @return The idle value in seconds.\r\n     */\r\n    Idle.prototype.setIdle = function (seconds) {\r\n        if (seconds <= 0) {\r\n            throw new Error('\\'seconds\\' must be greater zero');\r\n        }\r\n        return this.idle = seconds;\r\n    };\r\n    /*\r\n     * Returns the current autoresume value.\r\n     * @return The current value.\r\n     */\r\n    Idle.prototype.getAutoResume = function () {\r\n        return this.autoResume;\r\n    };\r\n    Idle.prototype.setAutoResume = function (value) {\r\n        return this.autoResume = value;\r\n    };\r\n    /*\r\n     * Sets interrupts from the specified sources.\r\n     * @param sources - Interrupt sources.\r\n     * @return The resulting interrupts.\r\n     */\r\n    Idle.prototype.setInterrupts = function (sources) {\r\n        this.clearInterrupts();\r\n        var self = this;\r\n        for (var _i = 0, sources_1 = sources; _i < sources_1.length; _i++) {\r\n            var source = sources_1[_i];\r\n            var sub = new Interrupt(source);\r\n            sub.subscribe(function (args) {\r\n                self.interrupt(args.force, args.innerArgs);\r\n            });\r\n            this.interrupts.push(sub);\r\n        }\r\n        return this.interrupts;\r\n    };\r\n    /*\r\n     * Returns the current interrupts.\r\n     * @return The current interrupts.\r\n     */\r\n    Idle.prototype.getInterrupts = function () {\r\n        return this.interrupts;\r\n    };\r\n    /*\r\n     * Pauses, unsubscribes, and clears the current interrupt subscriptions.\r\n     */\r\n    Idle.prototype.clearInterrupts = function () {\r\n        for (var _i = 0, _a = this.interrupts; _i < _a.length; _i++) {\r\n            var sub = _a[_i];\r\n            sub.pause();\r\n            sub.unsubscribe();\r\n        }\r\n        this.interrupts.length = 0;\r\n    };\r\n    /*\r\n     * Returns whether or not the service is running i.e. watching for idleness.\r\n     * @return True if service is watching; otherwise, false.\r\n     */\r\n    Idle.prototype.isRunning = function () {\r\n        return this.running;\r\n    };\r\n    /*\r\n     * Returns whether or not the user is considered idle.\r\n     * @return True if the user is in the idle state; otherwise, false.\r\n     */\r\n    Idle.prototype.isIdling = function () {\r\n        return this.idling;\r\n    };\r\n    /*\r\n     * Starts watching for inactivity.\r\n     */\r\n    Idle.prototype.watch = function (skipExpiry) {\r\n        var _this = this;\r\n        this.safeClearInterval('idleHandle');\r\n        this.safeClearInterval('timeoutHandle');\r\n        var timeout = !this.timeoutVal ? 0 : this.timeoutVal;\r\n        if (!skipExpiry) {\r\n            var value = new Date(this.expiry.now().getTime() + ((this.idle + timeout) * 1000));\r\n            this.expiry.last(value);\r\n        }\r\n        if (this.idling) {\r\n            this.toggleState();\r\n        }\r\n        if (!this.running) {\r\n            this.startKeepalive();\r\n            this.toggleInterrupts(true);\r\n        }\r\n        this.running = true;\r\n        var watchFn = function () {\r\n            var diff = _this.getExpiryDiff(timeout);\r\n            if (diff > 0) {\r\n                _this.safeClearInterval('idleHandle');\r\n                _this.idleHandle = setInterval(watchFn, diff);\r\n            }\r\n            else {\r\n                _this.toggleState();\r\n            }\r\n        };\r\n        this.idleHandle = setInterval(watchFn, this.idle * 1000);\r\n    };\r\n    /*\r\n     * Stops watching for inactivity.\r\n     */\r\n    Idle.prototype.stop = function () {\r\n        this.stopKeepalive();\r\n        this.toggleInterrupts(false);\r\n        this.safeClearInterval('idleHandle');\r\n        this.safeClearInterval('timeoutHandle');\r\n        this.setIdling(false);\r\n        this.running = false;\r\n        this.expiry.last(null);\r\n    };\r\n    /*\r\n     * Forces a timeout event and state.\r\n     */\r\n    Idle.prototype.timeout = function () {\r\n        this.stopKeepalive();\r\n        this.toggleInterrupts(false);\r\n        this.safeClearInterval('idleHandle');\r\n        this.safeClearInterval('timeoutHandle');\r\n        this.setIdling(true);\r\n        this.running = false;\r\n        this.countdown = 0;\r\n        this.onTimeout.emit(null);\r\n    };\r\n    /*\r\n     * Signals that user activity has occurred.\r\n     * @param force - Forces watch to be called, unless they are timed out.\r\n     * @param eventArgs - Optional source event arguments.\r\n     */\r\n    Idle.prototype.interrupt = function (force, eventArgs) {\r\n        if (!this.running) {\r\n            return;\r\n        }\r\n        if (this.timeoutVal && this.expiry.isExpired()) {\r\n            this.timeout();\r\n            return;\r\n        }\r\n        this.onInterrupt.emit(eventArgs);\r\n        if (force === true || this.autoResume === AutoResume.idle ||\r\n            (this.autoResume === AutoResume.notIdle && !this.expiry.idling())) {\r\n            this.watch(force);\r\n        }\r\n    };\r\n    Idle.prototype.setIdling = function (value) {\r\n        this.idling = value;\r\n        this.expiry.idling(value);\r\n    };\r\n    Idle.prototype.toggleState = function () {\r\n        var _this = this;\r\n        this.setIdling(!this.idling);\r\n        if (this.idling) {\r\n            this.onIdleStart.emit(null);\r\n            this.stopKeepalive();\r\n            if (this.timeoutVal > 0) {\r\n                this.countdown = this.timeoutVal;\r\n                this.doCountdown();\r\n                this.timeoutHandle = setInterval(function () {\r\n                    _this.doCountdown();\r\n                }, 1000);\r\n            }\r\n        }\r\n        else {\r\n            this.toggleInterrupts(true);\r\n            this.onIdleEnd.emit(null);\r\n            this.startKeepalive();\r\n        }\r\n        this.safeClearInterval('idleHandle');\r\n    };\r\n    Idle.prototype.toggleInterrupts = function (resume) {\r\n        for (var _i = 0, _a = this.interrupts; _i < _a.length; _i++) {\r\n            var interrupt = _a[_i];\r\n            if (resume) {\r\n                interrupt.resume();\r\n            }\r\n            else {\r\n                interrupt.pause();\r\n            }\r\n        }\r\n    };\r\n    Idle.prototype.getExpiryDiff = function (timeout) {\r\n        var now = this.expiry.now();\r\n        var last = this.expiry.last() || now;\r\n        return last.getTime() - now.getTime() - (timeout * 1000);\r\n    };\r\n    Idle.prototype.doCountdown = function () {\r\n        var timeout = !this.timeoutVal ? 0 : this.timeoutVal;\r\n        var diff = this.getExpiryDiff(timeout);\r\n        if (diff > 0) {\r\n            this.safeClearInterval('timeoutHandle');\r\n            this.interrupt(true);\r\n            return;\r\n        }\r\n        if (!this.idling) {\r\n            return;\r\n        }\r\n        if (this.countdown <= 0) {\r\n            this.timeout();\r\n            return;\r\n        }\r\n        this.onTimeoutWarning.emit(this.countdown);\r\n        this.countdown--;\r\n    };\r\n    Idle.prototype.safeClearInterval = function (handleName) {\r\n        if (this[handleName]) {\r\n            clearInterval(this[handleName]);\r\n            this[handleName] = null;\r\n        }\r\n    };\r\n    Idle.prototype.startKeepalive = function () {\r\n        if (!this.keepaliveSvc || !this.keepaliveEnabled) {\r\n            return;\r\n        }\r\n        if (this.running) {\r\n            this.keepaliveSvc.ping();\r\n        }\r\n        this.keepaliveSvc.start();\r\n    };\r\n    Idle.prototype.stopKeepalive = function () {\r\n        if (!this.keepaliveSvc || !this.keepaliveEnabled) {\r\n            return;\r\n        }\r\n        this.keepaliveSvc.stop();\r\n    };\r\n    /*\r\n     * Called by Angular when destroying the instance.\r\n     */\r\n    Idle.prototype.ngOnDestroy = function () {\r\n        this.stop();\r\n        this.clearInterrupts();\r\n    };\r\n    return Idle;\r\n}());\r\nexport { Idle };\r\nIdle.decorators = [\r\n    { type: Injectable },\r\n];\r\n/** @nocollapse */\r\nIdle.ctorParameters = function () { return [\r\n    { type: IdleExpiry, },\r\n    { type: KeepaliveSvc, decorators: [{ type: Optional },] },\r\n]; };\r\n//# sourceMappingURL=idle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/idle.js\n// module id = 325\n// module chunks = 3","/*\r\n * A class for expressing arguments to interrupt events.\r\n */\r\nvar InterruptArgs = (function () {\r\n    function InterruptArgs(source, innerArgs, force) {\r\n        if (force === void 0) { force = false; }\r\n        this.source = source;\r\n        this.innerArgs = innerArgs;\r\n        this.force = force;\r\n    }\r\n    return InterruptArgs;\r\n}());\r\nexport { InterruptArgs };\r\n//# sourceMappingURL=interruptargs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/interruptargs.js\n// module id = 326\n// module chunks = 3","import { EventEmitter } from '@angular/core';\r\n/*\r\n * A base for classes that act as a source for interrupts.\r\n */\r\nvar InterruptSource = (function () {\r\n    function InterruptSource(attachFn, detachFn) {\r\n        this.attachFn = attachFn;\r\n        this.detachFn = detachFn;\r\n        this.isAttached = false;\r\n        this.onInterrupt = new EventEmitter();\r\n    }\r\n    /*\r\n     * Attaches to the specified events on the specified source.\r\n     */\r\n    InterruptSource.prototype.attach = function () {\r\n        if (!this.isAttached && this.attachFn) {\r\n            this.attachFn(this);\r\n        }\r\n        this.isAttached = true;\r\n    };\r\n    /*\r\n     * Detaches from the specified events on the specified source.\r\n     */\r\n    InterruptSource.prototype.detach = function () {\r\n        if (this.isAttached && this.detachFn) {\r\n            this.detachFn(this);\r\n        }\r\n        this.isAttached = false;\r\n    };\r\n    return InterruptSource;\r\n}());\r\nexport { InterruptSource };\r\n//# sourceMappingURL=interruptsource.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/interruptsource.js\n// module id = 327\n// module chunks = 3","var KeepaliveSvc = (function () {\r\n    function KeepaliveSvc() {\r\n    }\r\n    return KeepaliveSvc;\r\n}());\r\nexport { KeepaliveSvc };\r\n//# sourceMappingURL=keepalivesvc.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/keepalivesvc.js\n// module id = 328\n// module chunks = 3","var __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nimport { WindowInterruptSource } from './windowinterruptsource';\r\n/*\r\n * An interrupt source on the storage event of Window.\r\n */\r\nvar StorageInterruptSource = (function (_super) {\r\n    __extends(StorageInterruptSource, _super);\r\n    function StorageInterruptSource(throttleDelay) {\r\n        if (throttleDelay === void 0) { throttleDelay = 500; }\r\n        return _super.call(this, 'storage', throttleDelay) || this;\r\n    }\r\n    /*\r\n     * Checks to see if the event should be filtered.\r\n     * @param event - The original event object.\r\n     * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\r\n     */\r\n    StorageInterruptSource.prototype.filterEvent = function (event) {\r\n        if (event.key.indexOf('ng2Idle.') >= 0 && event.key.indexOf('.expiry') >= 0) {\r\n            return false;\r\n        }\r\n        return true;\r\n    };\r\n    return StorageInterruptSource;\r\n}(WindowInterruptSource));\r\nexport { StorageInterruptSource };\r\n//# sourceMappingURL=storageinterruptsource.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/storageinterruptsource.js\n// module id = 329\n// module chunks = 3","var __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nimport { EventTargetInterruptSource } from './eventtargetinterruptsource';\r\n/*\r\n * An interrupt source on the Window object.\r\n */\r\nvar WindowInterruptSource = (function (_super) {\r\n    __extends(WindowInterruptSource, _super);\r\n    function WindowInterruptSource(events, throttleDelay) {\r\n        if (throttleDelay === void 0) { throttleDelay = 500; }\r\n        return _super.call(this, window, events, throttleDelay) || this;\r\n    }\r\n    return WindowInterruptSource;\r\n}(EventTargetInterruptSource));\r\nexport { WindowInterruptSource };\r\n//# sourceMappingURL=windowinterruptsource.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/windowinterruptsource.js\n// module id = 330\n// module chunks = 3","var __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nimport { EventEmitter, Injectable } from '@angular/core';\r\nimport { Http, Request, RequestMethod } from '@angular/http';\r\nimport { KeepaliveSvc } from '@ng-idle/core';\r\n/**\r\n * An example of an injectable service.\r\n */\r\nvar Keepalive = (function (_super) {\r\n    __extends(Keepalive, _super);\r\n    /*\r\n     * Initializes a new instance of Keepalive\r\n     * @param http - The HTTP service.\r\n     */\r\n    function Keepalive(http) {\r\n        var _this = _super.call(this) || this;\r\n        _this.http = http;\r\n        _this.pingInterval = 10 * 60;\r\n        /*\r\n         * An event emitted when the service is pinging.\r\n         */\r\n        _this.onPing = new EventEmitter;\r\n        /*\r\n         * An event emitted when the service has pinged an HTTP endpoint and received a response.\r\n         */\r\n        _this.onPingResponse = new EventEmitter();\r\n        return _this;\r\n    }\r\n    /*\r\n     * Sets the string or Request that should be used when pinging.\r\n     * @param url - The URL or Request object to use when pinging.\r\n     * @return The current Request used when pinging.\r\n     */\r\n    Keepalive.prototype.request = function (url) {\r\n        if (typeof url === 'string') {\r\n            this.pingRequest = new Request({ method: RequestMethod.Get, url: url });\r\n        }\r\n        else if (url instanceof Request) {\r\n            this.pingRequest = url;\r\n        }\r\n        else if (url === null) {\r\n            this.pingRequest = null;\r\n        }\r\n        return this.pingRequest;\r\n    };\r\n    /*\r\n     * Sets the interval (in seconds) at which the ping operation will occur when start() is called.\r\n     * @param seconds - The ping interval in seconds.\r\n     * @return The current interval value.\r\n     */\r\n    Keepalive.prototype.interval = function (seconds) {\r\n        if (!isNaN(seconds) && seconds > 0) {\r\n            this.pingInterval = seconds;\r\n        }\r\n        else if (!isNaN(seconds) && seconds <= 0) {\r\n            throw new Error('Interval value must be greater than zero.');\r\n        }\r\n        return this.pingInterval;\r\n    };\r\n    /*\r\n     * Immediately performs the ping operation. If a request has been set, an HTTP\r\n     * request will be made and the response will be emitted via the\r\n     * onPingResponse event.\r\n     */\r\n    Keepalive.prototype.ping = function () {\r\n        var _this = this;\r\n        this.onPing.emit(null);\r\n        if (this.pingRequest) {\r\n            this.http.request(this.pingRequest).subscribe(function (response) {\r\n                _this.onPingResponse.emit(response);\r\n            });\r\n        }\r\n    };\r\n    /*\r\n     * Starts pinging on an interval.\r\n     */\r\n    Keepalive.prototype.start = function () {\r\n        var _this = this;\r\n        this.stop();\r\n        this.pingHandle = setInterval(function () {\r\n            _this.ping();\r\n        }, this.pingInterval * 1000);\r\n    };\r\n    /*\r\n     * Stops pinging on an interval.\r\n     */\r\n    Keepalive.prototype.stop = function () {\r\n        if (this.pingHandle) {\r\n            clearInterval(this.pingHandle);\r\n            this.pingHandle = null;\r\n        }\r\n    };\r\n    /*\r\n     * Performs any cleanup tasks when Angular destroys the instance.\r\n     */\r\n    Keepalive.prototype.ngOnDestroy = function () {\r\n        this.stop();\r\n    };\r\n    /*\r\n     * Returns whether or not the service will ping automatically at the specified interval.\r\n     * @return True if the service will ping at the specified interval; otherwise, false.\r\n     */\r\n    Keepalive.prototype.isRunning = function () {\r\n        return !!this.pingHandle;\r\n    };\r\n    return Keepalive;\r\n}(KeepaliveSvc));\r\nexport { Keepalive };\r\nKeepalive.decorators = [\r\n    { type: Injectable },\r\n];\r\n/** @nocollapse */\r\nKeepalive.ctorParameters = function () { return [\r\n    { type: Http, },\r\n]; };\r\n//# sourceMappingURL=keepalive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/keepalive/src/keepalive.js\n// module id = 331\n// module chunks = 3","/**\r\n * @license\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://raw.githubusercontent.com/l-lin/angular-datatables/master/LICENSE\r\n */\r\nimport { Directive, ElementRef, Input } from '@angular/core';\r\n\r\nvar DataTableDirective = (function () {\r\n    function DataTableDirective(el) {\r\n        this.el = el;\r\n        /**\r\n         * The DataTable option you pass to configure your table.\r\n         */\r\n        this.dtOptions = {};\r\n    }\r\n    DataTableDirective.prototype.ngOnInit = function () {\r\n        var _this = this;\r\n        if (this.dtTrigger) {\r\n            this.dtTrigger.subscribe(function () {\r\n                _this.displayTable();\r\n            });\r\n        }\r\n        else {\r\n            this.displayTable();\r\n        }\r\n    };\r\n    DataTableDirective.prototype.ngOnDestroy = function () {\r\n        if (this.dtTrigger) {\r\n            this.dtTrigger.unsubscribe();\r\n        }\r\n        if (this.dt) {\r\n            this.dt.destroy(true);\r\n        }\r\n    };\r\n    DataTableDirective.prototype.displayTable = function () {\r\n        var _this = this;\r\n        this.dtInstance = new Promise(function (resolve, reject) {\r\n            Promise.resolve(_this.dtOptions).then(function (dtOptions) {\r\n                // Using setTimeout as a \"hack\" to be \"part\" of NgZone\r\n                setTimeout(function () {\r\n                    if(dtOptions){\r\n                        var oldComplete = dtOptions.initComplete\r\n                        $('button[type=\"submit\"]').on('click', function(){\r\n                            var regex = new RegExp('consultar')\r\n                            if(regex.test($(this).html().toLowerCase())){\r\n                                localStorage.setItem($(_this.el.nativeElement).attr('id') + '_button_trigger', true)\r\n                            }\r\n                        })\r\n                        dtOptions.initComplete = function(){\r\n                            if(oldComplete){\r\n                                oldComplete.apply(this, arguments)\r\n                            }\r\n                            if(!localStorage.getItem($(_this.el.nativeElement).attr('id') + '_button_trigger')){\r\n                                if(localStorage.getItem($(_this.el.nativeElement).attr('id') + '_state')){\r\n                                    // Obtenemos del localStorage nuestro estado y lo pasamos a JSON\r\n                                    var state = JSON.parse(localStorage.getItem($(_this.el.nativeElement).attr('id') + '_state'))\r\n                                    // Utilizamos la api de los DataTable para asignar nuestro total de items y la apgina actual\r\n                                    // Asignamos el total de items a mostrar\r\n                                    $( _this.el.nativeElement).dataTable().api().page.len(state.totalItems).draw()\r\n                                    // Asignamos la pagina actual\r\n                                    $( _this.el.nativeElement).dataTable().api().page(state.page).draw('page')\r\n                                    // Eliminamos del localStorage nuestro estado\r\n                                    localStorage.removeItem($(_this.el.nativeElement).attr('id') + '_state')\r\n                                }\r\n                            }\r\n                            localStorage.removeItem($(_this.el.nativeElement).attr('id') + '_button_trigger')\r\n                        }\r\n                    }else{\r\n                        dtOptions = {}\r\n                    }\r\n                    _this.dt = $(_this.el.nativeElement).DataTable(dtOptions);\r\n                    resolve(_this.dt);\r\n                });\r\n            });\r\n        });\r\n    };\r\n    return DataTableDirective;\r\n}());\r\nexport { DataTableDirective };\r\nDataTableDirective.decorators = [\r\n    { type: Directive, args: [{\r\n                selector: '[datatable]'\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nDataTableDirective.ctorParameters = function () { return [\r\n    { type: ElementRef, },\r\n]; };\r\nDataTableDirective.propDecorators = {\r\n    'dtOptions': [{ type: Input },],\r\n    'dtTrigger': [{ type: Input },],\r\n};\r\n//# sourceMappingURL=angular-datatables.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular-datatables/src/angular-datatables.directive.js\n// module id = 332\n// module chunks = 3","import { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment-timezone';\r\nvar TzPipe = /** @class */ (function () {\r\n    function TzPipe() {\r\n    }\r\n    /**\r\n     * Parse or Convert moment value for selected TZData. <p/>\r\n     * Examples:\r\n     * <ul>\r\n     * <li>{{ '2007-03-01T13:00:00Z' }} (raw: TZ - UTC)</li>\r\n     * <li>{{ '2007-03-01T13:00:00Z' | amDateFormat }} (formatted: in current TZ, parse in UTC) = 2007-03-01T16:00:00+03:00</li>\r\n     * <li>{{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in UTC ) = 2007-03-01T08:00:00-05:00</li>\r\n     * <li>{{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in UTC) = 2007-03-01T08:00:00-05:00</li>\r\n     * <li>----</li>\r\n     * <li>{{ '2007-03-01T13:00:00' }} (raw: TZ - Unknown )</li>\r\n     * <li>{{ '2007-03-01T13:00:00' | amDateFormat }} (formatted: in current TZ, parse in current TZ) = 2007-03-01T13:00:00+03:00</li>\r\n     * <li>{{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in current TZ) = 2007-03-01T05:00:00-05:00</li>\r\n     * <li>{{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in America/NY TZ) = 2007-03-01T13:00:00-05:00</li>\r\n     * </ul>\r\n     * @param {moment.MomentInput} value date/time/timestamp value - can be with TimeZone id or shift, or without it. <p/>\r\n     *    See <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">wikipedia article</a> for most usable string formats. <p/>\r\n     *    Example: <p/>\r\n     *    - 2007-03-01T13:00:00Z - With TimeZone info ('Z' = UTC); <p/>\r\n     *    - 2007-03-01T13:00:00 - Without TimeZone info. <p/>\r\n     * @param {string} tzdata TZData value. <p/>\r\n     *                        See <a href=\"https://en.wikipedia.org/wiki/Tz_database#Examples\">wikipedia examples</a> <p/>\r\n     * @param {boolean} parseInZone <p/>\r\n     *                              If TRUE - parse value (without TZ id or shift) in defined TZData (Parse mode). <p/>\r\n     *                              If FALSE - convert value (without TZ id or shift) to defined TZData (Conversion mode), and parse it in current TZ. <p/>\r\n     *                              NOTE: If moment value has TZ id or shift part - Parse mode will be used and \"parseInZone\" will be ignored. <p/>\r\n     * @returns {any} new moment value for defined TZData\r\n     */\r\n    /**\r\n       * Parse or Convert moment value for selected TZData. <p/>\r\n       * Examples:\r\n       * <ul>\r\n       * <li>{{ '2007-03-01T13:00:00Z' }} (raw: TZ - UTC)</li>\r\n       * <li>{{ '2007-03-01T13:00:00Z' | amDateFormat }} (formatted: in current TZ, parse in UTC) = 2007-03-01T16:00:00+03:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in UTC ) = 2007-03-01T08:00:00-05:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in UTC) = 2007-03-01T08:00:00-05:00</li>\r\n       * <li>----</li>\r\n       * <li>{{ '2007-03-01T13:00:00' }} (raw: TZ - Unknown )</li>\r\n       * <li>{{ '2007-03-01T13:00:00' | amDateFormat }} (formatted: in current TZ, parse in current TZ) = 2007-03-01T13:00:00+03:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in current TZ) = 2007-03-01T05:00:00-05:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in America/NY TZ) = 2007-03-01T13:00:00-05:00</li>\r\n       * </ul>\r\n       * @param {moment.MomentInput} value date/time/timestamp value - can be with TimeZone id or shift, or without it. <p/>\r\n       *    See <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">wikipedia article</a> for most usable string formats. <p/>\r\n       *    Example: <p/>\r\n       *    - 2007-03-01T13:00:00Z - With TimeZone info ('Z' = UTC); <p/>\r\n       *    - 2007-03-01T13:00:00 - Without TimeZone info. <p/>\r\n       * @param {string} tzdata TZData value. <p/>\r\n       *                        See <a href=\"https://en.wikipedia.org/wiki/Tz_database#Examples\">wikipedia examples</a> <p/>\r\n       * @param {boolean} parseInZone <p/>\r\n       *                              If TRUE - parse value (without TZ id or shift) in defined TZData (Parse mode). <p/>\r\n       *                              If FALSE - convert value (without TZ id or shift) to defined TZData (Conversion mode), and parse it in current TZ. <p/>\r\n       *                              NOTE: If moment value has TZ id or shift part - Parse mode will be used and \"parseInZone\" will be ignored. <p/>\r\n       * @returns {any} new moment value for defined TZData\r\n       */\r\n    TzPipe.prototype.transform = /**\r\n       * Parse or Convert moment value for selected TZData. <p/>\r\n       * Examples:\r\n       * <ul>\r\n       * <li>{{ '2007-03-01T13:00:00Z' }} (raw: TZ - UTC)</li>\r\n       * <li>{{ '2007-03-01T13:00:00Z' | amDateFormat }} (formatted: in current TZ, parse in UTC) = 2007-03-01T16:00:00+03:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in UTC ) = 2007-03-01T08:00:00-05:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00Z' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in UTC) = 2007-03-01T08:00:00-05:00</li>\r\n       * <li>----</li>\r\n       * <li>{{ '2007-03-01T13:00:00' }} (raw: TZ - Unknown )</li>\r\n       * <li>{{ '2007-03-01T13:00:00' | amDateFormat }} (formatted: in current TZ, parse in current TZ) = 2007-03-01T13:00:00+03:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":false | amDateFormat }} (formatted: in America/NY TZ, parse in current TZ) = 2007-03-01T05:00:00-05:00</li>\r\n       * <li>{{ '2007-03-01T13:00:00' | amTz:\"America/New_York\":true | amDateFormat }} (formatted: in America/NY TZ, parse in America/NY TZ) = 2007-03-01T13:00:00-05:00</li>\r\n       * </ul>\r\n       * @param {moment.MomentInput} value date/time/timestamp value - can be with TimeZone id or shift, or without it. <p/>\r\n       *    See <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">wikipedia article</a> for most usable string formats. <p/>\r\n       *    Example: <p/>\r\n       *    - 2007-03-01T13:00:00Z - With TimeZone info ('Z' = UTC); <p/>\r\n       *    - 2007-03-01T13:00:00 - Without TimeZone info. <p/>\r\n       * @param {string} tzdata TZData value. <p/>\r\n       *                        See <a href=\"https://en.wikipedia.org/wiki/Tz_database#Examples\">wikipedia examples</a> <p/>\r\n       * @param {boolean} parseInZone <p/>\r\n       *                              If TRUE - parse value (without TZ id or shift) in defined TZData (Parse mode). <p/>\r\n       *                              If FALSE - convert value (without TZ id or shift) to defined TZData (Conversion mode), and parse it in current TZ. <p/>\r\n       *                              NOTE: If moment value has TZ id or shift part - Parse mode will be used and \"parseInZone\" will be ignored. <p/>\r\n       * @returns {any} new moment value for defined TZData\r\n       */\r\n    function (value, tzdata, parseInZone) {\r\n        if (parseInZone === void 0) { parseInZone = false; }\r\n        if (parseInZone) {\r\n            return moment.tz(value, tzdata);\r\n        }\r\n        return moment(value).tz(tzdata);\r\n    };\r\n    TzPipe.decorators = [\r\n        { type: Pipe, args: [{\r\n                    name: 'amTz'\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TzPipe.ctorParameters = function () { return []; };\r\n    return TzPipe;\r\n}());\r\nexport { TzPipe };\r\n//# sourceMappingURL=tz.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular-moment-timezone/tz.pipe.js\n// module id = 333\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\nvar AddPipe = (function () {\r\n    function AddPipe() {\r\n    }\r\n    AddPipe.prototype.transform = function (value, amount, unit) {\r\n        if (typeof amount === 'undefined' || (typeof amount === 'number' && typeof unit === 'undefined')) {\r\n            throw new Error('AddPipe: missing required arguments');\r\n        }\r\n        return moment(value).add(amount, unit);\r\n    };\r\n    return AddPipe;\r\n}());\r\nAddPipe = __decorate([\r\n    core_1.Pipe({ name: 'amAdd' })\r\n], AddPipe);\r\nexports.AddPipe = AddPipe;\r\n//# sourceMappingURL=add.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/add.pipe.js\n// module id = 334\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar CalendarPipe = CalendarPipe_1 = (function () {\r\n    function CalendarPipe(cdRef, ngZone) {\r\n        var _this = this;\r\n        this.cdRef = cdRef;\r\n        this.ngZone = ngZone;\r\n        // using a single static timer for all instances of this pipe for performance reasons\r\n        CalendarPipe_1.initTimer(ngZone);\r\n        CalendarPipe_1.refs++;\r\n        // values such as Today will need to be replaced with Yesterday after midnight,\r\n        // so make sure we subscribe to an EventEmitter that we set up to emit at midnight\r\n        this.midnightSub = CalendarPipe_1.midnight.subscribe(function () {\r\n            _this.ngZone.run(function () { return _this.cdRef.markForCheck(); });\r\n        });\r\n    }\r\n    CalendarPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        var formats = null;\r\n        var referenceTime = null;\r\n        for (var i = 0, len = args.length; i < len; i++) {\r\n            if (args[i] !== null) {\r\n                if (typeof args[i] === 'object' && !moment.isMoment(args[i])) {\r\n                    formats = args[i];\r\n                }\r\n                else {\r\n                    referenceTime = momentConstructor(args[i]);\r\n                }\r\n            }\r\n        }\r\n        return momentConstructor(value).calendar(referenceTime, formats);\r\n    };\r\n    CalendarPipe.prototype.ngOnDestroy = function () {\r\n        if (CalendarPipe_1.refs > 0) {\r\n            CalendarPipe_1.refs--;\r\n        }\r\n        if (CalendarPipe_1.refs === 0) {\r\n            CalendarPipe_1.removeTimer();\r\n        }\r\n        this.midnightSub.unsubscribe();\r\n    };\r\n    CalendarPipe.initTimer = function (ngZone) {\r\n        // initialize the timer\r\n        if (!CalendarPipe_1.midnight) {\r\n            CalendarPipe_1.midnight = new core_1.EventEmitter();\r\n            if (typeof window !== 'undefined') {\r\n                var timeToUpdate_1 = CalendarPipe_1._getMillisecondsUntilUpdate();\r\n                CalendarPipe_1.timer = ngZone.runOutsideAngular(function () {\r\n                    return window.setTimeout(function () {\r\n                        // emit the current date\r\n                        CalendarPipe_1.midnight.emit(new Date());\r\n                        // refresh the timer\r\n                        CalendarPipe_1.removeTimer();\r\n                        CalendarPipe_1.initTimer(ngZone);\r\n                    }, timeToUpdate_1);\r\n                });\r\n            }\r\n        }\r\n    };\r\n    CalendarPipe.removeTimer = function () {\r\n        if (CalendarPipe_1.timer) {\r\n            window.clearTimeout(CalendarPipe_1.timer);\r\n            CalendarPipe_1.timer = null;\r\n            CalendarPipe_1.midnight = null;\r\n        }\r\n    };\r\n    CalendarPipe._getMillisecondsUntilUpdate = function () {\r\n        var now = momentConstructor();\r\n        var tomorrow = momentConstructor().startOf('day').add(1, 'days');\r\n        var timeToMidnight = tomorrow.valueOf() - now.valueOf();\r\n        return timeToMidnight + 1000; // 1 second after midnight\r\n    };\r\n    return CalendarPipe;\r\n}());\r\n/**\r\n * @private Internal reference counter, so we can clean up when no instances are in use\r\n * @type {number}\r\n */\r\nCalendarPipe.refs = 0;\r\nCalendarPipe = CalendarPipe_1 = __decorate([\r\n    core_1.Pipe({ name: 'amCalendar', pure: false }),\r\n    __metadata(\"design:paramtypes\", [core_1.ChangeDetectorRef, core_1.NgZone])\r\n], CalendarPipe);\r\nexports.CalendarPipe = CalendarPipe;\r\nvar CalendarPipe_1;\r\n//# sourceMappingURL=calendar.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/calendar.pipe.js\n// module id = 335\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar DateFormatPipe = (function () {\r\n    function DateFormatPipe() {\r\n    }\r\n    DateFormatPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        if (!value)\r\n            return '';\r\n        return momentConstructor(value).format(args[0]);\r\n    };\r\n    return DateFormatPipe;\r\n}());\r\nDateFormatPipe = __decorate([\r\n    core_1.Pipe({ name: 'amDateFormat' })\r\n], DateFormatPipe);\r\nexports.DateFormatPipe = DateFormatPipe;\r\n//# sourceMappingURL=date-format.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/date-format.pipe.js\n// module id = 336\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar DifferencePipe = (function () {\r\n    function DifferencePipe() {\r\n    }\r\n    DifferencePipe.prototype.transform = function (value, otherValue, unit, precision) {\r\n        var date = momentConstructor(value);\r\n        var date2 = (otherValue !== null) ? momentConstructor(otherValue) : momentConstructor();\r\n        return date.diff(date2, unit, precision);\r\n    };\r\n    return DifferencePipe;\r\n}());\r\nDifferencePipe = __decorate([\r\n    core_1.Pipe({ name: 'amDifference' })\r\n], DifferencePipe);\r\nexports.DifferencePipe = DifferencePipe;\r\n//# sourceMappingURL=difference.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/difference.pipe.js\n// module id = 337\n// module chunks = 3","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\nvar DurationPipe = (function () {\r\n    function DurationPipe() {\r\n    }\r\n    DurationPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        if (typeof args === 'undefined' || args.length !== 1) {\r\n            throw new Error('DurationPipe: missing required time unit argument');\r\n        }\r\n        return moment.duration(value, args[0]).humanize();\r\n    };\r\n    return DurationPipe;\r\n}());\r\nDurationPipe = __decorate([\r\n    core_1.Pipe({ name: 'amDuration' })\r\n], DurationPipe);\r\nexports.DurationPipe = DurationPipe;\r\n//# sourceMappingURL=duration.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/duration.pipe.js\n// module id = 338\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\nvar FromUnixPipe = (function () {\r\n    function FromUnixPipe() {\r\n    }\r\n    FromUnixPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        if (typeof value === 'string') {\r\n            value = +value;\r\n        }\r\n        return moment.unix(value);\r\n    };\r\n    return FromUnixPipe;\r\n}());\r\nFromUnixPipe = __decorate([\r\n    core_1.Pipe({ name: 'amFromUnix' })\r\n], FromUnixPipe);\r\nexports.FromUnixPipe = FromUnixPipe;\r\n//# sourceMappingURL=from-unix.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/from-unix.pipe.js\n// module id = 339\n// module chunks = 3","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar LocalTimePipe = (function () {\r\n    function LocalTimePipe() {\r\n    }\r\n    LocalTimePipe.prototype.transform = function (value) {\r\n        return moment(value).local();\r\n    };\r\n    return LocalTimePipe;\r\n}());\r\nLocalTimePipe = __decorate([\r\n    core_1.Pipe({ name: 'amLocal' })\r\n], LocalTimePipe);\r\nexports.LocalTimePipe = LocalTimePipe;\r\n//# sourceMappingURL=local.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/local.pipe.js\n// module id = 340\n// module chunks = 3","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar LocalePipe = (function () {\r\n    function LocalePipe() {\r\n    }\r\n    LocalePipe.prototype.transform = function (value, locale) {\r\n        return moment(value).locale(locale);\r\n    };\r\n    return LocalePipe;\r\n}());\r\nLocalePipe = __decorate([\r\n    core_1.Pipe({ name: 'amLocale' })\r\n], LocalePipe);\r\nexports.LocalePipe = LocalePipe;\r\n//# sourceMappingURL=locale.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/locale.pipe.js\n// module id = 341\n// module chunks = 3","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar ParsePipe = (function () {\r\n    function ParsePipe() {\r\n    }\r\n    ParsePipe.prototype.transform = function (value, format) {\r\n        return moment(value, format);\r\n    };\r\n    return ParsePipe;\r\n}());\r\nParsePipe = __decorate([\r\n    core_1.Pipe({ name: 'amParse' })\r\n], ParsePipe);\r\nexports.ParsePipe = ParsePipe;\r\n//# sourceMappingURL=parse.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/parse.pipe.js\n// module id = 342\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\nvar SubtractPipe = (function () {\r\n    function SubtractPipe() {\r\n    }\r\n    SubtractPipe.prototype.transform = function (value, amount, unit) {\r\n        if (typeof amount === 'undefined' || (typeof amount === 'number' && typeof unit === 'undefined')) {\r\n            throw new Error('SubtractPipe: missing required arguments');\r\n        }\r\n        return moment(value).subtract(amount, unit);\r\n    };\r\n    return SubtractPipe;\r\n}());\r\nSubtractPipe = __decorate([\r\n    core_1.Pipe({ name: 'amSubtract' })\r\n], SubtractPipe);\r\nexports.SubtractPipe = SubtractPipe;\r\n//# sourceMappingURL=subtract.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/subtract.pipe.js\n// module id = 343\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar TimeAgoPipe = (function () {\r\n    function TimeAgoPipe(cdRef, ngZone) {\r\n        this.cdRef = cdRef;\r\n        this.ngZone = ngZone;\r\n    }\r\n    TimeAgoPipe.prototype.transform = function (value, omitSuffix) {\r\n        if (this.hasChanged(value, omitSuffix)) {\r\n            this.lastTime = this.getTime(value);\r\n            this.lastValue = value;\r\n            this.lastOmitSuffix = omitSuffix;\r\n            this.removeTimer();\r\n            this.createTimer();\r\n            this.lastText = momentConstructor(value).from(momentConstructor(), omitSuffix);\r\n        }\r\n        else {\r\n            this.createTimer();\r\n        }\r\n        return this.lastText;\r\n    };\r\n    TimeAgoPipe.prototype.ngOnDestroy = function () {\r\n        this.removeTimer();\r\n    };\r\n    TimeAgoPipe.prototype.createTimer = function () {\r\n        var _this = this;\r\n        if (this.currentTimer) {\r\n            return;\r\n        }\r\n        var momentInstance = momentConstructor(this.lastValue);\r\n        var timeToUpdate = this.getSecondsUntilUpdate(momentInstance) * 1000;\r\n        this.currentTimer = this.ngZone.runOutsideAngular(function () {\r\n            if (typeof window !== 'undefined') {\r\n                return window.setTimeout(function () {\r\n                    _this.lastText = momentConstructor(_this.lastValue).from(momentConstructor(), _this.lastOmitSuffix);\r\n                    _this.currentTimer = null;\r\n                    _this.ngZone.run(function () { return _this.cdRef.markForCheck(); });\r\n                }, timeToUpdate);\r\n            }\r\n        });\r\n    };\r\n    TimeAgoPipe.prototype.removeTimer = function () {\r\n        if (this.currentTimer) {\r\n            window.clearTimeout(this.currentTimer);\r\n            this.currentTimer = null;\r\n        }\r\n    };\r\n    TimeAgoPipe.prototype.getSecondsUntilUpdate = function (momentInstance) {\r\n        var howOld = Math.abs(momentConstructor().diff(momentInstance, 'minute'));\r\n        if (howOld < 1) {\r\n            return 1;\r\n        }\r\n        else if (howOld < 60) {\r\n            return 30;\r\n        }\r\n        else if (howOld < 180) {\r\n            return 300;\r\n        }\r\n        else {\r\n            return 3600;\r\n        }\r\n    };\r\n    TimeAgoPipe.prototype.hasChanged = function (value, omitSuffix) {\r\n        return this.getTime(value) !== this.lastTime || omitSuffix !== this.lastOmitSuffix;\r\n    };\r\n    TimeAgoPipe.prototype.getTime = function (value) {\r\n        if (moment.isDate(value)) {\r\n            return value.getTime();\r\n        }\r\n        else if (moment.isMoment(value)) {\r\n            return value.valueOf();\r\n        }\r\n        else {\r\n            return momentConstructor(value).valueOf();\r\n        }\r\n    };\r\n    return TimeAgoPipe;\r\n}());\r\nTimeAgoPipe = __decorate([\r\n    core_1.Pipe({ name: 'amTimeAgo', pure: false }),\r\n    __metadata(\"design:paramtypes\", [core_1.ChangeDetectorRef, core_1.NgZone])\r\n], TimeAgoPipe);\r\nexports.TimeAgoPipe = TimeAgoPipe;\r\n//# sourceMappingURL=time-ago.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/time-ago.pipe.js\n// module id = 344\n// module chunks = 3","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\n// under systemjs, moment is actually exported as the default export, so we account for that\r\nvar momentConstructor = moment.default || moment;\r\nvar UtcPipe = (function () {\r\n    function UtcPipe() {\r\n    }\r\n    UtcPipe.prototype.transform = function (value) {\r\n        return moment(value).utc();\r\n    };\r\n    return UtcPipe;\r\n}());\r\nUtcPipe = __decorate([\r\n    core_1.Pipe({ name: 'amUtc' })\r\n], UtcPipe);\r\nexports.UtcPipe = UtcPipe;\r\n//# sourceMappingURL=utc.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/utc.pipe.js\n// module id = 345\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar calendar_1 = require(\"./src/calendar/calendar\");\r\nexports.CalendarComponent = calendar_1.CalendarComponent;\r\nvar angular2_fullcalendar_1 = require(\"./angular2-fullcalendar\");\r\nexports.CalendarModule = angular2_fullcalendar_1.CalendarModule;\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ap-angular2-fullcalendar/index.js\n// module id = 346\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar $ = require(\"jquery\");\r\nrequire(\"fullcalendar\");\r\nvar CalendarComponent = (function () {\r\n    function CalendarComponent(element) {\r\n        this.element = element;\r\n        this.initialized = new core_1.EventEmitter();\r\n    }\r\n    CalendarComponent.prototype.ngAfterViewInit = function () {\r\n        var _this = this;\r\n        setTimeout(function () {\r\n            // console.log(\"100ms after ngAfterViewInit \");\r\n            $('angular2-fullcalendar').fullCalendar(_this.options);\r\n            _this.initialized.emit(true);\r\n        }, 100);\r\n    };\r\n    CalendarComponent.prototype.fullCalendar = function () {\r\n        var args = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            args[_i] = arguments[_i];\r\n        }\r\n        if (!args) {\r\n            return;\r\n        }\r\n        switch (args.length) {\r\n            case 0:\r\n                return;\r\n            case 1:\r\n                return $(this.element.nativeElement).fullCalendar(args[0]);\r\n            case 2:\r\n                return $(this.element.nativeElement).fullCalendar(args[0], args[1]);\r\n            case 3:\r\n                return $(this.element.nativeElement).fullCalendar(args[0], args[1], args[2]);\r\n        }\r\n    };\r\n    return CalendarComponent;\r\n}());\r\nCalendarComponent.decorators = [\r\n    { type: core_1.Component, args: [{\r\n                template: '<div></div>',\r\n                selector: 'angular2-fullcalendar'\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nCalendarComponent.ctorParameters = function () { return [\r\n    { type: core_1.ElementRef, },\r\n]; };\r\nCalendarComponent.propDecorators = {\r\n    'options': [{ type: core_1.Input },],\r\n    'initialized': [{ type: core_1.Output },],\r\n};\r\nexports.CalendarComponent = CalendarComponent;\r\n//# sourceMappingURL=calendar.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ap-angular2-fullcalendar/src/calendar/calendar.js\n// module id = 347\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\n\r\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {Point} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param chart {chart} the chart\r\n * @param handler {Function} the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar datasets = chart.data.datasets;\r\n\tvar meta, i, j, ilen, jlen;\r\n\r\n\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\r\n\t\tif (!chart.isDatasetVisible(i)) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tmeta = chart.getDatasetMeta(i);\r\n\t\tfor (j = 0, jlen = meta.data.length; j < jlen; ++j) {\r\n\t\t\tvar element = meta.data[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param items {ChartElement[]} elements to filter\r\n * @param position {Point} the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param chart {Chart} the chart to look at elements from\r\n * @param position {Point} the point to be nearest to\r\n * @param intersect {Boolean} if true, only consider items that intersect the position\r\n * @param distanceMetric {Function} function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {String} axis the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart.data.datasets.forEach(function(dataset, datasetIndex) {\r\n\t\tif (chart.isDatasetVisible(datasetIndex)) {\r\n\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t\t// don't count items that are skipped (null data)\r\n\t\t\tif (element && !element._view.skip) {\r\n\t\t\t\telements.push(element);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nmodule.exports = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param chart {chart} the chart we are returning items from\r\n\t\t * @param e {Event} the event we are find things at\r\n\t\t * @param options {IInteractionOptions} options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param chart {chart} the chart we are returning items from\r\n\t\t * @param e {Event} the event we are find things at\r\n\t\t * @param options {IInteractionOptions} options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param chart {chart} the chart we are returning items from\r\n\t\t * @param e {Event} the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param chart {chart} the chart we are returning items from\r\n\t\t * @param e {Event} the event we are find things at\r\n\t\t * @param options {IInteractionOptions} options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar nearestItems = getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\r\n\t\t\t// We have multiple items at the same distance from the event. Now sort by smallest\r\n\t\t\tif (nearestItems.length > 1) {\r\n\t\t\t\tnearestItems.sort(function(a, b) {\r\n\t\t\t\t\tvar sizeA = a.getArea();\r\n\t\t\t\t\tvar sizeB = b.getArea();\r\n\t\t\t\t\tvar ret = sizeA - sizeB;\r\n\r\n\t\t\t\t\tif (ret === 0) {\r\n\t\t\t\t\t\t// if equal sort by dataset index\r\n\t\t\t\t\t\tret = a._datasetIndex - b._datasetIndex;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn ret;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Return only 1 item\r\n\t\t\treturn nearestItems.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param chart {chart} the chart we are returning items from\r\n\t\t * @param e {Event} the event we are find things at\r\n\t\t * @param options {IInteractionOptions} options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param chart {chart} the chart we are returning items from\r\n\t\t * @param e {Event} the event we are find things at\r\n\t\t * @param options {IInteractionOptions} options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.interaction.js\n// module id = 348\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('./core.defaults');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('global', {\r\n\tplugins: {}\r\n});\r\n\r\n/**\r\n * The plugin service singleton\r\n * @namespace Chart.plugins\r\n * @since 2.1.0\r\n */\r\nmodule.exports = {\r\n\t/**\r\n\t * Globally registered plugins.\r\n\t * @private\r\n\t */\r\n\t_plugins: [],\r\n\r\n\t/**\r\n\t * This identifier is used to invalidate the descriptors cache attached to each chart\r\n\t * when a global plugin is registered or unregistered. In this case, the cache ID is\r\n\t * incremented and descriptors are regenerated during following API calls.\r\n\t * @private\r\n\t */\r\n\t_cacheId: 0,\r\n\r\n\t/**\r\n\t * Registers the given plugin(s) if not already registered.\r\n\t * @param {Array|Object} plugins plugin instance(s).\r\n\t */\r\n\tregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tif (p.indexOf(plugin) === -1) {\r\n\t\t\t\tp.push(plugin);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Unregisters the given plugin(s) only if registered.\r\n\t * @param {Array|Object} plugins plugin instance(s).\r\n\t */\r\n\tunregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tvar idx = p.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\tp.splice(idx, 1);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Remove all registered plugins.\r\n\t * @since 2.1.5\r\n\t */\r\n\tclear: function() {\r\n\t\tthis._plugins = [];\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the number of registered plugins?\r\n\t * @returns {Number}\r\n\t * @since 2.1.5\r\n\t */\r\n\tcount: function() {\r\n\t\treturn this._plugins.length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns all registered plugin instances.\r\n\t * @returns {Array} array of plugin objects.\r\n\t * @since 2.1.5\r\n\t */\r\n\tgetAll: function() {\r\n\t\treturn this._plugins;\r\n\t},\r\n\r\n\t/**\r\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\r\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\r\n\t * returned value can be used, for instance, to interrupt the current action.\r\n\t * @param {Object} chart - The chart instance for which plugins should be called.\r\n\t * @param {String} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\r\n\t * @param {Array} [args] - Extra arguments to apply to the hook call.\r\n\t * @returns {Boolean} false if any of the plugins return false, else returns true.\r\n\t */\r\n\tnotify: function(chart, hook, args) {\r\n\t\tvar descriptors = this.descriptors(chart);\r\n\t\tvar ilen = descriptors.length;\r\n\t\tvar i, descriptor, plugin, params, method;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tdescriptor = descriptors[i];\r\n\t\t\tplugin = descriptor.plugin;\r\n\t\t\tmethod = plugin[hook];\r\n\t\t\tif (typeof method === 'function') {\r\n\t\t\t\tparams = [chart].concat(args || []);\r\n\t\t\t\tparams.push(descriptor.options);\r\n\t\t\t\tif (method.apply(plugin, params) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns descriptors of enabled plugins for the given chart.\r\n\t * @returns {Array} [{ plugin, options }]\r\n\t * @private\r\n\t */\r\n\tdescriptors: function(chart) {\r\n\t\tvar cache = chart.$plugins || (chart.$plugins = {});\r\n\t\tif (cache.id === this._cacheId) {\r\n\t\t\treturn cache.descriptors;\r\n\t\t}\r\n\r\n\t\tvar plugins = [];\r\n\t\tvar descriptors = [];\r\n\t\tvar config = (chart && chart.config) || {};\r\n\t\tvar options = (config.options && config.options.plugins) || {};\r\n\r\n\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\r\n\t\t\tvar idx = plugins.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar id = plugin.id;\r\n\t\t\tvar opts = options[id];\r\n\t\t\tif (opts === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (opts === true) {\r\n\t\t\t\topts = helpers.clone(defaults.global.plugins[id]);\r\n\t\t\t}\r\n\r\n\t\t\tplugins.push(plugin);\r\n\t\t\tdescriptors.push({\r\n\t\t\t\tplugin: plugin,\r\n\t\t\t\toptions: opts || {}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tcache.descriptors = descriptors;\r\n\t\tcache.id = this._cacheId;\r\n\t\treturn descriptors;\r\n\t},\r\n\r\n\t/**\r\n\t * Invalidates cache for the given chart: descriptors hold a reference on plugin option,\r\n\t * but in some cases, this reference can be changed by the user when updating options.\r\n\t * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t * @private\r\n\t */\r\n\t_invalidate: function(chart) {\r\n\t\tdelete chart.$plugins;\r\n\t}\r\n};\r\n\r\n/**\r\n * Plugin extension hooks.\r\n * @interface IPlugin\r\n * @since 2.1.0\r\n */\r\n/**\r\n * @method IPlugin#beforeInit\r\n * @desc Called before initializing `chart`.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#afterInit\r\n * @desc Called after `chart` has been initialized and before the first update.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeUpdate\r\n * @desc Called before updating `chart`. If any plugin returns `false`, the update\r\n * is cancelled (and thus subsequent render(s)) until another `update` is triggered.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart update.\r\n */\r\n/**\r\n * @method IPlugin#afterUpdate\r\n * @desc Called after `chart` has been updated and before rendering. Note that this\r\n * hook will not be called if the chart update has been previously cancelled.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeDatasetsUpdate\r\n * @desc Called before updating the `chart` datasets. If any plugin returns `false`,\r\n * the datasets update is cancelled until another `update` is triggered.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} false to cancel the datasets update.\r\n * @since version 2.1.5\r\n*/\r\n/**\r\n * @method IPlugin#afterDatasetsUpdate\r\n * @desc Called after the `chart` datasets have been updated. Note that this hook\r\n * will not be called if the datasets update has been previously cancelled.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n * @since version 2.1.5\r\n */\r\n/**\r\n * @method IPlugin#beforeDatasetUpdate\r\n * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin\r\n * returns `false`, the datasets update is cancelled until another `update` is triggered.\r\n * @param {Chart} chart - The chart instance.\r\n * @param {Object} args - The call arguments.\r\n * @param {Number} args.index - The dataset index.\r\n * @param {Object} args.meta - The dataset metadata.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\r\n */\r\n/**\r\n * @method IPlugin#afterDatasetUpdate\r\n * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note\r\n * that this hook will not be called if the datasets update has been previously cancelled.\r\n * @param {Chart} chart - The chart instance.\r\n * @param {Object} args - The call arguments.\r\n * @param {Number} args.index - The dataset index.\r\n * @param {Object} args.meta - The dataset metadata.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeLayout\r\n * @desc Called before laying out `chart`. If any plugin returns `false`,\r\n * the layout update is cancelled until another `update` is triggered.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart layout.\r\n */\r\n/**\r\n * @method IPlugin#afterLayout\r\n * @desc Called after the `chart` has been layed out. Note that this hook will not\r\n * be called if the layout update has been previously cancelled.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeRender\r\n * @desc Called before rendering `chart`. If any plugin returns `false`,\r\n * the rendering is cancelled until another `render` is triggered.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart rendering.\r\n */\r\n/**\r\n * @method IPlugin#afterRender\r\n * @desc Called after the `chart` has been fully rendered (and animation completed). Note\r\n * that this hook will not be called if the rendering has been previously cancelled.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeDraw\r\n * @desc Called before drawing `chart` at every animation frame specified by the given\r\n * easing value. If any plugin returns `false`, the frame drawing is cancelled until\r\n * another `render` is triggered.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart drawing.\r\n */\r\n/**\r\n * @method IPlugin#afterDraw\r\n * @desc Called after the `chart` has been drawn for the specific easing value. Note\r\n * that this hook will not be called if the drawing has been previously cancelled.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeDatasetsDraw\r\n * @desc Called before drawing the `chart` datasets. If any plugin returns `false`,\r\n * the datasets drawing is cancelled until another `render` is triggered.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\r\n */\r\n/**\r\n * @method IPlugin#afterDatasetsDraw\r\n * @desc Called after the `chart` datasets have been drawn. Note that this hook\r\n * will not be called if the datasets drawing has been previously cancelled.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeDatasetDraw\r\n * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets\r\n * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing\r\n * is cancelled until another `render` is triggered.\r\n * @param {Chart} chart - The chart instance.\r\n * @param {Object} args - The call arguments.\r\n * @param {Number} args.index - The dataset index.\r\n * @param {Object} args.meta - The dataset metadata.\r\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\r\n */\r\n/**\r\n * @method IPlugin#afterDatasetDraw\r\n * @desc Called after the `chart` datasets at the given `args.index` have been drawn\r\n * (datasets are drawn in the reverse order). Note that this hook will not be called\r\n * if the datasets drawing has been previously cancelled.\r\n * @param {Chart} chart - The chart instance.\r\n * @param {Object} args - The call arguments.\r\n * @param {Number} args.index - The dataset index.\r\n * @param {Object} args.meta - The dataset metadata.\r\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeTooltipDraw\r\n * @desc Called before drawing the `tooltip`. If any plugin returns `false`,\r\n * the tooltip drawing is cancelled until another `render` is triggered.\r\n * @param {Chart} chart - The chart instance.\r\n * @param {Object} args - The call arguments.\r\n * @param {Object} args.tooltip - The tooltip.\r\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n * @returns {Boolean} `false` to cancel the chart tooltip drawing.\r\n */\r\n/**\r\n * @method IPlugin#afterTooltipDraw\r\n * @desc Called after drawing the `tooltip`. Note that this hook will not\r\n * be called if the tooltip drawing has been previously cancelled.\r\n * @param {Chart} chart - The chart instance.\r\n * @param {Object} args - The call arguments.\r\n * @param {Object} args.tooltip - The tooltip.\r\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#beforeEvent\r\n * @desc Called before processing the specified `event`. If any plugin returns `false`,\r\n * the event will be discarded.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {IEvent} event - The event object.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#afterEvent\r\n * @desc Called after the `event` has been consumed. Note that this hook\r\n * will not be called if the `event` has been previously discarded.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {IEvent} event - The event object.\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#resize\r\n * @desc Called after the chart as been resized.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Number} size - The new canvas display size (eq. canvas.style width & height).\r\n * @param {Object} options - The plugin options.\r\n */\r\n/**\r\n * @method IPlugin#destroy\r\n * @desc Called after the chart as been destroyed.\r\n * @param {Chart.Controller} chart - The chart instance.\r\n * @param {Object} options - The plugin options.\r\n */\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.plugins.js\n// module id = 349\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\nvar basic = require('./platform.basic');\r\nvar dom = require('./platform.dom');\r\n\r\n// @TODO Make possible to select another platform at build time.\r\nvar implementation = dom._enabled ? dom : basic;\r\n\r\n/**\r\n * @namespace Chart.platform\r\n * @see https://chartjs.gitbooks.io/proposals/content/Platform.html\r\n * @since 2.4.0\r\n */\r\nmodule.exports = helpers.extend({\r\n\t/**\r\n\t * @since 2.7.0\r\n\t */\r\n\tinitialize: function() {},\r\n\r\n\t/**\r\n\t * Called at chart construction time, returns a context2d instance implementing\r\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\r\n\t * @param {*} item - The native item from which to acquire context (platform specific)\r\n\t * @param {Object} options - The chart options\r\n\t * @returns {CanvasRenderingContext2D} context2d instance\r\n\t */\r\n\tacquireContext: function() {},\r\n\r\n\t/**\r\n\t * Called at chart destruction time, releases any resources associated to the context\r\n\t * previously returned by the acquireContext() method.\r\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\r\n\t * @returns {Boolean} true if the method succeeded, else false\r\n\t */\r\n\treleaseContext: function() {},\r\n\r\n\t/**\r\n\t * Registers the specified listener on the given chart.\r\n\t * @param {Chart} chart - Chart from which to listen for event\r\n\t * @param {String} type - The ({@link IEvent}) type to listen for\r\n\t * @param {Function} listener - Receives a notification (an object that implements\r\n\t * the {@link IEvent} interface) when an event of the specified type occurs.\r\n\t */\r\n\taddEventListener: function() {},\r\n\r\n\t/**\r\n\t * Removes the specified listener previously registered with addEventListener.\r\n\t * @param {Chart} chart -Chart from which to remove the listener\r\n\t * @param {String} type - The ({@link IEvent}) type to remove\r\n\t * @param {Function} listener - The listener function to remove from the event target.\r\n\t */\r\n\tremoveEventListener: function() {}\r\n\r\n}, implementation);\r\n\r\n/**\r\n * @interface IPlatform\r\n * Allows abstracting platform dependencies away from the chart\r\n * @borrows Chart.platform.acquireContext as acquireContext\r\n * @borrows Chart.platform.releaseContext as releaseContext\r\n * @borrows Chart.platform.addEventListener as addEventListener\r\n * @borrows Chart.platform.removeEventListener as removeEventListener\r\n */\r\n\r\n/**\r\n * @interface IEvent\r\n * @prop {String} type - The event type name, possible values are:\r\n * 'contextmenu', 'mouseenter', 'mousedown', 'mousemove', 'mouseup', 'mouseout',\r\n * 'click', 'dblclick', 'keydown', 'keypress', 'keyup' and 'resize'\r\n * @prop {*} native - The original native event (null for emulated events, e.g. 'resize')\r\n * @prop {Number} x - The mouse x position, relative to the canvas (null for incompatible events)\r\n * @prop {Number} y - The mouse y position, relative to the canvas (null for incompatible events)\r\n */\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/platforms/platform.js\n// module id = 350\n// module chunks = 3","/* MIT license */\r\nvar convert = require('color-convert');\r\nvar string = require('chartjs-color-string');\r\n\r\nvar Color = function (obj) {\r\n\tif (obj instanceof Color) {\r\n\t\treturn obj;\r\n\t}\r\n\tif (!(this instanceof Color)) {\r\n\t\treturn new Color(obj);\r\n\t}\r\n\r\n\tthis.valid = false;\r\n\tthis.values = {\r\n\t\trgb: [0, 0, 0],\r\n\t\thsl: [0, 0, 0],\r\n\t\thsv: [0, 0, 0],\r\n\t\thwb: [0, 0, 0],\r\n\t\tcmyk: [0, 0, 0, 0],\r\n\t\talpha: 1\r\n\t};\r\n\r\n\t// parse Color() argument\r\n\tvar vals;\r\n\tif (typeof obj === 'string') {\r\n\t\tvals = string.getRgba(obj);\r\n\t\tif (vals) {\r\n\t\t\tthis.setValues('rgb', vals);\r\n\t\t} else if (vals = string.getHsla(obj)) {\r\n\t\t\tthis.setValues('hsl', vals);\r\n\t\t} else if (vals = string.getHwb(obj)) {\r\n\t\t\tthis.setValues('hwb', vals);\r\n\t\t}\r\n\t} else if (typeof obj === 'object') {\r\n\t\tvals = obj;\r\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\r\n\t\t\tthis.setValues('rgb', vals);\r\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\r\n\t\t\tthis.setValues('hsl', vals);\r\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\r\n\t\t\tthis.setValues('hsv', vals);\r\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\r\n\t\t\tthis.setValues('hwb', vals);\r\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\r\n\t\t\tthis.setValues('cmyk', vals);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nColor.prototype = {\r\n\tisValid: function () {\r\n\t\treturn this.valid;\r\n\t},\r\n\trgb: function () {\r\n\t\treturn this.setSpace('rgb', arguments);\r\n\t},\r\n\thsl: function () {\r\n\t\treturn this.setSpace('hsl', arguments);\r\n\t},\r\n\thsv: function () {\r\n\t\treturn this.setSpace('hsv', arguments);\r\n\t},\r\n\thwb: function () {\r\n\t\treturn this.setSpace('hwb', arguments);\r\n\t},\r\n\tcmyk: function () {\r\n\t\treturn this.setSpace('cmyk', arguments);\r\n\t},\r\n\r\n\trgbArray: function () {\r\n\t\treturn this.values.rgb;\r\n\t},\r\n\thslArray: function () {\r\n\t\treturn this.values.hsl;\r\n\t},\r\n\thsvArray: function () {\r\n\t\treturn this.values.hsv;\r\n\t},\r\n\thwbArray: function () {\r\n\t\tvar values = this.values;\r\n\t\tif (values.alpha !== 1) {\r\n\t\t\treturn values.hwb.concat([values.alpha]);\r\n\t\t}\r\n\t\treturn values.hwb;\r\n\t},\r\n\tcmykArray: function () {\r\n\t\treturn this.values.cmyk;\r\n\t},\r\n\trgbaArray: function () {\r\n\t\tvar values = this.values;\r\n\t\treturn values.rgb.concat([values.alpha]);\r\n\t},\r\n\thslaArray: function () {\r\n\t\tvar values = this.values;\r\n\t\treturn values.hsl.concat([values.alpha]);\r\n\t},\r\n\talpha: function (val) {\r\n\t\tif (val === undefined) {\r\n\t\t\treturn this.values.alpha;\r\n\t\t}\r\n\t\tthis.setValues('alpha', val);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tred: function (val) {\r\n\t\treturn this.setChannel('rgb', 0, val);\r\n\t},\r\n\tgreen: function (val) {\r\n\t\treturn this.setChannel('rgb', 1, val);\r\n\t},\r\n\tblue: function (val) {\r\n\t\treturn this.setChannel('rgb', 2, val);\r\n\t},\r\n\thue: function (val) {\r\n\t\tif (val) {\r\n\t\t\tval %= 360;\r\n\t\t\tval = val < 0 ? 360 + val : val;\r\n\t\t}\r\n\t\treturn this.setChannel('hsl', 0, val);\r\n\t},\r\n\tsaturation: function (val) {\r\n\t\treturn this.setChannel('hsl', 1, val);\r\n\t},\r\n\tlightness: function (val) {\r\n\t\treturn this.setChannel('hsl', 2, val);\r\n\t},\r\n\tsaturationv: function (val) {\r\n\t\treturn this.setChannel('hsv', 1, val);\r\n\t},\r\n\twhiteness: function (val) {\r\n\t\treturn this.setChannel('hwb', 1, val);\r\n\t},\r\n\tblackness: function (val) {\r\n\t\treturn this.setChannel('hwb', 2, val);\r\n\t},\r\n\tvalue: function (val) {\r\n\t\treturn this.setChannel('hsv', 2, val);\r\n\t},\r\n\tcyan: function (val) {\r\n\t\treturn this.setChannel('cmyk', 0, val);\r\n\t},\r\n\tmagenta: function (val) {\r\n\t\treturn this.setChannel('cmyk', 1, val);\r\n\t},\r\n\tyellow: function (val) {\r\n\t\treturn this.setChannel('cmyk', 2, val);\r\n\t},\r\n\tblack: function (val) {\r\n\t\treturn this.setChannel('cmyk', 3, val);\r\n\t},\r\n\r\n\thexString: function () {\r\n\t\treturn string.hexString(this.values.rgb);\r\n\t},\r\n\trgbString: function () {\r\n\t\treturn string.rgbString(this.values.rgb, this.values.alpha);\r\n\t},\r\n\trgbaString: function () {\r\n\t\treturn string.rgbaString(this.values.rgb, this.values.alpha);\r\n\t},\r\n\tpercentString: function () {\r\n\t\treturn string.percentString(this.values.rgb, this.values.alpha);\r\n\t},\r\n\thslString: function () {\r\n\t\treturn string.hslString(this.values.hsl, this.values.alpha);\r\n\t},\r\n\thslaString: function () {\r\n\t\treturn string.hslaString(this.values.hsl, this.values.alpha);\r\n\t},\r\n\thwbString: function () {\r\n\t\treturn string.hwbString(this.values.hwb, this.values.alpha);\r\n\t},\r\n\tkeyword: function () {\r\n\t\treturn string.keyword(this.values.rgb, this.values.alpha);\r\n\t},\r\n\r\n\trgbNumber: function () {\r\n\t\tvar rgb = this.values.rgb;\r\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\r\n\t},\r\n\r\n\tluminosity: function () {\r\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\r\n\t\tvar rgb = this.values.rgb;\r\n\t\tvar lum = [];\r\n\t\tfor (var i = 0; i < rgb.length; i++) {\r\n\t\t\tvar chan = rgb[i] / 255;\r\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\r\n\t\t}\r\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\r\n\t},\r\n\r\n\tcontrast: function (color2) {\r\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\r\n\t\tvar lum1 = this.luminosity();\r\n\t\tvar lum2 = color2.luminosity();\r\n\t\tif (lum1 > lum2) {\r\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\r\n\t\t}\r\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\r\n\t},\r\n\r\n\tlevel: function (color2) {\r\n\t\tvar contrastRatio = this.contrast(color2);\r\n\t\tif (contrastRatio >= 7.1) {\r\n\t\t\treturn 'AAA';\r\n\t\t}\r\n\r\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\r\n\t},\r\n\r\n\tdark: function () {\r\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\r\n\t\tvar rgb = this.values.rgb;\r\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\r\n\t\treturn yiq < 128;\r\n\t},\r\n\r\n\tlight: function () {\r\n\t\treturn !this.dark();\r\n\t},\r\n\r\n\tnegate: function () {\r\n\t\tvar rgb = [];\r\n\t\tfor (var i = 0; i < 3; i++) {\r\n\t\t\trgb[i] = 255 - this.values.rgb[i];\r\n\t\t}\r\n\t\tthis.setValues('rgb', rgb);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tlighten: function (ratio) {\r\n\t\tvar hsl = this.values.hsl;\r\n\t\thsl[2] += hsl[2] * ratio;\r\n\t\tthis.setValues('hsl', hsl);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tdarken: function (ratio) {\r\n\t\tvar hsl = this.values.hsl;\r\n\t\thsl[2] -= hsl[2] * ratio;\r\n\t\tthis.setValues('hsl', hsl);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tsaturate: function (ratio) {\r\n\t\tvar hsl = this.values.hsl;\r\n\t\thsl[1] += hsl[1] * ratio;\r\n\t\tthis.setValues('hsl', hsl);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tdesaturate: function (ratio) {\r\n\t\tvar hsl = this.values.hsl;\r\n\t\thsl[1] -= hsl[1] * ratio;\r\n\t\tthis.setValues('hsl', hsl);\r\n\t\treturn this;\r\n\t},\r\n\r\n\twhiten: function (ratio) {\r\n\t\tvar hwb = this.values.hwb;\r\n\t\thwb[1] += hwb[1] * ratio;\r\n\t\tthis.setValues('hwb', hwb);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tblacken: function (ratio) {\r\n\t\tvar hwb = this.values.hwb;\r\n\t\thwb[2] += hwb[2] * ratio;\r\n\t\tthis.setValues('hwb', hwb);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tgreyscale: function () {\r\n\t\tvar rgb = this.values.rgb;\r\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\r\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\r\n\t\tthis.setValues('rgb', [val, val, val]);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tclearer: function (ratio) {\r\n\t\tvar alpha = this.values.alpha;\r\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\r\n\t\treturn this;\r\n\t},\r\n\r\n\topaquer: function (ratio) {\r\n\t\tvar alpha = this.values.alpha;\r\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\r\n\t\treturn this;\r\n\t},\r\n\r\n\trotate: function (degrees) {\r\n\t\tvar hsl = this.values.hsl;\r\n\t\tvar hue = (hsl[0] + degrees) % 360;\r\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\r\n\t\tthis.setValues('hsl', hsl);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t/**\r\n\t * Ported from sass implementation in C\r\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\r\n\t */\r\n\tmix: function (mixinColor, weight) {\r\n\t\tvar color1 = this;\r\n\t\tvar color2 = mixinColor;\r\n\t\tvar p = weight === undefined ? 0.5 : weight;\r\n\r\n\t\tvar w = 2 * p - 1;\r\n\t\tvar a = color1.alpha() - color2.alpha();\r\n\r\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\r\n\t\tvar w2 = 1 - w1;\r\n\r\n\t\treturn this\r\n\t\t\t.rgb(\r\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\r\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\r\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\r\n\t\t\t)\r\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\r\n\t},\r\n\r\n\ttoJSON: function () {\r\n\t\treturn this.rgb();\r\n\t},\r\n\r\n\tclone: function () {\r\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\r\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\r\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\r\n\t\t// except 'alpha' which is a number.\r\n\t\tvar result = new Color();\r\n\t\tvar source = this.values;\r\n\t\tvar target = result.values;\r\n\t\tvar value, type;\r\n\r\n\t\tfor (var prop in source) {\r\n\t\t\tif (source.hasOwnProperty(prop)) {\r\n\t\t\t\tvalue = source[prop];\r\n\t\t\t\ttype = ({}).toString.call(value);\r\n\t\t\t\tif (type === '[object Array]') {\r\n\t\t\t\t\ttarget[prop] = value.slice(0);\r\n\t\t\t\t} else if (type === '[object Number]') {\r\n\t\t\t\t\ttarget[prop] = value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error('unexpected color value:', value);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n};\r\n\r\nColor.prototype.spaces = {\r\n\trgb: ['red', 'green', 'blue'],\r\n\thsl: ['hue', 'saturation', 'lightness'],\r\n\thsv: ['hue', 'saturation', 'value'],\r\n\thwb: ['hue', 'whiteness', 'blackness'],\r\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\r\n};\r\n\r\nColor.prototype.maxes = {\r\n\trgb: [255, 255, 255],\r\n\thsl: [360, 100, 100],\r\n\thsv: [360, 100, 100],\r\n\thwb: [360, 100, 100],\r\n\tcmyk: [100, 100, 100, 100]\r\n};\r\n\r\nColor.prototype.getValues = function (space) {\r\n\tvar values = this.values;\r\n\tvar vals = {};\r\n\r\n\tfor (var i = 0; i < space.length; i++) {\r\n\t\tvals[space.charAt(i)] = values[space][i];\r\n\t}\r\n\r\n\tif (values.alpha !== 1) {\r\n\t\tvals.a = values.alpha;\r\n\t}\r\n\r\n\t// {r: 255, g: 255, b: 255, a: 0.4}\r\n\treturn vals;\r\n};\r\n\r\nColor.prototype.setValues = function (space, vals) {\r\n\tvar values = this.values;\r\n\tvar spaces = this.spaces;\r\n\tvar maxes = this.maxes;\r\n\tvar alpha = 1;\r\n\tvar i;\r\n\r\n\tthis.valid = true;\r\n\r\n\tif (space === 'alpha') {\r\n\t\talpha = vals;\r\n\t} else if (vals.length) {\r\n\t\t// [10, 10, 10]\r\n\t\tvalues[space] = vals.slice(0, space.length);\r\n\t\talpha = vals[space.length];\r\n\t} else if (vals[space.charAt(0)] !== undefined) {\r\n\t\t// {r: 10, g: 10, b: 10}\r\n\t\tfor (i = 0; i < space.length; i++) {\r\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\r\n\t\t}\r\n\r\n\t\talpha = vals.a;\r\n\t} else if (vals[spaces[space][0]] !== undefined) {\r\n\t\t// {red: 10, green: 10, blue: 10}\r\n\t\tvar chans = spaces[space];\r\n\r\n\t\tfor (i = 0; i < space.length; i++) {\r\n\t\t\tvalues[space][i] = vals[chans[i]];\r\n\t\t}\r\n\r\n\t\talpha = vals.alpha;\r\n\t}\r\n\r\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\r\n\r\n\tif (space === 'alpha') {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tvar capped;\r\n\r\n\t// cap values of the space prior converting all values\r\n\tfor (i = 0; i < space.length; i++) {\r\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\r\n\t\tvalues[space][i] = Math.round(capped);\r\n\t}\r\n\r\n\t// convert to all the other color spaces\r\n\tfor (var sname in spaces) {\r\n\t\tif (sname !== space) {\r\n\t\t\tvalues[sname] = convert[space][sname](values[space]);\r\n\t\t}\r\n\t}\r\n\r\n\treturn true;\r\n};\r\n\r\nColor.prototype.setSpace = function (space, args) {\r\n\tvar vals = args[0];\r\n\r\n\tif (vals === undefined) {\r\n\t\t// color.rgb()\r\n\t\treturn this.getValues(space);\r\n\t}\r\n\r\n\t// color.rgb(10, 10, 10)\r\n\tif (typeof vals === 'number') {\r\n\t\tvals = Array.prototype.slice.call(args);\r\n\t}\r\n\r\n\tthis.setValues(space, vals);\r\n\treturn this;\r\n};\r\n\r\nColor.prototype.setChannel = function (space, index, val) {\r\n\tvar svalues = this.values[space];\r\n\tif (val === undefined) {\r\n\t\t// color.red()\r\n\t\treturn svalues[index];\r\n\t} else if (val === svalues[index]) {\r\n\t\t// color.red(color.red())\r\n\t\treturn this;\r\n\t}\r\n\r\n\t// color.red(100)\r\n\tsvalues[index] = val;\r\n\tthis.setValues(space, svalues);\r\n\r\n\treturn this;\r\n};\r\n\r\nif (typeof window !== 'undefined') {\r\n\twindow.Color = Color;\r\n}\r\n\r\nmodule.exports = Color;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chartjs-color/index.js\n// module id = 351\n// module chunks = 3","/* MIT license */\r\nvar cssKeywords = require('color-name');\r\n\r\n// NOTE: conversions should only return primitive values (i.e. arrays, or\r\n//       values that give correct `typeof` results).\r\n//       do not use box values types (i.e. Number(), String(), etc.)\r\n\r\nvar reverseKeywords = {};\r\nfor (var key in cssKeywords) {\r\n\tif (cssKeywords.hasOwnProperty(key)) {\r\n\t\treverseKeywords[cssKeywords[key]] = key;\r\n\t}\r\n}\r\n\r\nvar convert = module.exports = {\r\n\trgb: {channels: 3, labels: 'rgb'},\r\n\thsl: {channels: 3, labels: 'hsl'},\r\n\thsv: {channels: 3, labels: 'hsv'},\r\n\thwb: {channels: 3, labels: 'hwb'},\r\n\tcmyk: {channels: 4, labels: 'cmyk'},\r\n\txyz: {channels: 3, labels: 'xyz'},\r\n\tlab: {channels: 3, labels: 'lab'},\r\n\tlch: {channels: 3, labels: 'lch'},\r\n\thex: {channels: 1, labels: ['hex']},\r\n\tkeyword: {channels: 1, labels: ['keyword']},\r\n\tansi16: {channels: 1, labels: ['ansi16']},\r\n\tansi256: {channels: 1, labels: ['ansi256']},\r\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\r\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\r\n\tgray: {channels: 1, labels: ['gray']}\r\n};\r\n\r\n// hide .channels and .labels properties\r\nfor (var model in convert) {\r\n\tif (convert.hasOwnProperty(model)) {\r\n\t\tif (!('channels' in convert[model])) {\r\n\t\t\tthrow new Error('missing channels property: ' + model);\r\n\t\t}\r\n\r\n\t\tif (!('labels' in convert[model])) {\r\n\t\t\tthrow new Error('missing channel labels property: ' + model);\r\n\t\t}\r\n\r\n\t\tif (convert[model].labels.length !== convert[model].channels) {\r\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\r\n\t\t}\r\n\r\n\t\tvar channels = convert[model].channels;\r\n\t\tvar labels = convert[model].labels;\r\n\t\tdelete convert[model].channels;\r\n\t\tdelete convert[model].labels;\r\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\r\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\r\n\t}\r\n}\r\n\r\nconvert.rgb.hsl = function (rgb) {\r\n\tvar r = rgb[0] / 255;\r\n\tvar g = rgb[1] / 255;\r\n\tvar b = rgb[2] / 255;\r\n\tvar min = Math.min(r, g, b);\r\n\tvar max = Math.max(r, g, b);\r\n\tvar delta = max - min;\r\n\tvar h;\r\n\tvar s;\r\n\tvar l;\r\n\r\n\tif (max === min) {\r\n\t\th = 0;\r\n\t} else if (r === max) {\r\n\t\th = (g - b) / delta;\r\n\t} else if (g === max) {\r\n\t\th = 2 + (b - r) / delta;\r\n\t} else if (b === max) {\r\n\t\th = 4 + (r - g) / delta;\r\n\t}\r\n\r\n\th = Math.min(h * 60, 360);\r\n\r\n\tif (h < 0) {\r\n\t\th += 360;\r\n\t}\r\n\r\n\tl = (min + max) / 2;\r\n\r\n\tif (max === min) {\r\n\t\ts = 0;\r\n\t} else if (l <= 0.5) {\r\n\t\ts = delta / (max + min);\r\n\t} else {\r\n\t\ts = delta / (2 - max - min);\r\n\t}\r\n\r\n\treturn [h, s * 100, l * 100];\r\n};\r\n\r\nconvert.rgb.hsv = function (rgb) {\r\n\tvar r = rgb[0];\r\n\tvar g = rgb[1];\r\n\tvar b = rgb[2];\r\n\tvar min = Math.min(r, g, b);\r\n\tvar max = Math.max(r, g, b);\r\n\tvar delta = max - min;\r\n\tvar h;\r\n\tvar s;\r\n\tvar v;\r\n\r\n\tif (max === 0) {\r\n\t\ts = 0;\r\n\t} else {\r\n\t\ts = (delta / max * 1000) / 10;\r\n\t}\r\n\r\n\tif (max === min) {\r\n\t\th = 0;\r\n\t} else if (r === max) {\r\n\t\th = (g - b) / delta;\r\n\t} else if (g === max) {\r\n\t\th = 2 + (b - r) / delta;\r\n\t} else if (b === max) {\r\n\t\th = 4 + (r - g) / delta;\r\n\t}\r\n\r\n\th = Math.min(h * 60, 360);\r\n\r\n\tif (h < 0) {\r\n\t\th += 360;\r\n\t}\r\n\r\n\tv = ((max / 255) * 1000) / 10;\r\n\r\n\treturn [h, s, v];\r\n};\r\n\r\nconvert.rgb.hwb = function (rgb) {\r\n\tvar r = rgb[0];\r\n\tvar g = rgb[1];\r\n\tvar b = rgb[2];\r\n\tvar h = convert.rgb.hsl(rgb)[0];\r\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\r\n\r\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\r\n\r\n\treturn [h, w * 100, b * 100];\r\n};\r\n\r\nconvert.rgb.cmyk = function (rgb) {\r\n\tvar r = rgb[0] / 255;\r\n\tvar g = rgb[1] / 255;\r\n\tvar b = rgb[2] / 255;\r\n\tvar c;\r\n\tvar m;\r\n\tvar y;\r\n\tvar k;\r\n\r\n\tk = Math.min(1 - r, 1 - g, 1 - b);\r\n\tc = (1 - r - k) / (1 - k) || 0;\r\n\tm = (1 - g - k) / (1 - k) || 0;\r\n\ty = (1 - b - k) / (1 - k) || 0;\r\n\r\n\treturn [c * 100, m * 100, y * 100, k * 100];\r\n};\r\n\r\n/**\r\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\r\n * */\r\nfunction comparativeDistance(x, y) {\r\n\treturn (\r\n\t\tMath.pow(x[0] - y[0], 2) +\r\n\t\tMath.pow(x[1] - y[1], 2) +\r\n\t\tMath.pow(x[2] - y[2], 2)\r\n\t);\r\n}\r\n\r\nconvert.rgb.keyword = function (rgb) {\r\n\tvar reversed = reverseKeywords[rgb];\r\n\tif (reversed) {\r\n\t\treturn reversed;\r\n\t}\r\n\r\n\tvar currentClosestDistance = Infinity;\r\n\tvar currentClosestKeyword;\r\n\r\n\tfor (var keyword in cssKeywords) {\r\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\r\n\t\t\tvar value = cssKeywords[keyword];\r\n\r\n\t\t\t// Compute comparative distance\r\n\t\t\tvar distance = comparativeDistance(rgb, value);\r\n\r\n\t\t\t// Check if its less, if so set as closest\r\n\t\t\tif (distance < currentClosestDistance) {\r\n\t\t\t\tcurrentClosestDistance = distance;\r\n\t\t\t\tcurrentClosestKeyword = keyword;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn currentClosestKeyword;\r\n};\r\n\r\nconvert.keyword.rgb = function (keyword) {\r\n\treturn cssKeywords[keyword];\r\n};\r\n\r\nconvert.rgb.xyz = function (rgb) {\r\n\tvar r = rgb[0] / 255;\r\n\tvar g = rgb[1] / 255;\r\n\tvar b = rgb[2] / 255;\r\n\r\n\t// assume sRGB\r\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\r\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\r\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\r\n\r\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\r\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\r\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\r\n\r\n\treturn [x * 100, y * 100, z * 100];\r\n};\r\n\r\nconvert.rgb.lab = function (rgb) {\r\n\tvar xyz = convert.rgb.xyz(rgb);\r\n\tvar x = xyz[0];\r\n\tvar y = xyz[1];\r\n\tvar z = xyz[2];\r\n\tvar l;\r\n\tvar a;\r\n\tvar b;\r\n\r\n\tx /= 95.047;\r\n\ty /= 100;\r\n\tz /= 108.883;\r\n\r\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\r\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\r\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\r\n\r\n\tl = (116 * y) - 16;\r\n\ta = 500 * (x - y);\r\n\tb = 200 * (y - z);\r\n\r\n\treturn [l, a, b];\r\n};\r\n\r\nconvert.hsl.rgb = function (hsl) {\r\n\tvar h = hsl[0] / 360;\r\n\tvar s = hsl[1] / 100;\r\n\tvar l = hsl[2] / 100;\r\n\tvar t1;\r\n\tvar t2;\r\n\tvar t3;\r\n\tvar rgb;\r\n\tvar val;\r\n\r\n\tif (s === 0) {\r\n\t\tval = l * 255;\r\n\t\treturn [val, val, val];\r\n\t}\r\n\r\n\tif (l < 0.5) {\r\n\t\tt2 = l * (1 + s);\r\n\t} else {\r\n\t\tt2 = l + s - l * s;\r\n\t}\r\n\r\n\tt1 = 2 * l - t2;\r\n\r\n\trgb = [0, 0, 0];\r\n\tfor (var i = 0; i < 3; i++) {\r\n\t\tt3 = h + 1 / 3 * -(i - 1);\r\n\t\tif (t3 < 0) {\r\n\t\t\tt3++;\r\n\t\t}\r\n\t\tif (t3 > 1) {\r\n\t\t\tt3--;\r\n\t\t}\r\n\r\n\t\tif (6 * t3 < 1) {\r\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\r\n\t\t} else if (2 * t3 < 1) {\r\n\t\t\tval = t2;\r\n\t\t} else if (3 * t3 < 2) {\r\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\r\n\t\t} else {\r\n\t\t\tval = t1;\r\n\t\t}\r\n\r\n\t\trgb[i] = val * 255;\r\n\t}\r\n\r\n\treturn rgb;\r\n};\r\n\r\nconvert.hsl.hsv = function (hsl) {\r\n\tvar h = hsl[0];\r\n\tvar s = hsl[1] / 100;\r\n\tvar l = hsl[2] / 100;\r\n\tvar smin = s;\r\n\tvar lmin = Math.max(l, 0.01);\r\n\tvar sv;\r\n\tvar v;\r\n\r\n\tl *= 2;\r\n\ts *= (l <= 1) ? l : 2 - l;\r\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\r\n\tv = (l + s) / 2;\r\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\r\n\r\n\treturn [h, sv * 100, v * 100];\r\n};\r\n\r\nconvert.hsv.rgb = function (hsv) {\r\n\tvar h = hsv[0] / 60;\r\n\tvar s = hsv[1] / 100;\r\n\tvar v = hsv[2] / 100;\r\n\tvar hi = Math.floor(h) % 6;\r\n\r\n\tvar f = h - Math.floor(h);\r\n\tvar p = 255 * v * (1 - s);\r\n\tvar q = 255 * v * (1 - (s * f));\r\n\tvar t = 255 * v * (1 - (s * (1 - f)));\r\n\tv *= 255;\r\n\r\n\tswitch (hi) {\r\n\t\tcase 0:\r\n\t\t\treturn [v, t, p];\r\n\t\tcase 1:\r\n\t\t\treturn [q, v, p];\r\n\t\tcase 2:\r\n\t\t\treturn [p, v, t];\r\n\t\tcase 3:\r\n\t\t\treturn [p, q, v];\r\n\t\tcase 4:\r\n\t\t\treturn [t, p, v];\r\n\t\tcase 5:\r\n\t\t\treturn [v, p, q];\r\n\t}\r\n};\r\n\r\nconvert.hsv.hsl = function (hsv) {\r\n\tvar h = hsv[0];\r\n\tvar s = hsv[1] / 100;\r\n\tvar v = hsv[2] / 100;\r\n\tvar vmin = Math.max(v, 0.01);\r\n\tvar lmin;\r\n\tvar sl;\r\n\tvar l;\r\n\r\n\tl = (2 - s) * v;\r\n\tlmin = (2 - s) * vmin;\r\n\tsl = s * vmin;\r\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\r\n\tsl = sl || 0;\r\n\tl /= 2;\r\n\r\n\treturn [h, sl * 100, l * 100];\r\n};\r\n\r\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\r\nconvert.hwb.rgb = function (hwb) {\r\n\tvar h = hwb[0] / 360;\r\n\tvar wh = hwb[1] / 100;\r\n\tvar bl = hwb[2] / 100;\r\n\tvar ratio = wh + bl;\r\n\tvar i;\r\n\tvar v;\r\n\tvar f;\r\n\tvar n;\r\n\r\n\t// wh + bl cant be > 1\r\n\tif (ratio > 1) {\r\n\t\twh /= ratio;\r\n\t\tbl /= ratio;\r\n\t}\r\n\r\n\ti = Math.floor(6 * h);\r\n\tv = 1 - bl;\r\n\tf = 6 * h - i;\r\n\r\n\tif ((i & 0x01) !== 0) {\r\n\t\tf = 1 - f;\r\n\t}\r\n\r\n\tn = wh + f * (v - wh); // linear interpolation\r\n\r\n\tvar r;\r\n\tvar g;\r\n\tvar b;\r\n\tswitch (i) {\r\n\t\tdefault:\r\n\t\tcase 6:\r\n\t\tcase 0: r = v; g = n; b = wh; break;\r\n\t\tcase 1: r = n; g = v; b = wh; break;\r\n\t\tcase 2: r = wh; g = v; b = n; break;\r\n\t\tcase 3: r = wh; g = n; b = v; break;\r\n\t\tcase 4: r = n; g = wh; b = v; break;\r\n\t\tcase 5: r = v; g = wh; b = n; break;\r\n\t}\r\n\r\n\treturn [r * 255, g * 255, b * 255];\r\n};\r\n\r\nconvert.cmyk.rgb = function (cmyk) {\r\n\tvar c = cmyk[0] / 100;\r\n\tvar m = cmyk[1] / 100;\r\n\tvar y = cmyk[2] / 100;\r\n\tvar k = cmyk[3] / 100;\r\n\tvar r;\r\n\tvar g;\r\n\tvar b;\r\n\r\n\tr = 1 - Math.min(1, c * (1 - k) + k);\r\n\tg = 1 - Math.min(1, m * (1 - k) + k);\r\n\tb = 1 - Math.min(1, y * (1 - k) + k);\r\n\r\n\treturn [r * 255, g * 255, b * 255];\r\n};\r\n\r\nconvert.xyz.rgb = function (xyz) {\r\n\tvar x = xyz[0] / 100;\r\n\tvar y = xyz[1] / 100;\r\n\tvar z = xyz[2] / 100;\r\n\tvar r;\r\n\tvar g;\r\n\tvar b;\r\n\r\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\r\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\r\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\r\n\r\n\t// assume sRGB\r\n\tr = r > 0.0031308\r\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\r\n\t\t: r * 12.92;\r\n\r\n\tg = g > 0.0031308\r\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\r\n\t\t: g * 12.92;\r\n\r\n\tb = b > 0.0031308\r\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\r\n\t\t: b * 12.92;\r\n\r\n\tr = Math.min(Math.max(0, r), 1);\r\n\tg = Math.min(Math.max(0, g), 1);\r\n\tb = Math.min(Math.max(0, b), 1);\r\n\r\n\treturn [r * 255, g * 255, b * 255];\r\n};\r\n\r\nconvert.xyz.lab = function (xyz) {\r\n\tvar x = xyz[0];\r\n\tvar y = xyz[1];\r\n\tvar z = xyz[2];\r\n\tvar l;\r\n\tvar a;\r\n\tvar b;\r\n\r\n\tx /= 95.047;\r\n\ty /= 100;\r\n\tz /= 108.883;\r\n\r\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\r\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\r\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\r\n\r\n\tl = (116 * y) - 16;\r\n\ta = 500 * (x - y);\r\n\tb = 200 * (y - z);\r\n\r\n\treturn [l, a, b];\r\n};\r\n\r\nconvert.lab.xyz = function (lab) {\r\n\tvar l = lab[0];\r\n\tvar a = lab[1];\r\n\tvar b = lab[2];\r\n\tvar x;\r\n\tvar y;\r\n\tvar z;\r\n\r\n\ty = (l + 16) / 116;\r\n\tx = a / 500 + y;\r\n\tz = y - b / 200;\r\n\r\n\tvar y2 = Math.pow(y, 3);\r\n\tvar x2 = Math.pow(x, 3);\r\n\tvar z2 = Math.pow(z, 3);\r\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\r\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\r\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\r\n\r\n\tx *= 95.047;\r\n\ty *= 100;\r\n\tz *= 108.883;\r\n\r\n\treturn [x, y, z];\r\n};\r\n\r\nconvert.lab.lch = function (lab) {\r\n\tvar l = lab[0];\r\n\tvar a = lab[1];\r\n\tvar b = lab[2];\r\n\tvar hr;\r\n\tvar h;\r\n\tvar c;\r\n\r\n\thr = Math.atan2(b, a);\r\n\th = hr * 360 / 2 / Math.PI;\r\n\r\n\tif (h < 0) {\r\n\t\th += 360;\r\n\t}\r\n\r\n\tc = Math.sqrt(a * a + b * b);\r\n\r\n\treturn [l, c, h];\r\n};\r\n\r\nconvert.lch.lab = function (lch) {\r\n\tvar l = lch[0];\r\n\tvar c = lch[1];\r\n\tvar h = lch[2];\r\n\tvar a;\r\n\tvar b;\r\n\tvar hr;\r\n\r\n\thr = h / 360 * 2 * Math.PI;\r\n\ta = c * Math.cos(hr);\r\n\tb = c * Math.sin(hr);\r\n\r\n\treturn [l, a, b];\r\n};\r\n\r\nconvert.rgb.ansi16 = function (args) {\r\n\tvar r = args[0];\r\n\tvar g = args[1];\r\n\tvar b = args[2];\r\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\r\n\r\n\tvalue = Math.round(value / 50);\r\n\r\n\tif (value === 0) {\r\n\t\treturn 30;\r\n\t}\r\n\r\n\tvar ansi = 30\r\n\t\t+ ((Math.round(b / 255) << 2)\r\n\t\t| (Math.round(g / 255) << 1)\r\n\t\t| Math.round(r / 255));\r\n\r\n\tif (value === 2) {\r\n\t\tansi += 60;\r\n\t}\r\n\r\n\treturn ansi;\r\n};\r\n\r\nconvert.hsv.ansi16 = function (args) {\r\n\t// optimization here; we already know the value and don't need to get\r\n\t// it converted for us.\r\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\r\n};\r\n\r\nconvert.rgb.ansi256 = function (args) {\r\n\tvar r = args[0];\r\n\tvar g = args[1];\r\n\tvar b = args[2];\r\n\r\n\t// we use the extended greyscale palette here, with the exception of\r\n\t// black and white. normal palette only has 4 greyscale shades.\r\n\tif (r === g && g === b) {\r\n\t\tif (r < 8) {\r\n\t\t\treturn 16;\r\n\t\t}\r\n\r\n\t\tif (r > 248) {\r\n\t\t\treturn 231;\r\n\t\t}\r\n\r\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\r\n\t}\r\n\r\n\tvar ansi = 16\r\n\t\t+ (36 * Math.round(r / 255 * 5))\r\n\t\t+ (6 * Math.round(g / 255 * 5))\r\n\t\t+ Math.round(b / 255 * 5);\r\n\r\n\treturn ansi;\r\n};\r\n\r\nconvert.ansi16.rgb = function (args) {\r\n\tvar color = args % 10;\r\n\r\n\t// handle greyscale\r\n\tif (color === 0 || color === 7) {\r\n\t\tif (args > 50) {\r\n\t\t\tcolor += 3.5;\r\n\t\t}\r\n\r\n\t\tcolor = color / 10.5 * 255;\r\n\r\n\t\treturn [color, color, color];\r\n\t}\r\n\r\n\tvar mult = (~~(args > 50) + 1) * 0.5;\r\n\tvar r = ((color & 1) * mult) * 255;\r\n\tvar g = (((color >> 1) & 1) * mult) * 255;\r\n\tvar b = (((color >> 2) & 1) * mult) * 255;\r\n\r\n\treturn [r, g, b];\r\n};\r\n\r\nconvert.ansi256.rgb = function (args) {\r\n\t// handle greyscale\r\n\tif (args >= 232) {\r\n\t\tvar c = (args - 232) * 10 + 8;\r\n\t\treturn [c, c, c];\r\n\t}\r\n\r\n\targs -= 16;\r\n\r\n\tvar rem;\r\n\tvar r = Math.floor(args / 36) / 5 * 255;\r\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\r\n\tvar b = (rem % 6) / 5 * 255;\r\n\r\n\treturn [r, g, b];\r\n};\r\n\r\nconvert.rgb.hex = function (args) {\r\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\r\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\r\n\t\t+ (Math.round(args[2]) & 0xFF);\r\n\r\n\tvar string = integer.toString(16).toUpperCase();\r\n\treturn '000000'.substring(string.length) + string;\r\n};\r\n\r\nconvert.hex.rgb = function (args) {\r\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\r\n\tif (!match) {\r\n\t\treturn [0, 0, 0];\r\n\t}\r\n\r\n\tvar colorString = match[0];\r\n\r\n\tif (match[0].length === 3) {\r\n\t\tcolorString = colorString.split('').map(function (char) {\r\n\t\t\treturn char + char;\r\n\t\t}).join('');\r\n\t}\r\n\r\n\tvar integer = parseInt(colorString, 16);\r\n\tvar r = (integer >> 16) & 0xFF;\r\n\tvar g = (integer >> 8) & 0xFF;\r\n\tvar b = integer & 0xFF;\r\n\r\n\treturn [r, g, b];\r\n};\r\n\r\nconvert.rgb.hcg = function (rgb) {\r\n\tvar r = rgb[0] / 255;\r\n\tvar g = rgb[1] / 255;\r\n\tvar b = rgb[2] / 255;\r\n\tvar max = Math.max(Math.max(r, g), b);\r\n\tvar min = Math.min(Math.min(r, g), b);\r\n\tvar chroma = (max - min);\r\n\tvar grayscale;\r\n\tvar hue;\r\n\r\n\tif (chroma < 1) {\r\n\t\tgrayscale = min / (1 - chroma);\r\n\t} else {\r\n\t\tgrayscale = 0;\r\n\t}\r\n\r\n\tif (chroma <= 0) {\r\n\t\thue = 0;\r\n\t} else\r\n\tif (max === r) {\r\n\t\thue = ((g - b) / chroma) % 6;\r\n\t} else\r\n\tif (max === g) {\r\n\t\thue = 2 + (b - r) / chroma;\r\n\t} else {\r\n\t\thue = 4 + (r - g) / chroma + 4;\r\n\t}\r\n\r\n\thue /= 6;\r\n\thue %= 1;\r\n\r\n\treturn [hue * 360, chroma * 100, grayscale * 100];\r\n};\r\n\r\nconvert.hsl.hcg = function (hsl) {\r\n\tvar s = hsl[1] / 100;\r\n\tvar l = hsl[2] / 100;\r\n\tvar c = 1;\r\n\tvar f = 0;\r\n\r\n\tif (l < 0.5) {\r\n\t\tc = 2.0 * s * l;\r\n\t} else {\r\n\t\tc = 2.0 * s * (1.0 - l);\r\n\t}\r\n\r\n\tif (c < 1.0) {\r\n\t\tf = (l - 0.5 * c) / (1.0 - c);\r\n\t}\r\n\r\n\treturn [hsl[0], c * 100, f * 100];\r\n};\r\n\r\nconvert.hsv.hcg = function (hsv) {\r\n\tvar s = hsv[1] / 100;\r\n\tvar v = hsv[2] / 100;\r\n\r\n\tvar c = s * v;\r\n\tvar f = 0;\r\n\r\n\tif (c < 1.0) {\r\n\t\tf = (v - c) / (1 - c);\r\n\t}\r\n\r\n\treturn [hsv[0], c * 100, f * 100];\r\n};\r\n\r\nconvert.hcg.rgb = function (hcg) {\r\n\tvar h = hcg[0] / 360;\r\n\tvar c = hcg[1] / 100;\r\n\tvar g = hcg[2] / 100;\r\n\r\n\tif (c === 0.0) {\r\n\t\treturn [g * 255, g * 255, g * 255];\r\n\t}\r\n\r\n\tvar pure = [0, 0, 0];\r\n\tvar hi = (h % 1) * 6;\r\n\tvar v = hi % 1;\r\n\tvar w = 1 - v;\r\n\tvar mg = 0;\r\n\r\n\tswitch (Math.floor(hi)) {\r\n\t\tcase 0:\r\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\r\n\t\tcase 1:\r\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\r\n\t\tcase 2:\r\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\r\n\t\tcase 3:\r\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\r\n\t\tcase 4:\r\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\r\n\t\tdefault:\r\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\r\n\t}\r\n\r\n\tmg = (1.0 - c) * g;\r\n\r\n\treturn [\r\n\t\t(c * pure[0] + mg) * 255,\r\n\t\t(c * pure[1] + mg) * 255,\r\n\t\t(c * pure[2] + mg) * 255\r\n\t];\r\n};\r\n\r\nconvert.hcg.hsv = function (hcg) {\r\n\tvar c = hcg[1] / 100;\r\n\tvar g = hcg[2] / 100;\r\n\r\n\tvar v = c + g * (1.0 - c);\r\n\tvar f = 0;\r\n\r\n\tif (v > 0.0) {\r\n\t\tf = c / v;\r\n\t}\r\n\r\n\treturn [hcg[0], f * 100, v * 100];\r\n};\r\n\r\nconvert.hcg.hsl = function (hcg) {\r\n\tvar c = hcg[1] / 100;\r\n\tvar g = hcg[2] / 100;\r\n\r\n\tvar l = g * (1.0 - c) + 0.5 * c;\r\n\tvar s = 0;\r\n\r\n\tif (l > 0.0 && l < 0.5) {\r\n\t\ts = c / (2 * l);\r\n\t} else\r\n\tif (l >= 0.5 && l < 1.0) {\r\n\t\ts = c / (2 * (1 - l));\r\n\t}\r\n\r\n\treturn [hcg[0], s * 100, l * 100];\r\n};\r\n\r\nconvert.hcg.hwb = function (hcg) {\r\n\tvar c = hcg[1] / 100;\r\n\tvar g = hcg[2] / 100;\r\n\tvar v = c + g * (1.0 - c);\r\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\r\n};\r\n\r\nconvert.hwb.hcg = function (hwb) {\r\n\tvar w = hwb[1] / 100;\r\n\tvar b = hwb[2] / 100;\r\n\tvar v = 1 - b;\r\n\tvar c = v - w;\r\n\tvar g = 0;\r\n\r\n\tif (c < 1) {\r\n\t\tg = (v - c) / (1 - c);\r\n\t}\r\n\r\n\treturn [hwb[0], c * 100, g * 100];\r\n};\r\n\r\nconvert.apple.rgb = function (apple) {\r\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\r\n};\r\n\r\nconvert.rgb.apple = function (rgb) {\r\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\r\n};\r\n\r\nconvert.gray.rgb = function (args) {\r\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\r\n};\r\n\r\nconvert.gray.hsl = convert.gray.hsv = function (args) {\r\n\treturn [0, 0, args[0]];\r\n};\r\n\r\nconvert.gray.hwb = function (gray) {\r\n\treturn [0, 100, gray[0]];\r\n};\r\n\r\nconvert.gray.cmyk = function (gray) {\r\n\treturn [0, 0, 0, gray[0]];\r\n};\r\n\r\nconvert.gray.lab = function (gray) {\r\n\treturn [gray[0], 0, 0];\r\n};\r\n\r\nconvert.gray.hex = function (gray) {\r\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\r\n\tvar integer = (val << 16) + (val << 8) + val;\r\n\r\n\tvar string = integer.toString(16).toUpperCase();\r\n\treturn '000000'.substring(string.length) + string;\r\n};\r\n\r\nconvert.rgb.gray = function (rgb) {\r\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\r\n\treturn [val / 255 * 100];\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/color-convert/conversions.js\n// module id = 352\n// module chunks = 3","module.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/color-name/index.js\n// module id = 353\n// module chunks = 3","// IE 8- don't enum bug keys\r\nmodule.exports = (\r\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\r\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 354\n// module chunks = 3","// fallback for non-array-like ES3 and non-enumerable old V8 strings\r\nvar cof = require('./_cof');\r\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\r\n  return cof(it) == 'String' ? it.split('') : Object(it);\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 355\n// module chunks = 3","'use strict';\r\nvar LIBRARY        = require('./_library')\r\n  , $export        = require('./_export')\r\n  , redefine       = require('./_redefine')\r\n  , hide           = require('./_hide')\r\n  , has            = require('./_has')\r\n  , Iterators      = require('./_iterators')\r\n  , $iterCreate    = require('./_iter-create')\r\n  , setToStringTag = require('./_set-to-string-tag')\r\n  , getPrototypeOf = require('./_object-gpo')\r\n  , ITERATOR       = require('./_wks')('iterator')\r\n  , BUGGY          = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\r\n  , FF_ITERATOR    = '@@iterator'\r\n  , KEYS           = 'keys'\r\n  , VALUES         = 'values';\r\n\r\nvar returnThis = function(){ return this; };\r\n\r\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\r\n  $iterCreate(Constructor, NAME, next);\r\n  var getMethod = function(kind){\r\n    if(!BUGGY && kind in proto)return proto[kind];\r\n    switch(kind){\r\n      case KEYS: return function keys(){ return new Constructor(this, kind); };\r\n      case VALUES: return function values(){ return new Constructor(this, kind); };\r\n    } return function entries(){ return new Constructor(this, kind); };\r\n  };\r\n  var TAG        = NAME + ' Iterator'\r\n    , DEF_VALUES = DEFAULT == VALUES\r\n    , VALUES_BUG = false\r\n    , proto      = Base.prototype\r\n    , $native    = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\r\n    , $default   = $native || getMethod(DEFAULT)\r\n    , $entries   = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\r\n    , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\r\n    , methods, key, IteratorPrototype;\r\n  // Fix native\r\n  if($anyNative){\r\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\r\n    if(IteratorPrototype !== Object.prototype){\r\n      // Set @@toStringTag to native iterators\r\n      setToStringTag(IteratorPrototype, TAG, true);\r\n      // fix for some old engines\r\n      if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\r\n    }\r\n  }\r\n  // fix Array#{values, @@iterator}.name in V8 / FF\r\n  if(DEF_VALUES && $native && $native.name !== VALUES){\r\n    VALUES_BUG = true;\r\n    $default = function values(){ return $native.call(this); };\r\n  }\r\n  // Define iterator\r\n  if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\r\n    hide(proto, ITERATOR, $default);\r\n  }\r\n  // Plug for library\r\n  Iterators[NAME] = $default;\r\n  Iterators[TAG]  = returnThis;\r\n  if(DEFAULT){\r\n    methods = {\r\n      values:  DEF_VALUES ? $default : getMethod(VALUES),\r\n      keys:    IS_SET     ? $default : getMethod(KEYS),\r\n      entries: $entries\r\n    };\r\n    if(FORCED)for(key in methods){\r\n      if(!(key in proto))redefine(proto, key, methods[key]);\r\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\r\n  }\r\n  return methods;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-define.js\n// module id = 356\n// module chunks = 3","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\r\nvar $keys       = require('./_object-keys-internal')\r\n  , enumBugKeys = require('./_enum-bug-keys');\r\n\r\nmodule.exports = Object.keys || function keys(O){\r\n  return $keys(O, enumBugKeys);\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 357\n// module chunks = 3","module.exports = function(bitmap, value){\r\n  return {\r\n    enumerable  : !(bitmap & 1),\r\n    configurable: !(bitmap & 2),\r\n    writable    : !(bitmap & 4),\r\n    value       : value\r\n  };\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 358\n// module chunks = 3","var def = require('./_object-dp').f\r\n  , has = require('./_has')\r\n  , TAG = require('./_wks')('toStringTag');\r\n\r\nmodule.exports = function(it, tag, stat){\r\n  if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_set-to-string-tag.js\n// module id = 359\n// module chunks = 3","var global = require('./_global')\r\n  , SHARED = '__core-js_shared__'\r\n  , store  = global[SHARED] || (global[SHARED] = {});\r\nmodule.exports = function(key){\r\n  return store[key] || (store[key] = {});\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 360\n// module chunks = 3","// 7.1.13 ToObject(argument)\r\nvar defined = require('./_defined');\r\nmodule.exports = function(it){\r\n  return Object(defined(it));\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 361\n// module chunks = 3","var id = 0\r\n  , px = Math.random();\r\nmodule.exports = function(key){\r\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 362\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\nimport startOfUTCISOWeek from '../startOfUTCISOWeek/index.js'\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function getUTCISOWeekYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = date.getUTCFullYear()\r\n\r\n  var fourthOfJanuaryOfNextYear = new Date(0)\r\n  fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4)\r\n  fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0)\r\n  var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear, dirtyOptions)\r\n\r\n  var fourthOfJanuaryOfThisYear = new Date(0)\r\n  fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4)\r\n  fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0)\r\n  var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear, dirtyOptions)\r\n\r\n  if (date.getTime() >= startOfNextYear.getTime()) {\r\n    return year + 1\r\n  } else if (date.getTime() >= startOfThisYear.getTime()) {\r\n    return year\r\n  } else {\r\n    return year - 1\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/getUTCISOWeekYear/index.js\n// module id = 398\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\nimport startOfUTCISOWeek from '../startOfUTCISOWeek/index.js'\r\nimport startOfUTCISOWeekYear from '../startOfUTCISOWeekYear/index.js'\r\n\r\nvar MILLISECONDS_IN_WEEK = 604800000\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function getUTCISOWeek (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var diff = startOfUTCISOWeek(date, dirtyOptions).getTime() - startOfUTCISOWeekYear(date, dirtyOptions).getTime()\r\n\r\n  // Round the number of days to the nearest integer\r\n  // because the number of milliseconds in a week is not constant\r\n  // (e.g. it's different in the week of the daylight saving time clock shift)\r\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/getUTCISOWeek/index.js\n// module id = 399\n// module chunks = 3","import addMilliseconds from '../addMilliseconds/index.js'\r\n\r\nvar MILLISECONDS_IN_HOUR = 3600000\r\n\r\n/**\r\n * @name addHours\r\n * @category Hour Helpers\r\n * @summary Add the specified number of hours to the given date.\r\n *\r\n * @description\r\n * Add the specified number of hours to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of hours to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the hours added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 2 hours to 10 July 2014 23:00:00:\r\n * var result = addHours(new Date(2014, 6, 10, 23, 0), 2)\r\n * //=> Fri Jul 11 2014 01:00:00\r\n */\r\nexport default function addHours (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_HOUR, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addHours/index.js\n// module id = 400\n// module chunks = 3","import getISOYear from '../getISOYear/index.js'\r\nimport setISOYear from '../setISOYear/index.js'\r\n\r\n/**\r\n * @name addISOYears\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Add the specified number of ISO week-numbering years to the given date.\r\n *\r\n * @description\r\n * Add the specified number of ISO week-numbering years to the given date.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of ISO week-numbering years to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the ISO week-numbering years added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 5 ISO week-numbering years to 2 July 2010:\r\n * var result = addISOYears(new Date(2010, 6, 2), 5)\r\n * //=> Fri Jun 26 2015 00:00:00\r\n */\r\nexport default function addISOYears (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return setISOYear(dirtyDate, getISOYear(dirtyDate, dirtyOptions) + amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addISOYears/index.js\n// module id = 401\n// module chunks = 3","import addMilliseconds from '../addMilliseconds/index.js'\r\n\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\n\r\n/**\r\n * @name addMinutes\r\n * @category Minute Helpers\r\n * @summary Add the specified number of minutes to the given date.\r\n *\r\n * @description\r\n * Add the specified number of minutes to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of minutes to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the minutes added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 30 minutes to 10 July 2014 12:00:00:\r\n * var result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\r\n * //=> Thu Jul 10 2014 12:30:00\r\n */\r\nexport default function addMinutes (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_MINUTE, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addMinutes/index.js\n// module id = 402\n// module chunks = 3","import addMonths from '../addMonths/index.js'\r\n\r\n/**\r\n * @name addQuarters\r\n * @category Quarter Helpers\r\n * @summary Add the specified number of year quarters to the given date.\r\n *\r\n * @description\r\n * Add the specified number of year quarters to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of quarters to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the quarters added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 1 quarter to 1 September 2014:\r\n * var result = addQuarters(new Date(2014, 8, 1), 1)\r\n * //=> Mon Dec 01 2014 00:00:00\r\n */\r\nexport default function addQuarters (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  var months = amount * 3\r\n  return addMonths(dirtyDate, months, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addQuarters/index.js\n// module id = 403\n// module chunks = 3","import addMilliseconds from '../addMilliseconds/index.js'\r\n\r\n/**\r\n * @name addSeconds\r\n * @category Second Helpers\r\n * @summary Add the specified number of seconds to the given date.\r\n *\r\n * @description\r\n * Add the specified number of seconds to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of seconds to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the seconds added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 30 seconds to 10 July 2014 12:45:00:\r\n * var result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\r\n * //=> Thu Jul 10 2014 12:45:30\r\n */\r\nexport default function addSeconds (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addMilliseconds(dirtyDate, amount * 1000, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addSeconds/index.js\n// module id = 404\n// module chunks = 3","import addMonths from '../addMonths/index.js'\r\n\r\n/**\r\n * @name addYears\r\n * @category Year Helpers\r\n * @summary Add the specified number of years to the given date.\r\n *\r\n * @description\r\n * Add the specified number of years to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of years to be added\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the years added\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Add 5 years to 1 September 2014:\r\n * var result = addYears(new Date(2014, 8, 1), 5)\r\n * //=> Sun Sep 01 2019 00:00:00\r\n */\r\nexport default function addYears (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addMonths(dirtyDate, amount * 12, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/addYears/index.js\n// module id = 405\n// module chunks = 3","import getISOYear from '../getISOYear/index.js'\r\n\r\n/**\r\n * @name differenceInCalendarISOYears\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Get the number of calendar ISO week-numbering years between the given dates.\r\n *\r\n * @description\r\n * Get the number of calendar ISO week-numbering years between the given dates.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of calendar ISO week-numbering years\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many calendar ISO week-numbering years are 1 January 2010 and 1 January 2012?\r\n * var result = differenceInCalendarISOYears(\r\n *   new Date(2012, 0, 1),\r\n *   new Date(2010, 0, 1)\r\n * )\r\n * //=> 2\r\n */\r\nexport default function differenceInCalendarISOYears (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  return getISOYear(dirtyDateLeft, dirtyOptions) - getISOYear(dirtyDateRight, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInCalendarISOYears/index.js\n// module id = 406\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name differenceInCalendarMonths\r\n * @category Month Helpers\r\n * @summary Get the number of calendar months between the given dates.\r\n *\r\n * @description\r\n * Get the number of calendar months between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of calendar months\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\r\n * var result = differenceInCalendarMonths(\r\n *   new Date(2014, 8, 1),\r\n *   new Date(2014, 0, 31)\r\n * )\r\n * //=> 8\r\n */\r\nexport default function differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()\r\n  var monthDiff = dateLeft.getMonth() - dateRight.getMonth()\r\n\r\n  return yearDiff * 12 + monthDiff\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInCalendarMonths/index.js\n// module id = 407\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name differenceInCalendarYears\r\n * @category Year Helpers\r\n * @summary Get the number of calendar years between the given dates.\r\n *\r\n * @description\r\n * Get the number of calendar years between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of calendar years\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many calendar years are between 31 December 2013 and 11 February 2015?\r\n * var result = differenceInCalendarYears(\r\n *   new Date(2015, 1, 11),\r\n *   new Date(2013, 11, 31)\r\n * )\r\n * //=> 2\r\n */\r\nexport default function differenceInCalendarYears (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeft.getFullYear() - dateRight.getFullYear()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInCalendarYears/index.js\n// module id = 408\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport differenceInCalendarDays from '../differenceInCalendarDays/index.js'\r\nimport compareAsc from '../compareAsc/index.js'\r\n\r\n/**\r\n * @name differenceInDays\r\n * @category Day Helpers\r\n * @summary Get the number of full days between the given dates.\r\n *\r\n * @description\r\n * Get the number of full days between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of full days\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many full days are between\r\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\r\n * var result = differenceInDays(\r\n *   new Date(2012, 6, 2, 0, 0),\r\n *   new Date(2011, 6, 2, 23, 0)\r\n * )\r\n * //=> 365\r\n */\r\nexport default function differenceInDays (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var sign = compareAsc(dateLeft, dateRight, dirtyOptions)\r\n  var difference = Math.abs(differenceInCalendarDays(dateLeft, dateRight, dirtyOptions))\r\n  dateLeft.setDate(dateLeft.getDate() - sign * difference)\r\n\r\n  // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full\r\n  // If so, result must be decreased by 1 in absolute value\r\n  var isLastDayNotFull = compareAsc(dateLeft, dateRight, dirtyOptions) === -sign\r\n  return sign * (difference - isLastDayNotFull)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInDays/index.js\n// module id = 409\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfDay\r\n * @category Day Helpers\r\n * @summary Return the end of a day for the given date.\r\n *\r\n * @description\r\n * Return the end of a day for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of a day\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of a day for 2 September 2014 11:55:00:\r\n * var result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Tue Sep 02 2014 23:59:59.999\r\n */\r\nexport default function endOfDay (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setHours(23, 59, 59, 999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfDay/index.js\n// module id = 410\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfMonth\r\n * @category Month Helpers\r\n * @summary Return the end of a month for the given date.\r\n *\r\n * @description\r\n * Return the end of a month for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of a month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of a month for 2 September 2014 11:55:00:\r\n * var result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Tue Sep 30 2014 23:59:59.999\r\n */\r\nexport default function endOfMonth (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var month = date.getMonth()\r\n  date.setFullYear(date.getFullYear(), month + 1, 0)\r\n  date.setHours(23, 59, 59, 999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfMonth/index.js\n// module id = 411\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfWeek\r\n * @category Week Helpers\r\n * @summary Return the end of a week for the given date.\r\n *\r\n * @description\r\n * Return the end of a week for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {Date} the end of a week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\r\n *\r\n * @example\r\n * // The end of a week for 2 September 2014 11:55:00:\r\n * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Sat Sep 06 2014 23:59:59.999\r\n *\r\n * @example\r\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\r\n * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), {weekStartsOn: 1})\r\n * //=> Sun Sep 07 2014 23:59:59.999\r\n */\r\nexport default function endOfWeek (dirtyDate, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n\r\n  var locale = options.locale\r\n  var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn\r\n  var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn)\r\n  var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn)\r\n\r\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\r\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\r\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\r\n  }\r\n\r\n  var date = toDate(dirtyDate, options)\r\n  var day = date.getDay()\r\n  var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn)\r\n\r\n  date.setDate(date.getDate() + diff)\r\n  date.setHours(23, 59, 59, 999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfWeek/index.js\n// module id = 412\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport isValid from '../isValid/index.js'\r\nimport defaultLocale from '../locale/en-US/index.js'\r\nimport formatters from './_lib/formatters/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\nimport addUTCMinutes from '../_lib/addUTCMinutes/index.js'\r\n\r\nvar longFormattingTokensRegExp = /(\\[[^[]*])|(\\\\)?(LTS|LT|LLLL|LLL|LL|L|llll|lll|ll|l)/g\r\nvar defaultFormattingTokensRegExp = /(\\[[^[]*])|(\\\\)?(x|ss|s|mm|m|hh|h|do|dddd|ddd|dd|d|aa|a|ZZ|Z|YYYY|YY|X|Wo|WW|W|SSS|SS|S|Qo|Q|Mo|MMMM|MMM|MM|M|HH|H|GGGG|GG|E|Do|DDDo|DDDD|DDD|DD|D|A|.)/g\r\n\r\n/**\r\n * @name format\r\n * @category Common Helpers\r\n * @summary Format the date.\r\n *\r\n * @description\r\n * Return the formatted date string in the given format.\r\n *\r\n * Accepted tokens:\r\n * | Unit                    | Token | Result examples                  |\r\n * |-------------------------|-------|----------------------------------|\r\n * | Month                   | M     | 1, 2, ..., 12                    |\r\n * |                         | Mo    | 1st, 2nd, ..., 12th              |\r\n * |                         | MM    | 01, 02, ..., 12                  |\r\n * |                         | MMM   | Jan, Feb, ..., Dec               |\r\n * |                         | MMMM  | January, February, ..., December |\r\n * | Quarter                 | Q     | 1, 2, 3, 4                       |\r\n * |                         | Qo    | 1st, 2nd, 3rd, 4th               |\r\n * | Day of month            | D     | 1, 2, ..., 31                    |\r\n * |                         | Do    | 1st, 2nd, ..., 31st              |\r\n * |                         | DD    | 01, 02, ..., 31                  |\r\n * | Day of year             | DDD   | 1, 2, ..., 366                   |\r\n * |                         | DDDo  | 1st, 2nd, ..., 366th             |\r\n * |                         | DDDD  | 001, 002, ..., 366               |\r\n * | Day of week             | d     | 0, 1, ..., 6                     |\r\n * |                         | do    | 0th, 1st, ..., 6th               |\r\n * |                         | dd    | Su, Mo, ..., Sa                  |\r\n * |                         | ddd   | Sun, Mon, ..., Sat               |\r\n * |                         | dddd  | Sunday, Monday, ..., Saturday    |\r\n * | Day of ISO week         | E     | 1, 2, ..., 7                     |\r\n * | ISO week                | W     | 1, 2, ..., 53                    |\r\n * |                         | Wo    | 1st, 2nd, ..., 53rd              |\r\n * |                         | WW    | 01, 02, ..., 53                  |\r\n * | Year                    | YY    | 00, 01, ..., 99                  |\r\n * |                         | YYYY  | 1900, 1901, ..., 2099            |\r\n * | ISO week-numbering year | GG    | 00, 01, ..., 99                  |\r\n * |                         | GGGG  | 1900, 1901, ..., 2099            |\r\n * | AM/PM                   | A     | AM, PM                           |\r\n * |                         | a     | am, pm                           |\r\n * |                         | aa    | a.m., p.m.                       |\r\n * | Hour                    | H     | 0, 1, ... 23                     |\r\n * |                         | HH    | 00, 01, ... 23                   |\r\n * |                         | h     | 1, 2, ..., 12                    |\r\n * |                         | hh    | 01, 02, ..., 12                  |\r\n * | Minute                  | m     | 0, 1, ..., 59                    |\r\n * |                         | mm    | 00, 01, ..., 59                  |\r\n * | Second                  | s     | 0, 1, ..., 59                    |\r\n * |                         | ss    | 00, 01, ..., 59                  |\r\n * | 1/10 of second          | S     | 0, 1, ..., 9                     |\r\n * | 1/100 of second         | SS    | 00, 01, ..., 99                  |\r\n * | Millisecond             | SSS   | 000, 001, ..., 999               |\r\n * | Timezone                | Z     | -01:00, +00:00, ... +12:00       |\r\n * |                         | ZZ    | -0100, +0000, ..., +1200         |\r\n * | Seconds timestamp       | X     | 512969520                        |\r\n * | Milliseconds timestamp  | x     | 512969520900                     |\r\n * | Long format             | LT    | 05:30 a.m.                       |\r\n * |                         | LTS   | 05:30:15 a.m.                    |\r\n * |                         | L     | 07/02/1995                       |\r\n * |                         | l     | 7/2/1995                         |\r\n * |                         | LL    | July 2 1995                      |\r\n * |                         | ll    | Jul 2 1995                       |\r\n * |                         | LLL   | July 2 1995 05:30 a.m.           |\r\n * |                         | lll   | Jul 2 1995 05:30 a.m.            |\r\n * |                         | LLLL  | Sunday, July 2 1995 05:30 a.m.   |\r\n * |                         | llll  | Sun, Jul 2 1995 05:30 a.m.       |\r\n *\r\n * The characters wrapped in square brackets are escaped.\r\n *\r\n * The result may vary by locale.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {String} format - the string of tokens\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {String} the formatted date string\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.locale` must contain `localize` property\r\n * @throws {RangeError} `options.locale` must contain `formatLong` property\r\n *\r\n * @example\r\n * // Represent 11 February 2014 in middle-endian format:\r\n * var result = format(\r\n *   new Date(2014, 1, 11),\r\n *   'MM/DD/YYYY'\r\n * )\r\n * //=> '02/11/2014'\r\n *\r\n * @example\r\n * // Represent 2 July 2014 in Esperanto:\r\n * import { eoLocale } from 'date-fns/locale/eo'\r\n * var result = format(\r\n *   new Date(2014, 6, 2),\r\n *   'Do [de] MMMM YYYY',\r\n *   {locale: eoLocale}\r\n * )\r\n * //=> '2-a de julio 2014'\r\n */\r\nexport default function format (dirtyDate, dirtyFormatStr, dirtyOptions) {\r\n  var formatStr = String(dirtyFormatStr)\r\n  var options = dirtyOptions || {}\r\n\r\n  var locale = options.locale || defaultLocale\r\n\r\n  if (!locale.localize) {\r\n    throw new RangeError('locale must contain localize property')\r\n  }\r\n\r\n  if (!locale.formatLong) {\r\n    throw new RangeError('locale must contain formatLong property')\r\n  }\r\n\r\n  var localeFormatters = locale.formatters || {}\r\n  var formattingTokensRegExp = locale.formattingTokensRegExp || defaultFormattingTokensRegExp\r\n  var formatLong = locale.formatLong\r\n\r\n  var originalDate = toDate(dirtyDate, options)\r\n\r\n  if (!isValid(originalDate, options)) {\r\n    return 'Invalid Date'\r\n  }\r\n\r\n  // Convert the date in system timezone to the same date in UTC+00:00 timezone.\r\n  // This ensures that when UTC functions will be implemented, locales will be compatible with them.\r\n  // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\r\n  var timezoneOffset = originalDate.getTimezoneOffset()\r\n  var utcDate = addUTCMinutes(originalDate, -timezoneOffset, options)\r\n\r\n  var formatterOptions = cloneObject(options)\r\n  formatterOptions.locale = locale\r\n  formatterOptions.formatters = formatters\r\n\r\n  // When UTC functions will be implemented, options._originalDate will likely be a part of public API.\r\n  // Right now, please don't use it in locales. If you have to use an original date,\r\n  // please restore it from `date`, adding a timezone offset to it.\r\n  formatterOptions._originalDate = originalDate\r\n\r\n  var result = formatStr\r\n    .replace(longFormattingTokensRegExp, function (substring) {\r\n      if (substring[0] === '[') {\r\n        return substring\r\n      }\r\n\r\n      if (substring[0] === '\\\\') {\r\n        return cleanEscapedString(substring)\r\n      }\r\n\r\n      return formatLong(substring)\r\n    })\r\n    .replace(formattingTokensRegExp, function (substring) {\r\n      var formatter = localeFormatters[substring] || formatters[substring]\r\n\r\n      if (formatter) {\r\n        return formatter(utcDate, formatterOptions)\r\n      } else {\r\n        return cleanEscapedString(substring)\r\n      }\r\n    })\r\n\r\n  return result\r\n}\r\n\r\nfunction cleanEscapedString (input) {\r\n  if (input.match(/\\[[\\s\\S]/)) {\r\n    return input.replace(/^\\[|]$/g, '')\r\n  }\r\n  return input.replace(/\\\\/g, '')\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/format/index.js\n// module id = 413\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getISODay\r\n * @category Weekday Helpers\r\n * @summary Get the day of the ISO week of the given date.\r\n *\r\n * @description\r\n * Get the day of the ISO week of the given date,\r\n * which is 7 for Sunday, 1 for Monday etc.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the day of ISO week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which day of the ISO week is 26 February 2012?\r\n * var result = getISODay(new Date(2012, 1, 26))\r\n * //=> 7\r\n */\r\nexport default function getISODay (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var day = date.getDay()\r\n\r\n  if (day === 0) {\r\n    day = 7\r\n  }\r\n\r\n  return day\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getISODay/index.js\n// module id = 414\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport startOfISOWeek from '../startOfISOWeek/index.js'\r\nimport startOfISOYear from '../startOfISOYear/index.js'\r\n\r\nvar MILLISECONDS_IN_WEEK = 604800000\r\n\r\n/**\r\n * @name getISOWeek\r\n * @category ISO Week Helpers\r\n * @summary Get the ISO week of the given date.\r\n *\r\n * @description\r\n * Get the ISO week of the given date.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the ISO week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which week of the ISO-week numbering year is 2 January 2005?\r\n * var result = getISOWeek(new Date(2005, 0, 2))\r\n * //=> 53\r\n */\r\nexport default function getISOWeek (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var diff = startOfISOWeek(date, dirtyOptions).getTime() - startOfISOYear(date, dirtyOptions).getTime()\r\n\r\n  // Round the number of days to the nearest integer\r\n  // because the number of milliseconds in a week is not constant\r\n  // (e.g. it's different in the week of the daylight saving time clock shift)\r\n  return Math.round(diff / MILLISECONDS_IN_WEEK) + 1\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getISOWeek/index.js\n// module id = 415\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getQuarter\r\n * @category Quarter Helpers\r\n * @summary Get the year quarter of the given date.\r\n *\r\n * @description\r\n * Get the year quarter of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the quarter\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which quarter is 2 July 2014?\r\n * var result = getQuarter(new Date(2014, 6, 2))\r\n * //=> 3\r\n */\r\nexport default function getQuarter (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var quarter = Math.floor(date.getMonth() / 3) + 1\r\n  return quarter\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getQuarter/index.js\n// module id = 416\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isLeapYear\r\n * @category Year Helpers\r\n * @summary Is the given date in the leap year?\r\n *\r\n * @description\r\n * Is the given date in the leap year?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is in the leap year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 1 September 2012 in the leap year?\r\n * var result = isLeapYear(new Date(2012, 8, 1))\r\n * //=> true\r\n */\r\nexport default function isLeapYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = date.getFullYear()\r\n  return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isLeapYear/index.js\n// module id = 417\n// module chunks = 3","import startOfWeek from '../startOfWeek/index.js'\r\n\r\n/**\r\n * @name isSameWeek\r\n * @category Week Helpers\r\n * @summary Are the given dates in the same week?\r\n *\r\n * @description\r\n * Are the given dates in the same week?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {Boolean} the dates are in the same week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\r\n *\r\n * @example\r\n * // Are 31 August 2014 and 4 September 2014 in the same week?\r\n * var result = isSameWeek(\r\n *   new Date(2014, 7, 31),\r\n *   new Date(2014, 8, 4)\r\n * )\r\n * //=> true\r\n *\r\n * @example\r\n * // If week starts with Monday,\r\n * // are 31 August 2014 and 4 September 2014 in the same week?\r\n * var result = isSameWeek(\r\n *   new Date(2014, 7, 31),\r\n *   new Date(2014, 8, 4),\r\n *   {weekStartsOn: 1}\r\n * )\r\n * //=> false\r\n */\r\nexport default function isSameWeek (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeftStartOfWeek = startOfWeek(dirtyDateLeft, dirtyOptions)\r\n  var dateRightStartOfWeek = startOfWeek(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeftStartOfWeek.getTime() === dateRightStartOfWeek.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameWeek/index.js\n// module id = 418\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isValid\r\n * @category Common Helpers\r\n * @summary Is the given date valid?\r\n *\r\n * @description\r\n * Returns false if argument is Invalid Date and true otherwise.\r\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * Invalid Date is a Date, whose time value is NaN.\r\n *\r\n * Time value of Date: http://es5.github.io/#x15.9.1.1\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is valid\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // For the valid date:\r\n * var result = isValid(new Date(2014, 1, 31))\r\n * //=> true\r\n *\r\n * @example\r\n * // For the value, convertable into a date:\r\n * var result = isValid('2014-02-31')\r\n * //=> true\r\n *\r\n * @example\r\n * // For the invalid date:\r\n * var result = isValid(new Date(''))\r\n * //=> false\r\n */\r\nexport default function isValid (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  return !isNaN(date)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isValid/index.js\n// module id = 419\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name lastDayOfWeek\r\n * @category Week Helpers\r\n * @summary Return the last day of a week for the given date.\r\n *\r\n * @description\r\n * Return the last day of a week for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {Date} the last day of a week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\r\n *\r\n * @example\r\n * // The last day of a week for 2 September 2014 11:55:00:\r\n * var result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Sat Sep 06 2014 00:00:00\r\n *\r\n * @example\r\n * // If the week starts on Monday, the last day of the week for 2 September 2014 11:55:00:\r\n * var result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0), {weekStartsOn: 1})\r\n * //=> Sun Sep 07 2014 00:00:00\r\n */\r\nexport default function lastDayOfWeek (dirtyDate, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n  var locale = options.locale\r\n  var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn\r\n  var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn)\r\n  var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn)\r\n\r\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\r\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\r\n    throw new RangeError('weekStartsOn must be between 0 and 6')\r\n  }\r\n\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var day = date.getDay()\r\n  var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn)\r\n\r\n  date.setHours(0, 0, 0, 0)\r\n  date.setDate(date.getDate() + diff)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/lastDayOfWeek/index.js\n// module id = 420\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport startOfISOYear from '../startOfISOYear/index.js'\r\nimport differenceInCalendarDays from '../differenceInCalendarDays/index.js'\r\n\r\n/**\r\n * @name setISOYear\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Set the ISO week-numbering year to the given date.\r\n *\r\n * @description\r\n * Set the ISO week-numbering year to the given date,\r\n * saving the week number and the weekday number.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} isoYear - the ISO week-numbering year of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the ISO week-numbering year setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set ISO week-numbering year 2007 to 29 December 2008:\r\n * var result = setISOYear(new Date(2008, 11, 29), 2007)\r\n * //=> Mon Jan 01 2007 00:00:00\r\n */\r\nexport default function setISOYear (dirtyDate, dirtyISOYear, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var isoYear = Number(dirtyISOYear)\r\n  var diff = differenceInCalendarDays(date, startOfISOYear(date, dirtyOptions), dirtyOptions)\r\n  var fourthOfJanuary = new Date(0)\r\n  fourthOfJanuary.setFullYear(isoYear, 0, 4)\r\n  fourthOfJanuary.setHours(0, 0, 0, 0)\r\n  date = startOfISOYear(fourthOfJanuary, dirtyOptions)\r\n  date.setDate(date.getDate() + diff)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setISOYear/index.js\n// module id = 421\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport getDaysInMonth from '../getDaysInMonth/index.js'\r\n\r\n/**\r\n * @name setMonth\r\n * @category Month Helpers\r\n * @summary Set the month to the given date.\r\n *\r\n * @description\r\n * Set the month to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} month - the month of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the month setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set February to 1 September 2014:\r\n * var result = setMonth(new Date(2014, 8, 1), 1)\r\n * //=> Sat Feb 01 2014 00:00:00\r\n */\r\nexport default function setMonth (dirtyDate, dirtyMonth, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var month = Number(dirtyMonth)\r\n  var year = date.getFullYear()\r\n  var day = date.getDate()\r\n\r\n  var dateWithDesiredMonth = new Date(0)\r\n  dateWithDesiredMonth.setFullYear(year, month, 15)\r\n  dateWithDesiredMonth.setHours(0, 0, 0, 0)\r\n  var daysInMonth = getDaysInMonth(dateWithDesiredMonth, dirtyOptions)\r\n  // Set the last day of the new month\r\n  // if the original date was the last day of the longer month\r\n  date.setMonth(month, Math.min(day, daysInMonth))\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setMonth/index.js\n// module id = 422\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfHour\r\n * @category Hour Helpers\r\n * @summary Return the start of an hour for the given date.\r\n *\r\n * @description\r\n * Return the start of an hour for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of an hour\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of an hour for 2 September 2014 11:55:00:\r\n * var result = startOfHour(new Date(2014, 8, 2, 11, 55))\r\n * //=> Tue Sep 02 2014 11:00:00\r\n */\r\nexport default function startOfHour (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setMinutes(0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfHour/index.js\n// module id = 423\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfMinute\r\n * @category Minute Helpers\r\n * @summary Return the start of a minute for the given date.\r\n *\r\n * @description\r\n * Return the start of a minute for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of a minute\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of a minute for 1 December 2014 22:15:45.400:\r\n * var result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\r\n * //=> Mon Dec 01 2014 22:15:00\r\n */\r\nexport default function startOfMinute (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setSeconds(0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfMinute/index.js\n// module id = 424\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfQuarter\r\n * @category Quarter Helpers\r\n * @summary Return the start of a year quarter for the given date.\r\n *\r\n * @description\r\n * Return the start of a year quarter for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of a quarter\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of a quarter for 2 September 2014 11:55:00:\r\n * var result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Tue Jul 01 2014 00:00:00\r\n */\r\nexport default function startOfQuarter (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var currentMonth = date.getMonth()\r\n  var month = currentMonth - currentMonth % 3\r\n  date.setMonth(month, 1)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfQuarter/index.js\n// module id = 425\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfSecond\r\n * @category Second Helpers\r\n * @summary Return the start of a second for the given date.\r\n *\r\n * @description\r\n * Return the start of a second for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of a second\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of a second for 1 December 2014 22:15:45.400:\r\n * var result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\r\n * //=> Mon Dec 01 2014 22:15:45.000\r\n */\r\nexport default function startOfSecond (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setMilliseconds(0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfSecond/index.js\n// module id = 426\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfYear\r\n * @category Year Helpers\r\n * @summary Return the start of a year for the given date.\r\n *\r\n * @description\r\n * Return the start of a year for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of a year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of a year for 2 September 2014 11:55:00:\r\n * var result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\r\n * //=> Wed Jan 01 2014 00:00:00\r\n */\r\nexport default function startOfYear (dirtyDate, dirtyOptions) {\r\n  var cleanDate = toDate(dirtyDate, dirtyOptions)\r\n  var date = new Date(0)\r\n  date.setFullYear(cleanDate.getFullYear(), 0, 1)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfYear/index.js\n// module id = 427\n// module chunks = 3","import addISOYears from '../addISOYears/index.js'\r\n\r\n/**\r\n * @name subISOYears\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Subtract the specified number of ISO week-numbering years from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of ISO week-numbering years from the given date.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of ISO week-numbering years to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the ISO week-numbering years subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 5 ISO week-numbering years from 1 September 2014:\r\n * var result = subISOYears(new Date(2014, 8, 1), 5)\r\n * //=> Mon Aug 31 2009 00:00:00\r\n */\r\nexport default function subISOYears (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addISOYears(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subISOYears/index.js\n// module id = 428\n// module chunks = 3","module.exports = __webpack_public_path__ + \"13630905267b809161e71d0f8a0c017b.gif\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/loading.gif\n// module id = 429\n// module chunks = 3","module.exports = __webpack_public_path__ + \"public/fonts/icons.eot\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/Semantic/themes/default/assets/fonts/icons.eot\n// module id = 430\n// module chunks = 3","module.exports = {\n\t\"sistema\": 2\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/config.json\n// module id = 431\n// module chunks = 3","import _getIterator from 'babel-runtime/core-js/get-iterator';\r\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\r\nimport _createClass from 'babel-runtime/helpers/createClass';\r\n// This is an enhanced port of Google Android `libphonenumber`'s\r\n// `asyoutypeformatter.js` of 17th November, 2016.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/blob/8d21a365061de2ba0675c878a710a7b24f74d2ae/javascript/i18n/phonenumbers/asyoutypeformatter.js\r\n\r\nimport { get_phone_code, get_national_prefix, get_national_prefix_for_parsing, get_formats, get_format_pattern, get_format_format as _get_format_format, get_format_international_format, get_format_national_prefix_formatting_rule, get_format_national_prefix_is_mandatory_when_formatting, get_format_leading_digits_patterns, get_format_uses_national_prefix, get_metadata_by_country_phone_code } from './metadata';\r\n\r\nimport { VALID_PUNCTUATION, PLUS_CHARS, VALID_DIGITS, extract_formatted_phone_number, parse_phone_number, parse_phone_number_and_country_phone_code, find_country_code, strip_national_prefix } from './parse';\r\n\r\nimport { FIRST_GROUP_PATTERN, format_national_number_using_format, local_to_international_style } from './format';\r\n\r\nimport { matches_entirely } from './common';\r\n\r\n// Used in phone number format template creation.\r\n// Could be any digit, I guess.\r\nvar DUMMY_DIGIT = '9';\r\nvar DUMMY_DIGIT_MATCHER = new RegExp(DUMMY_DIGIT, 'g');\r\n// I don't know why is it exactly `15`\r\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15;\r\n// Create a phone number consisting only of the digit 9 that matches the\r\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\r\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH);\r\n\r\n// The digits that have not been entered yet will be represented by a \\u2008,\r\n// the punctuation space.\r\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\r\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER);\r\nvar DIGIT_PLACEHOLDER_MATCHER_GLOBAL = new RegExp(DIGIT_PLACEHOLDER, 'g');\r\n\r\n// A pattern that is used to match character classes in regular expressions.\r\n// An example of a character class is \"[1-4]\".\r\nvar CHARACTER_CLASS_PATTERN = /\\[([^\\[\\]])*\\]/g;\r\n\r\n// Any digit in a regular expression that actually denotes a digit. For\r\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\r\n// (8 and 0) are standalone digits, but the rest are not.\r\n// Two look-aheads are needed because the number following \\\\d could be a\r\n// two-digit number, since the phone number can be as long as 15 digits.\r\nvar STANDALONE_DIGIT_PATTERN = /\\d(?=[^,}][^,}])/g;\r\n\r\n// A pattern that is used to determine if a `format` is eligible\r\n// to be used by the \"as you type formatter\".\r\n// It is eligible when the `format` contains groups of the dollar sign\r\n// followed by a single digit, separated by valid phone number punctuation.\r\n// This prevents invalid punctuation (such as the star sign in Israeli star numbers)\r\n// getting into the output of the \"as you type formatter\".\r\nvar ELIGIBLE_FORMAT_PATTERN = new RegExp('^' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)+' + '$');\r\n\r\n// This is the minimum length of the leading digits of a phone number\r\n// to guarantee the first \"leading digits pattern\" for a phone number format\r\n// to be preemptive.\r\nvar MIN_LEADING_DIGITS_LENGTH = 3;\r\n\r\nvar VALID_INCOMPLETE_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\r\n\r\nvar VALID_INCOMPLETE_PHONE_NUMBER_PATTERN = new RegExp('^' + VALID_INCOMPLETE_PHONE_NUMBER + '$', 'i');\r\n\r\nvar as_you_type = function () {\r\n\tfunction as_you_type(country_code, metadata) {\r\n\t\t_classCallCheck(this, as_you_type);\r\n\r\n\t\t// Sanity check\r\n\t\tif (!metadata) {\r\n\t\t\tthrow new Error('Metadata not passed');\r\n\t\t}\r\n\r\n\t\tif (country_code && metadata.countries[country_code]) {\r\n\t\t\tthis.default_country = country_code;\r\n\t\t}\r\n\r\n\t\tthis.metadata = metadata;\r\n\r\n\t\tthis.reset();\r\n\t}\r\n\r\n\t_createClass(as_you_type, [{\r\n\t\tkey: 'input',\r\n\t\tvalue: function input(text) {\r\n\t\t\t// Parse input\r\n\r\n\t\t\tvar extracted_number = extract_formatted_phone_number(text);\r\n\r\n\t\t\t// Special case for a lone '+' sign\r\n\t\t\t// since it's not considered a possible phone number.\r\n\t\t\tif (!extracted_number) {\r\n\t\t\t\tif (text && text.indexOf('+') >= 0) {\r\n\t\t\t\t\textracted_number = '+';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Validate possible first part of a phone number\r\n\t\t\tif (!matches_entirely(extracted_number, VALID_INCOMPLETE_PHONE_NUMBER_PATTERN)) {\r\n\t\t\t\treturn this.current_output;\r\n\t\t\t}\r\n\r\n\t\t\treturn this.process_input(parse_phone_number(extracted_number));\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'process_input',\r\n\t\tvalue: function process_input(input) {\r\n\t\t\t// If an out of position '+' sign detected\r\n\t\t\t// (or a second '+' sign),\r\n\t\t\t// then just drop it from the input.\r\n\t\t\tif (input[0] === '+') {\r\n\t\t\t\tif (!this.parsed_input) {\r\n\t\t\t\t\tthis.parsed_input += '+';\r\n\r\n\t\t\t\t\t// If a default country was set\r\n\t\t\t\t\t// then reset it because an explicitly international\r\n\t\t\t\t\t// phone number is being entered\r\n\t\t\t\t\tthis.reset_countriness();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinput = input.slice(1);\r\n\t\t\t}\r\n\r\n\t\t\t// Raw phone number\r\n\t\t\tthis.parsed_input += input;\r\n\r\n\t\t\t// // Reset phone number validation state\r\n\t\t\t// this.valid = false\r\n\r\n\t\t\t// Add digits to the national number\r\n\t\t\tthis.national_number += input;\r\n\r\n\t\t\t// Try to format the parsed input\r\n\r\n\t\t\tif (this.is_international()) {\r\n\t\t\t\tif (!this.country_phone_code) {\r\n\t\t\t\t\t// If one looks at country phone codes\r\n\t\t\t\t\t// then he can notice that no one country phone code\r\n\t\t\t\t\t// is ever a (leftmost) substring of another country phone code.\r\n\t\t\t\t\t// So if a valid country code is extracted so far\r\n\t\t\t\t\t// then it means that this is the country code.\r\n\r\n\t\t\t\t\t// If no country phone code could be extracted so far,\r\n\t\t\t\t\t// then just return the raw phone number,\r\n\t\t\t\t\t// because it has no way of knowing\r\n\t\t\t\t\t// how to format the phone number so far.\r\n\t\t\t\t\tif (!this.extract_country_phone_code()) {\r\n\t\t\t\t\t\t// Return raw phone number\r\n\t\t\t\t\t\treturn this.parsed_input;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Initialize country-specific data\r\n\t\t\t\t\tthis.initialize_phone_number_formats_for_this_country_phone_code();\r\n\t\t\t\t\tthis.reset_format();\r\n\t\t\t\t\tthis.determine_the_country();\r\n\t\t\t\t}\r\n\t\t\t\t// `this.country` could be `undefined`,\r\n\t\t\t\t// for instance, when there is ambiguity\r\n\t\t\t\t// in a form of several different countries\r\n\t\t\t\t// each corresponding to the same country phone code\r\n\t\t\t\t// (e.g. NANPA: USA, Canada, etc),\r\n\t\t\t\t// and there's not enough digits entered\r\n\t\t\t\t// to reliably determine the country\r\n\t\t\t\t// the phone number belongs to.\r\n\t\t\t\t// Therefore, in cases of such ambiguity,\r\n\t\t\t\t// each time something is input,\r\n\t\t\t\t// try to determine the country\r\n\t\t\t\t// (if it's not determined yet).\r\n\t\t\t\telse if (!this.country) {\r\n\t\t\t\t\t\tthis.determine_the_country();\r\n\t\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// Some national prefixes are substrings of other national prefixes\r\n\t\t\t\t// (for the same country), therefore try to extract national prefix each time\r\n\t\t\t\t// because a longer national prefix might be available at some point in time.\r\n\r\n\t\t\t\tvar previous_national_prefix = this.national_prefix;\r\n\t\t\t\tthis.national_number = this.national_prefix + this.national_number;\r\n\r\n\t\t\t\t// Possibly extract a national prefix\r\n\t\t\t\tthis.extract_national_prefix();\r\n\r\n\t\t\t\tif (this.national_prefix !== previous_national_prefix) {\r\n\t\t\t\t\t// National number has changed\r\n\t\t\t\t\t// (due to another national prefix been extracted)\r\n\t\t\t\t\t// therefore national number has changed\r\n\t\t\t\t\t// therefore reset all previous formatting data.\r\n\t\t\t\t\t// (and leading digits matching state)\r\n\t\t\t\t\tthis.matching_formats = this.available_formats;\r\n\t\t\t\t\tthis.reset_format();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!this.should_format()) {\r\n\t\t\t\treturn this.format_as_non_formatted_number();\r\n\t\t\t}\r\n\r\n\t\t\t// Check the available phone number formats\r\n\t\t\t// based on the currently available leading digits.\r\n\t\t\tthis.match_formats_by_leading_digits();\r\n\r\n\t\t\t// Format the phone number (given the next digits)\r\n\t\t\tvar formatted_national_phone_number = this.format_national_phone_number(input);\r\n\r\n\t\t\t// If the phone number could be formatted,\r\n\t\t\t// then return it, possibly prepending with country phone code\r\n\t\t\t// (for international phone numbers only)\r\n\t\t\tif (formatted_national_phone_number) {\r\n\t\t\t\treturn this.full_phone_number(formatted_national_phone_number);\r\n\t\t\t}\r\n\r\n\t\t\t// If the phone number couldn't be formatted,\r\n\t\t\t// then just fall back to the raw phone number.\r\n\t\t\treturn this.parsed_input;\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'format_as_non_formatted_number',\r\n\t\tvalue: function format_as_non_formatted_number() {\r\n\t\t\tif (this.is_international() && this.country_phone_code) {\r\n\t\t\t\tif (this.national_number) {\r\n\t\t\t\t\t// For convenience, the public `.template` property\r\n\t\t\t\t\t// contains the whole international number\r\n\t\t\t\t\t// if the phone number being input is international:\r\n\t\t\t\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\r\n\t\t\t\t\t// a spacebar and then the template for the national number digits.\r\n\t\t\t\t\tthis.template = DIGIT_PLACEHOLDER + repeat(DIGIT_PLACEHOLDER, this.country_phone_code.length) + ' ' + repeat(DIGIT_PLACEHOLDER, this.national_number.length);\r\n\r\n\t\t\t\t\treturn '+' + this.country_phone_code + ' ' + this.national_number;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn '+' + this.country_phone_code;\r\n\t\t\t}\r\n\r\n\t\t\treturn this.parsed_input;\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'format_national_phone_number',\r\n\t\tvalue: function format_national_phone_number(next_digits) {\r\n\t\t\t// Format the next phone number digits\r\n\t\t\t// using the previously chosen phone number format.\r\n\t\t\t//\r\n\t\t\t// This is done here because if `attempt_to_format_complete_phone_number`\r\n\t\t\t// was placed before this call then the `template`\r\n\t\t\t// wouldn't reflect the situation correctly (and would therefore be inconsistent)\r\n\t\t\t//\r\n\t\t\tvar national_number_formatted_with_previous_format = void 0;\r\n\t\t\tif (this.chosen_format) {\r\n\t\t\t\tnational_number_formatted_with_previous_format = this.format_next_national_number_digits(next_digits);\r\n\t\t\t}\r\n\r\n\t\t\t// See if the input digits can be formatted properly already. If not,\r\n\t\t\t// use the results from format_next_national_number_digits(), which does formatting\r\n\t\t\t// based on the formatting pattern chosen.\r\n\r\n\t\t\tvar formatted_number = this.attempt_to_format_complete_phone_number();\r\n\r\n\t\t\t// Just because a phone number doesn't have a suitable format\r\n\t\t\t// that doesn't mean that the phone is invalid\r\n\t\t\t// because phone number formats only format phone numbers,\r\n\t\t\t// they don't validate them and some (rare) phone numbers\r\n\t\t\t// are meant to stay non-formatted.\r\n\t\t\tif (formatted_number) {\r\n\t\t\t\t// if (this.country)\r\n\t\t\t\t// {\r\n\t\t\t\t// \tthis.valid = true\r\n\t\t\t\t// }\r\n\r\n\t\t\t\treturn formatted_number;\r\n\t\t\t}\r\n\r\n\t\t\t// For some phone number formats national prefix\r\n\r\n\t\t\t// If the previously chosen phone number format\r\n\t\t\t// didn't match the next (current) digit being input\r\n\t\t\t// (leading digits pattern didn't match).\r\n\t\t\tif (this.choose_another_format()) {\r\n\t\t\t\t// And a more appropriate phone number format\r\n\t\t\t\t// has been chosen for these `leading digits`,\r\n\t\t\t\t// then format the national phone number (so far)\r\n\t\t\t\t// using the newly selected phone number pattern.\r\n\r\n\t\t\t\t// Will return `undefined` if it couldn't format\r\n\t\t\t\t// the supplied national number\r\n\t\t\t\t// using the selected phone number pattern.\r\n\r\n\t\t\t\treturn this.reformat_national_number();\r\n\t\t\t}\r\n\r\n\t\t\t// If could format the next (current) digit\r\n\t\t\t// using the previously chosen phone number format\r\n\t\t\t// then return the formatted number so far.\r\n\r\n\t\t\t// If no new phone number format could be chosen,\r\n\t\t\t// and couldn't format the supplied national number\r\n\t\t\t// using the selected phone number pattern,\r\n\t\t\t// then it will return `undefined`.\r\n\r\n\t\t\treturn national_number_formatted_with_previous_format;\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'reset',\r\n\t\tvalue: function reset() {\r\n\t\t\t// Input stripped of non-phone-number characters.\r\n\t\t\t// Can only contain a possible leading '+' sign and digits.\r\n\t\t\tthis.parsed_input = '';\r\n\r\n\t\t\tthis.current_output = '';\r\n\r\n\t\t\t// This contains the national prefix that has been extracted. It contains only\r\n\t\t\t// digits without formatting.\r\n\t\t\tthis.national_prefix = '';\r\n\r\n\t\t\tthis.national_number = '';\r\n\r\n\t\t\tthis.reset_countriness();\r\n\r\n\t\t\tthis.reset_format();\r\n\r\n\t\t\t// this.valid = false\r\n\r\n\t\t\treturn this;\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'reset_country',\r\n\t\tvalue: function reset_country() {\r\n\t\t\tif (this.default_country && !this.is_international()) {\r\n\t\t\t\tthis.country = this.default_country;\r\n\t\t\t} else {\r\n\t\t\t\tthis.country = undefined;\r\n\t\t\t}\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'reset_countriness',\r\n\t\tvalue: function reset_countriness() {\r\n\t\t\tthis.reset_country();\r\n\r\n\t\t\tif (this.default_country && !this.is_international()) {\r\n\t\t\t\tthis.country_metadata = this.metadata.countries[this.default_country];\r\n\t\t\t\tthis.country_phone_code = this.country_metadata.phone_code;\r\n\r\n\t\t\t\tthis.initialize_phone_number_formats_for_this_country_phone_code();\r\n\t\t\t} else {\r\n\t\t\t\tthis.country_metadata = undefined;\r\n\t\t\t\tthis.country_phone_code = undefined;\r\n\r\n\t\t\t\tthis.available_formats = [];\r\n\t\t\t\tthis.matching_formats = this.available_formats;\r\n\t\t\t}\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'reset_format',\r\n\t\tvalue: function reset_format() {\r\n\t\t\tthis.chosen_format = undefined;\r\n\t\t\tthis.template = undefined;\r\n\t\t\tthis.partially_populated_template = undefined;\r\n\t\t\tthis.last_match_position = -1;\r\n\t\t}\r\n\r\n\t\t// Format each digit of national phone number (so far)\r\n\t\t// using the newly selected phone number pattern.\r\n\r\n\t}, {\r\n\t\tkey: 'reformat_national_number',\r\n\t\tvalue: function reformat_national_number() {\r\n\t\t\t// Format each digit of national phone number (so far)\r\n\t\t\t// using the selected phone number pattern.\r\n\t\t\treturn this.format_next_national_number_digits(this.national_number);\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'initialize_phone_number_formats_for_this_country_phone_code',\r\n\t\tvalue: function initialize_phone_number_formats_for_this_country_phone_code() {\r\n\t\t\t// Get all \"eligible\" phone number formats for this country\r\n\t\t\tthis.available_formats = get_formats(this.country_metadata).filter(function (format) {\r\n\t\t\t\treturn ELIGIBLE_FORMAT_PATTERN.test(get_format_international_format(format));\r\n\t\t\t});\r\n\r\n\t\t\tthis.matching_formats = this.available_formats;\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'match_formats_by_leading_digits',\r\n\t\tvalue: function match_formats_by_leading_digits() {\r\n\t\t\tvar leading_digits = this.national_number;\r\n\r\n\t\t\t// \"leading digits\" patterns start with a maximum of 3 digits,\r\n\t\t\t// and then with each additional digit\r\n\t\t\t// a more precise \"leading digits\" pattern is specified.\r\n\r\n\t\t\tvar index_of_leading_digits_pattern = leading_digits.length - MIN_LEADING_DIGITS_LENGTH;\r\n\r\n\t\t\tif (index_of_leading_digits_pattern < 0) {\r\n\t\t\t\tindex_of_leading_digits_pattern = 0;\r\n\t\t\t}\r\n\r\n\t\t\tthis.matching_formats = this.matching_formats.filter(function (format) {\r\n\t\t\t\tvar leading_digits_pattern_count = get_format_leading_digits_patterns(format).length;\r\n\r\n\t\t\t\t// Keep everything that isn't restricted by leading digits.\r\n\t\t\t\tif (leading_digits_pattern_count === 0) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar leading_digits_pattern_index = Math.min(index_of_leading_digits_pattern, leading_digits_pattern_count - 1);\r\n\t\t\t\tvar leading_digits_pattern = get_format_leading_digits_patterns(format)[leading_digits_pattern_index];\r\n\r\n\t\t\t\t// Brackets are required for `^` to be applied to\r\n\t\t\t\t// all or-ed (`|`) parts, not just the first one.\r\n\t\t\t\treturn new RegExp('^(' + leading_digits_pattern + ')').test(leading_digits);\r\n\t\t\t});\r\n\r\n\t\t\t// If there was a phone number format chosen\r\n\t\t\t// and it no longer holds given the new leading digits then reset it\r\n\t\t\tif (this.chosen_format && this.matching_formats.indexOf(this.chosen_format) === -1) {\r\n\t\t\t\tthis.reset_format();\r\n\t\t\t}\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'should_format',\r\n\t\tvalue: function should_format() {\r\n\t\t\t// Start matching any formats at all when the national number\r\n\t\t\t// entered so far is at least 3 digits long,\r\n\t\t\t// otherwise format matching would give false negatives\r\n\t\t\t// like when the digits entered so far are `2`\r\n\t\t\t// and the leading digits pattern is `21` –\r\n\t\t\t// it's quite obvious in this case that the format could be the one\r\n\t\t\t// but due to the absence of further digits it would give false negative.\r\n\t\t\t//\r\n\t\t\t// Google could have provided leading digits patterns starting\r\n\t\t\t// with a single digit but they chose not to (for whatever reasons).\r\n\t\t\t//\r\n\t\t\treturn this.national_number >= MIN_LEADING_DIGITS_LENGTH;\r\n\t\t}\r\n\r\n\t\t// Check to see if there is an exact pattern match for these digits. If so, we\r\n\t\t// should use this instead of any other formatting template whose\r\n\t\t// leadingDigitsPattern also matches the input.\r\n\r\n\t}, {\r\n\t\tkey: 'attempt_to_format_complete_phone_number',\r\n\t\tvalue: function attempt_to_format_complete_phone_number() {\r\n\t\t\tvar _iteratorNormalCompletion = true;\r\n\t\t\tvar _didIteratorError = false;\r\n\t\t\tvar _iteratorError = undefined;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tfor (var _iterator = _getIterator(this.matching_formats), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\r\n\t\t\t\t\tvar format = _step.value;\r\n\r\n\t\t\t\t\tvar matcher = new RegExp('^(?:' + get_format_pattern(format) + ')$');\r\n\r\n\t\t\t\t\tif (!matcher.test(this.national_number)) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!this.validate_format(format)) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// To leave the formatter in a consistent state\r\n\t\t\t\t\tthis.reset_format();\r\n\t\t\t\t\tthis.chosen_format = format;\r\n\r\n\t\t\t\t\tvar formatted_number = format_national_number_using_format(this.national_number, format, this.is_international(), this.national_prefix.length > 0, this.country_metadata);\r\n\r\n\t\t\t\t\t// Set `this.template` and `this.partially_populated_template`.\r\n\t\t\t\t\t//\r\n\t\t\t\t\t// `else` case doesn't ever happen\r\n\t\t\t\t\t// with the current metadata,\r\n\t\t\t\t\t// but just in case.\r\n\t\t\t\t\t//\r\n\t\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\t\tif (this.create_formatting_template(format)) {\r\n\t\t\t\t\t\t// Populate `this.partially_populated_template`\r\n\t\t\t\t\t\tthis.reformat_national_number();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Prepend `+CountryCode` in case of an international phone number\r\n\t\t\t\t\t\tvar full_number = this.full_phone_number(formatted_number);\r\n\t\t\t\t\t\tthis.template = full_number.replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER);\r\n\t\t\t\t\t\tthis.partially_populated_template = full_number;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn formatted_number;\r\n\t\t\t\t}\r\n\t\t\t} catch (err) {\r\n\t\t\t\t_didIteratorError = true;\r\n\t\t\t\t_iteratorError = err;\r\n\t\t\t} finally {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\r\n\t\t\t\t\t\t_iterator.return();\r\n\t\t\t\t\t}\r\n\t\t\t\t} finally {\r\n\t\t\t\t\tif (_didIteratorError) {\r\n\t\t\t\t\t\tthrow _iteratorError;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Prepends `+CountryCode` in case of an international phone number\r\n\r\n\t}, {\r\n\t\tkey: 'full_phone_number',\r\n\t\tvalue: function full_phone_number(formatted_national_number) {\r\n\t\t\tif (this.is_international()) {\r\n\t\t\t\treturn '+' + this.country_phone_code + ' ' + formatted_national_number;\r\n\t\t\t}\r\n\r\n\t\t\treturn formatted_national_number;\r\n\t\t}\r\n\r\n\t\t// Extracts the country calling code from the beginning\r\n\t\t// of the entered `national_number` (so far),\r\n\t\t// and places the remaining input into the `national_number`.\r\n\r\n\t}, {\r\n\t\tkey: 'extract_country_phone_code',\r\n\t\tvalue: function extract_country_phone_code() {\r\n\t\t\tif (!this.national_number) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar _parse_phone_number_a = parse_phone_number_and_country_phone_code(this.parsed_input, this.metadata),\r\n\t\t\t    country_phone_code = _parse_phone_number_a.country_phone_code,\r\n\t\t\t    number = _parse_phone_number_a.number;\r\n\r\n\t\t\tif (!country_phone_code) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.country_phone_code = country_phone_code;\r\n\t\t\tthis.national_number = number;\r\n\r\n\t\t\treturn this.country_metadata = get_metadata_by_country_phone_code(country_phone_code, this.metadata);\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'extract_national_prefix',\r\n\t\tvalue: function extract_national_prefix() {\r\n\t\t\tthis.national_prefix = '';\r\n\r\n\t\t\tif (!this.country_metadata) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar national_number = strip_national_prefix(this.national_number, this.country_metadata);\r\n\r\n\t\t\tif (national_number !== this.national_number) {\r\n\t\t\t\tthis.national_prefix = this.national_number.slice(0, this.national_number.length - national_number.length);\r\n\t\t\t\tthis.national_number = national_number;\r\n\t\t\t}\r\n\r\n\t\t\treturn this.national_prefix;\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'choose_another_format',\r\n\t\tvalue: function choose_another_format() {\r\n\t\t\t// When there are multiple available formats, the formatter uses the first\r\n\t\t\t// format where a formatting template could be created.\r\n\t\t\tvar _iteratorNormalCompletion2 = true;\r\n\t\t\tvar _didIteratorError2 = false;\r\n\t\t\tvar _iteratorError2 = undefined;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tfor (var _iterator2 = _getIterator(this.matching_formats), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\r\n\t\t\t\t\tvar format = _step2.value;\r\n\r\n\t\t\t\t\t// If this format is currently being used\r\n\t\t\t\t\t// and is still possible, then stick to it.\r\n\t\t\t\t\tif (this.chosen_format === format) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// If this `format` is suitable for \"as you type\",\r\n\t\t\t\t\t// then extract the template from this format\r\n\t\t\t\t\t// and use it to format the phone number being input.\r\n\r\n\t\t\t\t\tif (!this.validate_format(format)) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!this.create_formatting_template(format)) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.chosen_format = format;\r\n\r\n\t\t\t\t\t// With a new formatting template, the matched position\r\n\t\t\t\t\t// using the old template needs to be reset.\r\n\t\t\t\t\tthis.last_match_position = -1;\r\n\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// No format matches the phone number,\r\n\t\t\t\t// therefore set `country` to `undefined`\r\n\t\t\t\t// (or to the default country).\r\n\t\t\t} catch (err) {\r\n\t\t\t\t_didIteratorError2 = true;\r\n\t\t\t\t_iteratorError2 = err;\r\n\t\t\t} finally {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\r\n\t\t\t\t\t\t_iterator2.return();\r\n\t\t\t\t\t}\r\n\t\t\t\t} finally {\r\n\t\t\t\t\tif (_didIteratorError2) {\r\n\t\t\t\t\t\tthrow _iteratorError2;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.reset_country();\r\n\r\n\t\t\t// No format matches the national phone number entered\r\n\t\t\tthis.reset_format();\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'validate_format',\r\n\t\tvalue: function validate_format(format) {\r\n\t\t\t// If national prefix is mandatory for this phone number format\r\n\t\t\t// and the user didn't input the national prefix,\r\n\t\t\t// then this phone number format isn't suitable.\r\n\t\t\tif (!this.is_international() && !this.national_prefix && get_format_national_prefix_is_mandatory_when_formatting(format, this.country_metadata)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'create_formatting_template',\r\n\t\tvalue: function create_formatting_template(format) {\r\n\t\t\t// The formatter doesn't format numbers when numberPattern contains '|', e.g.\r\n\t\t\t// (20|3)\\d{4}. In those cases we quickly return.\r\n\t\t\t// (Though there's no such format in current metadata)\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (get_format_pattern(format).indexOf('|') >= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Get formatting template for this phone number format\r\n\t\t\tvar template = this.get_template_for_phone_number_format_pattern(format);\r\n\r\n\t\t\t// If the national number entered is too long\r\n\t\t\t// for any phone number format, then abort.\r\n\t\t\tif (!template) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// This one is for national number only\r\n\t\t\tthis.partially_populated_template = template;\r\n\r\n\t\t\t// For convenience, the public `.template` property\r\n\t\t\t// contains the whole international number\r\n\t\t\t// if the phone number being input is international:\r\n\t\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\r\n\t\t\t// a spacebar and then the template for the formatted national number.\r\n\t\t\tif (this.is_international()) {\r\n\t\t\t\tthis.template = DIGIT_PLACEHOLDER + repeat(DIGIT_PLACEHOLDER, this.country_phone_code.length) + ' ' + template;\r\n\t\t\t}\r\n\t\t\t// For local numbers, replace national prefix\r\n\t\t\t// with a digit placeholder.\r\n\t\t\telse {\r\n\t\t\t\t\tthis.template = template.replace(/\\d/g, DIGIT_PLACEHOLDER);\r\n\t\t\t\t}\r\n\r\n\t\t\t// This one is for the full phone number\r\n\t\t\treturn this.template;\r\n\t\t}\r\n\r\n\t\t// Generates formatting template for a phone number format\r\n\r\n\t}, {\r\n\t\tkey: 'get_template_for_phone_number_format_pattern',\r\n\t\tvalue: function get_template_for_phone_number_format_pattern(format) {\r\n\t\t\tvar national_prefix_formatting_rule = get_format_national_prefix_formatting_rule(format, this.country_metadata);\r\n\r\n\t\t\t// A very smart trick by the guys at Google\r\n\t\t\tvar number_pattern = get_format_pattern(format)\r\n\t\t\t// Replace anything in the form of [..] with \\d\r\n\t\t\t.replace(CHARACTER_CLASS_PATTERN, '\\\\d')\r\n\t\t\t// Replace any standalone digit (not the one in `{}`) with \\d\r\n\t\t\t.replace(STANDALONE_DIGIT_PATTERN, '\\\\d');\r\n\r\n\t\t\t// This match will always succeed,\r\n\t\t\t// because the \"longest dummy phone number\"\r\n\t\t\t// has enough length to accomodate any possible\r\n\t\t\t// national phone number format pattern.\r\n\t\t\tvar dummy_phone_number_matching_format_pattern = LONGEST_DUMMY_PHONE_NUMBER.match(number_pattern)[0];\r\n\r\n\t\t\t// If the national number entered is too long\r\n\t\t\t// for any phone number format, then abort.\r\n\t\t\tif (this.national_number.length > dummy_phone_number_matching_format_pattern.length) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Prepare the phone number format\r\n\t\t\tvar number_format = this.get_format_format(format, national_prefix_formatting_rule);\r\n\r\n\t\t\t// Get a formatting template which can be used to efficiently format\r\n\t\t\t// a partial number where digits are added one by one.\r\n\r\n\t\t\t// Below `strict_pattern` is used for the\r\n\t\t\t// regular expression (with `^` and `$`).\r\n\t\t\t// This wasn't originally in Google's `libphonenumber`\r\n\t\t\t// and I guess they don't really need it\r\n\t\t\t// because they're not using \"templates\" to format phone numbers\r\n\t\t\t// but I added `strict_pattern` after encountering\r\n\t\t\t// South Korean phone number formatting bug.\r\n\t\t\t//\r\n\t\t\t// Non-strict regular expression bug demonstration:\r\n\t\t\t//\r\n\t\t\t// this.national_number : `111111111` (9 digits)\r\n\t\t\t//\r\n\t\t\t// number_pattern : (\\d{2})(\\d{3,4})(\\d{4})\r\n\t\t\t// number_format : `$1 $2 $3`\r\n\t\t\t// dummy_phone_number_matching_format_pattern : `9999999999` (10 digits)\r\n\t\t\t//\r\n\t\t\t// '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\r\n\t\t\t//\r\n\t\t\t// template : xx xxxx xxxx\r\n\t\t\t//\r\n\t\t\t// But the correct template in this case is `xx xxx xxxx`.\r\n\t\t\t// The template was generated incorrectly because of the\r\n\t\t\t// `{3,4}` variability in the `number_pattern`.\r\n\t\t\t//\r\n\t\t\t// The fix is, if `this.national_number` has already sufficient length\r\n\t\t\t// to satisfy the `number_pattern` completely then `this.national_number` is used\r\n\t\t\t// instead of `dummy_phone_number_matching_format_pattern`.\r\n\r\n\t\t\tvar strict_pattern = new RegExp('^' + number_pattern + '$');\r\n\t\t\tvar national_number_dummy_digits = this.national_number.replace(/\\d/g, DUMMY_DIGIT);\r\n\r\n\t\t\t// If `this.national_number` has already sufficient length\r\n\t\t\t// to satisfy the `number_pattern` completely then use it\r\n\t\t\t// instead of `dummy_phone_number_matching_format_pattern`.\r\n\t\t\tif (strict_pattern.test(national_number_dummy_digits)) {\r\n\t\t\t\tdummy_phone_number_matching_format_pattern = national_number_dummy_digits;\r\n\t\t\t}\r\n\r\n\t\t\t// Generate formatting template for this phone number format\r\n\t\t\treturn dummy_phone_number_matching_format_pattern\r\n\t\t\t// Format the dummy phone number according to the format\r\n\t\t\t.replace(new RegExp(number_pattern), number_format)\r\n\t\t\t// Replace each dummy digit with a DIGIT_PLACEHOLDER\r\n\t\t\t.replace(DUMMY_DIGIT_MATCHER, DIGIT_PLACEHOLDER);\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'format_next_national_number_digits',\r\n\t\tvalue: function format_next_national_number_digits(digits) {\r\n\t\t\tvar _iteratorNormalCompletion3 = true;\r\n\t\t\tvar _didIteratorError3 = false;\r\n\t\t\tvar _iteratorError3 = undefined;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tfor (var _iterator3 = _getIterator(digits), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\r\n\t\t\t\t\tvar digit = _step3.value;\r\n\r\n\t\t\t\t\t// If there is room for more digits in current `template`,\r\n\t\t\t\t\t// then set the next digit in the `template`,\r\n\t\t\t\t\t// and return the formatted digits so far.\r\n\r\n\t\t\t\t\t// If more digits are entered than the current format could handle\r\n\t\t\t\t\tif (this.partially_populated_template.slice(this.last_match_position + 1).search(DIGIT_PLACEHOLDER_MATCHER) === -1) {\r\n\t\t\t\t\t\t// Reset the current format,\r\n\t\t\t\t\t\t// so that the new format will be chosen\r\n\t\t\t\t\t\t// in a subsequent `this.choose_another_format()` call\r\n\t\t\t\t\t\t// later in code.\r\n\t\t\t\t\t\tthis.chosen_format = undefined;\r\n\t\t\t\t\t\tthis.template = undefined;\r\n\t\t\t\t\t\tthis.partially_populated_template = undefined;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.last_match_position = this.partially_populated_template.search(DIGIT_PLACEHOLDER_MATCHER);\r\n\t\t\t\t\tthis.partially_populated_template = this.partially_populated_template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Return the formatted phone number so far\r\n\t\t\t} catch (err) {\r\n\t\t\t\t_didIteratorError3 = true;\r\n\t\t\t\t_iteratorError3 = err;\r\n\t\t\t} finally {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\r\n\t\t\t\t\t\t_iterator3.return();\r\n\t\t\t\t\t}\r\n\t\t\t\t} finally {\r\n\t\t\t\t\tif (_didIteratorError3) {\r\n\t\t\t\t\t\tthrow _iteratorError3;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn close_dangling_braces(this.partially_populated_template, this.last_match_position + 1).replace(DIGIT_PLACEHOLDER_MATCHER_GLOBAL, ' ');\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'is_international',\r\n\t\tvalue: function is_international() {\r\n\t\t\treturn this.parsed_input && this.parsed_input[0] === '+';\r\n\t\t}\r\n\t}, {\r\n\t\tkey: 'get_format_format',\r\n\t\tvalue: function get_format_format(format, national_prefix_formatting_rule) {\r\n\t\t\tvar number_format = this.is_international() ? get_format_international_format(format) : _get_format_format(format);\r\n\r\n\t\t\t// If national prefix formatting rule is set\r\n\t\t\t// for this phone number format\r\n\t\t\tif (national_prefix_formatting_rule) {\r\n\t\t\t\t// If the user did input the national prefix\r\n\t\t\t\t// (or if the national prefix formatting rule does not require national prefix)\r\n\t\t\t\t// then maybe make it part of the phone number template\r\n\t\t\t\tif (this.national_prefix || !get_format_uses_national_prefix(national_prefix_formatting_rule)) {\r\n\t\t\t\t\t// Make the national prefix part of the phone number template\r\n\t\t\t\t\tnumber_format = number_format.replace(FIRST_GROUP_PATTERN, national_prefix_formatting_rule);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.is_international()) {\r\n\t\t\t\treturn local_to_international_style(number_format);\r\n\t\t\t}\r\n\r\n\t\t\treturn number_format;\r\n\t\t}\r\n\r\n\t\t// Determines the country of the phone number\r\n\t\t// entered so far based on the country phone code\r\n\t\t// and the national phone number.\r\n\r\n\t}, {\r\n\t\tkey: 'determine_the_country',\r\n\t\tvalue: function determine_the_country() {\r\n\t\t\tthis.country = find_country_code(this.country_phone_code, this.national_number, this.metadata);\r\n\t\t}\r\n\t}]);\r\n\r\n\treturn as_you_type;\r\n}();\r\n\r\nexport default as_you_type;\r\n\r\n\r\nexport function close_dangling_braces(template, cut_before) {\r\n\tvar retained_template = template.slice(0, cut_before);\r\n\r\n\tvar opening_braces = count_occurences('(', retained_template);\r\n\tvar closing_braces = count_occurences(')', retained_template);\r\n\r\n\tvar dangling_braces = opening_braces - closing_braces;\r\n\r\n\twhile (dangling_braces > 0 && cut_before < template.length) {\r\n\t\tif (template[cut_before] === ')') {\r\n\t\t\tdangling_braces--;\r\n\t\t}\r\n\t\tcut_before++;\r\n\t}\r\n\r\n\treturn template.slice(0, cut_before);\r\n}\r\n\r\n// Counts all occurences of a symbol in a string\r\nexport function count_occurences(symbol, string) {\r\n\tvar count = 0;\r\n\r\n\tvar _iteratorNormalCompletion4 = true;\r\n\tvar _didIteratorError4 = false;\r\n\tvar _iteratorError4 = undefined;\r\n\r\n\ttry {\r\n\t\tfor (var _iterator4 = _getIterator(string), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\r\n\t\t\tvar character = _step4.value;\r\n\r\n\t\t\tif (character === symbol) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (err) {\r\n\t\t_didIteratorError4 = true;\r\n\t\t_iteratorError4 = err;\r\n\t} finally {\r\n\t\ttry {\r\n\t\t\tif (!_iteratorNormalCompletion4 && _iterator4.return) {\r\n\t\t\t\t_iterator4.return();\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tif (_didIteratorError4) {\r\n\t\t\t\tthrow _iteratorError4;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn count;\r\n}\r\n\r\n// Repeats a string (or a symbol) N times.\r\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\r\nexport function repeat(string, times) {\r\n\tif (times < 1) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\tvar result = '';\r\n\r\n\twhile (times > 1) {\r\n\t\tif (times & 1) {\r\n\t\t\tresult += string;\r\n\t\t}\r\n\r\n\t\ttimes >>= 1;\r\n\t\tstring += string;\r\n\t}\r\n\r\n\treturn result + string;\r\n}\r\n//# sourceMappingURL=as you type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/es6/as you type.js\n// module id = 432\n// module chunks = 3","import parse, { is_viable_phone_number } from './parse';\r\nimport get_number_type, { sort_out_arguments } from './get number type';\r\n\r\nimport { get_types } from './metadata';\r\n\r\n// Checks if a given phone number is valid\r\n//\r\n// Example use cases:\r\n//\r\n// ```js\r\n// is_valid('8005553535', 'RU')\r\n// is_valid('8005553535', 'RU', metadata)\r\n// is_valid({ phone: '8005553535', country: 'RU' })\r\n// is_valid({ phone: '8005553535', country: 'RU' }, metadata)\r\n// is_valid('+78005553535')\r\n// is_valid('+78005553535', metadata)\r\n// ```\r\n//\r\nexport default function is_valid(first_argument, second_argument, third_argument) {\r\n\tvar _sort_out_arguments = sort_out_arguments(first_argument, second_argument, third_argument),\r\n\t    input = _sort_out_arguments.input,\r\n\t    metadata = _sort_out_arguments.metadata;\r\n\r\n\t// Sanity check\r\n\r\n\r\n\tif (!metadata) {\r\n\t\tthrow new Error('Metadata not passed');\r\n\t}\r\n\r\n\tif (!input) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (!input.country) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tvar country_metadata = metadata.countries[input.country];\r\n\r\n\tif (get_types(country_metadata)) {\r\n\t\tif (!get_number_type(input, metadata)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\treturn true;\r\n}\r\n//# sourceMappingURL=validate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/es6/validate.js\n// module id = 433\n// module chunks = 3","import { Component, Input, Output, EventEmitter, ElementRef, ViewEncapsulation, ChangeDetectorRef, Renderer, ViewChild, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { LocaleService } from \"./services/my-date-picker.locale.service\";\r\nimport { UtilService } from \"./services/my-date-picker.util.service\";\r\nexport var MYDP_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return MyDatePicker; }),\r\n    multi: true\r\n};\r\nvar CalToggle;\r\n(function (CalToggle) {\r\n    CalToggle[CalToggle[\"Open\"] = 1] = \"Open\";\r\n    CalToggle[CalToggle[\"CloseByDateSel\"] = 2] = \"CloseByDateSel\";\r\n    CalToggle[CalToggle[\"CloseByCalBtn\"] = 3] = \"CloseByCalBtn\";\r\n    CalToggle[CalToggle[\"CloseByOutClick\"] = 4] = \"CloseByOutClick\";\r\n    CalToggle[CalToggle[\"CloseByEsc\"] = 5] = \"CloseByEsc\";\r\n    CalToggle[CalToggle[\"CloseByApi\"] = 6] = \"CloseByApi\";\r\n})(CalToggle || (CalToggle = {}));\r\nvar Year;\r\n(function (Year) {\r\n    Year[Year[\"min\"] = 1000] = \"min\";\r\n    Year[Year[\"max\"] = 9999] = \"max\";\r\n})(Year || (Year = {}));\r\nvar InputFocusBlur;\r\n(function (InputFocusBlur) {\r\n    InputFocusBlur[InputFocusBlur[\"focus\"] = 1] = \"focus\";\r\n    InputFocusBlur[InputFocusBlur[\"blur\"] = 2] = \"blur\";\r\n})(InputFocusBlur || (InputFocusBlur = {}));\r\nvar KeyCode;\r\n(function (KeyCode) {\r\n    KeyCode[KeyCode[\"enter\"] = 13] = \"enter\";\r\n    KeyCode[KeyCode[\"esc\"] = 27] = \"esc\";\r\n    KeyCode[KeyCode[\"space\"] = 32] = \"space\";\r\n})(KeyCode || (KeyCode = {}));\r\nvar MonthId;\r\n(function (MonthId) {\r\n    MonthId[MonthId[\"prev\"] = 1] = \"prev\";\r\n    MonthId[MonthId[\"curr\"] = 2] = \"curr\";\r\n    MonthId[MonthId[\"next\"] = 3] = \"next\";\r\n})(MonthId || (MonthId = {}));\r\nvar MMM = \"mmm\";\r\nexport var MyDatePicker = (function () {\r\n    function MyDatePicker(elem, renderer, cdr, localeService, utilService) {\r\n        var _this = this;\r\n        this.elem = elem;\r\n        this.renderer = renderer;\r\n        this.cdr = cdr;\r\n        this.localeService = localeService;\r\n        this.utilService = utilService;\r\n        this.dateChanged = new EventEmitter();\r\n        this.inputFieldChanged = new EventEmitter();\r\n        this.calendarViewChanged = new EventEmitter();\r\n        this.calendarToggle = new EventEmitter();\r\n        this.inputFocusBlur = new EventEmitter();\r\n        this.onChangeCb = function () { };\r\n        this.onTouchedCb = function () { };\r\n        this.showSelector = false;\r\n        this.visibleMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n        this.selectedMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n        this.selectedDate = { year: 0, month: 0, day: 0 };\r\n        this.weekDays = [];\r\n        this.dates = [];\r\n        this.months = [];\r\n        this.years = [];\r\n        this.selectionDayTxt = \"\";\r\n        this.invalidDate = false;\r\n        this.disableTodayBtn = false;\r\n        this.dayIdx = 0;\r\n        this.selectMonth = false;\r\n        this.selectYear = false;\r\n        this.prevMonthDisabled = false;\r\n        this.nextMonthDisabled = false;\r\n        this.prevYearDisabled = false;\r\n        this.nextYearDisabled = false;\r\n        this.prevYearsDisabled = false;\r\n        this.nextYearsDisabled = false;\r\n        this.prevMonthId = MonthId.prev;\r\n        this.currMonthId = MonthId.curr;\r\n        this.nextMonthId = MonthId.next;\r\n        this.opts = {\r\n            dayLabels: {},\r\n            monthLabels: {},\r\n            dateFormat: \"\",\r\n            showTodayBtn: true,\r\n            todayBtnTxt: \"\",\r\n            firstDayOfWeek: \"\",\r\n            satHighlight: false,\r\n            sunHighlight: true,\r\n            highlightDates: [],\r\n            markCurrentDay: true,\r\n            markCurrentMonth: true,\r\n            markCurrentYear: true,\r\n            disableUntil: { year: 0, month: 0, day: 0 },\r\n            disableSince: { year: 0, month: 0, day: 0 },\r\n            disableDays: [],\r\n            enableDays: [],\r\n            markDates: [],\r\n            markWeekends: {},\r\n            disableDateRanges: [],\r\n            disableWeekends: false,\r\n            disableWeekdays: [],\r\n            showWeekNumbers: false,\r\n            height: \"34px\",\r\n            width: \"100%\",\r\n            selectionTxtFontSize: \"14px\",\r\n            selectorHeight: \"232px\",\r\n            selectorWidth: \"252px\",\r\n            allowDeselectDate: false,\r\n            inline: false,\r\n            showClearDateBtn: true,\r\n            showDecreaseDateBtn: false,\r\n            showIncreaseDateBtn: false,\r\n            alignSelectorRight: false,\r\n            openSelectorTopOfInput: false,\r\n            indicateInvalidDate: true,\r\n            editableDateField: false,\r\n            monthSelector: true,\r\n            yearSelector: true,\r\n            disableHeaderButtons: true,\r\n            minYear: Year.min,\r\n            maxYear: Year.max,\r\n            componentDisabled: false,\r\n            showSelectorArrow: true,\r\n            showInputField: true,\r\n            openSelectorOnInputClick: true,\r\n            allowSelectionOnlyInCurrentMonth: true,\r\n            ariaLabelInputField: \"Date input field\",\r\n            ariaLabelClearDate: \"Clear Date\",\r\n            ariaLabelDecreaseDate: \"Decrease Date\",\r\n            ariaLabelIncreaseDate: \"Increase Date\",\r\n            ariaLabelOpenCalendar: \"Open Calendar\",\r\n            ariaLabelPrevMonth: \"Previous Month\",\r\n            ariaLabelNextMonth: \"Next Month\",\r\n            ariaLabelPrevYear: \"Previous Year\",\r\n            ariaLabelNextYear: \"Next Year\"\r\n        };\r\n        this.setLocaleOptions();\r\n        this.globalListener = renderer.listenGlobal(\"document\", \"click\", function (event) {\r\n            if (_this.showSelector && event.target && _this.elem.nativeElement !== event.target && !_this.elem.nativeElement.contains(event.target)) {\r\n                _this.showSelector = false;\r\n                _this.calendarToggle.emit(CalToggle.CloseByOutClick);\r\n            }\r\n            if (_this.opts.monthSelector || _this.opts.yearSelector) {\r\n                _this.resetMonthYearSelect();\r\n            }\r\n        });\r\n    }\r\n    MyDatePicker.prototype.setLocaleOptions = function () {\r\n        var _this = this;\r\n        var opts = this.localeService.getLocaleOptions(this.locale);\r\n        Object.keys(opts).forEach(function (k) {\r\n            _this.opts[k] = opts[k];\r\n        });\r\n    };\r\n    MyDatePicker.prototype.setOptions = function () {\r\n        var _this = this;\r\n        if (this.options !== undefined) {\r\n            Object.keys(this.options).forEach(function (k) {\r\n                _this.opts[k] = _this.options[k];\r\n            });\r\n        }\r\n        if (this.opts.minYear < Year.min) {\r\n            this.opts.minYear = Year.min;\r\n        }\r\n        if (this.opts.maxYear > Year.max) {\r\n            this.opts.maxYear = Year.max;\r\n        }\r\n        if (this.disabled !== undefined) {\r\n            this.opts.componentDisabled = this.disabled;\r\n        }\r\n    };\r\n    MyDatePicker.prototype.getSelectorTopPosition = function () {\r\n        if (this.opts.openSelectorTopOfInput) {\r\n            return this.elem.nativeElement.children[0].offsetHeight + \"px\";\r\n        }\r\n    };\r\n    MyDatePicker.prototype.resetMonthYearSelect = function () {\r\n        this.selectMonth = false;\r\n        this.selectYear = false;\r\n    };\r\n    MyDatePicker.prototype.onSelectMonthClicked = function (event) {\r\n        event.stopPropagation();\r\n        this.selectMonth = !this.selectMonth;\r\n        this.selectYear = false;\r\n        this.cdr.detectChanges();\r\n        if (this.selectMonth) {\r\n            var today = this.getToday();\r\n            this.months.length = 0;\r\n            for (var i = 1; i <= 12; i += 3) {\r\n                var row = [];\r\n                for (var j = i; j < i + 3; j++) {\r\n                    var disabled = this.utilService.isMonthDisabledByDisableUntil({ year: this.visibleMonth.year, month: j, day: this.daysInMonth(j, this.visibleMonth.year) }, this.opts.disableUntil)\r\n                        || this.utilService.isMonthDisabledByDisableSince({ year: this.visibleMonth.year, month: j, day: 1 }, this.opts.disableSince);\r\n                    row.push({ nbr: j, name: this.opts.monthLabels[j], currMonth: j === today.month && this.visibleMonth.year === today.year, selected: j === this.visibleMonth.monthNbr, disabled: disabled });\r\n                }\r\n                this.months.push(row);\r\n            }\r\n        }\r\n    };\r\n    MyDatePicker.prototype.onMonthCellClicked = function (cell) {\r\n        var mc = cell.nbr !== this.visibleMonth.monthNbr;\r\n        this.visibleMonth = { monthTxt: this.monthText(cell.nbr), monthNbr: cell.nbr, year: this.visibleMonth.year };\r\n        this.generateCalendar(cell.nbr, this.visibleMonth.year, mc);\r\n        this.selectMonth = false;\r\n        this.selectorEl.nativeElement.focus();\r\n    };\r\n    MyDatePicker.prototype.onMonthCellKeyDown = function (event, cell) {\r\n        if ((event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) && !cell.disabled) {\r\n            event.preventDefault();\r\n            this.onMonthCellClicked(cell);\r\n        }\r\n    };\r\n    MyDatePicker.prototype.onSelectYearClicked = function (event) {\r\n        event.stopPropagation();\r\n        this.selectYear = !this.selectYear;\r\n        this.selectMonth = false;\r\n        this.cdr.detectChanges();\r\n        if (this.selectYear) {\r\n            this.generateYears(Number(this.visibleMonth.year));\r\n        }\r\n    };\r\n    MyDatePicker.prototype.onYearCellClicked = function (cell) {\r\n        var yc = cell.year !== this.visibleMonth.year;\r\n        this.visibleMonth = { monthTxt: this.visibleMonth.monthTxt, monthNbr: this.visibleMonth.monthNbr, year: cell.year };\r\n        this.generateCalendar(this.visibleMonth.monthNbr, cell.year, yc);\r\n        this.selectYear = false;\r\n        this.selectorEl.nativeElement.focus();\r\n    };\r\n    MyDatePicker.prototype.onYearCellKeyDown = function (event, cell) {\r\n        if ((event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) && !cell.disabled) {\r\n            event.preventDefault();\r\n            this.onYearCellClicked(cell);\r\n        }\r\n    };\r\n    MyDatePicker.prototype.onPrevYears = function (event, year) {\r\n        event.stopPropagation();\r\n        this.generateYears(Number(year) - 25);\r\n    };\r\n    MyDatePicker.prototype.onNextYears = function (event, year) {\r\n        event.stopPropagation();\r\n        this.generateYears(Number(year) + 25);\r\n    };\r\n    MyDatePicker.prototype.generateYears = function (year) {\r\n        this.years.length = 0;\r\n        var today = this.getToday();\r\n        for (var i = year; i <= 20 + year; i += 5) {\r\n            var row = [];\r\n            for (var j = i; j < i + 5; j++) {\r\n                var disabled = this.utilService.isMonthDisabledByDisableUntil({ year: j, month: this.visibleMonth.monthNbr, day: this.daysInMonth(this.visibleMonth.monthNbr, j) }, this.opts.disableUntil)\r\n                    || this.utilService.isMonthDisabledByDisableSince({ year: j, month: this.visibleMonth.monthNbr, day: 1 }, this.opts.disableSince);\r\n                var minMax = j < this.opts.minYear || j > this.opts.maxYear;\r\n                row.push({ year: j, currYear: j === today.year, selected: j === this.visibleMonth.year, disabled: disabled || minMax });\r\n            }\r\n            this.years.push(row);\r\n        }\r\n        this.prevYearsDisabled = this.years[0][0].year <= this.opts.minYear || this.utilService.isMonthDisabledByDisableUntil({ year: this.years[0][0].year - 1, month: this.visibleMonth.monthNbr, day: this.daysInMonth(this.visibleMonth.monthNbr, this.years[0][0].year - 1) }, this.opts.disableUntil);\r\n        this.nextYearsDisabled = this.years[4][4].year >= this.opts.maxYear || this.utilService.isMonthDisabledByDisableSince({ year: this.years[4][4].year + 1, month: this.visibleMonth.monthNbr, day: 1 }, this.opts.disableSince);\r\n    };\r\n    MyDatePicker.prototype.onUserDateInput = function (value) {\r\n        if (value.length === 0) {\r\n            if (this.utilService.isInitializedDate(this.selectedDate)) {\r\n                this.clearDate();\r\n            }\r\n            else {\r\n                this.invalidInputFieldChanged(value);\r\n            }\r\n        }\r\n        else {\r\n            var date = this.utilService.isDateValid(value, this.opts.dateFormat, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableWeekdays, this.opts.disableDays, this.opts.disableDateRanges, this.opts.monthLabels, this.opts.enableDays);\r\n            if (this.utilService.isInitializedDate(date)) {\r\n                if (!this.utilService.isSameDate(date, this.selectedDate)) {\r\n                    this.selectDate(date, CalToggle.CloseByDateSel);\r\n                }\r\n                else {\r\n                    this.updateDateValue(date);\r\n                }\r\n            }\r\n            else {\r\n                this.invalidInputFieldChanged(value);\r\n            }\r\n        }\r\n    };\r\n    MyDatePicker.prototype.onFocusInput = function (event) {\r\n        this.inputFocusBlur.emit({ reason: InputFocusBlur.focus, value: event.target.value });\r\n    };\r\n    MyDatePicker.prototype.onBlurInput = function (event) {\r\n        this.selectionDayTxt = event.target.value;\r\n        this.onTouchedCb();\r\n        this.inputFocusBlur.emit({ reason: InputFocusBlur.blur, value: event.target.value });\r\n    };\r\n    MyDatePicker.prototype.onCloseSelector = function (event) {\r\n        if (event.keyCode === KeyCode.esc && this.showSelector && !this.opts.inline) {\r\n            this.calendarToggle.emit(CalToggle.CloseByEsc);\r\n            this.showSelector = false;\r\n        }\r\n    };\r\n    MyDatePicker.prototype.invalidInputFieldChanged = function (value) {\r\n        this.invalidDate = value.length > 0;\r\n        this.inputFieldChanged.emit({ value: value, dateFormat: this.opts.dateFormat, valid: false });\r\n        this.onChangeCb(null);\r\n        this.onTouchedCb();\r\n    };\r\n    MyDatePicker.prototype.isTodayDisabled = function () {\r\n        this.disableTodayBtn = this.utilService.isDisabledDay(this.getToday(), this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableWeekdays, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays);\r\n    };\r\n    MyDatePicker.prototype.parseOptions = function () {\r\n        if (this.locale) {\r\n            this.setLocaleOptions();\r\n        }\r\n        this.setOptions();\r\n        var weekDays = this.utilService.getWeekDays();\r\n        this.isTodayDisabled();\r\n        this.dayIdx = weekDays.indexOf(this.opts.firstDayOfWeek);\r\n        if (this.dayIdx !== -1) {\r\n            var idx = this.dayIdx;\r\n            for (var i = 0; i < weekDays.length; i++) {\r\n                this.weekDays.push(this.opts.dayLabels[weekDays[idx]]);\r\n                idx = weekDays[idx] === \"sa\" ? 0 : idx + 1;\r\n            }\r\n        }\r\n    };\r\n    MyDatePicker.prototype.writeValue = function (value) {\r\n        if (value && (value[\"date\"] || value[\"jsdate\"] || value[\"formatted\"])) {\r\n            this.selectedDate = value[\"date\"] ? this.parseSelectedDate(value[\"date\"]) : value[\"jsdate\"] ? this.parseSelectedDate(this.jsDateToMyDate(value[\"jsdate\"])) : this.parseSelectedDate(value[\"formatted\"]);\r\n            var cvc = this.visibleMonth.year !== this.selectedDate.year || this.visibleMonth.monthNbr !== this.selectedDate.month;\r\n            if (cvc) {\r\n                this.visibleMonth = { monthTxt: this.opts.monthLabels[this.selectedDate.month], monthNbr: this.selectedDate.month, year: this.selectedDate.year };\r\n                this.generateCalendar(this.selectedDate.month, this.selectedDate.year, cvc);\r\n            }\r\n            this.selectionDayTxt = this.utilService.formatDate(this.selectedDate, this.opts.dateFormat, this.opts.monthLabels);\r\n        }\r\n        else if (value === null || value === \"\") {\r\n            this.selectedDate = { year: 0, month: 0, day: 0 };\r\n            this.selectionDayTxt = \"\";\r\n        }\r\n        this.inputFieldChanged.emit({ value: this.selectionDayTxt, dateFormat: this.opts.dateFormat, valid: this.selectionDayTxt.length > 0 });\r\n        this.invalidDate = false;\r\n    };\r\n    MyDatePicker.prototype.setDisabledState = function (disabled) {\r\n        this.opts.componentDisabled = disabled;\r\n    };\r\n    MyDatePicker.prototype.registerOnChange = function (fn) {\r\n        this.onChangeCb = fn;\r\n    };\r\n    MyDatePicker.prototype.registerOnTouched = function (fn) {\r\n        this.onTouchedCb = fn;\r\n    };\r\n    MyDatePicker.prototype.ngOnChanges = function (changes) {\r\n        var _this = this;\r\n        if (changes.hasOwnProperty(\"selector\")) {\r\n            var s = changes[\"selector\"].currentValue;\r\n            if (typeof s === \"object\") {\r\n                if (s.open) {\r\n                    this.showSelector = true;\r\n                    this.openSelector(CalToggle.Open);\r\n                }\r\n                else {\r\n                    this.showSelector = false;\r\n                    this.closeSelector(CalToggle.CloseByApi);\r\n                }\r\n            }\r\n            else if (s > 0) {\r\n                this.openBtnClicked();\r\n            }\r\n        }\r\n        if (changes.hasOwnProperty(\"placeholder\")) {\r\n            this.placeholder = changes[\"placeholder\"].currentValue;\r\n        }\r\n        if (changes.hasOwnProperty(\"locale\")) {\r\n            this.locale = changes[\"locale\"].currentValue;\r\n        }\r\n        if (changes.hasOwnProperty(\"disabled\")) {\r\n            this.disabled = changes[\"disabled\"].currentValue;\r\n        }\r\n        if (changes.hasOwnProperty(\"options\")) {\r\n            this.options = changes[\"options\"].currentValue;\r\n        }\r\n        this.weekDays.length = 0;\r\n        this.parseOptions();\r\n        var dmChange = false;\r\n        if (changes.hasOwnProperty(\"defaultMonth\")) {\r\n            var dm = changes[\"defaultMonth\"].currentValue;\r\n            if (typeof dm === \"object\") {\r\n                dm = dm.defMonth;\r\n            }\r\n            if (dm !== null && dm !== undefined && dm !== \"\") {\r\n                this.selectedMonth = this.parseSelectedMonth(dm);\r\n            }\r\n            else {\r\n                this.selectedMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n            }\r\n            dmChange = true;\r\n        }\r\n        if (changes.hasOwnProperty(\"selDate\")) {\r\n            var sd = changes[\"selDate\"];\r\n            if (sd.currentValue !== null && sd.currentValue !== undefined && sd.currentValue !== \"\" && Object.keys(sd.currentValue).length !== 0) {\r\n                this.selectedDate = this.parseSelectedDate(sd.currentValue);\r\n                setTimeout(function () {\r\n                    _this.onChangeCb(_this.getDateModel(_this.selectedDate));\r\n                });\r\n            }\r\n            else {\r\n                if (!sd.isFirstChange()) {\r\n                    this.clearDate();\r\n                }\r\n            }\r\n        }\r\n        if (this.visibleMonth.year === 0 && this.visibleMonth.monthNbr === 0 || dmChange) {\r\n            this.setVisibleMonth();\r\n        }\r\n        else {\r\n            this.visibleMonth.monthTxt = this.opts.monthLabels[this.visibleMonth.monthNbr];\r\n            this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, false);\r\n        }\r\n    };\r\n    MyDatePicker.prototype.removeBtnClicked = function () {\r\n        this.clearDate();\r\n        if (this.showSelector) {\r\n            this.calendarToggle.emit(CalToggle.CloseByCalBtn);\r\n        }\r\n        this.showSelector = false;\r\n    };\r\n    MyDatePicker.prototype.onDecreaseBtnClicked = function () {\r\n        this.decreaseIncreaseDate(true);\r\n    };\r\n    MyDatePicker.prototype.onIncreaseBtnClicked = function () {\r\n        this.decreaseIncreaseDate(false);\r\n    };\r\n    MyDatePicker.prototype.openBtnClicked = function () {\r\n        this.showSelector = !this.showSelector;\r\n        this.cdr.detectChanges();\r\n        if (this.showSelector) {\r\n            this.openSelector(CalToggle.Open);\r\n        }\r\n        else {\r\n            this.closeSelector(CalToggle.CloseByCalBtn);\r\n        }\r\n    };\r\n    MyDatePicker.prototype.openSelector = function (reason) {\r\n        this.setVisibleMonth();\r\n        this.calendarToggle.emit(reason);\r\n    };\r\n    MyDatePicker.prototype.closeSelector = function (reason) {\r\n        this.calendarToggle.emit(reason);\r\n    };\r\n    MyDatePicker.prototype.setVisibleMonth = function () {\r\n        var y = 0, m = 0;\r\n        if (!this.utilService.isInitializedDate(this.selectedDate)) {\r\n            if (this.selectedMonth.year === 0 && this.selectedMonth.monthNbr === 0) {\r\n                var today = this.getToday();\r\n                y = today.year;\r\n                m = today.month;\r\n            }\r\n            else {\r\n                y = this.selectedMonth.year;\r\n                m = this.selectedMonth.monthNbr;\r\n            }\r\n        }\r\n        else {\r\n            y = this.selectedDate.year;\r\n            m = this.selectedDate.month;\r\n        }\r\n        this.visibleMonth = { monthTxt: this.opts.monthLabels[m], monthNbr: m, year: y };\r\n        this.generateCalendar(m, y, true);\r\n    };\r\n    MyDatePicker.prototype.onPrevMonth = function () {\r\n        var d = this.getDate(this.visibleMonth.year, this.visibleMonth.monthNbr, 1);\r\n        d.setMonth(d.getMonth() - 1);\r\n        var y = d.getFullYear();\r\n        var m = d.getMonth() + 1;\r\n        this.visibleMonth = { monthTxt: this.monthText(m), monthNbr: m, year: y };\r\n        this.generateCalendar(m, y, true);\r\n    };\r\n    MyDatePicker.prototype.onNextMonth = function () {\r\n        var d = this.getDate(this.visibleMonth.year, this.visibleMonth.monthNbr, 1);\r\n        d.setMonth(d.getMonth() + 1);\r\n        var y = d.getFullYear();\r\n        var m = d.getMonth() + 1;\r\n        this.visibleMonth = { monthTxt: this.monthText(m), monthNbr: m, year: y };\r\n        this.generateCalendar(m, y, true);\r\n    };\r\n    MyDatePicker.prototype.onPrevYear = function () {\r\n        this.visibleMonth.year--;\r\n        this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, true);\r\n    };\r\n    MyDatePicker.prototype.onNextYear = function () {\r\n        this.visibleMonth.year++;\r\n        this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, true);\r\n    };\r\n    MyDatePicker.prototype.onTodayClicked = function () {\r\n        var today = this.getToday();\r\n        this.selectDate(today, CalToggle.CloseByDateSel);\r\n        if (this.opts.inline && today.year !== this.visibleMonth.year || today.month !== this.visibleMonth.monthNbr) {\r\n            this.visibleMonth = { monthTxt: this.opts.monthLabels[today.month], monthNbr: today.month, year: today.year };\r\n            this.generateCalendar(today.month, today.year, true);\r\n        }\r\n    };\r\n    MyDatePicker.prototype.onCellClicked = function (cell) {\r\n        if (cell.cmo === this.prevMonthId) {\r\n            this.onPrevMonth();\r\n            if (!this.opts.allowSelectionOnlyInCurrentMonth) {\r\n                this.selectDate(cell.dateObj, CalToggle.CloseByDateSel);\r\n            }\r\n        }\r\n        else if (cell.cmo === this.currMonthId) {\r\n            if (this.opts.allowDeselectDate && this.utilService.isSameDate(cell.dateObj, this.selectedDate)) {\r\n                this.clearDate();\r\n            }\r\n            else {\r\n                this.selectDate(cell.dateObj, CalToggle.CloseByDateSel);\r\n            }\r\n        }\r\n        else if (cell.cmo === this.nextMonthId) {\r\n            this.onNextMonth();\r\n            if (!this.opts.allowSelectionOnlyInCurrentMonth) {\r\n                this.selectDate(cell.dateObj, CalToggle.CloseByDateSel);\r\n            }\r\n        }\r\n        this.resetMonthYearSelect();\r\n    };\r\n    MyDatePicker.prototype.onCellKeyDown = function (event, cell) {\r\n        if ((event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) && !cell.disabled) {\r\n            event.preventDefault();\r\n            this.onCellClicked(cell);\r\n        }\r\n    };\r\n    MyDatePicker.prototype.clearDate = function () {\r\n        this.updateDateValue({ year: 0, month: 0, day: 0 });\r\n        this.setFocusToInputBox();\r\n    };\r\n    MyDatePicker.prototype.decreaseIncreaseDate = function (decrease) {\r\n        var date = this.selectedDate;\r\n        if (this.utilService.isInitializedDate(date)) {\r\n            var d = this.getDate(date.year, date.month, date.day);\r\n            d.setDate(decrease ? d.getDate() - 1 : d.getDate() + 1);\r\n            date = { year: d.getFullYear(), month: d.getMonth() + 1, day: d.getDate() };\r\n        }\r\n        else {\r\n            date = this.getToday();\r\n        }\r\n        this.selectDate(date, CalToggle.CloseByCalBtn);\r\n    };\r\n    MyDatePicker.prototype.selectDate = function (date, closeReason) {\r\n        this.updateDateValue(date);\r\n        if (this.showSelector) {\r\n            this.calendarToggle.emit(closeReason);\r\n        }\r\n        this.showSelector = false;\r\n        this.setFocusToInputBox();\r\n    };\r\n    MyDatePicker.prototype.setFocusToInputBox = function () {\r\n        var _this = this;\r\n        if (!this.opts.inline && this.opts.showInputField) {\r\n            setTimeout(function () {\r\n                _this.inputBoxEl.nativeElement.focus();\r\n            }, 100);\r\n        }\r\n    };\r\n    MyDatePicker.prototype.updateDateValue = function (date) {\r\n        var clear = !this.utilService.isInitializedDate(date);\r\n        this.selectedDate = date;\r\n        this.emitDateChanged(date);\r\n        if (!this.opts.inline) {\r\n            this.selectionDayTxt = clear ? \"\" : this.utilService.formatDate(date, this.opts.dateFormat, this.opts.monthLabels);\r\n            this.inputFieldChanged.emit({ value: this.selectionDayTxt, dateFormat: this.opts.dateFormat, valid: !clear });\r\n            this.invalidDate = false;\r\n        }\r\n    };\r\n    MyDatePicker.prototype.emitDateChanged = function (date) {\r\n        if (this.utilService.isInitializedDate(date)) {\r\n            var dateModel = this.getDateModel(date);\r\n            this.dateChanged.emit(dateModel);\r\n            this.onChangeCb(dateModel);\r\n            this.onTouchedCb();\r\n        }\r\n        else {\r\n            this.dateChanged.emit({ date: date, jsdate: null, formatted: \"\", epoc: 0 });\r\n            this.onChangeCb(null);\r\n            this.onTouchedCb();\r\n        }\r\n    };\r\n    MyDatePicker.prototype.getDateModel = function (date) {\r\n        return { date: date, jsdate: this.getDate(date.year, date.month, date.day), formatted: this.utilService.formatDate(date, this.opts.dateFormat, this.opts.monthLabels), epoc: Math.round(this.getTimeInMilliseconds(date) / 1000.0) };\r\n    };\r\n    MyDatePicker.prototype.monthText = function (m) {\r\n        return this.opts.monthLabels[m];\r\n    };\r\n    MyDatePicker.prototype.monthStartIdx = function (y, m) {\r\n        var d = new Date();\r\n        d.setDate(1);\r\n        d.setMonth(m - 1);\r\n        d.setFullYear(y);\r\n        var idx = d.getDay() + this.sundayIdx();\r\n        return idx >= 7 ? idx - 7 : idx;\r\n    };\r\n    MyDatePicker.prototype.daysInMonth = function (m, y) {\r\n        return new Date(y, m, 0).getDate();\r\n    };\r\n    MyDatePicker.prototype.daysInPrevMonth = function (m, y) {\r\n        var d = this.getDate(y, m, 1);\r\n        d.setMonth(d.getMonth() - 1);\r\n        return this.daysInMonth(d.getMonth() + 1, d.getFullYear());\r\n    };\r\n    MyDatePicker.prototype.isCurrDay = function (d, m, y, cmo, today) {\r\n        return d === today.day && m === today.month && y === today.year && cmo === this.currMonthId;\r\n    };\r\n    MyDatePicker.prototype.getToday = function () {\r\n        var date = new Date();\r\n        return { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() };\r\n    };\r\n    MyDatePicker.prototype.getTimeInMilliseconds = function (date) {\r\n        return this.getDate(date.year, date.month, date.day).getTime();\r\n    };\r\n    MyDatePicker.prototype.getWeekday = function (date) {\r\n        var weekDays = this.utilService.getWeekDays();\r\n        return weekDays[this.utilService.getDayNumber(date)];\r\n    };\r\n    MyDatePicker.prototype.getDate = function (year, month, day) {\r\n        return new Date(year, month - 1, day, 0, 0, 0, 0);\r\n    };\r\n    MyDatePicker.prototype.sundayIdx = function () {\r\n        return this.dayIdx > 0 ? 7 - this.dayIdx : 0;\r\n    };\r\n    MyDatePicker.prototype.generateCalendar = function (m, y, notifyChange) {\r\n        this.dates.length = 0;\r\n        var today = this.getToday();\r\n        var monthStart = this.monthStartIdx(y, m);\r\n        var dInThisM = this.daysInMonth(m, y);\r\n        var dInPrevM = this.daysInPrevMonth(m, y);\r\n        var dayNbr = 1;\r\n        var cmo = this.prevMonthId;\r\n        for (var i = 1; i < 7; i++) {\r\n            var week = [];\r\n            if (i === 1) {\r\n                var pm = dInPrevM - monthStart + 1;\r\n                for (var j = pm; j <= dInPrevM; j++) {\r\n                    var date = { year: m === 1 ? y - 1 : y, month: m === 1 ? 12 : m - 1, day: j };\r\n                    week.push({ dateObj: date, cmo: cmo, currDay: this.isCurrDay(j, m, y, cmo, today),\r\n                        disabled: this.utilService.isDisabledDay(date, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableWeekdays, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays),\r\n                        markedDate: this.utilService.isMarkedDate(date, this.opts.markDates, this.opts.markWeekends),\r\n                        highlight: this.utilService.isHighlightedDate(date, this.opts.sunHighlight, this.opts.satHighlight, this.opts.highlightDates) });\r\n                }\r\n                cmo = this.currMonthId;\r\n                var daysLeft = 7 - week.length;\r\n                for (var j = 0; j < daysLeft; j++) {\r\n                    var date = { year: y, month: m, day: dayNbr };\r\n                    week.push({ dateObj: date, cmo: cmo, currDay: this.isCurrDay(dayNbr, m, y, cmo, today),\r\n                        disabled: this.utilService.isDisabledDay(date, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableWeekdays, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays),\r\n                        markedDate: this.utilService.isMarkedDate(date, this.opts.markDates, this.opts.markWeekends),\r\n                        highlight: this.utilService.isHighlightedDate(date, this.opts.sunHighlight, this.opts.satHighlight, this.opts.highlightDates) });\r\n                    dayNbr++;\r\n                }\r\n            }\r\n            else {\r\n                for (var j = 1; j < 8; j++) {\r\n                    if (dayNbr > dInThisM) {\r\n                        dayNbr = 1;\r\n                        cmo = this.nextMonthId;\r\n                    }\r\n                    var date = { year: cmo === this.nextMonthId && m === 12 ? y + 1 : y, month: cmo === this.currMonthId ? m : cmo === this.nextMonthId && m < 12 ? m + 1 : 1, day: dayNbr };\r\n                    week.push({ dateObj: date, cmo: cmo, currDay: this.isCurrDay(dayNbr, m, y, cmo, today),\r\n                        disabled: this.utilService.isDisabledDay(date, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableWeekends, this.opts.disableWeekdays, this.opts.disableDays, this.opts.disableDateRanges, this.opts.enableDays),\r\n                        markedDate: this.utilService.isMarkedDate(date, this.opts.markDates, this.opts.markWeekends),\r\n                        highlight: this.utilService.isHighlightedDate(date, this.opts.sunHighlight, this.opts.satHighlight, this.opts.highlightDates) });\r\n                    dayNbr++;\r\n                }\r\n            }\r\n            var weekNbr = this.opts.showWeekNumbers && this.opts.firstDayOfWeek === \"mo\" ? this.utilService.getWeekNumber(week[0].dateObj) : 0;\r\n            this.dates.push({ week: week, weekNbr: weekNbr });\r\n        }\r\n        this.setHeaderBtnDisabledState(m, y);\r\n        if (notifyChange) {\r\n            this.calendarViewChanged.emit({ year: y, month: m, first: { number: 1, weekday: this.getWeekday({ year: y, month: m, day: 1 }) }, last: { number: dInThisM, weekday: this.getWeekday({ year: y, month: m, day: dInThisM }) } });\r\n        }\r\n    };\r\n    MyDatePicker.prototype.parseSelectedDate = function (selDate) {\r\n        var date = { day: 0, month: 0, year: 0 };\r\n        if (typeof selDate === \"string\") {\r\n            var sd = selDate;\r\n            var df = this.opts.dateFormat;\r\n            var delimeters = this.utilService.getDateFormatDelimeters(df);\r\n            var dateValue = this.utilService.getDateValue(sd, df, delimeters);\r\n            date.year = this.utilService.getNumberByValue(dateValue[0]);\r\n            date.month = df.indexOf(MMM) !== -1 ? this.utilService.getMonthNumberByMonthName(dateValue[1], this.opts.monthLabels) : this.utilService.getNumberByValue(dateValue[1]);\r\n            date.day = this.utilService.getNumberByValue(dateValue[2]);\r\n        }\r\n        else if (typeof selDate === \"object\") {\r\n            date = selDate;\r\n        }\r\n        this.selectionDayTxt = this.utilService.formatDate(date, this.opts.dateFormat, this.opts.monthLabels);\r\n        return date;\r\n    };\r\n    MyDatePicker.prototype.jsDateToMyDate = function (date) {\r\n        return { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() };\r\n    };\r\n    MyDatePicker.prototype.parseSelectedMonth = function (ms) {\r\n        return this.utilService.parseDefaultMonth(ms);\r\n    };\r\n    MyDatePicker.prototype.setHeaderBtnDisabledState = function (m, y) {\r\n        var dpm = false;\r\n        var dpy = false;\r\n        var dnm = false;\r\n        var dny = false;\r\n        if (this.opts.disableHeaderButtons) {\r\n            dpm = this.utilService.isMonthDisabledByDisableUntil({ year: m === 1 ? y - 1 : y, month: m === 1 ? 12 : m - 1, day: this.daysInMonth(m === 1 ? 12 : m - 1, m === 1 ? y - 1 : y) }, this.opts.disableUntil);\r\n            dpy = this.utilService.isMonthDisabledByDisableUntil({ year: y - 1, month: m, day: this.daysInMonth(m, y - 1) }, this.opts.disableUntil);\r\n            dnm = this.utilService.isMonthDisabledByDisableSince({ year: m === 12 ? y + 1 : y, month: m === 12 ? 1 : m + 1, day: 1 }, this.opts.disableSince);\r\n            dny = this.utilService.isMonthDisabledByDisableSince({ year: y + 1, month: m, day: 1 }, this.opts.disableSince);\r\n        }\r\n        this.prevMonthDisabled = m === 1 && y === this.opts.minYear || dpm;\r\n        this.prevYearDisabled = y - 1 < this.opts.minYear || dpy;\r\n        this.nextMonthDisabled = m === 12 && y === this.opts.maxYear || dnm;\r\n        this.nextYearDisabled = y + 1 > this.opts.maxYear || dny;\r\n    };\r\n    MyDatePicker.prototype.ngOnDestroy = function () {\r\n        this.globalListener();\r\n    };\r\n    MyDatePicker.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: \"my-date-picker\",\r\n                    exportAs: \"mydatepicker\",\r\n                    styles: [\".mydp .headertodaybtn,.mydp .monthcell,.mydp .selection,.mydp .weekdaytitle{overflow:hidden;white-space:nowrap}.mydp{line-height:1.1;display:inline-block;position:relative}.mydp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.mydp,.mydp .headertodaybtn,.mydp .selection,.mydp .selectiongroup,.mydp .selector{border-radius:4px}.mydp .header{border-radius:4px 4px 0 0}.mydp .caltable,.mydp .monthtable,.mydp .yeartable{border-radius:0 0 4px 4px}.mydp .caltable tbody tr:nth-child(6) td:first-child,.mydp .monthtable tbody tr:nth-child(4) td:first-child,.mydp .yeartable tbody tr:nth-child(7) td:first-child{border-bottom-left-radius:4px}.mydp .caltable tbody tr:nth-child(6) td:last-child,.mydp .monthtable tbody tr:nth-child(4) td:last-child,.mydp .yeartable tbody tr:nth-child(7) td:last-child{border-bottom-right-radius:4px}.mydp .btnpicker{border-radius:0 4px 4px 0}.mydp .btnleftborderradius{border-top-left-radius:4px;border-bottom-left-radius:4px}.mydp .selector{margin-top:2px;margin-left:-1px;position:absolute;padding:0;border:1px solid #CCC;z-index:100;animation:selectorfadein .1s}.mydp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.mydp .selectorarrow{background:#FAFAFA;margin-top:12px;padding:0}.mydp .selectorarrow:after,.mydp .selectorarrow:before{bottom:100%;border:solid transparent;content:\\\" \\\";height:0;width:0;position:absolute}.mydp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FAFAFA;border-width:10px;margin-left:-10px}.mydp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.mydp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.mydp .selectorarrowleft:after,.mydp .selectorarrowleft:before{left:24px}.mydp .selectorarrowright:after,.mydp .selectorarrowright:before{left:86%}.mydp .alignselectorright{right:-1px}.mydp .selectiongroup{position:relative;display:table;border:none;border-spacing:0;background-color:#FFF}.mydp .selection{width:100%;outline:0;background-color:#FFF;display:table-cell;position:absolute;text-overflow:ellipsis;padding-left:6px;border:none;color:#555}.mydp .invaliddate{background-color:#F1DEDE}.mydp ::-ms-clear{display:none}.mydp .headerbtncell,.mydp .selbtngroup{display:table-cell;vertical-align:middle}.mydp .selbtngroup{position:relative;white-space:nowrap;width:1%;font-size:0}.mydp .btnclear,.mydp .btndecrease,.mydp .btnincrease,.mydp .btnpicker{height:100%;width:26px;border:none;padding:0;outline:0;font:inherit;-moz-user-select:none}.mydp .btnleftborder{border-left:1px solid #CCC}.mydp .btnclearenabled,.mydp .btndecreaseenabled,.mydp .btnincreaseenabled,.mydp .btnpickerenabled,.mydp .headerbtnenabled,.mydp .headertodaybtnenabled,.mydp .yearchangebtnenabled{cursor:pointer}.mydp .btncleardisabled,.mydp .btndecreasedisabled,.mydp .btnincreasedisabled,.mydp .btnpickerdisabled,.mydp .headerbtndisabled,.mydp .headertodaybtndisabled,.mydp .selectiondisabled,.mydp .yearchangebtndisabled{cursor:not-allowed;opacity:.65}.mydp .selectiondisabled{background-color:#EEE}.mydp .btnclear,.mydp .btndecrease,.mydp .btnincrease,.mydp .btnpicker,.mydp .headertodaybtn{background:#FFF}.mydp .header{width:100%;height:30px;background-color:#FAFAFA}.mydp .header td{vertical-align:middle;border:none;line-height:0}.mydp .header td:nth-child(1){padding-left:4px}.mydp .header td:nth-child(2){text-align:center}.mydp .header td:nth-child(3){padding-right:4px}.mydp .caltable,.mydp .monthtable,.mydp .yeartable{table-layout:fixed;width:100%;height:calc(100% - 30px);background-color:#FFF;font-size:14px}.mydp .caltable,.mydp .daycell,.mydp .monthcell,.mydp .monthtable,.mydp .weekdaytitle,.mydp .yearcell,.mydp .yeartable{border-collapse:collapse;color:#036;line-height:1.1}.mydp .daycell,.mydp .monthcell,.mydp .weekdaytitle,.mydp .yearcell{padding:4px;text-align:center}.mydp .weekdaytitle{background-color:#DDD;font-size:11px;font-weight:400;vertical-align:middle;max-width:36px}.mydp .weekdaytitleweeknbr{width:20px;border-right:1px solid #BBB}.mydp .monthcell{background-color:#FAFAFA}.mydp .yearcell{background-color:#FAFAFA;width:20%}.mydp .daycell .datevalue{background-color:inherit;vertical-align:middle}.mydp .daycell .datevalue span{vertical-align:middle}.mydp .daycellweeknbr{font-size:10px;border-right:1px solid #CCC;cursor:default;color:#000}.mydp .inlinedp{position:relative;margin-top:-1px}.mydp .nextmonth,.mydp .prevmonth{color:#999}.mydp .disabled{cursor:default!important;color:#CCC;background:#FBEFEF}.mydp .highlight{color:#C30000}.mydp .dimday{opacity:.5}.mydp .currmonth{background-color:#F6F6F6;font-weight:400}.mydp .markdate{position:absolute;width:4px;height:4px;border-radius:4px}.mydp .markcurrday,.mydp .markcurrmonth,.mydp .markcurryear{text-decoration:underline}.mydp .selectedday .datevalue,.mydp .selectedmonth .monthvalue,.mydp .selectedyear .yearvalue{border:none;background-color:#8EBFFF;border-radius:2px}.mydp .headerbtncell{background-color:#FAFAFA}.mydp .yearchangebtncell{text-align:center;background-color:#FAFAFA}.mydp .headerbtn,.mydp .headerlabelbtn,.mydp .yearchangebtn{background:#FAFAFA;border:none;height:22px}.mydp .headerbtn{width:16px}.mydp .headerlabelbtn{font-size:14px;outline:0;cursor:default}.mydp,.mydp .headertodaybtn{border:1px solid #CCC}.mydp .btnclear,.mydp .btndecrease,.mydp .btnincrease,.mydp .btnpicker,.mydp .headerbtn,.mydp .headermonthtxt,.mydp .headertodaybtn,.mydp .headeryeartxt,.mydp .yearchangebtn{color:#000}.mydp .headertodaybtn{padding:0 4px;font-size:11px;height:22px;min-width:60px;max-width:84px}.mydp button::-moz-focus-inner{border:0}.mydp .headermonthtxt,.mydp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.mydp .btnclear:focus,.mydp .btndecrease:focus,.mydp .btnincrease:focus,.mydp .btnpicker:focus,.mydp .headertodaybtn:focus{background:#ADD8E6}.mydp .headerbtn:focus,.mydp .monthlabel:focus,.mydp .yearchangebtn:focus,.mydp .yearlabel:focus{color:#ADD8E6;outline:0}.mydp .daycell:focus,.mydp .monthcell:focus,.mydp .yearcell:focus{outline:#CCC solid 1px}.mydp .icon-mydpcalendar,.mydp .icon-mydpremove{font-size:16px}.mydp .icon-mydpdown,.mydp .icon-mydpleft,.mydp .icon-mydpright,.mydp .icon-mydpup{color:#222;font-size:20px}.mydp .btndecrease .icon-mydpleft,.mydp .btnincrease .icon-mydpright{font-size:16px}.mydp .icon-mydptoday{color:#222;font-size:11px}.mydp table{display:table;border-spacing:0}.mydp table td{padding:0}.mydp table,.mydp td,.mydp th{border:none}.mydp .btnclearenabled:hover,.mydp .btndecreaseenabled:hover,.mydp .btnincreaseenabled:hover,.mydp .btnpickerenabled:hover,.mydp .headertodaybtnenabled:hover{background-color:#E6E6E6}.mydp .tablesingleday:hover,.mydp .tablesinglemonth:hover,.mydp .tablesingleyear:hover{background-color:#DDD}.mydp .daycell,.mydp .inputnoteditable,.mydp .monthcell,.mydp .monthlabel,.mydp .yearcell,.mydp .yearlabel{cursor:pointer}.mydp .headerbtnenabled:hover,.mydp .monthlabel:hover,.mydp .yearchangebtnenabled:hover,.mydp .yearlabel:hover{color:#777}@font-face{font-family:mydatepicker;src:url(data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCMJXkAAAD8AAAAVE9TLzI+IEhNAAABUAAAAFZjbWFw6UKcfwAAAagAAAHEY3Z0IAbV/wQAAAz8AAAAIGZwZ22KkZBZAAANHAAAC3BnYXNwAAAAEAAADPQAAAAIZ2x5Zqbn7ycAAANsAAAFXGhlYWQNX0bLAAAIyAAAADZoaGVhBzwDWQAACQAAAAAkaG10eBXB//8AAAkkAAAAIGxvY2EGNATEAAAJRAAAABJtYXhwAXgMOgAACVgAAAAgbmFtZZKUFgMAAAl4AAAC/XBvc3R9NuZlAAAMeAAAAHpwcmVw5UErvAAAGIwAAACGAAEAAAAKADAAPgACbGF0bgAOREZMVAAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAECuAGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQOgA6AYDUv9qAFoDUgCWAAAAAQAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAFgAAEAAAAAAFoAAwABAAAALAADAAoAAAFgAAQALgAAAAQABAABAADoBv//AADoAP//AAAAAQAEAAAAAQACAAMABAAFAAYABwAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAZAAAAAAAAAAHAADoAAAA6AAAAAABAADoAQAA6AEAAAACAADoAgAA6AIAAAADAADoAwAA6AMAAAAEAADoBAAA6AQAAAAFAADoBQAA6AUAAAAGAADoBgAA6AYAAAAHAAEAAAAAAUECfQAOAAq3AAAAZhQBBRUrARQPAQYiJjURND4BHwEWAUEK+gscFhYcC/oKAV4OC/oLFg4B9A8UAgz6CgAAAQAAAAABZwJ8AA0AF0AUAAEAAQFHAAEAAW8AAABmFxMCBRYrAREUBiIvASY0PwE2MhYBZRQgCfoKCvoLHBgCWP4MDhYL+gscC/oLFgAAAAAFAAD/agOhA1IAFAAYACgAOABcALdAECoaAgoFMiICBgoNAQABA0dLsApQWEA/DgwCCgUGBgplAAIEAQQCAW0AAQAEAQBrAAADBAADawgBBgAEAgYEXwcBBQULWA0BCwsMSAADAwlYAAkJDQlJG0BADgwCCgUGBQoGbQACBAEEAgFtAAEABAEAawAAAwQAA2sIAQYABAIGBF8HAQUFC1gNAQsLDEgAAwMJWAAJCQ0JSVlAGFtZVlNQT0xJRkQ/PCYmJiQRFRQXEg8FHSsJAQYiLwEmND8BNjIfATc2Mh8BFhQBIREhNzU0JisBIgYdARQWOwEyNiU1NCYrASIGHQEUFjsBMjY3ERQGIyEiJjURNDY7ATU0NjsBMhYdATM1NDY7ATIWBxUzMhYC1/7iBQ4GoQUFGgUOBnv3Bg4GGQX9awMS/O7XCggkCAoKCCQICgGsCggjCAoKCCMICtcsHPzuHSoqHUg0JSQlNNY2JCMlNgFHHSoBOP7iBQWhBg4FGgUFe/gFBRoFDv5zAjxroQgKCgihCAoKCKEICgoIoQgKCiz9NR0qKh0Cyx0qNiU0NCU2NiU0NCU2KgAAAAAPAAD/agOhA1IAAwAHAAsADwATABcAGwAfACMAMwA3ADsAPwBPAHMAmECVQSUCHRJJLSQDEx0CRyEfAh0TCR1UGwETGRcNAwkIEwlfGBYMAwgVEQcDBQQIBV4UEAYDBA8LAwMBAAQBXhoBEhIeWCABHh4MSA4KAgMAABxYABwcDRxJcnBtamdmY2BdW1ZTTUxFRD8+PTw7Ojk4NzY1NDEvKScjIiEgHx4dHBsaGRgXFhUUExIRERERERERERAiBR0rFzM1IxczNSMnMzUjFzM1IyczNSMBMzUjJzM1IwEzNSMnMzUjAzU0JicjIgYHFRQWNzMyNgEzNSMnMzUjFzM1Izc1NCYnIyIGFxUUFjczMjY3ERQGIyEiJjURNDY7ATU0NjsBMhYdATM1NDY7ATIWBxUzMhZHoaHFsrLFoaHFsrLFoaEBm7Oz1rKyAayhodazs8QMBiQHCgEMBiQHCgGboaHWs7PWoaESCggjBwwBCggjCArXLBz87h0qKh1INCUkJTTWNiQjJTYBRx0qT6GhoSSysrIkof3Eofqh/cShJLIBMKEHCgEMBqEHDAEK/iayJKGhoWuhBwoBDAahBwwBCiz9NR0qKh0Cyx0qNiU0NCU2NiU0NCU2KgAAAAH//wAAAjsByQAOABFADgABAAFvAAAAZhUyAgUWKyUUBichIi4BPwE2Mh8BFgI7FA/+DA8UAgz6Ch4K+gqrDhYBFB4L+goK+gsAAAABAAAAAAI8Ae0ADgAXQBQAAQABAUcAAQABbwAAAGY1FAIFFisBFA8BBiIvASY0NjMhMhYCOwr6CxwL+gsWDgH0DhYByQ4L+gsL+gscFhYAAAEAAP/vAtQChgAkAB5AGyIZEAcEAAIBRwMBAgACbwEBAABmFBwUFAQFGCslFA8BBiIvAQcGIi8BJjQ/AScmND8BNjIfATc2Mh8BFhQPARcWAtQPTBAsEKSkECwQTBAQpKQQEEwQLBCkpBAsEEwPD6SkD3AWEEwPD6WlDw9MECwQpKQQLBBMEBCkpBAQTA8uD6SkDwABAAAAAQAAbdyczV8PPPUACwPoAAAAANUsgZUAAAAA1SyBlf///2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPo/////gPoAAEAAAAAAAAAAAAAAAAAAAAIA+gAAAFlAAABZQAAA+gAAAOgAAACO///AjsAAAMRAAAAAAAAACIASgEoAhYCPAJkAq4AAAABAAAACAB0AA8AAAAAAAIARABUAHMAAACpC3AAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEADAA1AAEAAAAAAAIABwBBAAEAAAAAAAMADABIAAEAAAAAAAQADABUAAEAAAAAAAUACwBgAAEAAAAAAAYADABrAAEAAAAAAAoAKwB3AAEAAAAAAAsAEwCiAAMAAQQJAAAAagC1AAMAAQQJAAEAGAEfAAMAAQQJAAIADgE3AAMAAQQJAAMAGAFFAAMAAQQJAAQAGAFdAAMAAQQJAAUAFgF1AAMAAQQJAAYAGAGLAAMAAQQJAAoAVgGjAAMAAQQJAAsAJgH5Q29weXJpZ2h0IChDKSAyMDE3IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21teWRhdGVwaWNrZXJSZWd1bGFybXlkYXRlcGlja2VybXlkYXRlcGlja2VyVmVyc2lvbiAxLjBteWRhdGVwaWNrZXJHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANwAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AbQB5AGQAYQB0AGUAcABpAGMAawBlAHIAUgBlAGcAdQBsAGEAcgBtAHkAZABhAHQAZQBwAGkAYwBrAGUAcgBtAHkAZABhAHQAZQBwAGkAYwBrAGUAcgBWAGUAcgBzAGkAbwBuACAAMQAuADAAbQB5AGQAYQB0AGUAcABpAGMAawBlAHIARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAECAQMBBAEFAQYBBwEIAQkACW15ZHByaWdodAhteWRwbGVmdAlteWRwdG9kYXkMbXlkcGNhbGVuZGFyBm15ZHB1cAhteWRwZG93bgpteWRwcmVtb3ZlAAAAAAABAAH//wAPAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYA1L/agNS/2qwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwgZCCwwFCwBCZasigBCkNFY0VSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQpDRWNFYWSwKFBYIbEBCkNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ABK1lZI7AAUFhlWVktsAMsIEUgsAQlYWQgsAVDUFiwBSNCsAYjQhshIVmwAWAtsAQsIyEjISBksQViQiCwBiNCsQEKQ0VjsQEKQ7ABYEVjsAMqISCwBkMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZISCwQFNYsAErGyGwQFkjsABQWGVZLbAFLLAHQyuyAAIAQ2BCLbAGLLAHI0IjILAAI0JhsAJiZrABY7ABYLAFKi2wBywgIEUgsAtDY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAgssgcLAENFQiohsgABAENgQi2wCSywAEMjRLIAAQBDYEItsAosICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAssICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDCwgsAAjQrILCgNFWCEbIyFZKiEtsA0ssQICRbBkYUQtsA4ssAFgICCwDENKsABQWCCwDCNCWbANQ0qwAFJYILANI0JZLbAPLCCwEGJmsAFjILgEAGOKI2GwDkNgIIpgILAOI0IjLbAQLEtUWLEEZERZJLANZSN4LbARLEtRWEtTWLEEZERZGyFZJLATZSN4LbASLLEAD0NVWLEPD0OwAWFCsA8rWbAAQ7ACJUKxDAIlQrENAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAOKiEjsAFhIIojYbAOKiEbsQEAQ2CwAiVCsAIlYbAOKiFZsAxDR7ANQ0dgsAJiILAAUFiwQGBZZrABYyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wEywAsQACRVRYsA8jQiBFsAsjQrAKI7ABYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wFCyxABMrLbAVLLEBEystsBYssQITKy2wFyyxAxMrLbAYLLEEEystsBkssQUTKy2wGiyxBhMrLbAbLLEHEystsBwssQgTKy2wHSyxCRMrLbAeLACwDSuxAAJFVFiwDyNCIEWwCyNCsAojsAFgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAfLLEAHistsCAssQEeKy2wISyxAh4rLbAiLLEDHistsCMssQQeKy2wJCyxBR4rLbAlLLEGHistsCYssQceKy2wJyyxCB4rLbAoLLEJHistsCksIDywAWAtsCosIGCwEGAgQyOwAWBDsAIlYbABYLApKiEtsCsssCorsCoqLbAsLCAgRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOCMgilVYIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgbIVktsC0sALEAAkVUWLABFrAsKrABFTAbIlktsC4sALANK7EAAkVUWLABFrAsKrABFTAbIlktsC8sIDWwAWAtsDAsALABRWO4BABiILAAUFiwQGBZZrABY7ABK7ALQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixLwEVKi2wMSwgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhOC2wMiwuFzwtsDMsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYbABQ2M4LbA0LLECABYlIC4gR7AAI0KwAiVJiopHI0cjYSBYYhshWbABI0KyMwEBFRQqLbA1LLAAFrAEJbAEJUcjRyNhsAlDK2WKLiMgIDyKOC2wNiywABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyCwCEMgiiNHI0cjYSNGYLAEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBENgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA3LLAAFiAgILAFJiAuRyNHI2EjPDgtsDgssAAWILAII0IgICBGI0ewASsjYTgtsDkssAAWsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA6LLAAFiCwCEMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wOywjIC5GsAIlRlJYIDxZLrErARQrLbA8LCMgLkawAiVGUFggPFkusSsBFCstsD0sIyAuRrACJUZSWCA8WSMgLkawAiVGUFggPFkusSsBFCstsD4ssDUrIyAuRrACJUZSWCA8WS6xKwEUKy2wPyywNiuKICA8sAQjQoo4IyAuRrACJUZSWCA8WS6xKwEUK7AEQy6wKystsEAssAAWsAQlsAQmIC5HI0cjYbAJQysjIDwgLiM4sSsBFCstsEEssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyBHsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxKwEUKy2wQiywNSsusSsBFCstsEMssDYrISMgIDywBCNCIzixKwEUK7AEQy6wKystsEQssAAVIEewACNCsgABARUUEy6wMSotsEUssAAVIEewACNCsgABARUUEy6wMSotsEYssQABFBOwMiotsEcssDQqLbBILLAAFkUjIC4gRoojYTixKwEUKy2wSSywCCNCsEgrLbBKLLIAAEErLbBLLLIAAUErLbBMLLIBAEErLbBNLLIBAUErLbBOLLIAAEIrLbBPLLIAAUIrLbBQLLIBAEIrLbBRLLIBAUIrLbBSLLIAAD4rLbBTLLIAAT4rLbBULLIBAD4rLbBVLLIBAT4rLbBWLLIAAEArLbBXLLIAAUArLbBYLLIBAEArLbBZLLIBAUArLbBaLLIAAEMrLbBbLLIAAUMrLbBcLLIBAEMrLbBdLLIBAUMrLbBeLLIAAD8rLbBfLLIAAT8rLbBgLLIBAD8rLbBhLLIBAT8rLbBiLLA3Ky6xKwEUKy2wYyywNyuwOystsGQssDcrsDwrLbBlLLAAFrA3K7A9Ky2wZiywOCsusSsBFCstsGcssDgrsDsrLbBoLLA4K7A8Ky2waSywOCuwPSstsGossDkrLrErARQrLbBrLLA5K7A7Ky2wbCywOSuwPCstsG0ssDkrsD0rLbBuLLA6Ky6xKwEUKy2wbyywOiuwOystsHAssDorsDwrLbBxLLA6K7A9Ky2wciyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sAEVMC0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAVCsgABACqxAAVCswoCAQgqsQAFQrMOAAEIKrEABkK6AsAAAQAJKrEAB0K6AEAAAQAJKrEDAESxJAGIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVmzDAIBDCq4Af+FsASNsQIARAAA) format('truetype');font-weight:400;font-style:normal}.mydp .mydpicon{font-family:mydatepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mydp .icon-mydpright:before{content:\\\"\\\\e800\\\"}.mydp .icon-mydpleft:before{content:\\\"\\\\e801\\\"}.mydp .icon-mydptoday:before{content:\\\"\\\\e802\\\"}.mydp .icon-mydpcalendar:before{content:\\\"\\\\e803\\\"}.mydp .icon-mydpup:before{content:\\\"\\\\e804\\\"}.mydp .icon-mydpdown:before{content:\\\"\\\\e805\\\"}.mydp .icon-mydpremove:before{content:\\\"\\\\e806\\\"}\"],\r\n                    template: \"<div class=\\\"mydp\\\" [ngStyle]=\\\"{'width': opts.showInputField ? opts.width : null, 'border': opts.inline ? 'none' : null}\\\"><div class=\\\"selectiongroup\\\" *ngIf=\\\"!opts.inline\\\"><input *ngIf=\\\"opts.showInputField\\\" #inputBoxEl ngtype=\\\"text\\\" class=\\\"selection\\\" [attr.aria-label]=\\\"opts.ariaLabelInputField\\\" (click)=\\\"opts.openSelectorOnInputClick&&!opts.editableDateField&&openBtnClicked()\\\" [ngClass]=\\\"{'invaliddate': invalidDate&&opts.indicateInvalidDate, 'inputnoteditable': opts.openSelectorOnInputClick&&!opts.editableDateField, 'selectiondisabled': opts.componentDisabled}\\\" placeholder=\\\"{{placeholder}}\\\" [ngStyle]=\\\"{'height': opts.height, 'font-size': opts.selectionTxtFontSize}\\\" [ngModel]=\\\"selectionDayTxt\\\" (ngModelChange)=\\\"onUserDateInput($event)\\\" [value]=\\\"selectionDayTxt\\\" (keyup)=\\\"onCloseSelector($event)\\\" (focus)=\\\"opts.editableDateField&&onFocusInput($event)\\\" (blur)=\\\"opts.editableDateField&&onBlurInput($event)\\\" [disabled]=\\\"opts.componentDisabled\\\" [readonly]=\\\"!opts.editableDateField\\\" autocomplete=\\\"off\\\" spellcheck=\\\"false\\\" autocorrect=\\\"off\\\"><div class=\\\"selbtngroup\\\" [style.height]=\\\"opts.height\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelDecreaseDate\\\" class=\\\"btndecrease\\\" *ngIf=\\\"opts.showDecreaseDateBtn\\\" (click)=\\\"onDecreaseBtnClicked()\\\" [ngClass]=\\\"{'btndecreaseenabled': !opts.componentDisabled, 'btndecreasedisabled': opts.componentDisabled, 'btnleftborderradius': !opts.showInputField}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydpicon icon-mydpleft\\\"></span></button> <button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelIncreaseDate\\\" class=\\\"btnincrease\\\" *ngIf=\\\"opts.showIncreaseDateBtn\\\" (click)=\\\"onIncreaseBtnClicked()\\\" [ngClass]=\\\"{'btnincreaseenabled': !opts.componentDisabled, 'btnincreasedisabled': opts.componentDisabled, 'btnleftborderradius': !opts.showDecreaseDateBtn&&!opts.showInputField}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydpicon icon-mydpright\\\"></span></button> <button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelClearDate\\\" class=\\\"btnclear\\\" *ngIf=\\\"selectionDayTxt.length>0&&opts.showClearDateBtn\\\" (click)=\\\"removeBtnClicked()\\\" [ngClass]=\\\"{'btnclearenabled': !opts.componentDisabled, 'btncleardisabled': opts.componentDisabled, 'btnleftborderradius': !opts.showIncreaseDateBtn&&!opts.showDecreaseDateBtn&&!opts.showInputField}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydpicon icon-mydpremove\\\"></span></button> <button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelOpenCalendar\\\" class=\\\"btnpicker\\\" (click)=\\\"openBtnClicked()\\\" [ngClass]=\\\"{'btnpickerenabled': !opts.componentDisabled, 'btnpickerdisabled': opts.componentDisabled, 'btnleftborderradius': !opts.showClearDateBtn&&!opts.showIncreaseDateBtn&&!opts.showDecreaseDateBtn&&!opts.showInputField||selectionDayTxt.length===0&&!opts.showInputField}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydpicon icon-mydpcalendar\\\"></span></button></div></div><div class=\\\"selector\\\" #selectorEl [ngStyle]=\\\"{'width': opts.selectorWidth, 'height' : opts.selectorHeight, 'bottom': getSelectorTopPosition()}\\\" *ngIf=\\\"showSelector||opts.inline\\\" [mydpfocus]=\\\"opts.inline?'0':'1'\\\" [ngClass]=\\\"{'inlinedp': opts.inline, 'alignselectorright': opts.alignSelectorRight, 'selectorarrow': opts.showSelectorArrow&&!opts.inline, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight&&!opts.inline, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight&&!opts.inline}\\\" (keyup)=\\\"onCloseSelector($event)\\\" tabindex=\\\"0\\\"><table class=\\\"header\\\"><tr><td><div style=\\\"float:left\\\"><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelPrevMonth\\\" class=\\\"headerbtn mydpicon icon-mydpleft\\\" (click)=\\\"onPrevMonth()\\\" [disabled]=\\\"prevMonthDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !prevMonthDisabled, 'headerbtndisabled': prevMonthDisabled}\\\"></button></div><div class=\\\"headermonthtxt\\\"><button class=\\\"headerlabelbtn\\\" type=\\\"button\\\" [ngClass]=\\\"{'monthlabel': opts.monthSelector}\\\" (click)=\\\"opts.monthSelector&&onSelectMonthClicked($event)\\\" tabindex=\\\"{{opts.monthSelector?'0':'-1'}}\\\">{{visibleMonth.monthTxt}}</button></div><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelNextMonth\\\" class=\\\"headerbtn mydpicon icon-mydpright\\\" (click)=\\\"onNextMonth()\\\" [disabled]=\\\"nextMonthDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !nextMonthDisabled, 'headerbtndisabled': nextMonthDisabled}\\\"></button></div></div></td><td><button *ngIf=\\\"opts.showTodayBtn\\\" type=\\\"button\\\" class=\\\"headertodaybtn\\\" (click)=\\\"onTodayClicked()\\\" [disabled]=\\\"disableTodayBtn\\\" [ngClass]=\\\"{'headertodaybtnenabled': !disableTodayBtn, 'headertodaybtndisabled': disableTodayBtn}\\\"><span class=\\\"mydpicon icon-mydptoday\\\"></span> <span>{{opts.todayBtnTxt}}</span></button></td><td><div style=\\\"float:right\\\"><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelPrevYear\\\" class=\\\"headerbtn mydpicon icon-mydpleft\\\" (click)=\\\"onPrevYear()\\\" [disabled]=\\\"prevYearDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !prevYearDisabled, 'headerbtndisabled': prevYearDisabled}\\\"></button></div><div class=\\\"headeryeartxt\\\"><button class=\\\"headerlabelbtn\\\" type=\\\"button\\\" [ngClass]=\\\"{'yearlabel': opts.yearSelector}\\\" (click)=\\\"opts.yearSelector&&onSelectYearClicked($event)\\\" tabindex=\\\"{{opts.yearSelector?'0':'-1'}}\\\">{{visibleMonth.year}}</button></div><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" [attr.aria-label]=\\\"opts.ariaLabelNextYear\\\" class=\\\"headerbtn mydpicon icon-mydpright\\\" (click)=\\\"onNextYear()\\\" [disabled]=\\\"nextYearDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !nextYearDisabled, 'headerbtndisabled': nextYearDisabled}\\\"></button></div></div></td></tr></table><table class=\\\"caltable\\\" *ngIf=\\\"!selectMonth&&!selectYear\\\"><thead><tr><th class=\\\"weekdaytitle weekdaytitleweeknbr\\\" *ngIf=\\\"opts.showWeekNumbers&&opts.firstDayOfWeek==='mo'\\\">#</th><th class=\\\"weekdaytitle\\\" scope=\\\"col\\\" *ngFor=\\\"let d of weekDays\\\">{{d}}</th></tr></thead><tbody><tr *ngFor=\\\"let w of dates\\\"><td class=\\\"daycell daycellweeknbr\\\" *ngIf=\\\"opts.showWeekNumbers&&opts.firstDayOfWeek==='mo'\\\">{{w.weekNbr}}</td><td class=\\\"daycell\\\" *ngFor=\\\"let d of w.week\\\" [ngClass]=\\\"{'currmonth':d.cmo===currMonthId&&!d.disabled, 'selectedday':selectedDate.day===d.dateObj.day && selectedDate.month===d.dateObj.month && selectedDate.year===d.dateObj.year && d.cmo===currMonthId, 'disabled': d.disabled, 'tablesingleday':(!opts.allowSelectionOnlyInCurrentMonth||d.cmo===currMonthId&&opts.allowSelectionOnlyInCurrentMonth)&&!d.disabled}\\\" (click)=\\\"!d.disabled&&onCellClicked(d);$event.stopPropagation()\\\" (keydown)=\\\"onCellKeyDown($event, d)\\\" tabindex=\\\"0\\\"><div *ngIf=\\\"d.markedDate.marked\\\" class=\\\"markdate\\\" [ngStyle]=\\\"{'background-color': d.markedDate.color}\\\"></div><div class=\\\"datevalue\\\" [ngClass]=\\\"{'prevmonth':d.cmo===prevMonthId,'currmonth':d.cmo===currMonthId,'nextmonth':d.cmo===nextMonthId,'highlight':d.highlight}\\\"><span [ngClass]=\\\"{'markcurrday':d.currDay&&opts.markCurrentDay, 'dimday': d.highlight && (d.cmo===prevMonthId || d.cmo===nextMonthId || d.disabled)}\\\">{{d.dateObj.day}}</span></div></td></tr></tbody></table><table class=\\\"monthtable\\\" *ngIf=\\\"selectMonth\\\"><tbody><tr *ngFor=\\\"let mr of months\\\"><td class=\\\"monthcell tablesinglemonth\\\" [ngClass]=\\\"{'selectedmonth': m.selected, 'disabled': m.disabled}\\\" *ngFor=\\\"let m of mr\\\" (click)=\\\"!m.disabled&&onMonthCellClicked(m);$event.stopPropagation()\\\" (keydown)=\\\"onMonthCellKeyDown($event, m)\\\" tabindex=\\\"0\\\"><div class=\\\"monthvalue\\\" [ngClass]=\\\"{'markcurrmonth':m.currMonth&&opts.markCurrentMonth}\\\">{{m.name}}</div></td></tr></tbody></table><table class=\\\"yeartable\\\" *ngIf=\\\"selectYear\\\"><tbody><tr><td colspan=\\\"5\\\" class=\\\"yearchangebtncell\\\" (click)=\\\"$event.stopPropagation()\\\"><button type=\\\"button\\\" class=\\\"yearchangebtn mydpicon icon-mydpup\\\" (click)=\\\"onPrevYears($event, years[0][0].year)\\\" [disabled]=\\\"prevYearsDisabled\\\" [ngClass]=\\\"{'yearchangebtnenabled': !prevYearsDisabled, 'yearchangebtndisabled': prevYearsDisabled}\\\"></button></td></tr><tr *ngFor=\\\"let yr of years\\\"><td class=\\\"yearcell tablesingleyear\\\" [ngClass]=\\\"{'selectedyear': y.selected, 'disabled': y.disabled}\\\" *ngFor=\\\"let y of yr\\\" (click)=\\\"!y.disabled&&onYearCellClicked(y);$event.stopPropagation()\\\" (keydown)=\\\"onYearCellKeyDown($event, y)\\\" tabindex=\\\"0\\\"><div class=\\\"yearvalue\\\" [ngClass]=\\\"{'markcurryear':y.currYear&&opts.markCurrentYear}\\\">{{y.year}}</div></td></tr><tr><td colspan=\\\"5\\\" class=\\\"yearchangebtncell\\\" (click)=\\\"$event.stopPropagation()\\\"><button type=\\\"button\\\" class=\\\"yearchangebtn mydpicon icon-mydpdown\\\" (click)=\\\"onNextYears($event, years[0][0].year)\\\" [disabled]=\\\"nextYearsDisabled\\\" [ngClass]=\\\"{'yearchangebtnenabled': !nextYearsDisabled, 'yearchangebtndisabled': nextYearsDisabled}\\\"></button></td></tr></tbody></table></div></div>\",\r\n                    providers: [LocaleService, UtilService, MYDP_VALUE_ACCESSOR],\r\n                    encapsulation: ViewEncapsulation.None\r\n                },] },\r\n    ];\r\n    MyDatePicker.ctorParameters = [\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n        { type: ChangeDetectorRef, },\r\n        { type: LocaleService, },\r\n        { type: UtilService, },\r\n    ];\r\n    MyDatePicker.propDecorators = {\r\n        'options': [{ type: Input },],\r\n        'locale': [{ type: Input },],\r\n        'defaultMonth': [{ type: Input },],\r\n        'selDate': [{ type: Input },],\r\n        'placeholder': [{ type: Input },],\r\n        'selector': [{ type: Input },],\r\n        'disabled': [{ type: Input },],\r\n        'dateChanged': [{ type: Output },],\r\n        'inputFieldChanged': [{ type: Output },],\r\n        'calendarViewChanged': [{ type: Output },],\r\n        'calendarToggle': [{ type: Output },],\r\n        'inputFocusBlur': [{ type: Output },],\r\n        'selectorEl': [{ type: ViewChild, args: [\"selectorEl\",] },],\r\n        'inputBoxEl': [{ type: ViewChild, args: [\"inputBoxEl\",] },],\r\n    };\r\n    return MyDatePicker;\r\n}());\r\n//# sourceMappingURL=my-date-picker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/my-date-picker.component.js\n// module id = 538\n// module chunks = 3","import { Component, Input, Output, EventEmitter, ElementRef, Renderer, ViewChild, ChangeDetectorRef, ViewEncapsulation, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { DateRangeUtilService } from \"./services/my-date-range-picker.date.range.util.service\";\r\nexport var MYDRP_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return MyDateRangePicker; }),\r\n    multi: true\r\n};\r\nvar Year;\r\n(function (Year) {\r\n    Year[Year[\"min\"] = 1100] = \"min\";\r\n    Year[Year[\"max\"] = 9100] = \"max\";\r\n})(Year || (Year = {}));\r\nvar InputFocusBlur;\r\n(function (InputFocusBlur) {\r\n    InputFocusBlur[InputFocusBlur[\"focus\"] = 1] = \"focus\";\r\n    InputFocusBlur[InputFocusBlur[\"blur\"] = 2] = \"blur\";\r\n})(InputFocusBlur || (InputFocusBlur = {}));\r\nvar KeyCode;\r\n(function (KeyCode) {\r\n    KeyCode[KeyCode[\"enter\"] = 13] = \"enter\";\r\n    KeyCode[KeyCode[\"esc\"] = 27] = \"esc\";\r\n    KeyCode[KeyCode[\"space\"] = 32] = \"space\";\r\n})(KeyCode || (KeyCode = {}));\r\nvar MonthId;\r\n(function (MonthId) {\r\n    MonthId[MonthId[\"prev\"] = 1] = \"prev\";\r\n    MonthId[MonthId[\"curr\"] = 2] = \"curr\";\r\n    MonthId[MonthId[\"next\"] = 3] = \"next\";\r\n})(MonthId || (MonthId = {}));\r\nexport var MyDateRangePicker = (function () {\r\n    function MyDateRangePicker(elem, renderer, cdr, drus) {\r\n        var _this = this;\r\n        this.elem = elem;\r\n        this.renderer = renderer;\r\n        this.cdr = cdr;\r\n        this.drus = drus;\r\n        this.dateRangeChanged = new EventEmitter();\r\n        this.inputFieldChanged = new EventEmitter();\r\n        this.calendarViewChanged = new EventEmitter();\r\n        this.inputFocusBlur = new EventEmitter();\r\n        this.dateSelected = new EventEmitter();\r\n        this.onChangeCb = function () { };\r\n        this.onTouchedCb = function () { };\r\n        this.showSelector = false;\r\n        this.visibleMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n        this.selectedMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n        this.weekDays = [];\r\n        this.dates = [];\r\n        this.months = [];\r\n        this.years = [];\r\n        this.selectionDayTxt = \"\";\r\n        this.invalidDateRange = false;\r\n        this.dateRangeFormat = \"\";\r\n        this.dayIdx = 0;\r\n        this.weekDayOpts = [\"su\", \"mo\", \"tu\", \"we\", \"th\", \"fr\", \"sa\"];\r\n        this.selectMonth = false;\r\n        this.selectYear = false;\r\n        this.prevMonthDisabled = false;\r\n        this.nextMonthDisabled = false;\r\n        this.prevYearDisabled = false;\r\n        this.nextYearDisabled = false;\r\n        this.prevYearsDisabled = false;\r\n        this.nextYearsDisabled = false;\r\n        this.prevMonthId = MonthId.prev;\r\n        this.currMonthId = MonthId.curr;\r\n        this.nextMonthId = MonthId.next;\r\n        this.beginDate = { year: 0, month: 0, day: 0 };\r\n        this.endDate = { year: 0, month: 0, day: 0 };\r\n        this.titleAreaText = \"\";\r\n        this.opts = {\r\n            dayLabels: { su: \"Dom\", mo: \"Lun\", tu: \"Mar\", we: \"Mie\", th: \"Jue\", fr: \"Vie\", sa: \"Sab\" },\r\n            monthLabels: { 1: \"Ene\", 2: \"Feb\", 3: \"Mar\", 4: \"Abr\", 5: \"May\", 6: \"Jun\", 7: \"Jul\", 8: \"Ago\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Dic\" },\r\n            dateFormat: \"dd/mm/yyyy\",\r\n            showClearBtn: true,\r\n            showApplyBtn: true,\r\n            showSelectDateText: true,\r\n            selectBeginDateTxt: \"Selecciona una fecha inicio\",\r\n            selectEndDateTxt: \"Selecciona una fecha fin\",\r\n            firstDayOfWeek: \"mo\",\r\n            sunHighlight: true,\r\n            markCurrentDay: true,\r\n            markCurrentMonth: true,\r\n            markCurrentYear: true,\r\n            height: \"34px\",\r\n            width: \"262px\",\r\n            selectorHeight: \"232px\",\r\n            selectorWidth: \"252px\",\r\n            inline: false,\r\n            showClearDateRangeBtn: true,\r\n            selectionTxtFontSize: \"14px\",\r\n            alignSelectorRight: false,\r\n            indicateInvalidDateRange: true,\r\n            editableDateRangeField: false,\r\n            monthSelector: true,\r\n            yearSelector: true,\r\n            disableHeaderButtons: true,\r\n            showWeekNumbers: false,\r\n            minYear: Year.min,\r\n            maxYear: Year.max,\r\n            disableUntil: { year: 0, month: 0, day: 0 },\r\n            disableSince: { year: 0, month: 0, day: 0 },\r\n            disableDates: [],\r\n            enableDates: [],\r\n            disableDateRanges: [],\r\n            componentDisabled: false,\r\n            showSelectorArrow: true,\r\n            openSelectorOnInputClick: true,\r\n            ariaLabelInputField: \"Date range input field\",\r\n            ariaLabelClearDateRange: \"Clear date range\",\r\n            ariaLabelOpenCalendar: \"Open Calendar\",\r\n            ariaLabelPrevMonth: \"Previous Month\",\r\n            ariaLabelNextMonth: \"Next Month\",\r\n            ariaLabelPrevYear: \"Previous Year\",\r\n            ariaLabelNextYear: \"Next Year\"\r\n        };\r\n        this.globalListener = renderer.listenGlobal(\"document\", \"click\", function (event) {\r\n            if (_this.showSelector && event.target && _this.elem.nativeElement !== event.target && !_this.elem.nativeElement.contains(event.target)) {\r\n                _this.showSelector = false;\r\n            }\r\n            if (_this.opts.monthSelector || _this.opts.yearSelector) {\r\n                _this.resetMonthYearSelect();\r\n            }\r\n        });\r\n    }\r\n    MyDateRangePicker.prototype.resetMonthYearSelect = function () {\r\n        this.selectMonth = false;\r\n        this.selectYear = false;\r\n    };\r\n    MyDateRangePicker.prototype.onSelectMonthClicked = function (event) {\r\n        event.stopPropagation();\r\n        this.selectMonth = !this.selectMonth;\r\n        this.selectYear = false;\r\n        this.cdr.detectChanges();\r\n        if (this.selectMonth) {\r\n            var today = this.getToday();\r\n            this.months.length = 0;\r\n            for (var i = 1; i <= 12; i += 3) {\r\n                var row = [];\r\n                for (var j = i; j < i + 3; j++) {\r\n                    var disabled = this.drus.isMonthDisabledByDisableUntil({ year: this.visibleMonth.year, month: j, day: this.daysInMonth(j, this.visibleMonth.year) }, this.opts.disableUntil)\r\n                        || this.drus.isMonthDisabledByDisableSince({ year: this.visibleMonth.year, month: j, day: 1 }, this.opts.disableSince);\r\n                    row.push({ nbr: j, name: this.opts.monthLabels[j], currMonth: j === today.month && this.visibleMonth.year === today.year, selected: j === this.visibleMonth.monthNbr, disabled: disabled });\r\n                }\r\n                this.months.push(row);\r\n            }\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onMonthCellClicked = function (cell) {\r\n        var mc = cell.nbr !== this.visibleMonth.monthNbr;\r\n        this.visibleMonth = { monthTxt: this.monthText(cell.nbr), monthNbr: cell.nbr, year: this.visibleMonth.year };\r\n        this.generateCalendar(cell.nbr, this.visibleMonth.year, mc);\r\n        this.selectMonth = false;\r\n        this.selectorEl.nativeElement.focus();\r\n    };\r\n    MyDateRangePicker.prototype.onMonthCellKeyDown = function (event, cell) {\r\n        if ((event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) && !cell.disabled) {\r\n            event.preventDefault();\r\n            this.onMonthCellClicked(cell);\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onSelectYearClicked = function (event) {\r\n        event.stopPropagation();\r\n        this.selectYear = !this.selectYear;\r\n        this.selectMonth = false;\r\n        this.cdr.detectChanges();\r\n        if (this.selectYear) {\r\n            this.generateYears(this.visibleMonth.year);\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onYearCellClicked = function (cell) {\r\n        var yc = cell.year !== this.visibleMonth.year;\r\n        this.visibleMonth = { monthTxt: this.visibleMonth.monthTxt, monthNbr: this.visibleMonth.monthNbr, year: cell.year };\r\n        this.generateCalendar(this.visibleMonth.monthNbr, cell.year, yc);\r\n        this.selectYear = false;\r\n        this.selectorEl.nativeElement.focus();\r\n    };\r\n    MyDateRangePicker.prototype.onYearCellKeyDown = function (event, cell) {\r\n        if ((event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) && !cell.disabled) {\r\n            event.preventDefault();\r\n            this.onYearCellClicked(cell);\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onPrevYears = function (event, year) {\r\n        event.stopPropagation();\r\n        this.generateYears(year - 25);\r\n    };\r\n    MyDateRangePicker.prototype.onNextYears = function (event, year) {\r\n        event.stopPropagation();\r\n        this.generateYears(year + 25);\r\n    };\r\n    MyDateRangePicker.prototype.generateYears = function (year) {\r\n        this.years.length = 0;\r\n        var today = this.getToday();\r\n        for (var i = year; i <= 20 + year; i += 5) {\r\n            var row = [];\r\n            for (var j = i; j < i + 5; j++) {\r\n                var disabled = this.drus.isMonthDisabledByDisableUntil({ year: j, month: this.visibleMonth.monthNbr, day: this.daysInMonth(this.visibleMonth.monthNbr, j) }, this.opts.disableUntil)\r\n                    || this.drus.isMonthDisabledByDisableSince({ year: j, month: this.visibleMonth.monthNbr, day: 1 }, this.opts.disableSince);\r\n                var minMax = j < this.opts.minYear || j > this.opts.maxYear;\r\n                row.push({ year: j, currYear: j === today.year, selected: j === this.visibleMonth.year, disabled: disabled || minMax });\r\n            }\r\n            this.years.push(row);\r\n        }\r\n        this.prevYearsDisabled = this.years[0][0].year <= this.opts.minYear || this.drus.isMonthDisabledByDisableUntil({ year: this.years[0][0].year - 1, month: this.visibleMonth.monthNbr, day: this.daysInMonth(this.visibleMonth.monthNbr, this.years[0][0].year - 1) }, this.opts.disableUntil);\r\n        this.nextYearsDisabled = this.years[4][4].year >= this.opts.maxYear || this.drus.isMonthDisabledByDisableSince({ year: this.years[4][4].year + 1, month: this.visibleMonth.monthNbr, day: 1 }, this.opts.disableSince);\r\n    };\r\n    MyDateRangePicker.prototype.onUserDateRangeInput = function (value) {\r\n        this.invalidDateRange = false;\r\n        if (value.length === 0) {\r\n            if (this.drus.isInitializedDate(this.beginDate) && this.drus.isInitializedDate(this.endDate)) {\r\n                this.clearDateRange();\r\n            }\r\n            else {\r\n                this.inputFieldChanged.emit({ value: value, dateRangeFormat: this.dateRangeFormat, valid: false });\r\n            }\r\n        }\r\n        else {\r\n            var daterange = this.drus.isDateRangeValid(value, this.opts.dateFormat, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableDates, this.opts.disableDateRanges, this.opts.enableDates, this.opts.monthLabels);\r\n            if (this.drus.isInitializedDate(daterange.beginDate) && this.drus.isInitializedDate(daterange.endDate)) {\r\n                this.beginDate = daterange.beginDate;\r\n                this.endDate = daterange.endDate;\r\n                this.rangeSelected();\r\n            }\r\n            else {\r\n                this.invalidDateRange = true;\r\n                this.onChangeCb(null);\r\n                this.onTouchedCb();\r\n                this.inputFieldChanged.emit({ value: value, dateRangeFormat: this.dateRangeFormat, valid: false });\r\n            }\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onFocusInput = function (event) {\r\n        this.inputFocusBlur.emit({ reason: InputFocusBlur.focus, value: event.target.value });\r\n    };\r\n    MyDateRangePicker.prototype.onBlurInput = function (event) {\r\n        this.selectionDayTxt = event.target.value;\r\n        this.onTouchedCb();\r\n        this.inputFocusBlur.emit({ reason: InputFocusBlur.blur, value: event.target.value });\r\n    };\r\n    MyDateRangePicker.prototype.onCloseSelector = function (event) {\r\n        if (event.keyCode === KeyCode.esc && this.showSelector && !this.opts.inline) {\r\n            this.showSelector = false;\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.parseOptions = function () {\r\n        var _this = this;\r\n        if (this.options !== undefined) {\r\n            Object.keys(this.options).forEach(function (k) {\r\n                _this.opts[k] = _this.options[k];\r\n            });\r\n        }\r\n        if (this.opts.minYear < Year.min) {\r\n            this.opts.minYear = Year.min;\r\n        }\r\n        if (this.opts.maxYear > Year.max) {\r\n            this.opts.maxYear = Year.max;\r\n        }\r\n        this.dateRangeFormat = this.opts.dateFormat + \" - \" + this.opts.dateFormat;\r\n        this.dayIdx = this.weekDayOpts.indexOf(this.opts.firstDayOfWeek);\r\n        if (this.dayIdx !== -1) {\r\n            var idx = this.dayIdx;\r\n            for (var i = 0; i < this.weekDayOpts.length; i++) {\r\n                this.weekDays.push(this.opts.dayLabels[this.weekDayOpts[idx]]);\r\n                idx = this.weekDayOpts[idx] === \"sa\" ? 0 : idx + 1;\r\n            }\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.writeValue = function (value) {\r\n        if (value && value[\"beginDate\"] && value[\"endDate\"]) {\r\n            this.beginDate = this.parseSelectedDate(value[\"beginDate\"]);\r\n            this.endDate = this.parseSelectedDate(value[\"endDate\"]);\r\n            var begin = this.formatDate(this.beginDate);\r\n            var end = this.formatDate(this.endDate);\r\n            this.selectionDayTxt = begin + \" - \" + end;\r\n            this.titleAreaText = this.selectionDayTxt;\r\n            this.inputFieldChanged.emit({ value: this.selectionDayTxt, dateRangeFormat: this.dateRangeFormat, valid: true });\r\n        }\r\n        else if (value === null || value === \"\") {\r\n            this.clearRangeValues();\r\n            this.inputFieldChanged.emit({ value: \"\", dateRangeFormat: this.dateRangeFormat, valid: false });\r\n        }\r\n        this.invalidDateRange = false;\r\n    };\r\n    MyDateRangePicker.prototype.setDisabledState = function (disabled) {\r\n        this.opts.componentDisabled = disabled;\r\n    };\r\n    MyDateRangePicker.prototype.registerOnChange = function (fn) {\r\n        this.onChangeCb = fn;\r\n    };\r\n    MyDateRangePicker.prototype.registerOnTouched = function (fn) {\r\n        this.onTouchedCb = fn;\r\n    };\r\n    MyDateRangePicker.prototype.ngOnDestroy = function () {\r\n        this.globalListener();\r\n    };\r\n    MyDateRangePicker.prototype.ngOnChanges = function (changes) {\r\n        var _this = this;\r\n        if (changes.hasOwnProperty(\"placeholder\")) {\r\n            this.placeholder = changes[\"placeholder\"].currentValue;\r\n        }\r\n        if (changes.hasOwnProperty(\"options\")) {\r\n            this.options = changes[\"options\"].currentValue;\r\n            this.weekDays.length = 0;\r\n            this.parseOptions();\r\n        }\r\n        var dmChange = false;\r\n        if (changes.hasOwnProperty(\"defaultMonth\")) {\r\n            var dm = changes[\"defaultMonth\"].currentValue;\r\n            if (typeof dm === \"object\") {\r\n                dm = dm.defMonth;\r\n            }\r\n            if (dm !== null && dm !== undefined && dm !== \"\") {\r\n                this.selectedMonth = this.parseSelectedMonth(dm);\r\n            }\r\n            else {\r\n                this.selectedMonth = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n            }\r\n            dmChange = true;\r\n        }\r\n        if (changes.hasOwnProperty(\"selDateRange\")) {\r\n            var sdr = changes[\"selDateRange\"];\r\n            if (sdr.currentValue !== null && sdr.currentValue !== undefined && sdr.currentValue !== \"\") {\r\n                if (typeof sdr.currentValue === \"string\") {\r\n                    var split = sdr.currentValue.split(\" - \");\r\n                    this.beginDate = this.parseSelectedDate(split[0]);\r\n                    this.endDate = this.parseSelectedDate(split[1]);\r\n                    this.selectionDayTxt = sdr.currentValue;\r\n                }\r\n                else if (typeof sdr.currentValue === \"object\") {\r\n                    this.beginDate = this.parseSelectedDate(sdr.currentValue[\"beginDate\"]);\r\n                    this.endDate = this.parseSelectedDate(sdr.currentValue[\"endDate\"]);\r\n                    this.selectionDayTxt = this.formatDate(this.beginDate) + \" - \" + this.formatDate(this.endDate);\r\n                }\r\n                this.titleAreaText = this.selectionDayTxt;\r\n                setTimeout(function () {\r\n                    _this.onChangeCb(_this.getDateRangeModel(_this.beginDate, _this.endDate));\r\n                });\r\n                this.toBeginDate();\r\n            }\r\n            else {\r\n                if (!sdr.isFirstChange()) {\r\n                    this.clearDateRange();\r\n                }\r\n            }\r\n        }\r\n        if (this.visibleMonth.year === 0 && this.visibleMonth.monthNbr === 0 || dmChange) {\r\n            this.setVisibleMonth();\r\n        }\r\n        else {\r\n            this.visibleMonth.monthTxt = this.opts.monthLabels[this.visibleMonth.monthNbr];\r\n            this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, false);\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.removeBtnClicked = function () {\r\n        this.clearDateRange();\r\n    };\r\n    MyDateRangePicker.prototype.openBtnClicked = function () {\r\n        this.showSelector = !this.showSelector;\r\n        this.cdr.detectChanges();\r\n        if (this.showSelector) {\r\n            this.setVisibleMonth();\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.setVisibleMonth = function () {\r\n        if (this.drus.isInitializedDate(this.beginDate)) {\r\n            this.toBeginDate();\r\n        }\r\n        else {\r\n            var y = 0, m = 0;\r\n            if (this.selectedMonth.year === 0 && this.selectedMonth.monthNbr === 0) {\r\n                var today = this.getToday();\r\n                y = today.year;\r\n                m = today.month;\r\n            }\r\n            else {\r\n                y = this.selectedMonth.year;\r\n                m = this.selectedMonth.monthNbr;\r\n            }\r\n            this.visibleMonth = { monthTxt: this.opts.monthLabels[m], monthNbr: m, year: y };\r\n            this.generateCalendar(m, y, true);\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onPrevMonth = function () {\r\n        var d = this.getDate({ year: this.visibleMonth.year, month: this.visibleMonth.monthNbr, day: 1 });\r\n        d.setMonth(d.getMonth() - 1);\r\n        var y = d.getFullYear();\r\n        var m = d.getMonth() + 1;\r\n        this.visibleMonth = { monthTxt: this.monthText(m), monthNbr: m, year: y };\r\n        this.generateCalendar(m, y, true);\r\n    };\r\n    MyDateRangePicker.prototype.onNextMonth = function () {\r\n        var d = this.getDate({ year: this.visibleMonth.year, month: this.visibleMonth.monthNbr, day: 1 });\r\n        d.setMonth(d.getMonth() + 1);\r\n        var y = d.getFullYear();\r\n        var m = d.getMonth() + 1;\r\n        this.visibleMonth = { monthTxt: this.monthText(m), monthNbr: m, year: y };\r\n        this.generateCalendar(m, y, true);\r\n    };\r\n    MyDateRangePicker.prototype.onPrevYear = function () {\r\n        if (this.visibleMonth.year - 1 < this.opts.minYear) {\r\n            return;\r\n        }\r\n        this.visibleMonth.year--;\r\n        this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, true);\r\n    };\r\n    MyDateRangePicker.prototype.onNextYear = function () {\r\n        if (this.visibleMonth.year + 1 > this.opts.maxYear) {\r\n            return;\r\n        }\r\n        this.visibleMonth.year++;\r\n        this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, true);\r\n    };\r\n    MyDateRangePicker.prototype.clearRangeValues = function () {\r\n        this.invalidDateRange = false;\r\n        this.selectionDayTxt = \"\";\r\n        this.beginDate = { year: 0, month: 0, day: 0 };\r\n        this.endDate = { year: 0, month: 0, day: 0 };\r\n        this.titleAreaText = this.opts.selectBeginDateTxt;\r\n        this.generateCalendar(this.visibleMonth.monthNbr, this.visibleMonth.year, false);\r\n    };\r\n    MyDateRangePicker.prototype.onCellClicked = function (cell) {\r\n        var bi = this.drus.isInitializedDate(this.beginDate);\r\n        var ei = this.drus.isInitializedDate(this.endDate);\r\n        if (ei) {\r\n            this.beginDate = { year: 0, month: 0, day: 0 };\r\n            this.endDate = { year: 0, month: 0, day: 0 };\r\n            this.titleAreaText = this.opts.selectBeginDateTxt;\r\n            bi = false;\r\n            ei = false;\r\n        }\r\n        if (!ei) {\r\n            if (!bi || bi && this.drus.getTimeInMilliseconds(cell.dateObj) < this.drus.getTimeInMilliseconds(this.beginDate)) {\r\n                this.selectBeginDate(cell.dateObj);\r\n                this.titleAreaText = this.formatDate(cell.dateObj) + \" - \" + this.opts.selectEndDateTxt;\r\n            }\r\n            else if (this.drus.getTimeInMilliseconds(cell.dateObj) >= this.drus.getTimeInMilliseconds(this.beginDate)) {\r\n                this.selectEndDate(cell.dateObj);\r\n                this.rangeSelected();\r\n                this.titleAreaText = this.formatDate(this.beginDate) + \" - \" + this.formatDate(cell.dateObj);\r\n            }\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.selectBeginDate = function (date) {\r\n        this.beginDate = date;\r\n        var formatted = this.formatDate(date);\r\n        this.titleAreaText = formatted + \" - \" + this.opts.selectEndDateTxt;\r\n        this.dateSelected.emit({ type: 1, date: date, formatted: formatted, jsdate: this.getDate(date) });\r\n    };\r\n    MyDateRangePicker.prototype.selectEndDate = function (date) {\r\n        this.endDate = date;\r\n        var formatted = this.formatDate(date);\r\n        this.titleAreaText = this.formatDate(this.beginDate) + \" - \" + formatted;\r\n        this.dateSelected.emit({ type: 2, date: date, formatted: formatted, jsdate: this.getDate(date) });\r\n    };\r\n    MyDateRangePicker.prototype.onCellKeyDown = function (event, cell) {\r\n        if ((event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) && !cell.disabled) {\r\n            event.preventDefault();\r\n            this.onCellClicked(cell);\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onCellMouseEnter = function (cell) {\r\n        if (this.drus.isInitializedDate(this.beginDate) && !this.drus.isInitializedDate(this.endDate)) {\r\n            for (var _i = 0, _a = this.dates; _i < _a.length; _i++) {\r\n                var w = _a[_i];\r\n                for (var _b = 0, _c = w.week; _b < _c.length; _b++) {\r\n                    var day = _c[_b];\r\n                    day.range = this.drus.getTimeInMilliseconds(day.dateObj) >= this.drus.getTimeInMilliseconds(this.beginDate)\r\n                        && this.drus.getTimeInMilliseconds(day.dateObj) <= this.drus.getTimeInMilliseconds(cell.dateObj);\r\n                }\r\n            }\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.onCellMouseLeave = function () {\r\n        for (var _i = 0, _a = this.dates; _i < _a.length; _i++) {\r\n            var w = _a[_i];\r\n            for (var _b = 0, _c = w.week; _b < _c.length; _b++) {\r\n                var day = _c[_b];\r\n                day.range = false;\r\n            }\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.toBeginDate = function () {\r\n        var viewChange = this.beginDate.year !== this.visibleMonth.year || this.beginDate.month !== this.visibleMonth.monthNbr;\r\n        this.visibleMonth = { monthTxt: this.monthText(this.beginDate.month), monthNbr: this.beginDate.month, year: this.beginDate.year };\r\n        this.generateCalendar(this.beginDate.month, this.beginDate.year, viewChange);\r\n    };\r\n    MyDateRangePicker.prototype.clearDateRange = function () {\r\n        if (this.drus.isInitializedDate(this.endDate)) {\r\n            this.dateRangeChanged.emit({ beginDate: { year: 0, month: 0, day: 0 }, beginJsDate: null, endDate: { year: 0, month: 0, day: 0 }, endJsDate: null, formatted: \"\", beginEpoc: 0, endEpoc: 0 });\r\n            if (this.selectionDayTxt !== \"\") {\r\n                this.inputFieldChanged.emit({ value: \"\", dateRangeFormat: this.dateRangeFormat, valid: false });\r\n            }\r\n            this.onChangeCb(null);\r\n            this.onTouchedCb();\r\n        }\r\n        this.clearRangeValues();\r\n    };\r\n    MyDateRangePicker.prototype.rangeSelected = function () {\r\n        var dateRangeModel = this.getDateRangeModel(this.beginDate, this.endDate);\r\n        this.selectionDayTxt = this.formatDate(this.beginDate) + \" - \" + this.formatDate(this.endDate);\r\n        this.showSelector = false;\r\n        this.dateRangeChanged.emit(dateRangeModel);\r\n        this.inputFieldChanged.emit({ value: this.selectionDayTxt, dateRangeFormat: this.dateRangeFormat, valid: true });\r\n        this.onChangeCb(dateRangeModel);\r\n        this.onTouchedCb();\r\n        this.invalidDateRange = false;\r\n        if (this.opts.monthSelector || this.opts.yearSelector) {\r\n            this.resetMonthYearSelect();\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.getDateRangeModel = function (beginDate, endDate) {\r\n        var bEpoc = this.drus.getTimeInMilliseconds(beginDate) / 1000.0;\r\n        var eEpoc = this.drus.getTimeInMilliseconds(endDate) / 1000.0;\r\n        return { beginDate: beginDate, beginJsDate: this.getDate(beginDate), endDate: endDate, endJsDate: this.getDate(endDate), formatted: this.formatDate(beginDate) + \" - \" + this.formatDate(endDate), beginEpoc: bEpoc, endEpoc: eEpoc };\r\n    };\r\n    MyDateRangePicker.prototype.isInRange = function (val) {\r\n        if (!this.drus.isInitializedDate(this.beginDate) || !this.drus.isInitializedDate(this.endDate)) {\r\n            return false;\r\n        }\r\n        var input = this.drus.getTimeInMilliseconds(val.dateObj);\r\n        if (input >= this.drus.getTimeInMilliseconds(this.beginDate) && input <= this.drus.getTimeInMilliseconds(this.endDate)) {\r\n            return true;\r\n        }\r\n        return false;\r\n    };\r\n    MyDateRangePicker.prototype.isRangeSelected = function () {\r\n        if (this.drus.isInitializedDate(this.beginDate) && this.drus.isInitializedDate(this.endDate)) {\r\n            return true;\r\n        }\r\n        return false;\r\n    };\r\n    MyDateRangePicker.prototype.preZero = function (val) {\r\n        return parseInt(val) < 10 ? \"0\" + val : val;\r\n    };\r\n    MyDateRangePicker.prototype.formatDate = function (val) {\r\n        var formatted = this.opts.dateFormat.replace(\"yyyy\", val.year).replace(\"dd\", this.preZero(val.day));\r\n        return this.opts.dateFormat.indexOf(\"mmm\") !== -1 ? formatted.replace(\"mmm\", this.monthText(val.month)) : formatted.replace(\"mm\", this.preZero(val.month));\r\n    };\r\n    MyDateRangePicker.prototype.monthText = function (m) {\r\n        return this.opts.monthLabels[m];\r\n    };\r\n    MyDateRangePicker.prototype.monthStartIdx = function (y, m) {\r\n        var d = new Date();\r\n        d.setDate(1);\r\n        d.setMonth(m - 1);\r\n        d.setFullYear(y);\r\n        var idx = d.getDay() + this.sundayIdx();\r\n        return idx >= 7 ? idx - 7 : idx;\r\n    };\r\n    MyDateRangePicker.prototype.daysInMonth = function (m, y) {\r\n        return new Date(y, m, 0).getDate();\r\n    };\r\n    MyDateRangePicker.prototype.daysInPrevMonth = function (m, y) {\r\n        var d = this.getDate({ year: y, month: m, day: 1 });\r\n        d.setMonth(d.getMonth() - 1);\r\n        return this.daysInMonth(d.getMonth() + 1, d.getFullYear());\r\n    };\r\n    MyDateRangePicker.prototype.isCurrDay = function (d, m, y, cmo, today) {\r\n        return d === today.day && m === today.month && y === today.year && cmo === this.currMonthId;\r\n    };\r\n    MyDateRangePicker.prototype.getPreviousDate = function (date) {\r\n        var d = this.getDate(date);\r\n        d.setDate(d.getDate() - 1);\r\n        return { year: d.getFullYear(), month: d.getMonth() + 1, day: d.getDate() };\r\n    };\r\n    MyDateRangePicker.prototype.getNextDate = function (date) {\r\n        var d = this.getDate(date);\r\n        d.setDate(d.getDate() + 1);\r\n        return { year: d.getFullYear(), month: d.getMonth() + 1, day: d.getDate() };\r\n    };\r\n    MyDateRangePicker.prototype.getDayNumber = function (date) {\r\n        var d = this.getDate(date);\r\n        return d.getDay();\r\n    };\r\n    MyDateRangePicker.prototype.getWeekday = function (date) {\r\n        return this.weekDayOpts[this.getDayNumber(date)];\r\n    };\r\n    MyDateRangePicker.prototype.getDate = function (date) {\r\n        return new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0);\r\n    };\r\n    MyDateRangePicker.prototype.getToday = function () {\r\n        var date = new Date();\r\n        return { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() };\r\n    };\r\n    MyDateRangePicker.prototype.sundayIdx = function () {\r\n        return this.dayIdx > 0 ? 7 - this.dayIdx : 0;\r\n    };\r\n    MyDateRangePicker.prototype.generateCalendar = function (m, y, viewChange) {\r\n        this.dates.length = 0;\r\n        var today = this.getToday();\r\n        var monthStart = this.monthStartIdx(y, m);\r\n        var dInThisM = this.daysInMonth(m, y);\r\n        var dInPrevM = this.daysInPrevMonth(m, y);\r\n        var dayNbr = 1;\r\n        var cmo = this.prevMonthId;\r\n        for (var i = 1; i < 7; i++) {\r\n            var week = [];\r\n            if (i === 1) {\r\n                var pm = dInPrevM - monthStart + 1;\r\n                for (var j = pm; j <= dInPrevM; j++) {\r\n                    var date = { year: m === 1 ? y - 1 : y, month: m === 1 ? 12 : m - 1, day: j };\r\n                    week.push({ dateObj: date,\r\n                        cmo: cmo, currDay: this.isCurrDay(j, m, y, cmo, today),\r\n                        dayNbr: this.getDayNumber(date),\r\n                        disabled: this.drus.isDisabledDay(date, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableDates, this.opts.disableDateRanges, this.opts.enableDates),\r\n                        range: false });\r\n                }\r\n                cmo = this.currMonthId;\r\n                var daysLeft = 7 - week.length;\r\n                for (var j = 0; j < daysLeft; j++) {\r\n                    var date = { year: y, month: m, day: dayNbr };\r\n                    week.push({ dateObj: date,\r\n                        cmo: cmo,\r\n                        currDay: this.isCurrDay(dayNbr, m, y, cmo, today),\r\n                        dayNbr: this.getDayNumber(date),\r\n                        disabled: this.drus.isDisabledDay(date, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableDates, this.opts.disableDateRanges, this.opts.enableDates),\r\n                        range: false });\r\n                    dayNbr++;\r\n                }\r\n            }\r\n            else {\r\n                for (var j = 1; j < 8; j++) {\r\n                    if (dayNbr > dInThisM) {\r\n                        dayNbr = 1;\r\n                        cmo = this.nextMonthId;\r\n                    }\r\n                    var date = { year: cmo === this.nextMonthId && m === 12 ? y + 1 : y, month: cmo === this.currMonthId ? m : cmo === this.nextMonthId && m < 12 ? m + 1 : 1, day: dayNbr };\r\n                    week.push({ dateObj: date,\r\n                        cmo: cmo,\r\n                        currDay: this.isCurrDay(dayNbr, m, y, cmo, today),\r\n                        dayNbr: this.getDayNumber(date),\r\n                        disabled: this.drus.isDisabledDay(date, this.opts.minYear, this.opts.maxYear, this.opts.disableUntil, this.opts.disableSince, this.opts.disableDates, this.opts.disableDateRanges, this.opts.enableDates),\r\n                        range: false });\r\n                    dayNbr++;\r\n                }\r\n            }\r\n            var weekNbr = this.opts.showWeekNumbers && this.opts.firstDayOfWeek === \"mo\" ? this.drus.getWeekNumber(week[0].dateObj) : 0;\r\n            this.dates.push({ week: week, weekNbr: weekNbr });\r\n        }\r\n        this.setHeaderBtnDisabledState(m, y);\r\n        if (viewChange) {\r\n            this.calendarViewChanged.emit({ year: y, month: m, first: { number: 1, weekday: this.getWeekday({ year: y, month: m, day: 1 }) }, last: { number: dInThisM, weekday: this.getWeekday({ year: y, month: m, day: dInThisM }) } });\r\n        }\r\n    };\r\n    MyDateRangePicker.prototype.setHeaderBtnDisabledState = function (m, y) {\r\n        var dpm = false;\r\n        var dpy = false;\r\n        var dnm = false;\r\n        var dny = false;\r\n        if (this.opts.disableHeaderButtons) {\r\n            dpm = this.drus.isMonthDisabledByDisableUntil({ year: m === 1 ? y - 1 : y, month: m === 1 ? 12 : m - 1, day: this.daysInMonth(m === 1 ? 12 : m - 1, m === 1 ? y - 1 : y) }, this.opts.disableUntil);\r\n            dpy = this.drus.isMonthDisabledByDisableUntil({ year: y - 1, month: m, day: this.daysInMonth(m, y - 1) }, this.opts.disableUntil);\r\n            dnm = this.drus.isMonthDisabledByDisableSince({ year: m === 12 ? y + 1 : y, month: m === 12 ? 1 : m + 1, day: 1 }, this.opts.disableSince);\r\n            dny = this.drus.isMonthDisabledByDisableSince({ year: y + 1, month: m, day: 1 }, this.opts.disableSince);\r\n        }\r\n        this.prevMonthDisabled = m === 1 && y === this.opts.minYear || dpm;\r\n        this.prevYearDisabled = y - 1 < this.opts.minYear || dpy;\r\n        this.nextMonthDisabled = m === 12 && y === this.opts.maxYear || dnm;\r\n        this.nextYearDisabled = y + 1 > this.opts.maxYear || dny;\r\n    };\r\n    MyDateRangePicker.prototype.parseSelectedDate = function (selDate) {\r\n        var date = { day: 0, month: 0, year: 0 };\r\n        if (typeof selDate === \"string\") {\r\n            var sd = selDate;\r\n            date.day = this.drus.parseDatePartNumber(this.opts.dateFormat, sd, \"dd\");\r\n            date.month = this.opts.dateFormat.indexOf(\"mmm\") !== -1\r\n                ? this.drus.parseDatePartMonthName(this.opts.dateFormat, sd, \"mmm\", this.opts.monthLabels)\r\n                : this.drus.parseDatePartNumber(this.opts.dateFormat, sd, \"mm\");\r\n            date.year = this.drus.parseDatePartNumber(this.opts.dateFormat, sd, \"yyyy\");\r\n        }\r\n        else if (typeof selDate === \"object\") {\r\n            date = selDate;\r\n        }\r\n        return date;\r\n    };\r\n    MyDateRangePicker.prototype.parseSelectedMonth = function (ms) {\r\n        return this.drus.parseDefaultMonth(ms);\r\n    };\r\n    MyDateRangePicker.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: \"my-date-range-picker\",\r\n                    exportAs: \"mydaterangepicker\",\r\n                    styles: [\".mydrp .monthcell,.mydrp .selection,.mydrp .weekdaytitle{overflow:hidden;white-space:nowrap}.mydrp{line-height:1;display:inline-block;position:relative}.mydrp *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0}.mydrp,.mydrp .headertodaybtn,.mydrp .selection,.mydrp .selectiongroup,.mydrp .selector{border-radius:4px}.mydrp .header,.mydrp .titlearea,.mydrp .titleareatxt{border-radius:4px 4px 0 0}.mydrp .caltable,.mydrp .monthtable,.mydrp .yeartable{border-radius:0 0 4px 4px}.mydrp .caltable tbody tr:nth-child(6) td:first-child,.mydrp .monthtable tbody tr:nth-child(4) td:first-child,.mydrp .yeartable tbody tr:nth-child(7) td:first-child{border-bottom-left-radius:4px}.mydrp .caltable tbody tr:nth-child(6) td:last-child,.mydrp .monthtable tbody tr:nth-child(4) td:last-child,.mydrp .yeartable tbody tr:nth-child(7) td:last-child{border-bottom-right-radius:4px}.mydrp .btnpicker{border-radius:0 4px 4px 0}.mydrp .selector{margin-top:2px;margin-left:-1px;position:absolute;padding:0;border:1px solid #CCC;z-index:100;animation:selectorfadein 60ms}.mydrp .selector:focus{border:1px solid #ADD8E6;outline:0}@keyframes selectorfadein{from{opacity:0}to{opacity:1}}.mydrp .selectorarrow{background:#FFF;border:1px solid #CCC;margin-top:12px;padding:0}.mydrp .selectorarrow:after,.mydrp .selectorarrow:before{bottom:100%;border:solid transparent;content:\\\" \\\";height:0;width:0;position:absolute}.mydrp .selectorarrow:after{border-color:rgba(250,250,250,0);border-bottom-color:#FFF;border-width:10px;margin-left:-10px}.mydrp .selectorarrow:before{border-color:rgba(204,204,204,0);border-bottom-color:#CCC;border-width:11px;margin-left:-11px}.mydrp .selectorarrow:focus:before{border-bottom-color:#ADD8E6}.mydrp .selectorarrowleft:after,.mydrp .selectorarrowleft:before{left:24px}.mydrp .selectorarrowright:after,.mydrp .selectorarrowright:before{left:224px}.mydrp .alignselectorright{right:-1px}.mydrp .selectiongroup{position:relative;display:table;border:none;border-spacing:0;background-color:#FFF}.mydrp .selection{outline:0;background-color:#FFF;display:table-cell;position:absolute;width:100%;padding:0 64px 0 6px;text-overflow:ellipsis;border:none;color:#555}.mydrp .invaliddaterange{background-color:#F1DEDE}.mydrp ::-ms-clear{display:none}.mydrp .selbtngroup{position:relative;vertical-align:middle;white-space:nowrap;width:1%;display:table-cell;font-size:0}.mydrp .btnclear,.mydrp .btnpicker{height:100%;width:26px;border:none;padding:0;outline:0;font:inherit;-moz-user-select:none}.mydrp .headerclearbtn,.mydrp .headerokbtn{border-radius:2px;cursor:pointer;font-size:11px;height:20px;width:28px;outline:0}.mydrp .btnclearenabled,.mydrp .btnpickerenabled,.mydrp .headerbtnenabled,.mydrp .yearchangebtnenabled{cursor:pointer}.mydrp .btncleardisabled,.mydrp .btnpickerdisabled,.mydrp .clearbtndisabled,.mydrp .headerbtndisabled,.mydrp .okbtndisabled,.mydrp .selectiondisabled,.mydrp .yearchangebtndisabled{cursor:not-allowed;opacity:.65}.mydrp .selectiondisabled{background-color:#EEE}.mydrp .btnclear,.mydrp .btnpicker,.mydrp .headerclearbtn,.mydrp .headerokbtn{background:#FFF}.mydrp .header{width:100%;height:30px;background-color:#FFF}.mydrp .header td{vertical-align:middle;border:none;line-height:0}.mydrp .header td:nth-child(1){padding-left:4px}.mydrp .header td:nth-child(2){text-align:center}.mydrp .header td:nth-child(3){padding-right:4px}.mydrp .titlearea{text-align:center;background-color:#FFF}.mydrp .titleareatxt{height:24px;line-height:24px;font-size:12px;border-bottom:1px solid #EEE}.mydrp .inline{position:relative;margin-top:-1px}.mydrp .caltable,.mydrp .monthtable,.mydrp .yeartable{table-layout:fixed;width:100%;background-color:#FFF;font-size:14px}.mydrp .caltable,.mydrp .daycell,.mydrp .monthcell,.mydrp .monthtable,.mydrp .weekdaytitle,.mydrp .yearcell,.mydrp .yeartable{border-collapse:collapse;color:#036;line-height:1.1}.mydrp .daycell,.mydrp .monthcell,.mydrp .weekdaytitle,.mydrp .yearcell{padding:4px;text-align:center}.mydrp .weekdaytitle{background-color:#DDD;font-size:11px;font-weight:400;vertical-align:middle;max-width:36px}.mydrp .weekdaytitleweeknbr{width:20px;border-right:1px solid #BBB}.mydrp .monthcell{background-color:#FAFAFA}.mydrp .yearcell{background-color:#FAFAFA;width:20%}.mydrp .daycellweeknbr{font-size:10px;border-right:1px solid #CCC;cursor:default;color:#000}.mydrp .nextmonth,.mydrp .prevmonth{color:#444}.mydrp .disabled{cursor:default!important;color:#444!important;background:#FBEFEF!important}.mydrp .sunday{color:#C30000}.mydrp .sundayDim{opacity:.5}.mydrp .currmonth{background-color:#F6F6F6;font-weight:400}.mydrp .range{background-color:#D9F2E6}.mydrp .markcurrday,.mydrp .markcurrmonth,.mydrp .markcurryear{text-decoration:underline}.mydrp .datevalue{background-color:inherit}.mydrp .selecteddaybegin,.mydrp .selecteddayend,.mydrp .selectedmonth .monthvalue,.mydrp .selectedyear .yearvalue{border:none;background-color:#8EBFFF;border-radius:2px}.mydrp .headerbtncell{background-color:#FFF;cursor:pointer;display:table-cell;vertical-align:middle}.mydrp .yearchangebtncell{text-align:center;background-color:#FAFAFA}.mydrp .headerbtn,.mydrp .headerlabelbtn,.mydrp .yearchangebtn{background:#FFF;border:none;height:22px}.mydrp .headerbtn{width:16px}.mydrp .headerlabelbtn{font-size:14px;outline:0;cursor:default}.mydrp,.mydrp .headerclearbtn,.mydrp .headerokbtn{border:1px solid #CCC}.mydrp .btnclear,.mydrp .btnpicker,.mydrp .headerbtn,.mydrp .headerclearbtn,.mydrp .headermonthtxt,.mydrp .headerokbtn,.mydrp .headeryeartxt,.mydrp .yearchangebtn{color:#000}.mydrp button::-moz-focus-inner{border:0}.mydrp .headermonthtxt,.mydrp .headeryeartxt{text-align:center;display:table-cell;vertical-align:middle;font-size:14px;height:26px;width:40px;max-width:40px;overflow:hidden;white-space:nowrap}.mydrp .btnclear:focus,.mydrp .btnpicker:focus,.mydrp .headerclearbtn:focus,.mydrp .headerokbtn:focus{background:#ADD8E6}.mydrp .headerbtn:focus,.mydrp .monthlabel:focus,.mydrp .yearchangebtn:focus,.mydrp .yearlabel:focus{color:#ADD8E6;outline:0}.mydrp .daycell:focus,.mydrp .monthcell:focus,.mydrp .yearcell:focus{outline:#CCC solid 1px}.mydrp .icon-mydrpcalendar,.mydrp .icon-mydrpok,.mydrp .icon-mydrpremove{font-size:16px}.mydrp .icon-mydrpdown,.mydrp .icon-mydrpleft,.mydrp .icon-mydrpright,.mydrp .icon-mydrpup{color:#222;font-size:20px}.mydrp table{display:table;border-spacing:0}.mydrp table td{padding:0}.mydrp table,.mydrp td,.mydrp th{border:none}.mydrp .btnclearenabled:hover,.mydrp .btnpickerenabled:hover,.mydrp .headerclearbtnenabled:hover,.mydrp .headerokbtnenabled:hover{background-color:#E6E6E6}.mydrp .daycell:hover,.mydrp .monthcell:hover,.mydrp .yearcell:hover{background-color:#DDD}.mydrp .daycell,.mydrp .inputnoteditable,.mydrp .monthcell,.mydrp .monthlabel,.mydrp .yearcell,.mydrp .yearlabel{cursor:pointer}.mydrp .headerbtnenabled:hover,.mydrp .monthlabel:hover,.mydrp .yearchangebtnenabled:hover,.mydrp .yearlabel:hover{color:#777}@font-face{font-family:mydaterangepicker;src:url(data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCMJXkAAAD8AAAAVE9TLzI+IEhNAAABUAAAAFZjbWFw6UKcfwAAAagAAAHEY3Z0IAbV/wQAAAvwAAAAIGZwZ22KkZBZAAAMEAAAC3BnYXNwAAAAEAAAC+gAAAAIZ2x5ZlJhR0YAAANsAAAEEGhlYWQNZzg7AAAHfAAAADZoaGVhBzwDWQAAB7QAAAAkaG10eBXB//8AAAfYAAAAIGxvY2EEIAKgAAAH+AAAABJtYXhwAXgMOgAACAwAAAAgbmFtZclNJHcAAAgsAAADOXBvc3RN1RmgAAALaAAAAH5wcmVw5UErvAAAF4AAAACGAAEAAAAKADAAPgACbGF0bgAOREZMVAAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAECuAGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQOgA6AYDUv9qAFoDUgCWAAAAAQAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAFgAAEAAAAAAFoAAwABAAAALAADAAoAAAFgAAQALgAAAAQABAABAADoBv//AADoAP//AAAAAQAEAAAAAQACAAMABAAFAAYABwAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAZAAAAAAAAAAHAADoAAAA6AAAAAABAADoAQAA6AEAAAACAADoAgAA6AIAAAADAADoAwAA6AMAAAAEAADoBAAA6AQAAAAFAADoBQAA6AUAAAAGAADoBgAA6AYAAAAHAAEAAAAAAUECfQAOAAq3AAAAZhQBBRUrARQPAQYiJjURND4BHwEWAUEK+gscFhYcC/oKAV4OC/oLFg4B9A8UAgz6CgAAAQAAAAABZwJ8AA0AF0AUAAEAAQFHAAEAAW8AAABmFxMCBRYrAREUBiIvASY0PwE2MhYBZRQgCfoKCvoLHBgCWP4MDhYL+gscC/oLFgAAAAAB//8AAAI7AckADgARQA4AAQABbwAAAGYVMgIFFislFAYnISIuAT8BNjIfARYCOxQP/gwPFAIM+goeCvoKqw4WARQeC/oKCvoLAAAAAQAAAAACPAHtAA4AF0AUAAEAAQFHAAEAAW8AAABmNRQCBRYrARQPAQYiLwEmNDYzITIWAjsK+gscC/oLFg4B9A4WAckOC/oLC/oLHBYWAAAPAAD/agOhA1IAAwAHAAsADwATABcAGwAfACMAMwA3ADsAPwBPAHMAmECVQSUCHRJJLSQDEx0CRyEfAh0TCR1UGwETGRcNAwkIEwlfGBYMAwgVEQcDBQQIBV4UEAYDBA8LAwMBAAQBXhoBEhIeWCABHh4MSA4KAgMAABxYABwcDRxJcnBtamdmY2BdW1ZTTUxFRD8+PTw7Ojk4NzY1NDEvKScjIiEgHx4dHBsaGRgXFhUUExIRERERERERERAiBR0rFzM1IxczNSMnMzUjFzM1IyczNSMBMzUjJzM1IwEzNSMnMzUjAzU0JicjIgYHFRQWNzMyNgEzNSMnMzUjFzM1Izc1NCYnIyIGFxUUFjczMjY3ERQGIyEiJjURNDY7ATU0NjsBMhYdATM1NDY7ATIWBxUzMhZHoaHFsrLFoaHFsrLFoaEBm7Oz1rKyAayhodazs8QMBiQHCgEMBiQHCgGboaHWs7PWoaESCggjBwwBCggjCArXLBz87h0qKh1INCUkJTTWNiQjJTYBRx0qT6GhoSSysrIkof3Eofqh/cShJLIBMKEHCgEMBqEHDAEK/iayJKGhoWuhBwoBDAahBwwBCiz9NR0qKh0Cyx0qNiU0NCU2NiU0NCU2KgAAAAEAAAAAA6UCmAAVAB1AGg8BAAEBRwACAQJvAAEAAW8AAABmFBcUAwUXKwEUBwEGIicBJjQ/ATYyHwEBNjIfARYDpRD+IBAsEP7qDw9MECwQpAFuECwQTBACFhYQ/iAPDwEWECwQTBAQpQFvEBBMDwABAAD/7wLUAoYAJAAeQBsiGRAHBAACAUcDAQIAAm8BAQAAZhQcFBQEBRgrJRQPAQYiLwEHBiIvASY0PwEnJjQ/ATYyHwE3NjIfARYUDwEXFgLUD0wQLBCkpBAsEEwQEKSkEBBMECwQpKQQLBBMDw+kpA9wFhBMDw+lpQ8PTBAsEKSkECwQTBAQpKQQEEwPLg+kpA8AAQAAAAEAAAxTlYlfDzz1AAsD6AAAAADVMHpNAAAAANUwek3///9qA+gDUgAAAAgAAgAAAAAAAAABAAADUv9qAAAD6P////4D6AABAAAAAAAAAAAAAAAAAAAACAPoAAABZQAAAWUAAAI7//8COwAAA6AAAAPoAAADEQAAAAAAAAAiAEoAcACYAYYBvgIIAAAAAQAAAAgAdAAPAAAAAAACAEQAVABzAAAAqQtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNyBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tbXlkYXRlcmFuZ2VwaWNrZXJSZWd1bGFybXlkYXRlcmFuZ2VwaWNrZXJteWRhdGVyYW5nZXBpY2tlclZlcnNpb24gMS4wbXlkYXRlcmFuZ2VwaWNrZXJHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANwAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AbQB5AGQAYQB0AGUAcgBhAG4AZwBlAHAAaQBjAGsAZQByAFIAZQBnAHUAbABhAHIAbQB5AGQAYQB0AGUAcgBhAG4AZwBlAHAAaQBjAGsAZQByAG0AeQBkAGEAdABlAHIAYQBuAGcAZQBwAGkAYwBrAGUAcgBWAGUAcgBzAGkAbwBuACAAMQAuADAAbQB5AGQAYQB0AGUAcgBhAG4AZwBlAHAAaQBjAGsAZQByAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgBAgEDAQQBBQEGAQcBCAEJAApteWRycHJpZ2h0CW15ZHJwbGVmdAdteWRycHVwCW15ZHJwZG93bg1teWRycGNhbGVuZGFyB215ZHJwb2sLbXlkcnByZW1vdmUAAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAABgAGAAYABgDUv9qA1L/arAALCCwAFVYRVkgIEu4AA5RS7AGU1pYsDQbsChZYGYgilVYsAIlYbkIAAgAY2MjYhshIbAAWbAAQyNEsgABAENgQi2wASywIGBmLbACLCBkILDAULAEJlqyKAEKQ0VjRVJbWCEjIRuKWCCwUFBYIbBAWRsgsDhQWCGwOFlZILEBCkNFY0VhZLAoUFghsQEKQ0VjRSCwMFBYIbAwWRsgsMBQWCBmIIqKYSCwClBYYBsgsCBQWCGwCmAbILA2UFghsDZgG2BZWVkbsAErWVkjsABQWGVZWS2wAywgRSCwBCVhZCCwBUNQWLAFI0KwBiNCGyEhWbABYC2wBCwjISMhIGSxBWJCILAGI0KxAQpDRWOxAQpDsAFgRWOwAyohILAGQyCKIIqwASuxMAUlsAQmUVhgUBthUllYI1khILBAU1iwASsbIbBAWSOwAFBYZVktsAUssAdDK7IAAgBDYEItsAYssAcjQiMgsAAjQmGwAmJmsAFjsAFgsAUqLbAHLCAgRSCwC0NjuAQAYiCwAFBYsEBgWWawAWNgRLABYC2wCCyyBwsAQ0VCKiGyAAEAQ2BCLbAJLLAAQyNEsgABAENgQi2wCiwgIEUgsAErI7AAQ7AEJWAgRYojYSBkILAgUFghsAAbsDBQWLAgG7BAWVkjsABQWGVZsAMlI2FERLABYC2wCywgIEUgsAErI7AAQ7AEJWAgRYojYSBksCRQWLAAG7BAWSOwAFBYZVmwAyUjYUREsAFgLbAMLCCwACNCsgsKA0VYIRsjIVkqIS2wDSyxAgJFsGRhRC2wDiywAWAgILAMQ0qwAFBYILAMI0JZsA1DSrAAUlggsA0jQlktsA8sILAQYmawAWMguAQAY4ojYbAOQ2AgimAgsA4jQiMtsBAsS1RYsQRkRFkksA1lI3gtsBEsS1FYS1NYsQRkRFkbIVkksBNlI3gtsBIssQAPQ1VYsQ8PQ7ABYUKwDytZsABDsAIlQrEMAiVCsQ0CJUKwARYjILADJVBYsQEAQ2CwBCVCioogiiNhsA4qISOwAWEgiiNhsA4qIRuxAQBDYLACJUKwAiVhsA4qIVmwDENHsA1DR2CwAmIgsABQWLBAYFlmsAFjILALQ2O4BABiILAAUFiwQGBZZrABY2CxAAATI0SwAUOwAD6yAQEBQ2BCLbATLACxAAJFVFiwDyNCIEWwCyNCsAojsAFgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAULLEAEystsBUssQETKy2wFiyxAhMrLbAXLLEDEystsBgssQQTKy2wGSyxBRMrLbAaLLEGEystsBsssQcTKy2wHCyxCBMrLbAdLLEJEystsB4sALANK7EAAkVUWLAPI0IgRbALI0KwCiOwAWBCIGCwAWG1EBABAA4AQkKKYLESBiuwcisbIlktsB8ssQAeKy2wICyxAR4rLbAhLLECHistsCIssQMeKy2wIyyxBB4rLbAkLLEFHistsCUssQYeKy2wJiyxBx4rLbAnLLEIHistsCgssQkeKy2wKSwgPLABYC2wKiwgYLAQYCBDI7ABYEOwAiVhsAFgsCkqIS2wKyywKiuwKiotsCwsICBHICCwC0NjuAQAYiCwAFBYsEBgWWawAWNgI2E4IyCKVVggRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOBshWS2wLSwAsQACRVRYsAEWsCwqsAEVMBsiWS2wLiwAsA0rsQACRVRYsAEWsCwqsAEVMBsiWS2wLywgNbABYC2wMCwAsAFFY7gEAGIgsABQWLBAYFlmsAFjsAErsAtDY7gEAGIgsABQWLBAYFlmsAFjsAErsAAWtAAAAAAARD4jOLEvARUqLbAxLCA8IEcgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2E4LbAyLC4XPC2wMywgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhsAFDYzgtsDQssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIzAQEVFCotsDUssAAWsAQlsAQlRyNHI2GwCUMrZYouIyAgPIo4LbA2LLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhIyAgsAQmI0ZhOBsjsAhDRrACJbAIQ0cjRyNhYCCwBEOwAmIgsABQWLBAYFlmsAFjYCMgsAErI7AEQ2CwASuwBSVhsAUlsAJiILAAUFiwQGBZZrABY7AEJmEgsAQlYGQjsAMlYGRQWCEbIyFZIyAgsAQmI0ZhOFktsDcssAAWICAgsAUmIC5HI0cjYSM8OC2wOCywABYgsAgjQiAgIEYjR7ABKyNhOC2wOSywABawAyWwAiVHI0cjYbAAVFguIDwjIRuwAiWwAiVHI0cjYSCwBSWwBCVHI0cjYbAGJbAFJUmwAiVhuQgACABjYyMgWGIbIVljuAQAYiCwAFBYsEBgWWawAWNgIy4jICA8ijgjIVktsDossAAWILAIQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbA7LCMgLkawAiVGUlggPFkusSsBFCstsDwsIyAuRrACJUZQWCA8WS6xKwEUKy2wPSwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xKwEUKy2wPiywNSsjIC5GsAIlRlJYIDxZLrErARQrLbA/LLA2K4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=) format('truetype');font-weight:400;font-style:normal}.mydrp .mydrpicon{font-family:mydaterangepicker;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mydrp .icon-mydrpright:before{content:\\\"\\\\e800\\\"}.mydrp .icon-mydrpleft:before{content:\\\"\\\\e801\\\"}.mydrp .icon-mydrpup:before{content:\\\"\\\\e802\\\"}.mydrp .icon-mydrpdown:before{content:\\\"\\\\e803\\\"}.mydrp .icon-mydrpcalendar:before{content:\\\"\\\\e804\\\"}.mydrp .icon-mydrpok:before{content:\\\"\\\\e805\\\"}.mydrp .icon-mydrpremove:before{content:\\\"\\\\e806\\\"}\"],\r\n                    template: \"<div class=\\\"mydrp\\\" [ngStyle]=\\\"{'width': opts.width, 'border': opts.inline ? 'none' : null}\\\"><div class=\\\"selectiongroup\\\" *ngIf=\\\"!opts.inline\\\"><input type=\\\"text\\\" class=\\\"selection\\\" [attr.aria-label]=\\\"opts.ariaLabelInputField\\\" (click)=\\\"opts.openSelectorOnInputClick&&!opts.editableDateRangeField&&openBtnClicked()\\\" [attr.maxlength]=\\\"dateRangeFormat.length\\\" [ngClass]=\\\"{'invaliddaterange': invalidDateRange&&opts.indicateInvalidDateRange, 'inputnoteditable': opts.openSelectorOnInputClick&&!opts.editableDateRangeField, 'selectiondisabled': opts.componentDisabled}\\\" placeholder=\\\"{{placeholder}}\\\" [ngStyle]=\\\"{'height': opts.height, 'font-size': opts.selectionTxtFontSize}\\\" [ngModel]=\\\"selectionDayTxt\\\" (ngModelChange)=\\\"onUserDateRangeInput($event)\\\" (keyup)=\\\"onCloseSelector($event)\\\" (focus)=\\\"opts.editableDateRangeField&&onFocusInput($event)\\\" (blur)=\\\"opts.editableDateRangeField&&onBlurInput($event)\\\" [value]=\\\"selectionDayTxt\\\" [disabled]=\\\"opts.componentDisabled\\\" [readonly]=\\\"!opts.editableDateRangeField\\\" autocomplete=\\\"off\\\" spellcheck=\\\"false\\\" autocorrect=\\\"off\\\"> <span class=\\\"selbtngroup\\\" [style.height]=\\\"opts.height\\\"><button type=\\\"button\\\" class=\\\"btnclear\\\" [attr.aria-label]=\\\"opts.ariaLabelClearDateRange\\\" *ngIf=\\\"selectionDayTxt.length>0&&opts.showClearDateRangeBtn\\\" (click)=\\\"removeBtnClicked();$event.stopPropagation()\\\" [ngClass]=\\\"{'btnclearenabled': !opts.componentDisabled, 'btncleardisabled': opts.componentDisabled}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydrpicon icon-mydrpremove\\\"></span></button> <button type=\\\"button\\\" class=\\\"btnpicker\\\" [attr.aria-label]=\\\"opts.ariaLabelOpenCalendar\\\" (click)=\\\"openBtnClicked()\\\" [ngClass]=\\\"{'btnpickerenabled': !opts.componentDisabled, 'btnpickerdisabled': opts.componentDisabled}\\\" [disabled]=\\\"opts.componentDisabled\\\"><span class=\\\"mydrpicon icon-mydrpcalendar\\\"></span></button></span></div><div class=\\\"selector\\\" #selectorEl *ngIf=\\\"showSelector||opts.inline\\\" [ngStyle]=\\\"{'width': opts.selectorWidth, 'height' : opts.selectorHeight}\\\" [mydrpfocus]=\\\"opts.inline?'0':'1'\\\" [ngClass]=\\\"{'inline': opts.inline, 'alignselectorright': opts.alignSelectorRight, 'selectorarrow': opts.showSelectorArrow&&!opts.inline, 'selectorarrowleft': opts.showSelectorArrow&&!opts.alignSelectorRight&&!opts.inline, 'selectorarrowright': opts.showSelectorArrow&&opts.alignSelectorRight&&!opts.inline}\\\" (keyup)=\\\"onCloseSelector($event)\\\" tabindex=\\\"0\\\"><div class=\\\"titlearea\\\" *ngIf=\\\"opts.showSelectDateText\\\"><div class=\\\"titleareatxt\\\">{{titleAreaText!==''?titleAreaText:opts.selectBeginDateTxt}}</div></div><table class=\\\"header\\\"><tr><td><div style=\\\"float:left\\\"><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" class=\\\"headerbtn mydrpicon icon-mydrpleft\\\" [attr.aria-label]=\\\"opts.ariaLabelPrevMonth\\\" (click)=\\\"onPrevMonth()\\\" [disabled]=\\\"prevMonthDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !prevMonthDisabled, 'headerbtndisabled': prevMonthDisabled}\\\"></button></div><div class=\\\"headermonthtxt\\\"><button class=\\\"headerlabelbtn\\\" type=\\\"button\\\" [ngClass]=\\\"{'monthlabel': opts.monthSelector}\\\" (click)=\\\"opts.monthSelector&&onSelectMonthClicked($event)\\\" tabindex=\\\"{{opts.monthSelector?'0':'-1'}}\\\">{{visibleMonth.monthTxt}}</button></div><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" class=\\\"headerbtn mydrpicon icon-mydrpright\\\" [attr.aria-label]=\\\"opts.ariaLabelNextMonth\\\" (click)=\\\"onNextMonth()\\\" [disabled]=\\\"nextMonthDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !nextMonthDisabled, 'headerbtndisabled': nextMonthDisabled}\\\"></button></div></div></td><td><button type=\\\"button\\\" class=\\\"headerclearbtn\\\" *ngIf=\\\"opts.showClearBtn\\\" [disabled]=\\\"beginDate.year===0&&endDate.year===0\\\" [ngClass]=\\\"{'clearbtndisabled':beginDate.year===0&&endDate.year===0, 'headerclearbtnenabled':beginDate.year!==0||endDate.year!==0}\\\" (click)=\\\"clearDateRange()\\\"><span class=\\\"mydrpicon icon-mydrpremove\\\"></span></button> <button type=\\\"button\\\" class=\\\"headerokbtn\\\" *ngIf=\\\"opts.showApplyBtn\\\" [disabled]=\\\"endDate.year===0\\\" [ngClass]=\\\"{'okbtndisabled':endDate.year===0, 'headerokbtnenabled':endDate.year!==0}\\\" (click)=\\\"rangeSelected()\\\"><span class=\\\"mydrpicon icon-mydrpok\\\"></span></button></td><td><div style=\\\"float:right\\\"><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" class=\\\"headerbtn mydrpicon icon-mydrpleft\\\" [attr.aria-label]=\\\"opts.ariaLabelPrevYear\\\" (click)=\\\"onPrevYear()\\\" [disabled]=\\\"prevYearDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !prevYearDisabled, 'headerbtndisabled': prevYearDisabled}\\\"></button></div><div class=\\\"headeryeartxt\\\"><button class=\\\"headerlabelbtn\\\" type=\\\"button\\\" [ngClass]=\\\"{'yearlabel': opts.yearSelector}\\\" (click)=\\\"opts.yearSelector&&onSelectYearClicked($event)\\\" tabindex=\\\"{{opts.yearSelector?'0':'-1'}}\\\">{{visibleMonth.year}}</button></div><div class=\\\"headerbtncell\\\"><button type=\\\"button\\\" class=\\\"headerbtn mydrpicon icon-mydrpright\\\" [attr.aria-label]=\\\"opts.ariaLabelNextYear\\\" (click)=\\\"onNextYear()\\\" [disabled]=\\\"nextYearDisabled\\\" [ngClass]=\\\"{'headerbtnenabled': !nextYearDisabled, 'headerbtndisabled': nextYearDisabled}\\\"></button></div></div></td></tr></table><table class=\\\"caltable\\\" *ngIf=\\\"!selectMonth&&!selectYear\\\" [ngStyle]=\\\"{'height': opts.showSelectDateText?'calc(100% - 54px)':'calc(100% - 30px)'}\\\"><thead><tr><th class=\\\"weekdaytitle weekdaytitleweeknbr\\\" *ngIf=\\\"opts.showWeekNumbers&&opts.firstDayOfWeek==='mo'\\\">#</th><th class=\\\"weekdaytitle\\\" scope=\\\"col\\\" *ngFor=\\\"let d of weekDays\\\">{{d}}</th></tr></thead><tbody><tr *ngFor=\\\"let w of dates\\\"><td class=\\\"daycell daycellweeknbr\\\" *ngIf=\\\"opts.showWeekNumbers&&opts.firstDayOfWeek==='mo'\\\">{{w.weekNbr}}</td><td class=\\\"daycell\\\" *ngFor=\\\"let d of w.week\\\" [ngClass]=\\\"{'currmonth':d.cmo===currMonthId&&!d.disabled, 'range': isInRange(d)||d.range, 'disabled': d.disabled}\\\" (click)=\\\"!d.disabled && onCellClicked(d);$event.stopPropagation()\\\" (keydown)=\\\"onCellKeyDown($event, d)\\\" (mouseenter)=\\\"onCellMouseEnter(d)\\\" (mouseleave)=\\\"onCellMouseLeave()\\\" tabindex=\\\"0\\\"><div class=\\\"datevalue\\\" [ngClass]=\\\"{'prevmonth':d.cmo===prevMonthId, 'selecteddaybegin':beginDate.day===d.dateObj.day&&beginDate.month===d.dateObj.month&&beginDate.year===d.dateObj.year, 'selecteddayend':endDate.day===d.dateObj.day&&endDate.month===d.dateObj.month&&endDate.year===d.dateObj.year, 'currmonth':d.cmo===currMonthId, 'nextmonth':d.cmo===nextMonthId, 'sunday':d.dayNbr===0&&opts.sunHighlight}\\\"><span [ngClass]=\\\"{'markcurrday':d.currDay&&opts.markCurrentDay, 'sundayDim': opts.sunHighlight && d.dayNbr === 0 && (d.cmo===prevMonthId || d.cmo===nextMonthId || d.disabled)}\\\">{{d.dateObj.day}}</span></div></td></tr></tbody></table><table class=\\\"monthtable\\\" *ngIf=\\\"selectMonth\\\" [ngStyle]=\\\"{'height': opts.showSelectDateText?'calc(100% - 54px)':'calc(100% - 30px)'}\\\"><tbody><tr *ngFor=\\\"let mr of months\\\"><td class=\\\"monthcell tablesinglemonth\\\" [ngClass]=\\\"{'selectedmonth': m.selected, 'disabled': m.disabled}\\\" *ngFor=\\\"let m of mr\\\" (click)=\\\"!m.disabled&&onMonthCellClicked(m);$event.stopPropagation()\\\" (keydown)=\\\"onMonthCellKeyDown($event, m)\\\" tabindex=\\\"0\\\"><div class=\\\"monthvalue\\\" [ngClass]=\\\"{'markcurrmonth':m.currMonth&&opts.markCurrentMonth}\\\">{{m.name}}</div></td></tr></tbody></table><table class=\\\"yeartable\\\" *ngIf=\\\"selectYear\\\" [ngStyle]=\\\"{'height': opts.showSelectDateText?'calc(100% - 54px)':'calc(100% - 30px)'}\\\"><tbody><tr><td colspan=\\\"5\\\" class=\\\"yearchangebtncell\\\" (click)=\\\"$event.stopPropagation()\\\"><button type=\\\"button\\\" class=\\\"yearchangebtn mydrpicon icon-mydrpup\\\" (click)=\\\"onPrevYears($event, years[0][0].year)\\\" [disabled]=\\\"prevYearsDisabled\\\" [ngClass]=\\\"{'yearchangebtnenabled': !prevYearsDisabled, 'yearchangebtndisabled': prevYearsDisabled}\\\"></button></td></tr><tr *ngFor=\\\"let yr of years\\\"><td class=\\\"yearcell tablesingleyear\\\" [ngClass]=\\\"{'selectedyear': y.selected, 'disabled': y.disabled}\\\" *ngFor=\\\"let y of yr\\\" (click)=\\\"!y.disabled&&onYearCellClicked(y);$event.stopPropagation()\\\" (keydown)=\\\"onYearCellKeyDown($event, y)\\\" tabindex=\\\"0\\\"><div class=\\\"yearvalue\\\" [ngClass]=\\\"{'markcurryear':y.currYear&&opts.markCurrentYear}\\\">{{y.year}}</div></td></tr><tr><td colspan=\\\"5\\\" class=\\\"yearchangebtncell\\\" (click)=\\\"$event.stopPropagation()\\\"><button type=\\\"button\\\" class=\\\"yearchangebtn mydrpicon icon-mydrpdown\\\" (click)=\\\"onNextYears($event, years[0][0].year)\\\" [disabled]=\\\"nextYearsDisabled\\\" [ngClass]=\\\"{'yearchangebtnenabled': !nextYearsDisabled, 'yearchangebtndisabled': nextYearsDisabled}\\\"></button></td></tr></tbody></table></div></div>\",\r\n                    providers: [DateRangeUtilService, MYDRP_VALUE_ACCESSOR],\r\n                    encapsulation: ViewEncapsulation.None\r\n                },] },\r\n    ];\r\n    MyDateRangePicker.ctorParameters = [\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n        { type: ChangeDetectorRef, },\r\n        { type: DateRangeUtilService, },\r\n    ];\r\n    MyDateRangePicker.propDecorators = {\r\n        'options': [{ type: Input },],\r\n        'defaultMonth': [{ type: Input },],\r\n        'selDateRange': [{ type: Input },],\r\n        'placeholder': [{ type: Input },],\r\n        'dateRangeChanged': [{ type: Output },],\r\n        'inputFieldChanged': [{ type: Output },],\r\n        'calendarViewChanged': [{ type: Output },],\r\n        'inputFocusBlur': [{ type: Output },],\r\n        'dateSelected': [{ type: Output },],\r\n        'selectorEl': [{ type: ViewChild, args: [\"selectorEl\",] },],\r\n    };\r\n    return MyDateRangePicker;\r\n}());\r\n//# sourceMappingURL=my-date-range-picker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/my-date-range-picker.component.js\n// module id = 539\n// module chunks = 3","import { Component, HostBinding, Inject, Input } from '@angular/core';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nimport { AccordionComponent } from './accordion.component';\r\n/*\r\n * ### Accordion heading\r\n\r\n Instead of using `heading` attribute on the `accordion-group`, you can use an `accordion-heading` attribute on `any` element inside of a group that will be used as group's header template.\r\n\r\n * */\r\nexport var AccordionPanelComponent = (function () {\r\n    function AccordionPanelComponent(accordion) {\r\n        this.accordion = accordion;\r\n    }\r\n    Object.defineProperty(AccordionPanelComponent.prototype, \"isOpen\", {\r\n        // Questionable, maybe .panel-open should be on child div.panel element?\r\n        /** Is accordion group open or closed */\r\n        get: function () {\r\n            return this._isOpen;\r\n        },\r\n        set: function (value) {\r\n            this._isOpen = value;\r\n            if (value) {\r\n                this.accordion.closeOtherPanels(this);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(AccordionPanelComponent.prototype, \"isBs3\", {\r\n        get: function () {\r\n            return isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    AccordionPanelComponent.prototype.ngOnInit = function () {\r\n        this.panelClass = this.panelClass || 'panel-default';\r\n        this.accordion.addGroup(this);\r\n    };\r\n    AccordionPanelComponent.prototype.ngOnDestroy = function () {\r\n        this.accordion.removeGroup(this);\r\n    };\r\n    AccordionPanelComponent.prototype.toggleOpen = function (event) {\r\n        if (!this.isDisabled) {\r\n            this.isOpen = !this.isOpen;\r\n        }\r\n    };\r\n    AccordionPanelComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'accordion-group, accordion-panel',\r\n                    template: \"\\n<div class=\\\"panel card\\\" [ngClass]=\\\"panelClass\\\">\\n  <div class=\\\"panel-heading card-header\\\" role=\\\"tab\\\" (click)=\\\"toggleOpen($event)\\\">\\n    <div class=\\\"panel-title card-title\\\">\\n      <div role=\\\"button\\\" class=\\\"accordion-toggle\\\" [attr.aria-expanded]=\\\"isOpen\\\">\\n        <div *ngIf=\\\"heading\\\"[ngClass]=\\\"{'text-muted': isDisabled}\\\">{{heading}}</div>\\n        <ng-content select=\\\"[accordion-heading]\\\"></ng-content>\\n      </div>\\n    </div>\\n  </div>\\n  <div class=\\\"panel-collapse collapse\\\" role=\\\"tabpanel\\\" [collapse]=\\\"!isOpen\\\">\\n    <div class=\\\"panel-body card-block\\\">\\n      <ng-content></ng-content>\\n    </div>\\n  </div>\\n</div>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    AccordionPanelComponent.ctorParameters = function () { return [\r\n        { type: AccordionComponent, decorators: [{ type: Inject, args: [AccordionComponent,] },] },\r\n    ]; };\r\n    AccordionPanelComponent.propDecorators = {\r\n        'heading': [{ type: Input },],\r\n        'panelClass': [{ type: Input },],\r\n        'isDisabled': [{ type: Input },],\r\n        'isOpen': [{ type: HostBinding, args: ['class.panel-open',] }, { type: Input },],\r\n    };\r\n    return AccordionPanelComponent;\r\n}());\r\n//# sourceMappingURL=accordion-group.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/accordion/accordion-group.component.js\n// module id = 540\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { CollapseModule } from '../collapse/collapse.module';\r\nimport { AccordionPanelComponent } from './accordion-group.component';\r\nimport { AccordionComponent } from './accordion.component';\r\nimport { AccordionConfig } from './accordion.config';\r\nexport var AccordionModule = (function () {\r\n    function AccordionModule() {\r\n    }\r\n    AccordionModule.forRoot = function () { return { ngModule: AccordionModule, providers: [AccordionConfig] }; };\r\n    AccordionModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule, CollapseModule],\r\n                    declarations: [AccordionComponent, AccordionPanelComponent],\r\n                    exports: [AccordionComponent, AccordionPanelComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    AccordionModule.ctorParameters = function () { return []; };\r\n    return AccordionModule;\r\n}());\r\n//# sourceMappingURL=accordion.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/accordion/accordion.module.js\n// module id = 541\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { AlertConfig } from './alert.config';\r\nimport { OnChange } from '../utils/decorators';\r\nexport var AlertComponent = (function () {\r\n    function AlertComponent(_config) {\r\n        var _this = this;\r\n        /** Alert type. Provides one of four bootstrap supported contextual classes: `success`, `info`, `warning` and `danger` */\r\n        this.type = 'warning';\r\n        /** If set, displays an inline \"Close\" button */\r\n        this.dismissible = false;\r\n        /** This event fires immediately after close instance method is called, $event is an instance of Alert component. */\r\n        this.onClose = new EventEmitter();\r\n        /** This event fires when alert closed, $event is an instance of Alert component */\r\n        this.onClosed = new EventEmitter();\r\n        this.isClosed = false;\r\n        this.classes = '';\r\n        this.dismissibleChange = new EventEmitter();\r\n        Object.assign(this, _config);\r\n        this.dismissibleChange.subscribe(function (dismissible) {\r\n            _this.classes = _this.dismissible ? 'alert-dismissible' : '';\r\n        });\r\n    }\r\n    AlertComponent.prototype.ngOnInit = function () {\r\n        var _this = this;\r\n        if (this.dismissOnTimeout) {\r\n            // if dismissOnTimeout used as attr without binding, it will be a string\r\n            setTimeout(function () { return _this.close(); }, parseInt(this.dismissOnTimeout, 10));\r\n        }\r\n    };\r\n    // todo: animation ` If the .fade and .in classes are present on the element,\r\n    // the alert will fade out before it is removed`\r\n    /**\r\n     * Closes an alert by removing it from the DOM.\r\n     */\r\n    AlertComponent.prototype.close = function () {\r\n        if (this.isClosed) {\r\n            return;\r\n        }\r\n        this.onClose.emit(this);\r\n        this.isClosed = true;\r\n        this.onClosed.emit(this);\r\n    };\r\n    AlertComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'alert,ngx-alert',\r\n                    template: \"\\n<template [ngIf]=\\\"!isClosed\\\">\\n  <div [class]=\\\"'alert alert-' + type\\\" role=\\\"alert\\\" [ngClass]=\\\"classes\\\">\\n    <template [ngIf]=\\\"dismissible\\\">\\n      <button type=\\\"button\\\" class=\\\"close\\\" aria-label=\\\"Close\\\" (click)=\\\"close()\\\">\\n        <span aria-hidden=\\\"true\\\">&times;</span>\\n        <span class=\\\"sr-only\\\">Close</span>\\n      </button>\\n    </template>\\n    <ng-content></ng-content>\\n  </div>\\n</template>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    AlertComponent.ctorParameters = function () { return [\r\n        { type: AlertConfig, },\r\n    ]; };\r\n    AlertComponent.propDecorators = {\r\n        'type': [{ type: Input },],\r\n        'dismissible': [{ type: Input },],\r\n        'dismissOnTimeout': [{ type: Input },],\r\n        'onClose': [{ type: Output },],\r\n        'onClosed': [{ type: Output },],\r\n    };\r\n    __decorate([\r\n        OnChange(), \r\n        __metadata('design:type', Boolean)\r\n    ], AlertComponent.prototype, \"dismissible\", void 0);\r\n    return AlertComponent;\r\n}());\r\n//# sourceMappingURL=alert.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/alert/alert.component.js\n// module id = 542\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { AlertComponent } from './alert.component';\r\nimport { AlertConfig } from './alert.config';\r\nexport var AlertModule = (function () {\r\n    function AlertModule() {\r\n    }\r\n    AlertModule.forRoot = function () {\r\n        return { ngModule: AlertModule, providers: [AlertConfig] };\r\n    };\r\n    AlertModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [AlertComponent],\r\n                    exports: [AlertComponent],\r\n                    entryComponents: [AlertComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    AlertModule.ctorParameters = function () { return []; };\r\n    return AlertModule;\r\n}());\r\n//# sourceMappingURL=alert.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/alert/alert.module.js\n// module id = 543\n// module chunks = 3","import { Directive, HostBinding, HostListener, Input, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n// TODO: config: activeClass - Class to apply to the checked buttons\r\nexport var CHECKBOX_CONTROL_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return ButtonCheckboxDirective; }),\r\n    multi: true\r\n};\r\n/**\r\n * Add checkbox functionality to any element\r\n */\r\nexport var ButtonCheckboxDirective = (function () {\r\n    function ButtonCheckboxDirective() {\r\n        /** Truthy value, will be set to ngModel */\r\n        this.btnCheckboxTrue = true;\r\n        /** Falsy value, will be set to ngModel */\r\n        this.btnCheckboxFalse = false;\r\n        this.state = false;\r\n        this.onChange = Function.prototype;\r\n        this.onTouched = Function.prototype;\r\n    }\r\n    // view -> model\r\n    ButtonCheckboxDirective.prototype.onClick = function () {\r\n        if (this.isDisabled) {\r\n            return;\r\n        }\r\n        this.toggle(!this.state);\r\n        this.onChange(this.value);\r\n    };\r\n    ButtonCheckboxDirective.prototype.ngOnInit = function () {\r\n        this.toggle(this.trueValue === this.value);\r\n    };\r\n    Object.defineProperty(ButtonCheckboxDirective.prototype, \"trueValue\", {\r\n        get: function () {\r\n            return typeof this.btnCheckboxTrue !== 'undefined'\r\n                ? this.btnCheckboxTrue\r\n                : true;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(ButtonCheckboxDirective.prototype, \"falseValue\", {\r\n        get: function () {\r\n            return typeof this.btnCheckboxFalse !== 'undefined'\r\n                ? this.btnCheckboxFalse\r\n                : false;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ButtonCheckboxDirective.prototype.toggle = function (state) {\r\n        this.state = state;\r\n        this.value = this.state ? this.trueValue : this.falseValue;\r\n    };\r\n    // ControlValueAccessor\r\n    // model -> view\r\n    ButtonCheckboxDirective.prototype.writeValue = function (value) {\r\n        this.state = this.trueValue === value;\r\n        this.value = value ? this.trueValue : this.falseValue;\r\n    };\r\n    ButtonCheckboxDirective.prototype.setDisabledState = function (isDisabled) {\r\n        this.isDisabled = isDisabled;\r\n    };\r\n    ButtonCheckboxDirective.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    ButtonCheckboxDirective.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    ButtonCheckboxDirective.decorators = [\r\n        { type: Directive, args: [{ selector: '[btnCheckbox]', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR] },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ButtonCheckboxDirective.ctorParameters = function () { return []; };\r\n    ButtonCheckboxDirective.propDecorators = {\r\n        'btnCheckboxTrue': [{ type: Input },],\r\n        'btnCheckboxFalse': [{ type: Input },],\r\n        'state': [{ type: HostBinding, args: ['class.active',] },],\r\n        'onClick': [{ type: HostListener, args: ['click',] },],\r\n    };\r\n    return ButtonCheckboxDirective;\r\n}());\r\n//# sourceMappingURL=button-checkbox.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/buttons/button-checkbox.directive.js\n// module id = 544\n// module chunks = 3","import { Directive, ElementRef, HostBinding, forwardRef, HostListener, Input } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nexport var RADIO_CONTROL_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return ButtonRadioDirective; }),\r\n    multi: true\r\n};\r\n/**\r\n * Create radio buttons or groups of buttons.\r\n * A value of a selected button is bound to a variable specified via ngModel.\r\n */\r\nexport var ButtonRadioDirective = (function () {\r\n    function ButtonRadioDirective(el) {\r\n        this.onChange = Function.prototype;\r\n        this.onTouched = Function.prototype;\r\n        this.el = el;\r\n    }\r\n    Object.defineProperty(ButtonRadioDirective.prototype, \"isActive\", {\r\n        get: function () {\r\n            return this.btnRadio === this.value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ButtonRadioDirective.prototype.onClick = function () {\r\n        if (this.el.nativeElement.attributes.disabled) {\r\n            return;\r\n        }\r\n        if (this.uncheckable && this.btnRadio === this.value) {\r\n            this.value = undefined;\r\n        }\r\n        else {\r\n            this.value = this.btnRadio;\r\n        }\r\n        this.onTouched();\r\n        this.onChange(this.value);\r\n    };\r\n    ButtonRadioDirective.prototype.ngOnInit = function () {\r\n        this.uncheckable = typeof this.uncheckable !== 'undefined';\r\n    };\r\n    ButtonRadioDirective.prototype.onBlur = function () {\r\n        this.onTouched();\r\n    };\r\n    // ControlValueAccessor\r\n    // model -> view\r\n    ButtonRadioDirective.prototype.writeValue = function (value) {\r\n        this.value = value;\r\n    };\r\n    ButtonRadioDirective.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    ButtonRadioDirective.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    ButtonRadioDirective.decorators = [\r\n        { type: Directive, args: [{ selector: '[btnRadio]', providers: [RADIO_CONTROL_VALUE_ACCESSOR] },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ButtonRadioDirective.ctorParameters = function () { return [\r\n        { type: ElementRef, },\r\n    ]; };\r\n    ButtonRadioDirective.propDecorators = {\r\n        'btnRadio': [{ type: Input },],\r\n        'uncheckable': [{ type: Input },],\r\n        'value': [{ type: Input },],\r\n        'isActive': [{ type: HostBinding, args: ['class.active',] },],\r\n        'onClick': [{ type: HostListener, args: ['click',] },],\r\n    };\r\n    return ButtonRadioDirective;\r\n}());\r\n//# sourceMappingURL=button-radio.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/buttons/button-radio.directive.js\n// module id = 545\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { ButtonCheckboxDirective } from './button-checkbox.directive';\r\nimport { ButtonRadioDirective } from './button-radio.directive';\r\nexport var ButtonsModule = (function () {\r\n    function ButtonsModule() {\r\n    }\r\n    ButtonsModule.forRoot = function () {\r\n        return { ngModule: ButtonsModule, providers: [] };\r\n    };\r\n    ButtonsModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    declarations: [ButtonCheckboxDirective, ButtonRadioDirective],\r\n                    exports: [ButtonCheckboxDirective, ButtonRadioDirective]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ButtonsModule.ctorParameters = function () { return []; };\r\n    return ButtonsModule;\r\n}());\r\n//# sourceMappingURL=buttons.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/buttons/buttons.module.js\n// module id = 546\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { CarouselComponent } from './carousel.component';\r\nimport { SlideComponent } from './slide.component';\r\nimport { CarouselConfig } from './carousel.config';\r\nexport var CarouselModule = (function () {\r\n    function CarouselModule() {\r\n    }\r\n    CarouselModule.forRoot = function () {\r\n        return { ngModule: CarouselModule, providers: [] };\r\n    };\r\n    CarouselModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [SlideComponent, CarouselComponent],\r\n                    exports: [SlideComponent, CarouselComponent],\r\n                    providers: [CarouselConfig]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    CarouselModule.ctorParameters = function () { return []; };\r\n    return CarouselModule;\r\n}());\r\n//# sourceMappingURL=carousel.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/carousel/carousel.module.js\n// module id = 547\n// module chunks = 3","import { Component, HostBinding, Input } from '@angular/core';\r\nimport { CarouselComponent } from './carousel.component';\r\nexport var SlideComponent = (function () {\r\n    function SlideComponent(carousel) {\r\n        /** Wraps element by appropriate CSS classes */\r\n        this.addClass = true;\r\n        this.carousel = carousel;\r\n    }\r\n    /** Fires changes in container collection after adding a new slide instance */\r\n    SlideComponent.prototype.ngOnInit = function () {\r\n        this.carousel.addSlide(this);\r\n    };\r\n    /** Fires changes in container collection after removing of this slide instance */\r\n    SlideComponent.prototype.ngOnDestroy = function () {\r\n        this.carousel.removeSlide(this);\r\n    };\r\n    SlideComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'slide',\r\n                    template: \"\\n    <div [class.active]=\\\"active\\\" class=\\\"item\\\">\\n      <ng-content></ng-content>\\n    </div>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    SlideComponent.ctorParameters = function () { return [\r\n        { type: CarouselComponent, },\r\n    ]; };\r\n    SlideComponent.propDecorators = {\r\n        'active': [{ type: HostBinding, args: ['class.active',] }, { type: Input },],\r\n        'addClass': [{ type: HostBinding, args: ['class.item',] }, { type: HostBinding, args: ['class.carousel-item',] },],\r\n    };\r\n    return SlideComponent;\r\n}());\r\n//# sourceMappingURL=slide.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/carousel/slide.component.js\n// module id = 548\n// module chunks = 3","import { Directive, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer } from '@angular/core';\r\nexport var CollapseDirective = (function () {\r\n    function CollapseDirective(_el, _renderer) {\r\n        /** This event fires as soon as content collapses */\r\n        this.collapsed = new EventEmitter();\r\n        /** This event fires as soon as content becomes visible */\r\n        this.expanded = new EventEmitter();\r\n        // shown\r\n        this.isExpanded = true;\r\n        // hidden\r\n        this.isCollapsed = false;\r\n        // stale state\r\n        this.isCollapse = true;\r\n        // animation state\r\n        this.isCollapsing = false;\r\n        this._el = _el;\r\n        this._renderer = _renderer;\r\n    }\r\n    Object.defineProperty(CollapseDirective.prototype, \"collapse\", {\r\n        get: function () {\r\n            return this.isExpanded;\r\n        },\r\n        /** A flag indicating visibility of content (shown or hidden) */\r\n        set: function (value) {\r\n            this.isExpanded = value;\r\n            this.toggle();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /** allows to manually toggle content visibility */\r\n    CollapseDirective.prototype.toggle = function () {\r\n        if (this.isExpanded) {\r\n            this.hide();\r\n        }\r\n        else {\r\n            this.show();\r\n        }\r\n    };\r\n    /** allows to manually hide content */\r\n    CollapseDirective.prototype.hide = function () {\r\n        this.isCollapse = false;\r\n        this.isCollapsing = true;\r\n        this.isExpanded = false;\r\n        this.isCollapsed = true;\r\n        this.isCollapse = true;\r\n        this.isCollapsing = false;\r\n        this.display = 'none';\r\n        this.collapsed.emit(this);\r\n    };\r\n    /** allows to manually show collapsed content */\r\n    CollapseDirective.prototype.show = function () {\r\n        this.isCollapse = false;\r\n        this.isCollapsing = true;\r\n        this.isExpanded = true;\r\n        this.isCollapsed = false;\r\n        this.display = 'block';\r\n        // this.height = 'auto';\r\n        this.isCollapse = true;\r\n        this.isCollapsing = false;\r\n        this._renderer.setElementStyle(this._el.nativeElement, 'overflow', 'visible');\r\n        this._renderer.setElementStyle(this._el.nativeElement, 'height', 'auto');\r\n        this.expanded.emit(this);\r\n    };\r\n    CollapseDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: '[collapse]',\r\n                    exportAs: 'bs-collapse',\r\n                    /* tslint:disable-next-line */\r\n                    host: { '[class.collapse]': 'true' } /*,\r\n                    animations: [\r\n                      trigger('active', [\r\n                        state('void', style({height: 0})),\r\n                        state('closed', style({height: 0})),\r\n                        state('open', style({height: '*'})),\r\n                        transition('void => closed', [animate(0)]),\r\n                        transition('closed => open', [animate('350ms ease-out')]),\r\n                        transition('open => closed', [animate('350ms ease-out')])\r\n                      ])\r\n                    ]*/\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    CollapseDirective.ctorParameters = function () { return [\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n    ]; };\r\n    CollapseDirective.propDecorators = {\r\n        'collapsed': [{ type: Output },],\r\n        'expanded': [{ type: Output },],\r\n        'display': [{ type: HostBinding, args: ['style.display',] },],\r\n        'isExpanded': [{ type: HostBinding, args: ['class.in',] }, { type: HostBinding, args: ['class.show',] }, { type: HostBinding, args: ['attr.aria-expanded',] },],\r\n        'isCollapsed': [{ type: HostBinding, args: ['attr.aria-hidden',] },],\r\n        'isCollapse': [{ type: HostBinding, args: ['class.collapse',] },],\r\n        'isCollapsing': [{ type: HostBinding, args: ['class.collapsing',] },],\r\n        'collapse': [{ type: Input },],\r\n    };\r\n    return CollapseDirective;\r\n}());\r\n//# sourceMappingURL=collapse.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/collapse/collapse.directive.js\n// module id = 549\n// module chunks = 3","import { TemplateRef, EventEmitter, ReflectiveInjector } from '@angular/core';\r\nimport { ContentRef } from './content-ref.class';\r\nimport { listenToTriggers } from '../utils/triggers';\r\nexport var ComponentLoader = (function () {\r\n    /**\r\n     * Do not use this directly, it should be instanced via\r\n     * `ComponentLoadFactory.attach`\r\n     * @internal\r\n     * @param _viewContainerRef\r\n     * @param _elementRef\r\n     * @param _injector\r\n     * @param _renderer\r\n     * @param _componentFactoryResolver\r\n     * @param _ngZone\r\n     * @param _posService\r\n     */\r\n    // tslint:disable-next-line\r\n    function ComponentLoader(_viewContainerRef, _renderer, _elementRef, _injector, _componentFactoryResolver, _ngZone, _posService) {\r\n        this.onBeforeShow = new EventEmitter();\r\n        this.onShown = new EventEmitter();\r\n        this.onBeforeHide = new EventEmitter();\r\n        this.onHidden = new EventEmitter();\r\n        this._providers = [];\r\n        this._ngZone = _ngZone;\r\n        this._injector = _injector;\r\n        this._renderer = _renderer;\r\n        this._elementRef = _elementRef;\r\n        this._posService = _posService;\r\n        this._viewContainerRef = _viewContainerRef;\r\n        this._componentFactoryResolver = _componentFactoryResolver;\r\n    }\r\n    Object.defineProperty(ComponentLoader.prototype, \"isShown\", {\r\n        get: function () {\r\n            return !!this._componentRef;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ;\r\n    ComponentLoader.prototype.attach = function (compType) {\r\n        this._componentFactory = this._componentFactoryResolver\r\n            .resolveComponentFactory(compType);\r\n        return this;\r\n    };\r\n    // todo: add behaviour: to target element, `body`, custom element\r\n    ComponentLoader.prototype.to = function (container) {\r\n        this.container = container || this.container;\r\n        return this;\r\n    };\r\n    ComponentLoader.prototype.position = function (opts) {\r\n        this.attachment = opts.attachment || this.attachment;\r\n        this._elementRef = opts.target || this._elementRef;\r\n        return this;\r\n    };\r\n    ComponentLoader.prototype.provide = function (provider) {\r\n        this._providers.push(provider);\r\n        return this;\r\n    };\r\n    ComponentLoader.prototype.show = function (opts) {\r\n        if (opts === void 0) { opts = {}; }\r\n        this._subscribePositioning();\r\n        if (!this._componentRef) {\r\n            this.onBeforeShow.emit();\r\n            this._contentRef = this._getContentRef(opts.content);\r\n            var injector = ReflectiveInjector.resolveAndCreate(this._providers, this._injector);\r\n            this._componentRef = this._viewContainerRef\r\n                .createComponent(this._componentFactory, 0, injector, this._contentRef.nodes);\r\n            this.instance = this._componentRef.instance;\r\n            Object.assign(this._componentRef.instance, opts);\r\n            if (this.container === 'body' && typeof document !== 'undefined') {\r\n                document.querySelector(this.container)\r\n                    .appendChild(this._componentRef.location.nativeElement);\r\n            }\r\n            // we need to manually invoke change detection since events registered\r\n            // via\r\n            // Renderer::listen() are not picked up by change detection with the\r\n            // OnPush strategy\r\n            this._componentRef.changeDetectorRef.markForCheck();\r\n            this.onShown.emit(this._componentRef.instance);\r\n        }\r\n        return this._componentRef;\r\n    };\r\n    ComponentLoader.prototype.hide = function () {\r\n        if (this._componentRef) {\r\n            this.onBeforeHide.emit(this._componentRef.instance);\r\n            this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._componentRef.hostView));\r\n            this._componentRef = null;\r\n            if (this._contentRef.viewRef) {\r\n                this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef));\r\n                this._contentRef = null;\r\n            }\r\n            this._componentRef = null;\r\n            this.onHidden.emit();\r\n        }\r\n        return this;\r\n    };\r\n    ComponentLoader.prototype.toggle = function () {\r\n        if (this.isShown) {\r\n            this.hide();\r\n            return;\r\n        }\r\n        this.show();\r\n    };\r\n    ComponentLoader.prototype.dispose = function () {\r\n        if (this.isShown) {\r\n            this.hide();\r\n        }\r\n        this._unsubscribePositioning();\r\n        if (this._unregisterListenersFn) {\r\n            this._unregisterListenersFn();\r\n        }\r\n    };\r\n    ComponentLoader.prototype.listen = function (listenOpts) {\r\n        var _this = this;\r\n        this.triggers = listenOpts.triggers || this.triggers;\r\n        listenOpts.target = listenOpts.target || this._elementRef;\r\n        listenOpts.show = listenOpts.show || (function () { return _this.show(); });\r\n        listenOpts.hide = listenOpts.hide || (function () { return _this.hide(); });\r\n        listenOpts.toggle = listenOpts.toggle || (function () { return _this.isShown\r\n            ? listenOpts.hide()\r\n            : listenOpts.show(); });\r\n        this._unregisterListenersFn = listenToTriggers(this._renderer, listenOpts.target.nativeElement, this.triggers, listenOpts.show, listenOpts.hide, listenOpts.toggle);\r\n        return this;\r\n    };\r\n    ComponentLoader.prototype._subscribePositioning = function () {\r\n        var _this = this;\r\n        if (this._zoneSubscription || !this.attachment) {\r\n            return;\r\n        }\r\n        this._zoneSubscription = this._ngZone\r\n            .onStable.subscribe(function () {\r\n            if (!_this._componentRef) {\r\n                return;\r\n            }\r\n            _this._posService.position({\r\n                element: _this._componentRef.location,\r\n                target: _this._elementRef,\r\n                attachment: _this.attachment,\r\n                appendToBody: _this.container === 'body'\r\n            });\r\n        });\r\n    };\r\n    ComponentLoader.prototype._unsubscribePositioning = function () {\r\n        if (!this._zoneSubscription) {\r\n            return;\r\n        }\r\n        this._zoneSubscription.unsubscribe();\r\n        this._zoneSubscription = null;\r\n    };\r\n    ComponentLoader.prototype._getContentRef = function (content) {\r\n        if (!content) {\r\n            return new ContentRef([]);\r\n        }\r\n        if (content instanceof TemplateRef) {\r\n            var viewRef = this._viewContainerRef\r\n                .createEmbeddedView(content);\r\n            return new ContentRef([viewRef.rootNodes], viewRef);\r\n        }\r\n        return new ContentRef([[this._renderer.createText(null, \"\" + content)]]);\r\n    };\r\n    return ComponentLoader;\r\n}());\r\n//# sourceMappingURL=component-loader.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/component-loader/component-loader.class.js\n// module id = 550\n// module chunks = 3","import { Injectable, NgZone, ComponentFactoryResolver, Injector } from '@angular/core';\r\nimport { ComponentLoader } from './component-loader.class';\r\nimport { PositioningService } from '../positioning';\r\nexport var ComponentLoaderFactory = (function () {\r\n    function ComponentLoaderFactory(componentFactoryResolver, ngZone, injector, posService) {\r\n        this._ngZone = ngZone;\r\n        this._injector = injector;\r\n        this._posService = posService;\r\n        this._componentFactoryResolver = componentFactoryResolver;\r\n    }\r\n    /**\r\n     *\r\n     * @param _elementRef\r\n     * @param _viewContainerRef\r\n     * @param _renderer\r\n     * @returns {ComponentLoader}\r\n     */\r\n    ComponentLoaderFactory.prototype.createLoader = function (_elementRef, _viewContainerRef, _renderer) {\r\n        return new ComponentLoader(_viewContainerRef, _renderer, _elementRef, this._injector, this._componentFactoryResolver, this._ngZone, this._posService);\r\n    };\r\n    ComponentLoaderFactory.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    ComponentLoaderFactory.ctorParameters = function () { return [\r\n        { type: ComponentFactoryResolver, },\r\n        { type: NgZone, },\r\n        { type: Injector, },\r\n        { type: PositioningService, },\r\n    ]; };\r\n    return ComponentLoaderFactory;\r\n}());\r\n//# sourceMappingURL=component-loader.factory.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/component-loader/component-loader.factory.js\n// module id = 551\n// module chunks = 3","/**\r\n * @copyright Valor Software\r\n * @copyright Angular ng-bootstrap team\r\n */\r\nexport var ContentRef = (function () {\r\n    function ContentRef(nodes, viewRef, componentRef) {\r\n        this.nodes = nodes;\r\n        this.viewRef = viewRef;\r\n        this.componentRef = componentRef;\r\n    }\r\n    return ContentRef;\r\n}());\r\n//# sourceMappingURL=content-ref.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/component-loader/content-ref.class.js\n// module id = 552\n// module chunks = 3","import moment from 'moment';\r\nexport var DateFormatter = (function () {\r\n    function DateFormatter() {\r\n    }\r\n    DateFormatter.prototype.format = function (date, format) {\r\n        return moment(date.getTime()).format(format);\r\n    };\r\n    return DateFormatter;\r\n}());\r\n//# sourceMappingURL=date-formatter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/date-formatter.js\n// module id = 553\n// module chunks = 3","import { Component, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\r\nimport { DatepickerConfig } from './datepicker.config';\r\nexport var DATEPICKER_CONTROL_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return DatePickerComponent; }),\r\n    multi: true\r\n};\r\n/* tslint:disable:component-selector-name component-selector-type */\r\n/* tslint:enable:component-selector-name component-selector-type */\r\nexport var DatePickerComponent = (function () {\r\n    function DatePickerComponent(config) {\r\n        /** sets datepicker mode, supports: `day`, `month`, `year` */\r\n        this.datepickerMode = 'day';\r\n        /** if false week numbers will be hidden */\r\n        this.showWeeks = true;\r\n        this.selectionDone = new EventEmitter(undefined);\r\n        /** callback to invoke when the activeDate is changed. */\r\n        this.activeDateChange = new EventEmitter(undefined);\r\n        this.onChange = Function.prototype;\r\n        this.onTouched = Function.prototype;\r\n        this._now = new Date();\r\n        this.config = config;\r\n        this.configureOptions();\r\n    }\r\n    Object.defineProperty(DatePickerComponent.prototype, \"activeDate\", {\r\n        /** currently active date */\r\n        get: function () {\r\n            return this._activeDate || this._now;\r\n        },\r\n        set: function (value) {\r\n            this._activeDate = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    DatePickerComponent.prototype.configureOptions = function () {\r\n        Object.assign(this, this.config);\r\n    };\r\n    DatePickerComponent.prototype.onUpdate = function (event) {\r\n        this.activeDate = event;\r\n        this.onChange(event);\r\n    };\r\n    DatePickerComponent.prototype.onSelectionDone = function (event) {\r\n        this.selectionDone.emit(event);\r\n    };\r\n    DatePickerComponent.prototype.onActiveDateChange = function (event) {\r\n        this.activeDateChange.emit(event);\r\n    };\r\n    // todo: support null value\r\n    DatePickerComponent.prototype.writeValue = function (value) {\r\n        if (this._datePicker.compare(value, this._activeDate) === 0) {\r\n            return;\r\n        }\r\n        if (value && value instanceof Date) {\r\n            this.activeDate = value;\r\n            this._datePicker.select(value, false);\r\n            return;\r\n        }\r\n        this.activeDate = value ? new Date(value) : void 0;\r\n    };\r\n    DatePickerComponent.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    DatePickerComponent.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    DatePickerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'datepicker',\r\n                    template: \"\\n    <datepicker-inner [activeDate]=\\\"activeDate\\\"\\n                      (update)=\\\"onUpdate($event)\\\"\\n                      [datepickerMode]=\\\"datepickerMode\\\"\\n                      [initDate]=\\\"initDate\\\"\\n                      [minDate]=\\\"minDate\\\"\\n                      [maxDate]=\\\"maxDate\\\"\\n                      [minMode]=\\\"minMode\\\"\\n                      [maxMode]=\\\"maxMode\\\"\\n                      [showWeeks]=\\\"showWeeks\\\"\\n                      [formatDay]=\\\"formatDay\\\"\\n                      [formatMonth]=\\\"formatMonth\\\"\\n                      [formatYear]=\\\"formatYear\\\"\\n                      [formatDayHeader]=\\\"formatDayHeader\\\"\\n                      [formatDayTitle]=\\\"formatDayTitle\\\"\\n                      [formatMonthTitle]=\\\"formatMonthTitle\\\"\\n                      [startingDay]=\\\"startingDay\\\"\\n                      [yearRange]=\\\"yearRange\\\"\\n                      [customClass]=\\\"customClass\\\"\\n                      [dateDisabled]=\\\"dateDisabled\\\"\\n                      [onlyCurrentMonth]=\\\"onlyCurrentMonth\\\"\\n                      [shortcutPropagation]=\\\"shortcutPropagation\\\"\\n                      [monthColLimit]=\\\"monthColLimit\\\"\\n                      [yearColLimit]=\\\"yearColLimit\\\"\\n                      (selectionDone)=\\\"onSelectionDone($event)\\\"\\n                      (activeDateChange)=\\\"onActiveDateChange($event)\\\">\\n      <daypicker tabindex=\\\"0\\\"></daypicker>\\n      <monthpicker tabindex=\\\"0\\\"></monthpicker>\\n      <yearpicker tabindex=\\\"0\\\"></yearpicker>\\n    </datepicker-inner>\\n    \",\r\n                    providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DatePickerComponent.ctorParameters = function () { return [\r\n        { type: DatepickerConfig, },\r\n    ]; };\r\n    DatePickerComponent.propDecorators = {\r\n        'datepickerMode': [{ type: Input },],\r\n        'initDate': [{ type: Input },],\r\n        'minDate': [{ type: Input },],\r\n        'maxDate': [{ type: Input },],\r\n        'minMode': [{ type: Input },],\r\n        'maxMode': [{ type: Input },],\r\n        'showWeeks': [{ type: Input },],\r\n        'formatDay': [{ type: Input },],\r\n        'formatMonth': [{ type: Input },],\r\n        'formatYear': [{ type: Input },],\r\n        'formatDayHeader': [{ type: Input },],\r\n        'formatDayTitle': [{ type: Input },],\r\n        'formatMonthTitle': [{ type: Input },],\r\n        'startingDay': [{ type: Input },],\r\n        'yearRange': [{ type: Input },],\r\n        'onlyCurrentMonth': [{ type: Input },],\r\n        'shortcutPropagation': [{ type: Input },],\r\n        'monthColLimit': [{ type: Input },],\r\n        'yearColLimit': [{ type: Input },],\r\n        'customClass': [{ type: Input },],\r\n        'dateDisabled': [{ type: Input },],\r\n        'activeDate': [{ type: Input },],\r\n        'selectionDone': [{ type: Output },],\r\n        'activeDateChange': [{ type: Output },],\r\n        '_datePicker': [{ type: ViewChild, args: [DatePickerInnerComponent,] },],\r\n    };\r\n    return DatePickerComponent;\r\n}());\r\n//# sourceMappingURL=datepicker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/datepicker.component.js\n// module id = 554\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\r\nimport { DatePickerComponent } from './datepicker.component';\r\nimport { DayPickerComponent } from './daypicker.component';\r\nimport { MonthPickerComponent } from './monthpicker.component';\r\nimport { YearPickerComponent } from './yearpicker.component';\r\nimport { DatepickerConfig } from './datepicker.config';\r\nexport var DatepickerModule = (function () {\r\n    function DatepickerModule() {\r\n    }\r\n    DatepickerModule.forRoot = function () {\r\n        return { ngModule: DatepickerModule, providers: [DatepickerConfig] };\r\n    };\r\n    DatepickerModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule, FormsModule],\r\n                    declarations: [DatePickerComponent, DatePickerInnerComponent, DayPickerComponent,\r\n                        MonthPickerComponent, YearPickerComponent],\r\n                    exports: [DatePickerComponent, DatePickerInnerComponent, DayPickerComponent,\r\n                        MonthPickerComponent, YearPickerComponent],\r\n                    entryComponents: [DatePickerComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DatepickerModule.ctorParameters = function () { return []; };\r\n    return DatepickerModule;\r\n}());\r\n//# sourceMappingURL=datepicker.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/datepicker.module.js\n// module id = 555\n// module chunks = 3","import { Component } from '@angular/core';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\r\n// write an interface for template options\r\nvar TEMPLATE_OPTIONS = {\r\n    'bs4': {\r\n        ARROW_LEFT: '&lt;',\r\n        ARROW_RIGHT: '&gt;'\r\n    },\r\n    'bs3': {\r\n        ARROW_LEFT: \"\\n    <i class=\\\"glyphicon glyphicon-chevron-left\\\"></i>\\n    \",\r\n        ARROW_RIGHT: \"\\n    <i class=\\\"glyphicon glyphicon-chevron-right\\\"></i>\\n    \"\r\n    }\r\n};\r\nexport var DayPickerComponent = (function () {\r\n    function DayPickerComponent(datePicker) {\r\n        this.labels = [];\r\n        this.rows = [];\r\n        this.weekNumbers = [];\r\n        this.CURRENT_THEME_TEMPLATE = isBs3()\r\n            ? TEMPLATE_OPTIONS.bs3\r\n            : TEMPLATE_OPTIONS.bs4;\r\n        this.datePicker = datePicker;\r\n    }\r\n    Object.defineProperty(DayPickerComponent.prototype, \"isBs4\", {\r\n        get: function () {\r\n            return !isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /*protected getDaysInMonth(year:number, month:number) {\r\n     return ((month === 1) && (year % 4 === 0) &&\r\n     ((year % 100 !== 0) || (year % 400 === 0))) ? 29 : DAYS_IN_MONTH[month];\r\n     }*/\r\n    DayPickerComponent.prototype.ngOnInit = function () {\r\n        var self = this;\r\n        this.datePicker.stepDay = { months: 1 };\r\n        this.datePicker.setRefreshViewHandler(function () {\r\n            var year = this.activeDate.getFullYear();\r\n            var month = this.activeDate.getMonth();\r\n            var firstDayOfMonth = new Date(year, month, 1);\r\n            var difference = this.startingDay - firstDayOfMonth.getDay();\r\n            var numDisplayedFromPreviousMonth = (difference > 0)\r\n                ? 7 - difference\r\n                : -difference;\r\n            var firstDate = new Date(firstDayOfMonth.getTime());\r\n            if (numDisplayedFromPreviousMonth > 0) {\r\n                firstDate.setDate(-numDisplayedFromPreviousMonth + 1);\r\n            }\r\n            // 42 is the number of days on a six-week calendar\r\n            var _days = self.getDates(firstDate, 42);\r\n            var days = [];\r\n            for (var i = 0; i < 42; i++) {\r\n                var _dateObject = this.createDateObject(_days[i], this.formatDay);\r\n                _dateObject.secondary = _days[i].getMonth() !== month;\r\n                _dateObject.uid = this.uniqueId + '-' + i;\r\n                days[i] = _dateObject;\r\n            }\r\n            self.labels = [];\r\n            for (var j = 0; j < 7; j++) {\r\n                self.labels[j] = {};\r\n                self.labels[j].abbr = this.dateFilter(days[j].date, this.formatDayHeader);\r\n                self.labels[j].full = this.dateFilter(days[j].date, 'EEEE');\r\n            }\r\n            self.title = this.dateFilter(this.activeDate, this.formatDayTitle);\r\n            self.rows = this.split(days, 7);\r\n            if (this.showWeeks) {\r\n                self.weekNumbers = [];\r\n                var thursdayIndex = (4 + 7 - this.startingDay) % 7;\r\n                var numWeeks = self.rows.length;\r\n                for (var curWeek = 0; curWeek < numWeeks; curWeek++) {\r\n                    self.weekNumbers.push(self.getISO8601WeekNumber(self.rows[curWeek][thursdayIndex].date));\r\n                }\r\n            }\r\n        }, 'day');\r\n        this.datePicker.setCompareHandler(function (date1, date2) {\r\n            var d1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());\r\n            var d2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());\r\n            return d1.getTime() - d2.getTime();\r\n        }, 'day');\r\n        this.datePicker.refreshView();\r\n    };\r\n    DayPickerComponent.prototype.getDates = function (startDate, n) {\r\n        var dates = new Array(n);\r\n        var current = new Date(startDate.getTime());\r\n        var i = 0;\r\n        var date;\r\n        while (i < n) {\r\n            date = new Date(current.getTime());\r\n            date = this.datePicker.fixTimeZone(date);\r\n            dates[i++] = date;\r\n            current = new Date(current.getFullYear(), current.getMonth(), current.getDate() + 1);\r\n        }\r\n        return dates;\r\n    };\r\n    DayPickerComponent.prototype.getISO8601WeekNumber = function (date) {\r\n        var checkDate = new Date(date.getTime());\r\n        // Thursday\r\n        checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));\r\n        var time = checkDate.getTime();\r\n        // Compare with Jan 1\r\n        checkDate.setMonth(0);\r\n        checkDate.setDate(1);\r\n        return Math.floor(Math.round((time - checkDate.getTime()) / 86400000) / 7) + 1;\r\n    };\r\n    // todo: key events implementation\r\n    DayPickerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'daypicker',\r\n                    template: \"\\n<table *ngIf=\\\"datePicker.datepickerMode==='day'\\\" role=\\\"grid\\\" [attr.aria-labelledby]=\\\"datePicker.uniqueId+'-title'\\\" aria-activedescendant=\\\"activeDateId\\\">\\n  <thead>\\n    <tr>\\n      <th>\\n        <button type=\\\"button\\\" \\n                class=\\\"btn btn-default btn-secondary btn-sm pull-left\\\" \\n                (click)=\\\"datePicker.move(-1)\\\" \\n                tabindex=\\\"-1\\\"\\n                [innerHTML]=\\\"CURRENT_THEME_TEMPLATE.ARROW_LEFT\\\">\\n        </button>\\n      </th>\\n      <th [attr.colspan]=\\\"5 + (datePicker.showWeeks ? 1 : 0)\\\">\\n        <button [id]=\\\"datePicker.uniqueId + '-title'\\\"\\n                type=\\\"button\\\" class=\\\"btn btn-default btn-secondary btn-sm\\\"\\n                (click)=\\\"datePicker.toggleMode()\\\"\\n                [disabled]=\\\"datePicker.datepickerMode === datePicker.maxMode\\\"\\n                [ngClass]=\\\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\\\" tabindex=\\\"-1\\\" style=\\\"width:100%;\\\">\\n          <strong>{{title}}</strong>\\n        </button>\\n      </th>\\n      <th>\\n        <button type=\\\"button\\\" \\n                class=\\\"btn btn-default btn-secondary btn-sm pull-right\\\" \\n                (click)=\\\"datePicker.move(1)\\\" \\n                tabindex=\\\"-1\\\"\\n                [innerHTML]=\\\"CURRENT_THEME_TEMPLATE.ARROW_RIGHT\\\">\\n        </button>\\n      </th>\\n    </tr>\\n    <tr>\\n      <th *ngIf=\\\"datePicker.showWeeks\\\"></th>\\n      <th *ngFor=\\\"let labelz of labels\\\" class=\\\"text-center\\\">\\n        <small aria-label=\\\"labelz.full\\\"><b>{{labelz.abbr}}</b></small>\\n      </th>\\n    </tr>\\n  </thead>\\n  <tbody>\\n    <template ngFor [ngForOf]=\\\"rows\\\" let-rowz=\\\"$implicit\\\" let-index=\\\"index\\\">\\n      <tr *ngIf=\\\"!(datePicker.onlyCurrentMonth && rowz[0].secondary && rowz[6].secondary)\\\">\\n        <td *ngIf=\\\"datePicker.showWeeks\\\" class=\\\"h6\\\" class=\\\"text-center\\\">\\n          <em>{{ weekNumbers[index] }}</em>\\n        </td>\\n        <td *ngFor=\\\"let dtz of rowz\\\" class=\\\"text-center\\\" role=\\\"gridcell\\\" [id]=\\\"dtz.uid\\\">\\n          <button type=\\\"button\\\" style=\\\"min-width:100%;\\\" class=\\\"btn btn-sm {{dtz.customClass}}\\\"\\n                  *ngIf=\\\"!(datePicker.onlyCurrentMonth && dtz.secondary)\\\"\\n                  [ngClass]=\\\"{'btn-secondary': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected, disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz), 'btn-default': !isBs4}\\\"\\n                  [disabled]=\\\"dtz.disabled\\\"\\n                  (click)=\\\"datePicker.select(dtz.date)\\\" tabindex=\\\"-1\\\">\\n            <span [ngClass]=\\\"{'text-muted': dtz.secondary || dtz.current, 'text-info': !isBs4 && dtz.current}\\\">{{dtz.label}}</span>\\n          </button>\\n        </td>\\n      </tr>\\n    </template>\\n  </tbody>\\n</table>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DayPickerComponent.ctorParameters = function () { return [\r\n        { type: DatePickerInnerComponent, },\r\n    ]; };\r\n    return DayPickerComponent;\r\n}());\r\n//# sourceMappingURL=daypicker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/daypicker.component.js\n// module id = 556\n// module chunks = 3","import { Component } from '@angular/core';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\r\nexport var MonthPickerComponent = (function () {\r\n    function MonthPickerComponent(datePicker) {\r\n        this.rows = [];\r\n        this.datePicker = datePicker;\r\n    }\r\n    Object.defineProperty(MonthPickerComponent.prototype, \"isBs4\", {\r\n        get: function () {\r\n            return !isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    MonthPickerComponent.prototype.ngOnInit = function () {\r\n        var self = this;\r\n        this.datePicker.stepMonth = { years: 1 };\r\n        this.datePicker.setRefreshViewHandler(function () {\r\n            var months = new Array(12);\r\n            var year = this.activeDate.getFullYear();\r\n            var date;\r\n            for (var i = 0; i < 12; i++) {\r\n                date = new Date(year, i, 1);\r\n                date = this.fixTimeZone(date);\r\n                months[i] = this.createDateObject(date, this.formatMonth);\r\n                months[i].uid = this.uniqueId + '-' + i;\r\n            }\r\n            self.title = this.dateFilter(this.activeDate, this.formatMonthTitle);\r\n            self.rows = this.split(months, self.datePicker.monthColLimit);\r\n        }, 'month');\r\n        this.datePicker.setCompareHandler(function (date1, date2) {\r\n            var d1 = new Date(date1.getFullYear(), date1.getMonth());\r\n            var d2 = new Date(date2.getFullYear(), date2.getMonth());\r\n            return d1.getTime() - d2.getTime();\r\n        }, 'month');\r\n        this.datePicker.refreshView();\r\n    };\r\n    // todo: key events implementation\r\n    MonthPickerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'monthpicker',\r\n                    template: \"\\n<table *ngIf=\\\"datePicker.datepickerMode==='month'\\\" role=\\\"grid\\\">\\n  <thead>\\n    <tr>\\n      <th>\\n        <button type=\\\"button\\\" class=\\\"btn btn-default btn-sm pull-left\\\"\\n                (click)=\\\"datePicker.move(-1)\\\" tabindex=\\\"-1\\\">\\n          <i class=\\\"glyphicon glyphicon-chevron-left\\\"></i>\\n        </button></th>\\n      <th [attr.colspan]=\\\"((datePicker.monthColLimit - 2) <= 0) ? 1 : datePicker.monthColLimit - 2\\\">\\n        <button [id]=\\\"datePicker.uniqueId + '-title'\\\"\\n                type=\\\"button\\\" class=\\\"btn btn-default btn-sm\\\"\\n                (click)=\\\"datePicker.toggleMode()\\\"\\n                [disabled]=\\\"datePicker.datepickerMode === maxMode\\\"\\n                [ngClass]=\\\"{disabled: datePicker.datepickerMode === maxMode}\\\" tabindex=\\\"-1\\\" style=\\\"width:100%;\\\">\\n          <strong>{{title}}</strong>\\n        </button>\\n      </th>\\n      <th>\\n        <button type=\\\"button\\\" class=\\\"btn btn-default btn-sm pull-right\\\"\\n                (click)=\\\"datePicker.move(1)\\\" tabindex=\\\"-1\\\">\\n          <i class=\\\"glyphicon glyphicon-chevron-right\\\"></i>\\n        </button>\\n      </th>\\n    </tr>\\n  </thead>\\n  <tbody>\\n    <tr *ngFor=\\\"let rowz of rows\\\">\\n      <td *ngFor=\\\"let dtz of rowz\\\" class=\\\"text-center\\\" role=\\\"gridcell\\\" id=\\\"{{dtz.uid}}\\\" [ngClass]=\\\"dtz.customClass\\\">\\n        <button type=\\\"button\\\" style=\\\"min-width:100%;\\\" class=\\\"btn btn-default\\\"\\n                [ngClass]=\\\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\\\"\\n                [disabled]=\\\"dtz.disabled\\\"\\n                (click)=\\\"datePicker.select(dtz.date)\\\" tabindex=\\\"-1\\\">\\n          <span [ngClass]=\\\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\\\">{{dtz.label}}</span>\\n        </button>\\n      </td>\\n    </tr>\\n  </tbody>\\n</table>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    MonthPickerComponent.ctorParameters = function () { return [\r\n        { type: DatePickerInnerComponent, },\r\n    ]; };\r\n    return MonthPickerComponent;\r\n}());\r\n//# sourceMappingURL=monthpicker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/monthpicker.component.js\n// module id = 557\n// module chunks = 3","import { Component } from '@angular/core';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nimport { DatePickerInnerComponent } from './datepicker-inner.component';\r\nexport var YearPickerComponent = (function () {\r\n    function YearPickerComponent(datePicker) {\r\n        this.rows = [];\r\n        this.datePicker = datePicker;\r\n    }\r\n    Object.defineProperty(YearPickerComponent.prototype, \"isBs4\", {\r\n        get: function () {\r\n            return !isBs3();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    YearPickerComponent.prototype.ngOnInit = function () {\r\n        var self = this;\r\n        this.datePicker.stepYear = { years: this.datePicker.yearRange };\r\n        this.datePicker.setRefreshViewHandler(function () {\r\n            var years = new Array(this.yearRange);\r\n            var date;\r\n            var start = self.getStartingYear(this.activeDate.getFullYear());\r\n            for (var i = 0; i < this.yearRange; i++) {\r\n                date = new Date(start + i, 0, 1);\r\n                date = this.fixTimeZone(date);\r\n                years[i] = this.createDateObject(date, this.formatYear);\r\n                years[i].uid = this.uniqueId + '-' + i;\r\n            }\r\n            self.title = [years[0].label,\r\n                years[this.yearRange - 1].label].join(' - ');\r\n            self.rows = this.split(years, self.datePicker.yearColLimit);\r\n        }, 'year');\r\n        this.datePicker.setCompareHandler(function (date1, date2) {\r\n            return date1.getFullYear() - date2.getFullYear();\r\n        }, 'year');\r\n        this.datePicker.refreshView();\r\n    };\r\n    YearPickerComponent.prototype.getStartingYear = function (year) {\r\n        // todo: parseInt\r\n        return ((year - 1) / this.datePicker.yearRange) * this.datePicker.yearRange + 1;\r\n    };\r\n    YearPickerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'yearpicker',\r\n                    template: \"\\n<table *ngIf=\\\"datePicker.datepickerMode==='year'\\\" role=\\\"grid\\\">\\n  <thead>\\n    <tr>\\n      <th>\\n        <button type=\\\"button\\\" class=\\\"btn btn-default btn-sm pull-left\\\"\\n                (click)=\\\"datePicker.move(-1)\\\" tabindex=\\\"-1\\\">\\n          <i class=\\\"glyphicon glyphicon-chevron-left\\\"></i>\\n        </button>\\n      </th>\\n      <th [attr.colspan]=\\\"((datePicker.yearColLimit - 2) <= 0) ? 1 : datePicker.yearColLimit - 2\\\">\\n        <button [id]=\\\"datePicker.uniqueId + '-title'\\\" role=\\\"heading\\\"\\n                type=\\\"button\\\" class=\\\"btn btn-default btn-sm\\\"\\n                (click)=\\\"datePicker.toggleMode()\\\"\\n                [disabled]=\\\"datePicker.datepickerMode === datePicker.maxMode\\\"\\n                [ngClass]=\\\"{disabled: datePicker.datepickerMode === datePicker.maxMode}\\\" tabindex=\\\"-1\\\" style=\\\"width:100%;\\\">\\n          <strong>{{title}}</strong>\\n        </button>\\n      </th>\\n      <th>\\n        <button type=\\\"button\\\" class=\\\"btn btn-default btn-sm pull-right\\\"\\n                (click)=\\\"datePicker.move(1)\\\" tabindex=\\\"-1\\\">\\n          <i class=\\\"glyphicon glyphicon-chevron-right\\\"></i>\\n        </button>\\n      </th>\\n    </tr>\\n  </thead>\\n  <tbody>\\n    <tr *ngFor=\\\"let rowz of rows\\\">\\n      <td *ngFor=\\\"let dtz of rowz\\\" class=\\\"text-center\\\" role=\\\"gridcell\\\">\\n        <button type=\\\"button\\\" style=\\\"min-width:100%;\\\" class=\\\"btn btn-default\\\"\\n                [ngClass]=\\\"{'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz), 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)), disabled: dtz.disabled, active: !isBs4 && datePicker.isActive(dtz)}\\\"\\n                [disabled]=\\\"dtz.disabled\\\"\\n                (click)=\\\"datePicker.select(dtz.date)\\\" tabindex=\\\"-1\\\">\\n          <span [ngClass]=\\\"{'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current}\\\">{{dtz.label}}</span>\\n        </button>\\n      </td>\\n    </tr>\\n  </tbody>\\n</table>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    YearPickerComponent.ctorParameters = function () { return [\r\n        { type: DatePickerInnerComponent, },\r\n    ]; };\r\n    return YearPickerComponent;\r\n}());\r\n//# sourceMappingURL=yearpicker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/yearpicker.component.js\n// module id = 558\n// module chunks = 3","import { Directive, ElementRef, Host, HostBinding } from '@angular/core';\r\nimport { DropdownDirective } from './dropdown.directive';\r\nexport var DropdownMenuDirective = (function () {\r\n    /* tslint:enable:no-unused-variable */\r\n    function DropdownMenuDirective(dropdown, el) {\r\n        /* tslint:disable:no-unused-variable */\r\n        this.addClass = true;\r\n        this.dropdown = dropdown;\r\n        this.el = el;\r\n    }\r\n    DropdownMenuDirective.prototype.ngOnInit = function () {\r\n        this.dropdown.dropDownMenu = this;\r\n    };\r\n    DropdownMenuDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: '[dropdownMenu]',\r\n                    exportAs: 'bs-dropdown-menu'\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DropdownMenuDirective.ctorParameters = function () { return [\r\n        { type: DropdownDirective, decorators: [{ type: Host },] },\r\n        { type: ElementRef, },\r\n    ]; };\r\n    DropdownMenuDirective.propDecorators = {\r\n        'addClass': [{ type: HostBinding, args: ['class.dropdown-menu',] },],\r\n    };\r\n    return DropdownMenuDirective;\r\n}());\r\n//# sourceMappingURL=dropdown-menu.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/dropdown/dropdown-menu.directive.js\n// module id = 559\n// module chunks = 3","import { Directive, ElementRef, Host, HostBinding, HostListener, Input } from '@angular/core';\r\nimport { DropdownDirective } from './dropdown.directive';\r\n/** Mark element which can toggle dropdown visibility with this directive */\r\nexport var DropdownToggleDirective = (function () {\r\n    function DropdownToggleDirective(dropdown, el) {\r\n        /** if true dropdown toggle will be disabled */\r\n        this.isDisabled = false;\r\n        /** if true the dropdown-toggle class will be added to the element */\r\n        this.addToggleClass = true;\r\n        this.addClass = true;\r\n        this.dropdown = dropdown;\r\n        this.el = el;\r\n    }\r\n    DropdownToggleDirective.prototype.ngOnInit = function () {\r\n        this.dropdown.dropDownToggle = this;\r\n    };\r\n    Object.defineProperty(DropdownToggleDirective.prototype, \"isOpen\", {\r\n        get: function () {\r\n            return this.dropdown.isOpen;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    DropdownToggleDirective.prototype.toggleDropdown = function (event) {\r\n        event.stopPropagation();\r\n        if (!this.isDisabled) {\r\n            this.dropdown.toggle();\r\n        }\r\n        return false;\r\n    };\r\n    DropdownToggleDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: '[dropdownToggle]',\r\n                    exportAs: 'bs-dropdown-toggle'\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DropdownToggleDirective.ctorParameters = function () { return [\r\n        { type: DropdownDirective, decorators: [{ type: Host },] },\r\n        { type: ElementRef, },\r\n    ]; };\r\n    DropdownToggleDirective.propDecorators = {\r\n        'isDisabled': [{ type: HostBinding, args: ['class.disabled',] }, { type: Input },],\r\n        'addToggleClass': [{ type: HostBinding, args: ['class.dropdown-toggle',] }, { type: Input },],\r\n        'addClass': [{ type: HostBinding, args: ['attr.aria-haspopup',] },],\r\n        'isOpen': [{ type: HostBinding, args: ['attr.aria-expanded',] },],\r\n        'toggleDropdown': [{ type: HostListener, args: ['click', ['$event'],] },],\r\n    };\r\n    return DropdownToggleDirective;\r\n}());\r\n//# sourceMappingURL=dropdown-toggle.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/dropdown/dropdown-toggle.directive.js\n// module id = 560\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { DropdownMenuDirective } from './dropdown-menu.directive';\r\nimport { DropdownToggleDirective } from './dropdown-toggle.directive';\r\nimport { DropdownDirective } from './dropdown.directive';\r\nimport { DropdownConfig } from './dropdown.config';\r\nimport { DropdownService } from './dropdown.service';\r\nexport var DropdownModule = (function () {\r\n    function DropdownModule() {\r\n    }\r\n    DropdownModule.forRoot = function () {\r\n        return { ngModule: DropdownModule, providers: [DropdownConfig, DropdownService] };\r\n    };\r\n    DropdownModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    declarations: [DropdownDirective, DropdownMenuDirective, DropdownToggleDirective],\r\n                    exports: [DropdownDirective, DropdownMenuDirective, DropdownToggleDirective]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    DropdownModule.ctorParameters = function () { return []; };\r\n    return DropdownModule;\r\n}());\r\n//# sourceMappingURL=dropdown.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/dropdown/dropdown.module.js\n// module id = 561\n// module chunks = 3","export var modalConfigDefaults = {\r\n    backdrop: true,\r\n    keyboard: true,\r\n    focus: true,\r\n    show: false,\r\n    ignoreBackdropClick: false\r\n};\r\nexport var ClassName = {\r\n    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\r\n    BACKDROP: 'modal-backdrop',\r\n    OPEN: 'modal-open',\r\n    FADE: 'fade',\r\n    IN: 'in',\r\n    SHOW: 'show' // bs4\r\n};\r\nexport var Selector = {\r\n    DIALOG: '.modal-dialog',\r\n    DATA_TOGGLE: '[data-toggle=\"modal\"]',\r\n    DATA_DISMISS: '[data-dismiss=\"modal\"]',\r\n    FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\r\n};\r\n//# sourceMappingURL=modal-options.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/modal/modal-options.class.js\n// module id = 562\n// module chunks = 3","/* tslint:disable:max-file-line-count */\r\n// todo: should we support enforce focus in?\r\n// todo: in original bs there are was a way to prevent modal from showing\r\n// todo: original modal had resize events\r\nimport { Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer, ViewContainerRef } from '@angular/core';\r\nimport { document } from '../utils/facade/browser';\r\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\r\nimport { Utils } from '../utils/utils.class';\r\nimport { ModalBackdropComponent } from './modal-backdrop.component';\r\nimport { ClassName, modalConfigDefaults, Selector } from './modal-options.class';\r\nimport { window } from '../utils/facade/browser';\r\nimport { ComponentLoaderFactory } from '../component-loader/component-loader.factory';\r\nvar TRANSITION_DURATION = 300;\r\nvar BACKDROP_TRANSITION_DURATION = 150;\r\n/** Mark any code with directive to show it's content in modal */\r\nexport var ModalDirective = (function () {\r\n    function ModalDirective(_element, _viewContainerRef, _renderer, clf) {\r\n        /** This event fires immediately when the `show` instance method is called. */\r\n        this.onShow = new EventEmitter();\r\n        /** This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete) */\r\n        this.onShown = new EventEmitter();\r\n        /** This event is fired immediately when the hide instance method has been called. */\r\n        this.onHide = new EventEmitter();\r\n        /** This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete). */\r\n        this.onHidden = new EventEmitter();\r\n        // seems like an Options\r\n        this.isAnimated = true;\r\n        this._isShown = false;\r\n        this.isBodyOverflowing = false;\r\n        this.originalBodyPadding = 0;\r\n        this.scrollbarWidth = 0;\r\n        this.timerHideModal = 0;\r\n        this.timerRmBackDrop = 0;\r\n        this._element = _element;\r\n        this._renderer = _renderer;\r\n        this._backdrop = clf.createLoader(_element, _viewContainerRef, _renderer);\r\n    }\r\n    Object.defineProperty(ModalDirective.prototype, \"config\", {\r\n        get: function () {\r\n            return this._config;\r\n        },\r\n        /** allows to set modal configuration via element property */\r\n        set: function (conf) {\r\n            this._config = this.getConfig(conf);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(ModalDirective.prototype, \"isShown\", {\r\n        get: function () {\r\n            return this._isShown;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ModalDirective.prototype.onClick = function (event) {\r\n        if (this.config.ignoreBackdropClick || this.config.backdrop === 'static' || event.target !== this._element.nativeElement) {\r\n            return;\r\n        }\r\n        this.hide(event);\r\n    };\r\n    // todo: consider preventing default and stopping propagation\r\n    ModalDirective.prototype.onEsc = function () {\r\n        if (this.config.keyboard) {\r\n            this.hide();\r\n        }\r\n    };\r\n    ModalDirective.prototype.ngOnDestroy = function () {\r\n        this.config = void 0;\r\n        if (this._isShown) {\r\n            this._isShown = false;\r\n            this.hideModal();\r\n            this._backdrop.dispose();\r\n        }\r\n    };\r\n    ModalDirective.prototype.ngAfterViewInit = function () {\r\n        this._config = this._config || this.getConfig();\r\n        if (this._config.show) {\r\n            this.show();\r\n        }\r\n    };\r\n    /* Public methods */\r\n    /** Allows to manually toggle modal visibility */\r\n    ModalDirective.prototype.toggle = function () {\r\n        return this._isShown ? this.hide() : this.show();\r\n    };\r\n    /** Allows to manually open modal */\r\n    ModalDirective.prototype.show = function () {\r\n        var _this = this;\r\n        this.onShow.emit(this);\r\n        if (this._isShown) {\r\n            return;\r\n        }\r\n        clearTimeout(this.timerHideModal);\r\n        clearTimeout(this.timerRmBackDrop);\r\n        this._isShown = true;\r\n        this.checkScrollbar();\r\n        this.setScrollbar();\r\n        if (document && document.body) {\r\n            this._renderer.setElementClass(document.body, ClassName.OPEN, true);\r\n        }\r\n        this.showBackdrop(function () {\r\n            _this.showElement();\r\n        });\r\n    };\r\n    /** Allows to manually close modal */\r\n    ModalDirective.prototype.hide = function (event) {\r\n        var _this = this;\r\n        if (event) {\r\n            event.preventDefault();\r\n        }\r\n        this.onHide.emit(this);\r\n        // todo: add an option to prevent hiding\r\n        if (!this._isShown) {\r\n            return;\r\n        }\r\n        clearTimeout(this.timerHideModal);\r\n        clearTimeout(this.timerRmBackDrop);\r\n        this._isShown = false;\r\n        this._renderer.setElementClass(this._element.nativeElement, ClassName.IN, false);\r\n        if (!isBs3()) {\r\n            this._renderer.setElementClass(this._element.nativeElement, ClassName.SHOW, false);\r\n        }\r\n        // this._addClassIn = false;\r\n        if (this.isAnimated) {\r\n            this.timerHideModal = setTimeout(function () { return _this.hideModal(); }, TRANSITION_DURATION);\r\n        }\r\n        else {\r\n            this.hideModal();\r\n        }\r\n    };\r\n    /** Private methods @internal */\r\n    ModalDirective.prototype.getConfig = function (config) {\r\n        return Object.assign({}, modalConfigDefaults, config);\r\n    };\r\n    /**\r\n     *  Show dialog\r\n     *  @internal\r\n     */\r\n    ModalDirective.prototype.showElement = function () {\r\n        var _this = this;\r\n        // todo: replace this with component loader usage\r\n        if (!this._element.nativeElement.parentNode ||\r\n            (this._element.nativeElement.parentNode.nodeType !== Node.ELEMENT_NODE)) {\r\n            // don't move modals dom position\r\n            if (document && document.body) {\r\n                document.body.appendChild(this._element.nativeElement);\r\n            }\r\n        }\r\n        this._renderer.setElementAttribute(this._element.nativeElement, 'aria-hidden', 'false');\r\n        this._renderer.setElementStyle(this._element.nativeElement, 'display', 'block');\r\n        this._renderer.setElementProperty(this._element.nativeElement, 'scrollTop', 0);\r\n        if (this.isAnimated) {\r\n            Utils.reflow(this._element.nativeElement);\r\n        }\r\n        // this._addClassIn = true;\r\n        this._renderer.setElementClass(this._element.nativeElement, ClassName.IN, true);\r\n        if (!isBs3()) {\r\n            this._renderer.setElementClass(this._element.nativeElement, ClassName.SHOW, true);\r\n        }\r\n        var transitionComplete = function () {\r\n            if (_this._config.focus) {\r\n                _this._element.nativeElement.focus();\r\n            }\r\n            _this.onShown.emit(_this);\r\n        };\r\n        if (this.isAnimated) {\r\n            setTimeout(transitionComplete, TRANSITION_DURATION);\r\n        }\r\n        else {\r\n            transitionComplete();\r\n        }\r\n    };\r\n    /** @internal */\r\n    ModalDirective.prototype.hideModal = function () {\r\n        var _this = this;\r\n        this._renderer.setElementAttribute(this._element.nativeElement, 'aria-hidden', 'true');\r\n        this._renderer.setElementStyle(this._element.nativeElement, 'display', 'none');\r\n        this.showBackdrop(function () {\r\n            if (document && document.body) {\r\n                _this._renderer.setElementClass(document.body, ClassName.OPEN, false);\r\n            }\r\n            _this.resetAdjustments();\r\n            _this.resetScrollbar();\r\n            _this.onHidden.emit(_this);\r\n        });\r\n    };\r\n    // todo: original show was calling a callback when done, but we can use promise\r\n    /** @internal */\r\n    ModalDirective.prototype.showBackdrop = function (callback) {\r\n        var _this = this;\r\n        if (this._isShown && this.config.backdrop && (!this.backdrop || !this.backdrop.instance.isShown)) {\r\n            this.removeBackdrop();\r\n            this._backdrop\r\n                .attach(ModalBackdropComponent)\r\n                .to('body')\r\n                .show({ isAnimated: false });\r\n            this.backdrop = this._backdrop._componentRef;\r\n            if (this.isAnimated) {\r\n                this.backdrop.instance.isAnimated = this.isAnimated;\r\n                Utils.reflow(this.backdrop.instance.element.nativeElement);\r\n            }\r\n            this.backdrop.instance.isShown = true;\r\n            if (!callback) {\r\n                return;\r\n            }\r\n            if (!this.isAnimated) {\r\n                callback();\r\n                return;\r\n            }\r\n            setTimeout(callback, BACKDROP_TRANSITION_DURATION);\r\n        }\r\n        else if (!this._isShown && this.backdrop) {\r\n            this.backdrop.instance.isShown = false;\r\n            var callbackRemove = function () {\r\n                _this.removeBackdrop();\r\n                if (callback) {\r\n                    callback();\r\n                }\r\n            };\r\n            if (this.backdrop.instance.isAnimated) {\r\n                this.timerRmBackDrop = setTimeout(callbackRemove, BACKDROP_TRANSITION_DURATION);\r\n            }\r\n            else {\r\n                callbackRemove();\r\n            }\r\n        }\r\n        else if (callback) {\r\n            callback();\r\n        }\r\n    };\r\n    /** @internal */\r\n    ModalDirective.prototype.removeBackdrop = function () {\r\n        this._backdrop.hide();\r\n    };\r\n    /** Events tricks */\r\n    // no need for it\r\n    // protected setEscapeEvent():void {\r\n    //   if (this._isShown && this._config.keyboard) {\r\n    //     $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\r\n    //       if (event.which === 27) {\r\n    //         this.hide()\r\n    //       }\r\n    //     })\r\n    //\r\n    //   } else if (!this._isShown) {\r\n    //     $(this._element).off(Event.KEYDOWN_DISMISS)\r\n    //   }\r\n    // }\r\n    // protected setResizeEvent():void {\r\n    // console.log(this.renderer.listenGlobal('', Event.RESIZE));\r\n    // if (this._isShown) {\r\n    //   $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this))\r\n    // } else {\r\n    //   $(window).off(Event.RESIZE)\r\n    // }\r\n    // }\r\n    /** @internal */\r\n    ModalDirective.prototype.resetAdjustments = function () {\r\n        this._renderer.setElementStyle(this._element.nativeElement, 'paddingLeft', '');\r\n        this._renderer.setElementStyle(this._element.nativeElement, 'paddingRight', '');\r\n    };\r\n    /** Scroll bar tricks */\r\n    /** @internal */\r\n    ModalDirective.prototype.checkScrollbar = function () {\r\n        this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\r\n        this.scrollbarWidth = this.getScrollbarWidth();\r\n    };\r\n    ModalDirective.prototype.setScrollbar = function () {\r\n        if (!document) {\r\n            return;\r\n        }\r\n        var fixedEl = document.querySelector(Selector.FIXED_CONTENT);\r\n        if (!fixedEl) {\r\n            return;\r\n        }\r\n        var bodyPadding = parseInt(Utils.getStyles(fixedEl).paddingRight || 0, 10);\r\n        this.originalBodyPadding = parseInt(document.body.style.paddingRight || 0, 10);\r\n        if (this.isBodyOverflowing) {\r\n            document.body.style.paddingRight = (bodyPadding + this.scrollbarWidth) + \"px\";\r\n        }\r\n    };\r\n    ModalDirective.prototype.resetScrollbar = function () {\r\n        document.body.style.paddingRight = this.originalBodyPadding;\r\n    };\r\n    // thx d.walsh\r\n    ModalDirective.prototype.getScrollbarWidth = function () {\r\n        var scrollDiv = this._renderer.createElement(document.body, 'div', void 0);\r\n        scrollDiv.className = ClassName.SCROLLBAR_MEASURER;\r\n        var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\r\n        document.body.removeChild(scrollDiv);\r\n        return scrollbarWidth;\r\n    };\r\n    ModalDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: '[bsModal]',\r\n                    exportAs: 'bs-modal'\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ModalDirective.ctorParameters = function () { return [\r\n        { type: ElementRef, },\r\n        { type: ViewContainerRef, },\r\n        { type: Renderer, },\r\n        { type: ComponentLoaderFactory, },\r\n    ]; };\r\n    ModalDirective.propDecorators = {\r\n        'config': [{ type: Input },],\r\n        'onShow': [{ type: Output },],\r\n        'onShown': [{ type: Output },],\r\n        'onHide': [{ type: Output },],\r\n        'onHidden': [{ type: Output },],\r\n        'onClick': [{ type: HostListener, args: ['click', ['$event'],] },],\r\n        'onEsc': [{ type: HostListener, args: ['keydown.esc',] },],\r\n    };\r\n    return ModalDirective;\r\n}());\r\n//# sourceMappingURL=modal.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/modal/modal.component.js\n// module id = 563\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { ModalBackdropComponent } from './modal-backdrop.component';\r\nimport { ModalDirective } from './modal.component';\r\nimport { PositioningService } from '../positioning';\r\nimport { ComponentLoaderFactory } from '../component-loader';\r\nexport var ModalModule = (function () {\r\n    function ModalModule() {\r\n    }\r\n    ModalModule.forRoot = function () {\r\n        return { ngModule: ModalModule, providers: [ComponentLoaderFactory, PositioningService] };\r\n    };\r\n    ModalModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    declarations: [ModalBackdropComponent, ModalDirective],\r\n                    exports: [ModalBackdropComponent, ModalDirective],\r\n                    entryComponents: [ModalBackdropComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ModalModule.ctorParameters = function () { return []; };\r\n    return ModalModule;\r\n}());\r\n//# sourceMappingURL=modal.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/modal/modal.module.js\n// module id = 564\n// module chunks = 3","import { Component, ElementRef, Renderer, Input, Output, EventEmitter, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { PaginationConfig } from './pagination.config';\r\nexport var PAGER_CONTROL_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return PagerComponent; }),\r\n    multi: true\r\n};\r\nvar PAGER_TEMPLATE = \"\\n    <ul class=\\\"pager\\\">\\n      <li [class.disabled]=\\\"noPrevious()\\\" [class.previous]=\\\"align\\\" [ngClass]=\\\"{'pull-right': align}\\\" class=\\\"{{ pageBtnClass }}\\\">\\n        <a href (click)=\\\"selectPage(page - 1, $event)\\\">{{getText('previous')}}</a>\\n      </li>\\n      <li [class.disabled]=\\\"noNext()\\\" [class.next]=\\\"align\\\" [ngClass]=\\\"{'pull-right': align}\\\" class=\\\"{{ pageBtnClass }}\\\">\\n        <a href (click)=\\\"selectPage(page + 1, $event)\\\">{{getText('next')}}</a>\\n      </li>\\n  </ul>\\n\";\r\nexport var PagerComponent = (function () {\r\n    function PagerComponent(renderer, elementRef, paginationConfig) {\r\n        /** fired when total pages count changes, $event:number equals to total pages count */\r\n        this.numPages = new EventEmitter();\r\n        /** fired when page was changed, $event:{page, itemsPerPage} equals to object with current page index and number of items per page */\r\n        this.pageChanged = new EventEmitter();\r\n        this.onChange = Function.prototype;\r\n        this.onTouched = Function.prototype;\r\n        this.inited = false;\r\n        this._page = 1;\r\n        this.renderer = renderer;\r\n        this.elementRef = elementRef;\r\n        if (!this.config) {\r\n            this.configureOptions(Object.assign({}, paginationConfig.main, paginationConfig.pager));\r\n        }\r\n    }\r\n    Object.defineProperty(PagerComponent.prototype, \"itemsPerPage\", {\r\n        /** maximum number of items per page. If value less than 1 will display all items on one page */\r\n        get: function () {\r\n            return this._itemsPerPage;\r\n        },\r\n        set: function (v) {\r\n            this._itemsPerPage = v;\r\n            this.totalPages = this.calculateTotalPages();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PagerComponent.prototype, \"totalItems\", {\r\n        /** total number of items in all pages */\r\n        get: function () {\r\n            return this._totalItems;\r\n        },\r\n        set: function (v) {\r\n            this._totalItems = v;\r\n            this.totalPages = this.calculateTotalPages();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PagerComponent.prototype, \"totalPages\", {\r\n        get: function () {\r\n            return this._totalPages;\r\n        },\r\n        set: function (v) {\r\n            this._totalPages = v;\r\n            this.numPages.emit(v);\r\n            if (this.inited) {\r\n                this.selectPage(this.page);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PagerComponent.prototype, \"page\", {\r\n        get: function () {\r\n            return this._page;\r\n        },\r\n        set: function (value) {\r\n            var _previous = this._page;\r\n            this._page = (value > this.totalPages) ? this.totalPages : (value || 1);\r\n            if (_previous === this._page || typeof _previous === 'undefined') {\r\n                return;\r\n            }\r\n            this.pageChanged.emit({\r\n                page: this._page,\r\n                itemsPerPage: this.itemsPerPage\r\n            });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    PagerComponent.prototype.configureOptions = function (config) {\r\n        this.config = Object.assign({}, config);\r\n    };\r\n    PagerComponent.prototype.ngOnInit = function () {\r\n        this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\r\n        // watch for maxSize\r\n        this.maxSize = typeof this.maxSize !== 'undefined'\r\n            ? this.maxSize\r\n            : this.config.maxSize;\r\n        this.rotate = typeof this.rotate !== 'undefined'\r\n            ? this.rotate\r\n            : this.config.rotate;\r\n        this.boundaryLinks = typeof this.boundaryLinks !== 'undefined'\r\n            ? this.boundaryLinks\r\n            : this.config.boundaryLinks;\r\n        this.directionLinks = typeof this.directionLinks !== 'undefined'\r\n            ? this.directionLinks\r\n            : this.config.directionLinks;\r\n        this.pageBtnClass = typeof this.pageBtnClass !== 'undefined'\r\n            ? this.pageBtnClass\r\n            : this.config.pageBtnClass;\r\n        // base class\r\n        this.itemsPerPage = typeof this.itemsPerPage !== 'undefined'\r\n            ? this.itemsPerPage\r\n            : this.config.itemsPerPage;\r\n        this.totalPages = this.calculateTotalPages();\r\n        // this class\r\n        this.pages = this.getPages(this.page, this.totalPages);\r\n        this.inited = true;\r\n    };\r\n    PagerComponent.prototype.writeValue = function (value) {\r\n        this.page = value;\r\n        this.pages = this.getPages(this.page, this.totalPages);\r\n    };\r\n    PagerComponent.prototype.getText = function (key) {\r\n        return this[key + 'Text'] || this.config[key + 'Text'];\r\n    };\r\n    PagerComponent.prototype.noPrevious = function () {\r\n        return this.page === 1;\r\n    };\r\n    PagerComponent.prototype.noNext = function () {\r\n        return this.page === this.totalPages;\r\n    };\r\n    PagerComponent.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    PagerComponent.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    PagerComponent.prototype.selectPage = function (page, event) {\r\n        if (event) {\r\n            event.preventDefault();\r\n        }\r\n        if (!this.disabled) {\r\n            if (event && event.target) {\r\n                var target = event.target;\r\n                target.blur();\r\n            }\r\n            this.writeValue(page);\r\n            this.onChange(this.page);\r\n        }\r\n    };\r\n    // Create page object used in template\r\n    PagerComponent.prototype.makePage = function (num, text, active) {\r\n        return { text: text, number: num, active: active };\r\n    };\r\n    PagerComponent.prototype.getPages = function (currentPage, totalPages) {\r\n        var pages = [];\r\n        // Default page limits\r\n        var startPage = 1;\r\n        var endPage = totalPages;\r\n        var isMaxSized = typeof this.maxSize !== 'undefined' && this.maxSize < totalPages;\r\n        // recompute if maxSize\r\n        if (isMaxSized) {\r\n            if (this.rotate) {\r\n                // Current page is displayed in the middle of the visible ones\r\n                startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1);\r\n                endPage = startPage + this.maxSize - 1;\r\n                // Adjust if limit is exceeded\r\n                if (endPage > totalPages) {\r\n                    endPage = totalPages;\r\n                    startPage = endPage - this.maxSize + 1;\r\n                }\r\n            }\r\n            else {\r\n                // Visible pages are paginated with maxSize\r\n                startPage = ((Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize) + 1;\r\n                // Adjust last page if limit is exceeded\r\n                endPage = Math.min(startPage + this.maxSize - 1, totalPages);\r\n            }\r\n        }\r\n        // Add page number links\r\n        for (var num = startPage; num <= endPage; num++) {\r\n            var page = this.makePage(num, num.toString(), num === currentPage);\r\n            pages.push(page);\r\n        }\r\n        // Add links to move between page sets\r\n        if (isMaxSized && !this.rotate) {\r\n            if (startPage > 1) {\r\n                var previousPageSet = this.makePage(startPage - 1, '...', false);\r\n                pages.unshift(previousPageSet);\r\n            }\r\n            if (endPage < totalPages) {\r\n                var nextPageSet = this.makePage(endPage + 1, '...', false);\r\n                pages.push(nextPageSet);\r\n            }\r\n        }\r\n        return pages;\r\n    };\r\n    // base class\r\n    PagerComponent.prototype.calculateTotalPages = function () {\r\n        var totalPages = this.itemsPerPage < 1\r\n            ? 1\r\n            : Math.ceil(this.totalItems / this.itemsPerPage);\r\n        return Math.max(totalPages || 0, 1);\r\n    };\r\n    PagerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'pager',\r\n                    template: PAGER_TEMPLATE,\r\n                    providers: [PAGER_CONTROL_VALUE_ACCESSOR]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    PagerComponent.ctorParameters = function () { return [\r\n        { type: Renderer, },\r\n        { type: ElementRef, },\r\n        { type: PaginationConfig, },\r\n    ]; };\r\n    PagerComponent.propDecorators = {\r\n        'align': [{ type: Input },],\r\n        'maxSize': [{ type: Input },],\r\n        'boundaryLinks': [{ type: Input },],\r\n        'directionLinks': [{ type: Input },],\r\n        'firstText': [{ type: Input },],\r\n        'previousText': [{ type: Input },],\r\n        'nextText': [{ type: Input },],\r\n        'lastText': [{ type: Input },],\r\n        'rotate': [{ type: Input },],\r\n        'pageBtnClass': [{ type: Input },],\r\n        'disabled': [{ type: Input },],\r\n        'numPages': [{ type: Output },],\r\n        'pageChanged': [{ type: Output },],\r\n        'itemsPerPage': [{ type: Input },],\r\n        'totalItems': [{ type: Input },],\r\n    };\r\n    return PagerComponent;\r\n}());\r\n//# sourceMappingURL=pager.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/pagination/pager.component.js\n// module id = 565\n// module chunks = 3","import { Component, ElementRef, EventEmitter, Input, Output, Renderer, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { PaginationConfig } from './pagination.config';\r\nexport var PAGINATION_CONTROL_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return PaginationComponent; }),\r\n    multi: true\r\n};\r\nvar PAGINATION_TEMPLATE = \"\\n  <ul class=\\\"pagination\\\" [ngClass]=\\\"classMap\\\">\\n    <li class=\\\"pagination-first page-item\\\"\\n        *ngIf=\\\"boundaryLinks\\\"\\n        [class.disabled]=\\\"noPrevious()||disabled\\\">\\n      <a class=\\\"page-link\\\" href (click)=\\\"selectPage(1, $event)\\\" [innerHTML]=\\\"getText('first')\\\"></a>\\n    </li>\\n\\n    <li class=\\\"pagination-prev page-item\\\"\\n        *ngIf=\\\"directionLinks\\\"\\n        [class.disabled]=\\\"noPrevious()||disabled\\\">\\n      <a class=\\\"page-link\\\" href (click)=\\\"selectPage(page - 1, $event)\\\" [innerHTML]=\\\"getText('previous')\\\"></a>\\n      </li>\\n\\n    <li *ngFor=\\\"let pg of pages\\\"\\n        [class.active]=\\\"pg.active\\\"\\n        [class.disabled]=\\\"disabled&&!pg.active\\\"\\n        class=\\\"pagination-page page-item\\\">\\n      <a class=\\\"page-link\\\" href (click)=\\\"selectPage(pg.number, $event)\\\" [innerHTML]=\\\"pg.text\\\"></a>\\n    </li>\\n\\n    <li class=\\\"pagination-next page-item\\\"\\n        *ngIf=\\\"directionLinks\\\"\\n        [class.disabled]=\\\"noNext()||disabled\\\">\\n      <a class=\\\"page-link\\\" href (click)=\\\"selectPage(page + 1, $event)\\\" [innerHTML]=\\\"getText('next')\\\"></a></li>\\n\\n    <li class=\\\"pagination-last page-item\\\"\\n        *ngIf=\\\"boundaryLinks\\\"\\n        [class.disabled]=\\\"noNext()||disabled\\\">\\n      <a class=\\\"page-link\\\" href (click)=\\\"selectPage(totalPages, $event)\\\" [innerHTML]=\\\"getText('last')\\\"></a></li>\\n  </ul>\\n  \";\r\nexport var PaginationComponent = (function () {\r\n    function PaginationComponent(renderer, elementRef, paginationConfig) {\r\n        /** fired when total pages count changes, $event:number equals to total pages count */\r\n        this.numPages = new EventEmitter();\r\n        /** fired when page was changed, $event:{page, itemsPerPage} equals to object with current page index and number of items per page */\r\n        this.pageChanged = new EventEmitter();\r\n        this.onChange = Function.prototype;\r\n        this.onTouched = Function.prototype;\r\n        this.inited = false;\r\n        this._page = 1;\r\n        this.renderer = renderer;\r\n        this.elementRef = elementRef;\r\n        if (!this.config) {\r\n            this.configureOptions(paginationConfig.main);\r\n        }\r\n    }\r\n    Object.defineProperty(PaginationComponent.prototype, \"itemsPerPage\", {\r\n        /** maximum number of items per page. If value less than 1 will display all items on one page */\r\n        get: function () {\r\n            return this._itemsPerPage;\r\n        },\r\n        set: function (v) {\r\n            this._itemsPerPage = v;\r\n            this.totalPages = this.calculateTotalPages();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PaginationComponent.prototype, \"totalItems\", {\r\n        /** total number of items in all pages */\r\n        get: function () {\r\n            return this._totalItems;\r\n        },\r\n        set: function (v) {\r\n            this._totalItems = v;\r\n            this.totalPages = this.calculateTotalPages();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PaginationComponent.prototype, \"totalPages\", {\r\n        get: function () {\r\n            return this._totalPages;\r\n        },\r\n        set: function (v) {\r\n            this._totalPages = v;\r\n            this.numPages.emit(v);\r\n            if (this.inited) {\r\n                this.selectPage(this.page);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PaginationComponent.prototype, \"page\", {\r\n        get: function () {\r\n            return this._page;\r\n        },\r\n        set: function (value) {\r\n            var _previous = this._page;\r\n            this._page = (value > this.totalPages) ? this.totalPages : (value || 1);\r\n            if (_previous === this._page || typeof _previous === 'undefined') {\r\n                return;\r\n            }\r\n            this.pageChanged.emit({\r\n                page: this._page,\r\n                itemsPerPage: this.itemsPerPage\r\n            });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    PaginationComponent.prototype.configureOptions = function (config) {\r\n        this.config = Object.assign({}, config);\r\n    };\r\n    PaginationComponent.prototype.ngOnInit = function () {\r\n        this.classMap = this.elementRef.nativeElement.getAttribute('class') || '';\r\n        // watch for maxSize\r\n        this.maxSize = typeof this.maxSize !== 'undefined'\r\n            ? this.maxSize\r\n            : this.config.maxSize;\r\n        this.rotate = typeof this.rotate !== 'undefined'\r\n            ? this.rotate\r\n            : this.config.rotate;\r\n        this.boundaryLinks = typeof this.boundaryLinks !== 'undefined'\r\n            ? this.boundaryLinks\r\n            : this.config.boundaryLinks;\r\n        this.directionLinks = typeof this.directionLinks !== 'undefined'\r\n            ? this.directionLinks\r\n            : this.config.directionLinks;\r\n        this.pageBtnClass = typeof this.pageBtnClass !== 'undefined'\r\n            ? this.pageBtnClass\r\n            : this.config.pageBtnClass;\r\n        // base class\r\n        this.itemsPerPage = typeof this.itemsPerPage !== 'undefined'\r\n            ? this.itemsPerPage\r\n            : this.config.itemsPerPage;\r\n        this.totalPages = this.calculateTotalPages();\r\n        // this class\r\n        this.pages = this.getPages(this.page, this.totalPages);\r\n        this.inited = true;\r\n    };\r\n    PaginationComponent.prototype.writeValue = function (value) {\r\n        this.page = value;\r\n        this.pages = this.getPages(this.page, this.totalPages);\r\n    };\r\n    PaginationComponent.prototype.getText = function (key) {\r\n        return this[key + 'Text'] || this.config[key + 'Text'];\r\n    };\r\n    PaginationComponent.prototype.noPrevious = function () {\r\n        return this.page === 1;\r\n    };\r\n    PaginationComponent.prototype.noNext = function () {\r\n        return this.page === this.totalPages;\r\n    };\r\n    PaginationComponent.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    PaginationComponent.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    PaginationComponent.prototype.selectPage = function (page, event) {\r\n        if (event) {\r\n            event.preventDefault();\r\n        }\r\n        if (!this.disabled) {\r\n            if (event && event.target) {\r\n                var target = event.target;\r\n                target.blur();\r\n            }\r\n            this.writeValue(page);\r\n            this.onChange(this.page);\r\n        }\r\n    };\r\n    // Create page object used in template\r\n    PaginationComponent.prototype.makePage = function (num, text, active) {\r\n        return { text: text, number: num, active: active };\r\n    };\r\n    PaginationComponent.prototype.getPages = function (currentPage, totalPages) {\r\n        var pages = [];\r\n        // Default page limits\r\n        var startPage = 1;\r\n        var endPage = totalPages;\r\n        var isMaxSized = typeof this.maxSize !== 'undefined' && this.maxSize < totalPages;\r\n        // recompute if maxSize\r\n        if (isMaxSized) {\r\n            if (this.rotate) {\r\n                // Current page is displayed in the middle of the visible ones\r\n                startPage = Math.max(currentPage - Math.floor(this.maxSize / 2), 1);\r\n                endPage = startPage + this.maxSize - 1;\r\n                // Adjust if limit is exceeded\r\n                if (endPage > totalPages) {\r\n                    endPage = totalPages;\r\n                    startPage = endPage - this.maxSize + 1;\r\n                }\r\n            }\r\n            else {\r\n                // Visible pages are paginated with maxSize\r\n                startPage = ((Math.ceil(currentPage / this.maxSize) - 1) * this.maxSize) + 1;\r\n                // Adjust last page if limit is exceeded\r\n                endPage = Math.min(startPage + this.maxSize - 1, totalPages);\r\n            }\r\n        }\r\n        // Add page number links\r\n        for (var num = startPage; num <= endPage; num++) {\r\n            var page = this.makePage(num, num.toString(), num === currentPage);\r\n            pages.push(page);\r\n        }\r\n        // Add links to move between page sets\r\n        if (isMaxSized && !this.rotate) {\r\n            if (startPage > 1) {\r\n                var previousPageSet = this.makePage(startPage - 1, '...', false);\r\n                pages.unshift(previousPageSet);\r\n            }\r\n            if (endPage < totalPages) {\r\n                var nextPageSet = this.makePage(endPage + 1, '...', false);\r\n                pages.push(nextPageSet);\r\n            }\r\n        }\r\n        return pages;\r\n    };\r\n    // base class\r\n    PaginationComponent.prototype.calculateTotalPages = function () {\r\n        var totalPages = this.itemsPerPage < 1\r\n            ? 1\r\n            : Math.ceil(this.totalItems / this.itemsPerPage);\r\n        return Math.max(totalPages || 0, 1);\r\n    };\r\n    PaginationComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'pagination',\r\n                    template: PAGINATION_TEMPLATE,\r\n                    providers: [PAGINATION_CONTROL_VALUE_ACCESSOR]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    PaginationComponent.ctorParameters = function () { return [\r\n        { type: Renderer, },\r\n        { type: ElementRef, },\r\n        { type: PaginationConfig, },\r\n    ]; };\r\n    PaginationComponent.propDecorators = {\r\n        'align': [{ type: Input },],\r\n        'maxSize': [{ type: Input },],\r\n        'boundaryLinks': [{ type: Input },],\r\n        'directionLinks': [{ type: Input },],\r\n        'firstText': [{ type: Input },],\r\n        'previousText': [{ type: Input },],\r\n        'nextText': [{ type: Input },],\r\n        'lastText': [{ type: Input },],\r\n        'rotate': [{ type: Input },],\r\n        'pageBtnClass': [{ type: Input },],\r\n        'disabled': [{ type: Input },],\r\n        'numPages': [{ type: Output },],\r\n        'pageChanged': [{ type: Output },],\r\n        'itemsPerPage': [{ type: Input },],\r\n        'totalItems': [{ type: Input },],\r\n    };\r\n    return PaginationComponent;\r\n}());\r\n//# sourceMappingURL=pagination.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/pagination/pagination.component.js\n// module id = 566\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { PaginationConfig } from './pagination.config';\r\nimport { PagerComponent } from './pager.component';\r\nimport { PaginationComponent } from './pagination.component';\r\nexport var PaginationModule = (function () {\r\n    function PaginationModule() {\r\n    }\r\n    PaginationModule.forRoot = function () {\r\n        return { ngModule: PaginationModule, providers: [PaginationConfig] };\r\n    };\r\n    PaginationModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [PagerComponent, PaginationComponent],\r\n                    exports: [PagerComponent, PaginationComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    PaginationModule.ctorParameters = function () { return []; };\r\n    return PaginationModule;\r\n}());\r\n//# sourceMappingURL=pagination.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/pagination/pagination.module.js\n// module id = 567\n// module chunks = 3","import { Directive, Input, Output, Renderer, ElementRef, ViewContainerRef } from '@angular/core';\r\nimport { PopoverConfig } from './popover.config';\r\nimport { ComponentLoaderFactory } from '../component-loader';\r\nimport { PopoverContainerComponent } from './popover-container.component';\r\n/**\r\n * A lightweight, extensible directive for fancy popover creation.\r\n */\r\nexport var PopoverDirective = (function () {\r\n    function PopoverDirective(_elementRef, _renderer, _viewContainerRef, _config, cis) {\r\n        this._popover = cis\r\n            .createLoader(_elementRef, _viewContainerRef, _renderer)\r\n            .provide({ provide: PopoverConfig, useValue: _config });\r\n        Object.assign(this, _config);\r\n        this.onShown = this._popover.onShown;\r\n        this.onHidden = this._popover.onHidden;\r\n    }\r\n    Object.defineProperty(PopoverDirective.prototype, \"isOpen\", {\r\n        /**\r\n         * Returns whether or not the popover is currently being shown\r\n         */\r\n        get: function () { return this._popover.isShown; },\r\n        set: function (value) {\r\n            if (value) {\r\n                this.show();\r\n            }\r\n            else {\r\n                this.hide();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /**\r\n     * Opens an element’s popover. This is considered a “manual” triggering of\r\n     * the popover.\r\n     */\r\n    PopoverDirective.prototype.show = function () {\r\n        if (this._popover.isShown) {\r\n            return;\r\n        }\r\n        this._popover\r\n            .attach(PopoverContainerComponent)\r\n            .to(this.container)\r\n            .position({ attachment: this.placement })\r\n            .show({\r\n            content: this.popover,\r\n            placement: this.placement,\r\n            title: this.popoverTitle\r\n        });\r\n        this.isOpen = true;\r\n    };\r\n    /**\r\n     * Closes an element’s popover. This is considered a “manual” triggering of\r\n     * the popover.\r\n     */\r\n    PopoverDirective.prototype.hide = function () {\r\n        if (this.isOpen) {\r\n            this._popover.hide();\r\n            this.isOpen = false;\r\n        }\r\n    };\r\n    /**\r\n     * Toggles an element’s popover. This is considered a “manual” triggering of\r\n     * the popover.\r\n     */\r\n    PopoverDirective.prototype.toggle = function () {\r\n        if (this.isOpen) {\r\n            return this.hide();\r\n        }\r\n        this.show();\r\n    };\r\n    PopoverDirective.prototype.ngOnInit = function () {\r\n        var _this = this;\r\n        this._popover.listen({\r\n            triggers: this.triggers,\r\n            show: function () { return _this.show(); }\r\n        });\r\n    };\r\n    PopoverDirective.prototype.ngOnDestroy = function () {\r\n        this._popover.dispose();\r\n    };\r\n    PopoverDirective.decorators = [\r\n        { type: Directive, args: [{ selector: '[popover]', exportAs: 'bs-popover' },] },\r\n    ];\r\n    /** @nocollapse */\r\n    PopoverDirective.ctorParameters = function () { return [\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n        { type: ViewContainerRef, },\r\n        { type: PopoverConfig, },\r\n        { type: ComponentLoaderFactory, },\r\n    ]; };\r\n    PopoverDirective.propDecorators = {\r\n        'popover': [{ type: Input },],\r\n        'popoverTitle': [{ type: Input },],\r\n        'placement': [{ type: Input },],\r\n        'triggers': [{ type: Input },],\r\n        'container': [{ type: Input },],\r\n        'isOpen': [{ type: Input },],\r\n        'onShown': [{ type: Output },],\r\n        'onHidden': [{ type: Output },],\r\n    };\r\n    return PopoverDirective;\r\n}());\r\n//# sourceMappingURL=popover.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/popover/popover.directive.js\n// module id = 568\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ComponentLoaderFactory } from '../component-loader';\r\nimport { PositioningService } from '../positioning';\r\nimport { PopoverConfig } from './popover.config';\r\nimport { PopoverDirective } from './popover.directive';\r\nimport { PopoverContainerComponent } from './popover-container.component';\r\nexport var PopoverModule = (function () {\r\n    function PopoverModule() {\r\n    }\r\n    PopoverModule.forRoot = function () {\r\n        return {\r\n            ngModule: PopoverModule,\r\n            providers: [PopoverConfig, ComponentLoaderFactory, PositioningService]\r\n        };\r\n    };\r\n    PopoverModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [PopoverDirective, PopoverContainerComponent],\r\n                    exports: [PopoverDirective],\r\n                    entryComponents: [PopoverContainerComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    PopoverModule.ctorParameters = function () { return []; };\r\n    return PopoverModule;\r\n}());\r\n//# sourceMappingURL=popover.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/popover/popover.module.js\n// module id = 569\n// module chunks = 3","/**\r\n * @copyright Valor Software\r\n * @copyright Angular ng-bootstrap team\r\n */\r\n// previous version:\r\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\r\n// tslint:disable\r\nexport var Positioning = (function () {\r\n    function Positioning() {\r\n    }\r\n    Positioning.prototype.position = function (element, round) {\r\n        if (round === void 0) { round = true; }\r\n        var elPosition;\r\n        var parentOffset = { width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0 };\r\n        if (this.getStyle(element, 'position') === 'fixed') {\r\n            elPosition = element.getBoundingClientRect();\r\n        }\r\n        else {\r\n            var offsetParentEl = this.offsetParent(element);\r\n            elPosition = this.offset(element, false);\r\n            if (offsetParentEl !== document.documentElement) {\r\n                parentOffset = this.offset(offsetParentEl, false);\r\n            }\r\n            parentOffset.top += offsetParentEl.clientTop;\r\n            parentOffset.left += offsetParentEl.clientLeft;\r\n        }\r\n        elPosition.top -= parentOffset.top;\r\n        elPosition.bottom -= parentOffset.top;\r\n        elPosition.left -= parentOffset.left;\r\n        elPosition.right -= parentOffset.left;\r\n        if (round) {\r\n            elPosition.top = Math.round(elPosition.top);\r\n            elPosition.bottom = Math.round(elPosition.bottom);\r\n            elPosition.left = Math.round(elPosition.left);\r\n            elPosition.right = Math.round(elPosition.right);\r\n        }\r\n        return elPosition;\r\n    };\r\n    Positioning.prototype.offset = function (element, round) {\r\n        if (round === void 0) { round = true; }\r\n        var elBcr = element.getBoundingClientRect();\r\n        var viewportOffset = {\r\n            top: window.pageYOffset - document.documentElement.clientTop,\r\n            left: window.pageXOffset - document.documentElement.clientLeft\r\n        };\r\n        var elOffset = {\r\n            height: elBcr.height || element.offsetHeight,\r\n            width: elBcr.width || element.offsetWidth,\r\n            top: elBcr.top + viewportOffset.top,\r\n            bottom: elBcr.bottom + viewportOffset.top,\r\n            left: elBcr.left + viewportOffset.left,\r\n            right: elBcr.right + viewportOffset.left\r\n        };\r\n        if (round) {\r\n            elOffset.height = Math.round(elOffset.height);\r\n            elOffset.width = Math.round(elOffset.width);\r\n            elOffset.top = Math.round(elOffset.top);\r\n            elOffset.bottom = Math.round(elOffset.bottom);\r\n            elOffset.left = Math.round(elOffset.left);\r\n            elOffset.right = Math.round(elOffset.right);\r\n        }\r\n        return elOffset;\r\n    };\r\n    Positioning.prototype.positionElements = function (hostElement, targetElement, placement, appendToBody) {\r\n        var hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\r\n        var shiftWidth = {\r\n            left: hostElPosition.left,\r\n            center: hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2,\r\n            right: hostElPosition.left + hostElPosition.width\r\n        };\r\n        var shiftHeight = {\r\n            top: hostElPosition.top,\r\n            center: hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2,\r\n            bottom: hostElPosition.top + hostElPosition.height\r\n        };\r\n        var targetElBCR = targetElement.getBoundingClientRect();\r\n        var placementPrimary = placement.split(' ')[0] || 'top';\r\n        var placementSecondary = placement.split(' ')[1] || 'center';\r\n        var targetElPosition = {\r\n            height: targetElBCR.height || targetElement.offsetHeight,\r\n            width: targetElBCR.width || targetElement.offsetWidth,\r\n            top: 0,\r\n            bottom: targetElBCR.height || targetElement.offsetHeight,\r\n            left: 0,\r\n            right: targetElBCR.width || targetElement.offsetWidth\r\n        };\r\n        switch (placementPrimary) {\r\n            case 'top':\r\n                targetElPosition.top = hostElPosition.top - targetElement.offsetHeight;\r\n                targetElPosition.bottom += hostElPosition.top - targetElement.offsetHeight;\r\n                targetElPosition.left = shiftWidth[placementSecondary];\r\n                targetElPosition.right += shiftWidth[placementSecondary];\r\n                break;\r\n            case 'bottom':\r\n                targetElPosition.top = shiftHeight[placementPrimary];\r\n                targetElPosition.bottom += shiftHeight[placementPrimary];\r\n                targetElPosition.left = shiftWidth[placementSecondary];\r\n                targetElPosition.right += shiftWidth[placementSecondary];\r\n                break;\r\n            case 'left':\r\n                targetElPosition.top = shiftHeight[placementSecondary];\r\n                targetElPosition.bottom += shiftHeight[placementSecondary];\r\n                targetElPosition.left = hostElPosition.left - targetElement.offsetWidth;\r\n                targetElPosition.right += hostElPosition.left - targetElement.offsetWidth;\r\n                break;\r\n            case 'right':\r\n                targetElPosition.top = shiftHeight[placementSecondary];\r\n                targetElPosition.bottom += shiftHeight[placementSecondary];\r\n                targetElPosition.left = shiftWidth[placementPrimary];\r\n                targetElPosition.right += shiftWidth[placementPrimary];\r\n                break;\r\n        }\r\n        targetElPosition.top = Math.round(targetElPosition.top);\r\n        targetElPosition.bottom = Math.round(targetElPosition.bottom);\r\n        targetElPosition.left = Math.round(targetElPosition.left);\r\n        targetElPosition.right = Math.round(targetElPosition.right);\r\n        return targetElPosition;\r\n    };\r\n    Positioning.prototype.getStyle = function (element, prop) { return window.getComputedStyle(element)[prop]; };\r\n    Positioning.prototype.isStaticPositioned = function (element) {\r\n        return (this.getStyle(element, 'position') || 'static') === 'static';\r\n    };\r\n    Positioning.prototype.offsetParent = function (element) {\r\n        var offsetParentEl = element.offsetParent || document.documentElement;\r\n        while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\r\n            offsetParentEl = offsetParentEl.offsetParent;\r\n        }\r\n        return offsetParentEl || document.documentElement;\r\n    };\r\n    return Positioning;\r\n}());\r\nvar positionService = new Positioning();\r\nexport function positionElements(hostElement, targetElement, placement, appendToBody) {\r\n    var pos = positionService.positionElements(hostElement, targetElement, placement, appendToBody);\r\n    targetElement.style.top = pos.top + \"px\";\r\n    targetElement.style.left = pos.left + \"px\";\r\n}\r\n//# sourceMappingURL=ng-positioning.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/positioning/ng-positioning.js\n// module id = 570\n// module chunks = 3","import { Component, Host, Input } from '@angular/core';\r\nimport { ProgressDirective } from './progress.directive';\r\n// todo: number pipe\r\n// todo: use query from progress?\r\nexport var BarComponent = (function () {\r\n    function BarComponent(progress) {\r\n        this.percent = 0;\r\n        this.progress = progress;\r\n    }\r\n    Object.defineProperty(BarComponent.prototype, \"value\", {\r\n        /** current value of progress bar */\r\n        get: function () {\r\n            return this._value;\r\n        },\r\n        set: function (v) {\r\n            if (!v && v !== 0) {\r\n                return;\r\n            }\r\n            this._value = v;\r\n            this.recalculatePercentage();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    BarComponent.prototype.ngOnInit = function () {\r\n        this.progress.addBar(this);\r\n    };\r\n    BarComponent.prototype.ngOnDestroy = function () {\r\n        this.progress.removeBar(this);\r\n    };\r\n    BarComponent.prototype.recalculatePercentage = function () {\r\n        this.percent = +(100 * this.value / this.progress.max).toFixed(2);\r\n        var totalPercentage = this.progress.bars.reduce(function (total, bar) {\r\n            return total + bar.percent;\r\n        }, 0);\r\n        if (totalPercentage > 100) {\r\n            this.percent -= totalPercentage - 100;\r\n        }\r\n    };\r\n    BarComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'bar',\r\n                    template: \"\\n  <div class=\\\"progress-bar\\\"\\n    style=\\\"min-width: 0;\\\"\\n    role=\\\"progressbar\\\"\\n    [ngClass]=\\\"type && 'progress-bar-' + type\\\"\\n    [ngStyle]=\\\"{width: (percent < 100 ? percent : 100) + '%', transition: transition}\\\"\\n    aria-valuemin=\\\"0\\\"\\n    [attr.aria-valuenow]=\\\"value\\\"\\n    [attr.aria-valuetext]=\\\"percent.toFixed(0) + '%'\\\"\\n    [attr.aria-valuemax]=\\\"max\\\"><ng-content></ng-content></div>\\n\"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    BarComponent.ctorParameters = function () { return [\r\n        { type: ProgressDirective, decorators: [{ type: Host },] },\r\n    ]; };\r\n    BarComponent.propDecorators = {\r\n        'type': [{ type: Input },],\r\n        'value': [{ type: Input },],\r\n    };\r\n    return BarComponent;\r\n}());\r\n//# sourceMappingURL=bar.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/progressbar/bar.component.js\n// module id = 571\n// module chunks = 3","import { Component, Input } from '@angular/core';\r\nimport { ProgressbarConfig } from './progressbar.config';\r\nexport var ProgressbarComponent = (function () {\r\n    function ProgressbarComponent(config) {\r\n        Object.assign(this, config);\r\n    }\r\n    ProgressbarComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'progressbar',\r\n                    template: \"\\n    <div progress [animate]=\\\"animate\\\" [max]=\\\"max\\\">\\n      <bar [type]=\\\"type\\\" [value]=\\\"value\\\">\\n          <ng-content></ng-content>\\n      </bar>\\n    </div>\\n  \"\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ProgressbarComponent.ctorParameters = function () { return [\r\n        { type: ProgressbarConfig, },\r\n    ]; };\r\n    ProgressbarComponent.propDecorators = {\r\n        'animate': [{ type: Input },],\r\n        'max': [{ type: Input },],\r\n        'type': [{ type: Input },],\r\n        'value': [{ type: Input },],\r\n    };\r\n    return ProgressbarComponent;\r\n}());\r\n//# sourceMappingURL=progressbar.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/progressbar/progressbar.component.js\n// module id = 572\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { BarComponent } from './bar.component';\r\nimport { ProgressDirective } from './progress.directive';\r\nimport { ProgressbarComponent } from './progressbar.component';\r\nimport { ProgressbarConfig } from './progressbar.config';\r\nexport var ProgressbarModule = (function () {\r\n    function ProgressbarModule() {\r\n    }\r\n    ProgressbarModule.forRoot = function () {\r\n        return { ngModule: ProgressbarModule, providers: [ProgressbarConfig] };\r\n    };\r\n    ProgressbarModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [ProgressDirective, BarComponent, ProgressbarComponent],\r\n                    exports: [ProgressDirective, BarComponent, ProgressbarComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    ProgressbarModule.ctorParameters = function () { return []; };\r\n    return ProgressbarModule;\r\n}());\r\n//# sourceMappingURL=progressbar.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/progressbar/progressbar.module.js\n// module id = 573\n// module chunks = 3","import { Component, EventEmitter, HostListener, Input, Output, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nexport var RATING_CONTROL_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return RatingComponent; }),\r\n    multi: true\r\n};\r\nexport var RatingComponent = (function () {\r\n    function RatingComponent() {\r\n        /** number of icons */\r\n        this.max = 5;\r\n        /** fired when icon selected, $event:number equals to selected rating */\r\n        this.onHover = new EventEmitter();\r\n        /** fired when icon selected, $event:number equals to previous rating value */\r\n        this.onLeave = new EventEmitter();\r\n        this.onChange = Function.prototype;\r\n        this.onTouched = Function.prototype;\r\n    }\r\n    RatingComponent.prototype.onKeydown = function (event) {\r\n        if ([37, 38, 39, 40].indexOf(event.which) === -1) {\r\n            return;\r\n        }\r\n        event.preventDefault();\r\n        event.stopPropagation();\r\n        var sign = event.which === 38 || event.which === 39 ? 1 : -1;\r\n        this.rate(this.value + sign);\r\n    };\r\n    RatingComponent.prototype.ngOnInit = function () {\r\n        this.max = typeof this.max !== 'undefined' ? this.max : 5;\r\n        this.readonly = this.readonly === true;\r\n        this.stateOn = typeof this.stateOn !== 'undefined'\r\n            ? this.stateOn\r\n            : 'glyphicon-star';\r\n        this.stateOff = typeof this.stateOff !== 'undefined'\r\n            ? this.stateOff\r\n            : 'glyphicon-star-empty';\r\n        this.titles = typeof this.titles !== 'undefined' && this.titles.length > 0\r\n            ? this.titles\r\n            : ['one', 'two', 'three', 'four', 'five'];\r\n        this.range = this.buildTemplateObjects(this.ratingStates, this.max);\r\n    };\r\n    // model -> view\r\n    RatingComponent.prototype.writeValue = function (value) {\r\n        if (value % 1 !== value) {\r\n            this.value = Math.round(value);\r\n            this.preValue = value;\r\n            return;\r\n        }\r\n        this.preValue = value;\r\n        this.value = value;\r\n    };\r\n    RatingComponent.prototype.enter = function (value) {\r\n        if (!this.readonly) {\r\n            this.value = value;\r\n            this.onHover.emit(value);\r\n        }\r\n    };\r\n    RatingComponent.prototype.reset = function () {\r\n        this.value = this.preValue;\r\n        this.onLeave.emit(this.value);\r\n    };\r\n    RatingComponent.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    RatingComponent.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    RatingComponent.prototype.rate = function (value) {\r\n        if (!this.readonly && value >= 0 && value <= this.range.length) {\r\n            this.writeValue(value);\r\n            this.onChange(value);\r\n        }\r\n    };\r\n    RatingComponent.prototype.buildTemplateObjects = function (ratingStates, max) {\r\n        ratingStates = ratingStates || [];\r\n        var count = ratingStates.length || max;\r\n        var result = [];\r\n        for (var i = 0; i < count; i++) {\r\n            result.push(Object.assign({\r\n                index: i,\r\n                stateOn: this.stateOn,\r\n                stateOff: this.stateOff,\r\n                title: this.titles[i] || i + 1\r\n            }, ratingStates[i] || {}));\r\n        }\r\n        return result;\r\n    };\r\n    RatingComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'rating',\r\n                    template: \"\\n    <span (mouseleave)=\\\"reset()\\\" (keydown)=\\\"onKeydown($event)\\\" tabindex=\\\"0\\\" role=\\\"slider\\\" aria-valuemin=\\\"0\\\" [attr.aria-valuemax]=\\\"range.length\\\" [attr.aria-valuenow]=\\\"value\\\">\\n      <template ngFor let-r [ngForOf]=\\\"range\\\" let-index=\\\"index\\\">\\n        <span class=\\\"sr-only\\\">({{ index < value ? '*' : ' ' }})</span>\\n        <i (mouseenter)=\\\"enter(index + 1)\\\" (click)=\\\"rate(index + 1)\\\" class=\\\"glyphicon\\\" [ngClass]=\\\"index < value ? r.stateOn : r.stateOff\\\" [title]=\\\"r.title\\\" ></i>\\n      </template>\\n    </span>\\n  \",\r\n                    providers: [RATING_CONTROL_VALUE_ACCESSOR]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    RatingComponent.ctorParameters = function () { return []; };\r\n    RatingComponent.propDecorators = {\r\n        'max': [{ type: Input },],\r\n        'stateOn': [{ type: Input },],\r\n        'stateOff': [{ type: Input },],\r\n        'readonly': [{ type: Input },],\r\n        'titles': [{ type: Input },],\r\n        'ratingStates': [{ type: Input },],\r\n        'onHover': [{ type: Output },],\r\n        'onLeave': [{ type: Output },],\r\n        'onKeydown': [{ type: HostListener, args: ['keydown', ['$event'],] },],\r\n    };\r\n    return RatingComponent;\r\n}());\r\n//# sourceMappingURL=rating.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/rating/rating.component.js\n// module id = 574\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RatingComponent } from './rating.component';\r\nexport var RatingModule = (function () {\r\n    function RatingModule() {\r\n    }\r\n    RatingModule.forRoot = function () {\r\n        return {\r\n            ngModule: RatingModule,\r\n            providers: []\r\n        };\r\n    };\r\n    RatingModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [RatingComponent],\r\n                    exports: [RatingComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    RatingModule.ctorParameters = function () { return []; };\r\n    return RatingModule;\r\n}());\r\n//# sourceMappingURL=rating.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/rating/rating.module.js\n// module id = 575\n// module chunks = 3","export { SortableModule } from './sortable.module';\r\nexport { SortableComponent } from './sortable.component';\r\nexport { DraggableItemService } from './draggable-item.service';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/sortable/index.js\n// module id = 576\n// module chunks = 3","import { Component, Input, Output, EventEmitter, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DraggableItemService } from './draggable-item.service';\r\n/* tslint:disable */\r\n/* tslint:enable */\r\nexport var SortableComponent = (function () {\r\n    function SortableComponent(transfer) {\r\n        var _this = this;\r\n        /** class name for items wrapper */\r\n        this.wrapperClass = '';\r\n        /** style object for items wrapper */\r\n        this.wrapperStyle = {};\r\n        /** class name for item */\r\n        this.itemClass = '';\r\n        /** style object for item */\r\n        this.itemStyle = {};\r\n        /** class name for active item */\r\n        this.itemActiveClass = '';\r\n        /** style object for active item */\r\n        this.itemActiveStyle = {};\r\n        /** class name for placeholder */\r\n        this.placeholderClass = '';\r\n        /** style object for placeholder */\r\n        this.placeholderStyle = {};\r\n        /** placeholder item which will be shown if collection is empty */\r\n        this.placeholderItem = '';\r\n        /** fired on array change (reordering, insert, remove), same as <code>ngModelChange</code>.\r\n         *  Returns new items collection as a payload.\r\n         */\r\n        this.onChange = new EventEmitter();\r\n        this.showPlaceholder = false;\r\n        this.activeItem = -1;\r\n        this.onTouched = Function.prototype;\r\n        this.onChanged = Function.prototype;\r\n        this.transfer = transfer;\r\n        this.currentZoneIndex = SortableComponent.globalZoneIndex++;\r\n        this.transfer.onCaptureItem()\r\n            .subscribe(function (item) { return _this.onDrop(item); });\r\n    }\r\n    Object.defineProperty(SortableComponent.prototype, \"items\", {\r\n        get: function () {\r\n            return this._items;\r\n        },\r\n        set: function (value) {\r\n            this._items = value;\r\n            var out = this.items.map(function (x) { return x.initData; });\r\n            this.onChanged(out);\r\n            this.onChange.emit(out);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SortableComponent.prototype.onItemDragstart = function (event, item, i) {\r\n        this.initDragstartEvent(event);\r\n        this.onTouched();\r\n        this.transfer.dragStart({\r\n            event: event,\r\n            item: item,\r\n            i: i,\r\n            initialIndex: i,\r\n            lastZoneIndex: this.currentZoneIndex,\r\n            overZoneIndex: this.currentZoneIndex\r\n        });\r\n    };\r\n    SortableComponent.prototype.onItemDragover = function (event, i) {\r\n        if (!this.transfer.getItem()) {\r\n            return;\r\n        }\r\n        event.preventDefault();\r\n        var dragItem = this.transfer.captureItem(this.currentZoneIndex, this.items.length);\r\n        var newArray = [];\r\n        if (!this.items.length) {\r\n            newArray = [dragItem.item];\r\n        }\r\n        else if (dragItem.i > i) {\r\n            newArray = this.items.slice(0, i).concat([\r\n                dragItem.item\r\n            ], this.items.slice(i, dragItem.i), this.items.slice(dragItem.i + 1));\r\n        }\r\n        else {\r\n            newArray = this.items.slice(0, dragItem.i).concat(this.items.slice(dragItem.i + 1, i + 1), [\r\n                dragItem.item\r\n            ], this.items.slice(i + 1));\r\n        }\r\n        this.items = newArray;\r\n        dragItem.i = i;\r\n        this.activeItem = i;\r\n        this.updatePlaceholderState();\r\n    };\r\n    SortableComponent.prototype.cancelEvent = function (event) {\r\n        if (!this.transfer.getItem() || !event) {\r\n            return;\r\n        }\r\n        event.preventDefault();\r\n    };\r\n    SortableComponent.prototype.onDrop = function (item) {\r\n        if (item &&\r\n            item.overZoneIndex !== this.currentZoneIndex &&\r\n            item.lastZoneIndex === this.currentZoneIndex) {\r\n            this.items = this.items.filter(function (x, i) { return i !== item.i; });\r\n            this.updatePlaceholderState();\r\n        }\r\n        this.resetActiveItem(undefined);\r\n    };\r\n    SortableComponent.prototype.resetActiveItem = function (event) {\r\n        this.cancelEvent(event);\r\n        this.activeItem = -1;\r\n    };\r\n    SortableComponent.prototype.registerOnChange = function (callback) {\r\n        this.onChanged = callback;\r\n    };\r\n    SortableComponent.prototype.registerOnTouched = function (callback) {\r\n        this.onTouched = callback;\r\n    };\r\n    SortableComponent.prototype.writeValue = function (value) {\r\n        var _this = this;\r\n        if (value) {\r\n            this.items = value.map(function (x, i) { return ({\r\n                id: i,\r\n                initData: x,\r\n                value: _this.fieldName ? x[_this.fieldName] : x\r\n            }); });\r\n        }\r\n        else {\r\n            this.items = [];\r\n        }\r\n        this.updatePlaceholderState();\r\n    };\r\n    SortableComponent.prototype.updatePlaceholderState = function () {\r\n        this.showPlaceholder = !this._items.length;\r\n    };\r\n    SortableComponent.prototype.getItemStyle = function (isActive) {\r\n        return isActive\r\n            ? Object.assign({}, this.itemStyle, this.itemActiveStyle)\r\n            : this.itemStyle;\r\n    };\r\n    SortableComponent.prototype.initDragstartEvent = function (event) {\r\n        // it is necessary for mozilla\r\n        // data type should be 'Text' instead of 'text/plain' to keep compatibility\r\n        // with IE\r\n        event.dataTransfer.setData('Text', 'placeholder');\r\n    };\r\n    SortableComponent.globalZoneIndex = 0;\r\n    SortableComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'bs-sortable',\r\n                    exportAs: 'bs-sortable',\r\n                    template: \"\\n<div\\n    [ngClass]=\\\"wrapperClass\\\"\\n    [ngStyle]=\\\"wrapperStyle\\\"\\n    [ngStyle]=\\\"wrapperStyle\\\"\\n    (dragover)=\\\"cancelEvent($event)\\\"\\n    (dragenter)=\\\"cancelEvent($event)\\\"\\n    (drop)=\\\"resetActiveItem($event)\\\"\\n    (mouseleave)=\\\"resetActiveItem($event)\\\">\\n  <div\\n        *ngIf=\\\"showPlaceholder\\\"\\n        [ngClass]=\\\"placeholderClass\\\"\\n        [ngStyle]=\\\"placeholderStyle\\\"\\n        (dragover)=\\\"onItemDragover($event, 0)\\\"\\n        (dragenter)=\\\"cancelEvent($event)\\\"\\n    >{{placeholderItem}}</div>\\n    <div\\n        *ngFor=\\\"let item of items; let i=index;\\\"\\n        [ngClass]=\\\"[ itemClass, i === activeItem ? itemActiveClass : '' ]\\\"\\n        [ngStyle]=\\\"getItemStyle(i === activeItem)\\\"\\n        draggable=\\\"true\\\"\\n        (dragstart)=\\\"onItemDragstart($event, item, i)\\\"\\n        (dragend)=\\\"resetActiveItem($event)\\\"\\n        (dragover)=\\\"onItemDragover($event, i)\\\"\\n        (dragenter)=\\\"cancelEvent($event)\\\"\\n    ><template [ngTemplateOutlet]=\\\"itemTemplate || defItemTemplate\\\"\\n  [ngOutletContext]=\\\"{item:item, index: i}\\\"></template></div>\\n</div>\\n\\n<template #defItemTemplate let-item=\\\"item\\\">{{item.value}}</template>  \\n\",\r\n                    providers: [{\r\n                            provide: NG_VALUE_ACCESSOR,\r\n                            useExisting: forwardRef(function () { return SortableComponent; }),\r\n                            multi: true\r\n                        }],\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    SortableComponent.ctorParameters = function () { return [\r\n        { type: DraggableItemService, },\r\n    ]; };\r\n    SortableComponent.propDecorators = {\r\n        'fieldName': [{ type: Input },],\r\n        'wrapperClass': [{ type: Input },],\r\n        'wrapperStyle': [{ type: Input },],\r\n        'itemClass': [{ type: Input },],\r\n        'itemStyle': [{ type: Input },],\r\n        'itemActiveClass': [{ type: Input },],\r\n        'itemActiveStyle': [{ type: Input },],\r\n        'placeholderClass': [{ type: Input },],\r\n        'placeholderStyle': [{ type: Input },],\r\n        'placeholderItem': [{ type: Input },],\r\n        'itemTemplate': [{ type: Input },],\r\n        'onChange': [{ type: Output },],\r\n    };\r\n    return SortableComponent;\r\n}());\r\n//# sourceMappingURL=sortable.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/sortable/sortable.component.js\n// module id = 577\n// module chunks = 3","import { Directive, Input, ViewContainerRef } from '@angular/core';\r\nexport var NgTranscludeDirective = (function () {\r\n    function NgTranscludeDirective(viewRef) {\r\n        this.viewRef = viewRef;\r\n    }\r\n    Object.defineProperty(NgTranscludeDirective.prototype, \"ngTransclude\", {\r\n        get: function () {\r\n            return this._ngTransclude;\r\n        },\r\n        set: function (templateRef) {\r\n            this._ngTransclude = templateRef;\r\n            if (templateRef) {\r\n                this.viewRef.createEmbeddedView(templateRef);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    NgTranscludeDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: '[ngTransclude]'\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    NgTranscludeDirective.ctorParameters = function () { return [\r\n        { type: ViewContainerRef, },\r\n    ]; };\r\n    NgTranscludeDirective.propDecorators = {\r\n        'ngTransclude': [{ type: Input },],\r\n    };\r\n    return NgTranscludeDirective;\r\n}());\r\n//# sourceMappingURL=ng-transclude.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tabs/ng-transclude.directive.js\n// module id = 578\n// module chunks = 3","import { Directive, TemplateRef } from '@angular/core';\r\nimport { TabDirective } from './tab.directive';\r\n/** Should be used to mark <template> element as a template for tab heading */\r\nexport var TabHeadingDirective = (function () {\r\n    function TabHeadingDirective(templateRef, tab) {\r\n        tab.headingRef = templateRef;\r\n    }\r\n    TabHeadingDirective.decorators = [\r\n        { type: Directive, args: [{ selector: '[tabHeading]' },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TabHeadingDirective.ctorParameters = function () { return [\r\n        { type: TemplateRef, },\r\n        { type: TabDirective, },\r\n    ]; };\r\n    return TabHeadingDirective;\r\n}());\r\n//# sourceMappingURL=tab-heading.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tabs/tab-heading.directive.js\n// module id = 579\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { NgTranscludeDirective } from './ng-transclude.directive';\r\nimport { TabHeadingDirective } from './tab-heading.directive';\r\nimport { TabDirective } from './tab.directive';\r\nimport { TabsetComponent } from './tabset.component';\r\nimport { TabsetConfig } from './tabset.config';\r\nexport var TabsModule = (function () {\r\n    function TabsModule() {\r\n    }\r\n    TabsModule.forRoot = function () {\r\n        return {\r\n            ngModule: TabsModule,\r\n            providers: [TabsetConfig]\r\n        };\r\n    };\r\n    TabsModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [NgTranscludeDirective, TabDirective, TabsetComponent, TabHeadingDirective],\r\n                    exports: [TabDirective, TabsetComponent, TabHeadingDirective, NgTranscludeDirective]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TabsModule.ctorParameters = function () { return []; };\r\n    return TabsModule;\r\n}());\r\n//# sourceMappingURL=tabs.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tabs/tabs.module.js\n// module id = 580\n// module chunks = 3","import { Component, Input, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { TimepickerConfig } from './timepicker.config';\r\nexport var TIMEPICKER_CONTROL_VALUE_ACCESSOR = {\r\n    provide: NG_VALUE_ACCESSOR,\r\n    useExisting: forwardRef(function () { return TimepickerComponent; }),\r\n    multi: true\r\n};\r\n// todo: refactor directive has to many functions! (extract to stateless helper)\r\n// todo: use moment js?\r\n// todo: implement `time` validator\r\n// todo: replace increment/decrement blockers with getters, or extract\r\n// todo: unify work with selected\r\nfunction isDefined(value) {\r\n    return typeof value !== 'undefined';\r\n}\r\nfunction addMinutes(date, minutes) {\r\n    var dt = new Date(date.getTime() + minutes * 60000);\r\n    var newDate = new Date(date);\r\n    newDate.setHours(dt.getHours(), dt.getMinutes());\r\n    return newDate;\r\n}\r\nexport var TimepickerComponent = (function () {\r\n    function TimepickerComponent(_config) {\r\n        this.onChange = Function.prototype;\r\n        this.onTouched = Function.prototype;\r\n        // result value\r\n        this._selected = new Date();\r\n        this.config = _config;\r\n        Object.assign(this, _config);\r\n    }\r\n    Object.defineProperty(TimepickerComponent.prototype, \"showMeridian\", {\r\n        /** if true works in 12H mode and displays AM/PM. If false works in 24H mode and hides AM/PM */\r\n        get: function () {\r\n            return this._showMeridian;\r\n        },\r\n        set: function (value) {\r\n            this._showMeridian = value;\r\n            // || !this.$error.time\r\n            // if (true) {\r\n            this.updateTemplate();\r\n            return;\r\n            // }\r\n            // Evaluate from template\r\n            /*let hours = this.getHoursFromTemplate();\r\n             let minutes = this.getMinutesFromTemplate();\r\n             if (isDefined(hours) && isDefined(minutes)) {\r\n             this.selected.setHours(hours);\r\n             this.refresh();\r\n             }*/\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TimepickerComponent.prototype, \"selected\", {\r\n        get: function () {\r\n            return this._selected;\r\n        },\r\n        set: function (v) {\r\n            if (v) {\r\n                this._selected = v;\r\n                this.updateTemplate();\r\n                this.onChange(this.selected);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // todo: add formatter value to Date object\r\n    TimepickerComponent.prototype.ngOnInit = function () {\r\n        // todo: take in account $locale.DATETIME_FORMATS.AMPMS;\r\n        if (this.mousewheel) {\r\n        }\r\n        if (this.arrowkeys) {\r\n        }\r\n        // this.setupInputEvents();\r\n    };\r\n    TimepickerComponent.prototype.writeValue = function (v) {\r\n        if (v === this.selected) {\r\n            return;\r\n        }\r\n        if (v && v instanceof Date) {\r\n            this.selected = v;\r\n            return;\r\n        }\r\n        this.selected = v ? new Date(v) : void 0;\r\n    };\r\n    TimepickerComponent.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    TimepickerComponent.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    TimepickerComponent.prototype.setDisabledState = function (isDisabled) {\r\n        this.readonlyInput = isDisabled;\r\n    };\r\n    TimepickerComponent.prototype.updateHours = function () {\r\n        if (this.readonlyInput) {\r\n            return;\r\n        }\r\n        var hours = this.getHoursFromTemplate();\r\n        var minutes = this.getMinutesFromTemplate();\r\n        this.invalidHours = !isDefined(hours);\r\n        this.invalidMinutes = !isDefined(minutes);\r\n        if (this.invalidHours || this.invalidMinutes) {\r\n            // TODO: needed a validation functionality.\r\n            return;\r\n        }\r\n        this.selected.setHours(hours);\r\n        this.invalidHours = (this.selected < this.min || this.selected > this.max);\r\n        if (this.invalidHours) {\r\n            // todo: validation?\r\n            // invalidate(true);\r\n            return;\r\n        }\r\n        else {\r\n            this.refresh();\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.hoursOnBlur = function () {\r\n        if (this.readonlyInput) {\r\n            return;\r\n        }\r\n        // todo: binded with validation\r\n        if (!this.invalidHours && parseInt(this.hours, 10) < 10) {\r\n            this.hours = this.pad(this.hours);\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.updateMinutes = function () {\r\n        if (this.readonlyInput) {\r\n            return;\r\n        }\r\n        var minutes = this.getMinutesFromTemplate();\r\n        var hours = this.getHoursFromTemplate();\r\n        this.invalidMinutes = !isDefined(minutes);\r\n        this.invalidHours = !isDefined(hours);\r\n        if (this.invalidMinutes || this.invalidHours) {\r\n            // TODO: needed a validation functionality.\r\n            return;\r\n        }\r\n        this.selected.setMinutes(minutes);\r\n        this.invalidMinutes = (this.selected < this.min || this.selected > this.max);\r\n        if (this.invalidMinutes) {\r\n            // todo: validation\r\n            // invalidate(undefined, true);\r\n            return;\r\n        }\r\n        else {\r\n            this.refresh();\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.minutesOnBlur = function () {\r\n        if (this.readonlyInput) {\r\n            return;\r\n        }\r\n        if (!this.invalidMinutes && parseInt(this.minutes, 10) < 10) {\r\n            this.minutes = this.pad(this.minutes);\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.incrementHours = function () {\r\n        if (!this.noIncrementHours()) {\r\n            this.addMinutesToSelected(this.hourStep * 60);\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.decrementHours = function () {\r\n        if (!this.noDecrementHours()) {\r\n            this.addMinutesToSelected(-this.hourStep * 60);\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.incrementMinutes = function () {\r\n        if (!this.noIncrementMinutes()) {\r\n            this.addMinutesToSelected(this.minuteStep);\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.decrementMinutes = function () {\r\n        if (!this.noDecrementMinutes()) {\r\n            this.addMinutesToSelected(-this.minuteStep);\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.noIncrementHours = function () {\r\n        var incrementedSelected = addMinutes(this.selected, this.hourStep * 60);\r\n        return incrementedSelected > this.max ||\r\n            (incrementedSelected < this.selected && incrementedSelected < this.min);\r\n    };\r\n    TimepickerComponent.prototype.noDecrementHours = function () {\r\n        var decrementedSelected = addMinutes(this.selected, -this.hourStep * 60);\r\n        return decrementedSelected < this.min ||\r\n            (decrementedSelected > this.selected && decrementedSelected > this.max);\r\n    };\r\n    TimepickerComponent.prototype.noIncrementMinutes = function () {\r\n        var incrementedSelected = addMinutes(this.selected, this.minuteStep);\r\n        return incrementedSelected > this.max ||\r\n            (incrementedSelected < this.selected && incrementedSelected < this.min);\r\n    };\r\n    TimepickerComponent.prototype.noDecrementMinutes = function () {\r\n        var decrementedSelected = addMinutes(this.selected, -this.minuteStep);\r\n        return decrementedSelected < this.min ||\r\n            (decrementedSelected > this.selected && decrementedSelected > this.max);\r\n    };\r\n    TimepickerComponent.prototype.toggleMeridian = function () {\r\n        if (!this.noToggleMeridian()) {\r\n            var sign = this.selected.getHours() < 12 ? 1 : -1;\r\n            this.addMinutesToSelected(12 * 60 * sign);\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.noToggleMeridian = function () {\r\n        if (this.readonlyInput) {\r\n            return true;\r\n        }\r\n        if (this.selected.getHours() < 13) {\r\n            return addMinutes(this.selected, 12 * 60) > this.max;\r\n        }\r\n        else {\r\n            return addMinutes(this.selected, -12 * 60) < this.min;\r\n        }\r\n    };\r\n    TimepickerComponent.prototype.refresh = function () {\r\n        // this.makeValid();\r\n        this.updateTemplate();\r\n        this.onChange(this.selected);\r\n    };\r\n    TimepickerComponent.prototype.updateTemplate = function () {\r\n        var hours = this.selected.getHours();\r\n        var minutes = this.selected.getMinutes();\r\n        if (this.showMeridian) {\r\n            // Convert 24 to 12 hour system\r\n            hours = (hours === 0 || hours === 12) ? 12 : hours % 12;\r\n        }\r\n        // this.hours = keyboardChange === 'h' ? hours : this.pad(hours);\r\n        // if (keyboardChange !== 'm') {\r\n        //  this.minutes = this.pad(minutes);\r\n        // }\r\n        this.hours = this.pad(hours);\r\n        this.minutes = this.pad(minutes);\r\n        if (!this.meridians) {\r\n            this.meridians = this.config.meridians;\r\n        }\r\n        this.meridian = this.selected.getHours() < 12\r\n            ? this.meridians[0]\r\n            : this.meridians[1];\r\n    };\r\n    TimepickerComponent.prototype.getHoursFromTemplate = function () {\r\n        var hours = parseInt(this.hours, 10);\r\n        var valid = this.showMeridian\r\n            ? (hours > 0 && hours < 13)\r\n            : (hours >= 0 && hours < 24);\r\n        if (!valid) {\r\n            return void 0;\r\n        }\r\n        if (this.showMeridian) {\r\n            if (hours === 12) {\r\n                hours = 0;\r\n            }\r\n            if (this.meridian === this.meridians[1]) {\r\n                hours = hours + 12;\r\n            }\r\n        }\r\n        return hours;\r\n    };\r\n    TimepickerComponent.prototype.getMinutesFromTemplate = function () {\r\n        var minutes = parseInt(this.minutes, 10);\r\n        return (minutes >= 0 && minutes < 60) ? minutes : undefined;\r\n    };\r\n    TimepickerComponent.prototype.pad = function (value) {\r\n        return (isDefined(value) && value.toString().length < 2)\r\n            ? '0' + value\r\n            : value.toString();\r\n    };\r\n    TimepickerComponent.prototype.addMinutesToSelected = function (minutes) {\r\n        this.selected = addMinutes(this.selected, minutes);\r\n        this.refresh();\r\n    };\r\n    TimepickerComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'timepicker',\r\n                    template: \"\\n    <table>\\n      <tbody>\\n        <tr class=\\\"text-center\\\" [ngClass]=\\\"{hidden: !showSpinners || readonlyInput}\\\">\\n          <td><a (click)=\\\"incrementHours()\\\" [ngClass]=\\\"{disabled: noIncrementHours()}\\\" class=\\\"btn btn-link\\\"><span class=\\\"glyphicon glyphicon-chevron-up\\\"></span></a></td>\\n          <td>&nbsp;</td>\\n          <td><a (click)=\\\"incrementMinutes()\\\" [ngClass]=\\\"{disabled: noIncrementMinutes()}\\\" class=\\\"btn btn-link\\\"><span class=\\\"glyphicon glyphicon-chevron-up\\\"></span></a></td>\\n          <td [ngClass]=\\\"{hidden: !showMeridian}\\\" *ngIf=\\\"showMeridian\\\"></td>\\n        </tr>\\n        <tr>\\n          <td class=\\\"form-group\\\" [ngClass]=\\\"{'has-error': invalidHours}\\\">\\n            <input style=\\\"width:50px;\\\" type=\\\"text\\\" [(ngModel)]=\\\"hours\\\" (change)=\\\"updateHours()\\\" class=\\\"form-control text-center\\\" [readonly]=\\\"readonlyInput\\\" (blur)=\\\"hoursOnBlur()\\\" maxlength=\\\"2\\\">\\n          </td>\\n          <td>:</td>\\n          <td class=\\\"form-group\\\" [ngClass]=\\\"{'has-error': invalidMinutes}\\\">\\n            <input style=\\\"width:50px;\\\" type=\\\"text\\\" [(ngModel)]=\\\"minutes\\\" (change)=\\\"updateMinutes()\\\" class=\\\"form-control text-center\\\" [readonly]=\\\"readonlyInput\\\" (blur)=\\\"minutesOnBlur()\\\" maxlength=\\\"2\\\">\\n          </td>\\n          <td [ngClass]=\\\"{hidden: !showMeridian}\\\" *ngIf=\\\"showMeridian\\\"><button type=\\\"button\\\" [ngClass]=\\\"{disabled: noToggleMeridian() || readonlyInput}\\\" class=\\\"btn btn-default text-center\\\" (click)=\\\"toggleMeridian()\\\">{{meridian}}</button></td>\\n        </tr>\\n        <tr class=\\\"text-center\\\" [ngClass]=\\\"{hidden: !showSpinners || readonlyInput}\\\">\\n          <td><a (click)=\\\"decrementHours()\\\" [ngClass]=\\\"{disabled: noDecrementHours()}\\\" class=\\\"btn btn-link\\\"><span class=\\\"glyphicon glyphicon-chevron-down\\\"></span></a></td>\\n          <td>&nbsp;</td>\\n          <td><a (click)=\\\"decrementMinutes()\\\" [ngClass]=\\\"{disabled: noDecrementMinutes()}\\\" class=\\\"btn btn-link\\\"><span class=\\\"glyphicon glyphicon-chevron-down\\\"></span></a></td>\\n          <td [ngClass]=\\\"{hidden: !showMeridian}\\\" *ngIf=\\\"showMeridian\\\"></td>\\n        </tr>\\n      </tbody>\\n    </table>\\n  \",\r\n                    providers: [TIMEPICKER_CONTROL_VALUE_ACCESSOR]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TimepickerComponent.ctorParameters = function () { return [\r\n        { type: TimepickerConfig, },\r\n    ]; };\r\n    TimepickerComponent.propDecorators = {\r\n        'hourStep': [{ type: Input },],\r\n        'minuteStep': [{ type: Input },],\r\n        'readonlyInput': [{ type: Input },],\r\n        'mousewheel': [{ type: Input },],\r\n        'arrowkeys': [{ type: Input },],\r\n        'showSpinners': [{ type: Input },],\r\n        'min': [{ type: Input },],\r\n        'max': [{ type: Input },],\r\n        'meridians': [{ type: Input },],\r\n        'showMeridian': [{ type: Input },],\r\n    };\r\n    return TimepickerComponent;\r\n}());\r\n//# sourceMappingURL=timepicker.component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/timepicker/timepicker.component.js\n// module id = 581\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { TimepickerComponent } from './timepicker.component';\r\nimport { TimepickerConfig } from './timepicker.config';\r\nexport var TimepickerModule = (function () {\r\n    function TimepickerModule() {\r\n    }\r\n    TimepickerModule.forRoot = function () {\r\n        return {\r\n            ngModule: TimepickerModule,\r\n            providers: [TimepickerConfig]\r\n        };\r\n    };\r\n    TimepickerModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule, FormsModule],\r\n                    declarations: [TimepickerComponent],\r\n                    exports: [TimepickerComponent, FormsModule]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TimepickerModule.ctorParameters = function () { return []; };\r\n    return TimepickerModule;\r\n}());\r\n//# sourceMappingURL=timepicker.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/timepicker/timepicker.module.js\n// module id = 582\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, Input, ViewContainerRef, Output, EventEmitter, Renderer, ElementRef } from '@angular/core';\r\nimport { TooltipContainerComponent } from './tooltip-container.component';\r\nimport { TooltipConfig } from './tooltip.config';\r\nimport { ComponentLoaderFactory } from '../component-loader';\r\nimport { OnChange } from '../utils/decorators';\r\nexport var TooltipDirective = (function () {\r\n    // tslint:disable-next-line\r\n    function TooltipDirective(_viewContainerRef, _renderer, _elementRef, cis, config) {\r\n        /** Fired when tooltip content changes */\r\n        this.tooltipChange = new EventEmitter();\r\n        /** @deprecated - removed, will be added to configuration */\r\n        this._animation = true;\r\n        /** @deprecated */\r\n        this._delay = 0;\r\n        /** @deprecated */\r\n        this._fadeDuration = 150;\r\n        /** @deprecated */\r\n        this.tooltipStateChanged = new EventEmitter();\r\n        this._tooltip = cis\r\n            .createLoader(_elementRef, _viewContainerRef, _renderer)\r\n            .provide({ provide: TooltipConfig, useValue: config });\r\n        Object.assign(this, config);\r\n        this.onShown = this._tooltip.onShown;\r\n        this.onHidden = this._tooltip.onHidden;\r\n    }\r\n    Object.defineProperty(TooltipDirective.prototype, \"isOpen\", {\r\n        /**\r\n         * Returns whether or not the tooltip is currently being shown\r\n         */\r\n        get: function () { return this._tooltip.isShown; },\r\n        set: function (value) {\r\n            if (value) {\r\n                this.show();\r\n            }\r\n            else {\r\n                this.hide();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"htmlContent\", {\r\n        /* tslint:disable */\r\n        /** @deprecated - please use `tooltip` instead */\r\n        set: function (value) {\r\n            console.warn('tooltipHtml was deprecated, please use `tooltip` instead');\r\n            this.tooltip = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"_placement\", {\r\n        /** @deprecated - please use `placement` instead */\r\n        set: function (value) {\r\n            console.warn('tooltipPlacement was deprecated, please use `placement` instead');\r\n            this.placement = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"_isOpen\", {\r\n        get: function () {\r\n            console.warn('tooltipIsOpen was deprecated, please use `isOpen` instead');\r\n            return this.isOpen;\r\n        },\r\n        /** @deprecated - please use `isOpen` instead*/\r\n        set: function (value) {\r\n            console.warn('tooltipIsOpen was deprecated, please use `isOpen` instead');\r\n            this.isOpen = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"_enable\", {\r\n        get: function () {\r\n            console.warn('tooltipEnable was deprecated, please use `isDisabled` instead');\r\n            return this.isDisabled === true;\r\n        },\r\n        /** @deprecated - please use `isDisabled` instead */\r\n        set: function (value) {\r\n            console.warn('tooltipEnable was deprecated, please use `isDisabled` instead');\r\n            this.isDisabled = value === true;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"_appendToBody\", {\r\n        get: function () {\r\n            console.warn('tooltipAppendToBody was deprecated, please use `container=\"body\"` instead');\r\n            return this.container === 'body';\r\n        },\r\n        /** @deprecated - please use `container=\"body\"` instead */\r\n        set: function (value) {\r\n            console.warn('tooltipAppendToBody was deprecated, please use `container=\"body\"` instead');\r\n            this.container = value ? 'body' : this.container;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"_popupClass\", {\r\n        /** @deprecated - will replaced with customClass */\r\n        set: function (value) {\r\n            console.warn('tooltipClass deprecated');\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"_tooltipContext\", {\r\n        /** @deprecated - removed */\r\n        set: function (value) {\r\n            console.warn('tooltipContext deprecated');\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TooltipDirective.prototype, \"_tooltipTrigger\", {\r\n        /** @deprecated -  please use `triggers` instead */\r\n        get: function () {\r\n            console.warn('tooltipTrigger was deprecated, please use `triggers` instead');\r\n            return this.triggers;\r\n        },\r\n        set: function (value) {\r\n            console.warn('tooltipTrigger was deprecated, please use `triggers` instead');\r\n            this.triggers = (value || '').toString();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ;\r\n    ;\r\n    TooltipDirective.prototype.ngOnInit = function () {\r\n        var _this = this;\r\n        this._tooltip.listen({\r\n            triggers: this.triggers,\r\n            show: function () { return _this.show(); }\r\n        });\r\n        this.tooltipChange.subscribe(function (value) {\r\n            if (!value) {\r\n                _this._tooltip.hide();\r\n            }\r\n        });\r\n    };\r\n    /**\r\n     * Toggles an element’s tooltip. This is considered a “manual” triggering of\r\n     * the tooltip.\r\n     */\r\n    TooltipDirective.prototype.toggle = function () {\r\n        if (this.isOpen) {\r\n            return this.hide();\r\n        }\r\n        this.show();\r\n    };\r\n    /**\r\n     * Opens an element’s tooltip. This is considered a “manual” triggering of\r\n     * the tooltip.\r\n     */\r\n    TooltipDirective.prototype.show = function () {\r\n        var _this = this;\r\n        if (this.isOpen || this.isDisabled || this._delayTimeoutId || !this.tooltip) {\r\n            return;\r\n        }\r\n        var showTooltip = function () { return _this._tooltip\r\n            .attach(TooltipContainerComponent)\r\n            .to(_this.container)\r\n            .position({ attachment: _this.placement })\r\n            .show({\r\n            content: _this.tooltip,\r\n            placement: _this.placement\r\n        }); };\r\n        if (this._delay) {\r\n            this._delayTimeoutId = setTimeout(function () { showTooltip(); }, this._delay);\r\n        }\r\n        else {\r\n            showTooltip();\r\n        }\r\n    };\r\n    /**\r\n     * Closes an element’s tooltip. This is considered a “manual” triggering of\r\n     * the tooltip.\r\n     */\r\n    TooltipDirective.prototype.hide = function () {\r\n        var _this = this;\r\n        if (this._delayTimeoutId) {\r\n            clearTimeout(this._delayTimeoutId);\r\n            this._delayTimeoutId = undefined;\r\n        }\r\n        if (!this._tooltip.isShown) {\r\n            return;\r\n        }\r\n        this._tooltip.instance.classMap.in = false;\r\n        setTimeout(function () {\r\n            _this._tooltip.hide();\r\n        }, this._fadeDuration);\r\n    };\r\n    TooltipDirective.prototype.ngOnDestroy = function () {\r\n        this._tooltip.dispose();\r\n    };\r\n    TooltipDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: '[tooltip], [tooltipHtml]',\r\n                    exportAs: 'bs-tooltip'\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TooltipDirective.ctorParameters = function () { return [\r\n        { type: ViewContainerRef, },\r\n        { type: Renderer, },\r\n        { type: ElementRef, },\r\n        { type: ComponentLoaderFactory, },\r\n        { type: TooltipConfig, },\r\n    ]; };\r\n    TooltipDirective.propDecorators = {\r\n        'tooltip': [{ type: Input },],\r\n        'tooltipChange': [{ type: Output },],\r\n        'placement': [{ type: Input },],\r\n        'triggers': [{ type: Input },],\r\n        'container': [{ type: Input },],\r\n        'isOpen': [{ type: Input },],\r\n        'isDisabled': [{ type: Input },],\r\n        'onShown': [{ type: Output },],\r\n        'onHidden': [{ type: Output },],\r\n        'htmlContent': [{ type: Input, args: ['tooltipHtml',] },],\r\n        '_placement': [{ type: Input, args: ['tooltipPlacement',] },],\r\n        '_isOpen': [{ type: Input, args: ['tooltipIsOpen',] },],\r\n        '_enable': [{ type: Input, args: ['tooltipEnable',] },],\r\n        '_appendToBody': [{ type: Input, args: ['tooltipAppendToBody',] },],\r\n        '_animation': [{ type: Input, args: ['tooltipAnimation',] },],\r\n        '_popupClass': [{ type: Input, args: ['tooltipClass',] },],\r\n        '_tooltipContext': [{ type: Input, args: ['tooltipContext',] },],\r\n        '_delay': [{ type: Input, args: ['tooltipPopupDelay',] },],\r\n        '_fadeDuration': [{ type: Input, args: ['tooltipFadeDuration',] },],\r\n        '_tooltipTrigger': [{ type: Input, args: ['tooltipTrigger',] },],\r\n        'tooltipStateChanged': [{ type: Output },],\r\n    };\r\n    __decorate([\r\n        OnChange(), \r\n        __metadata('design:type', Object)\r\n    ], TooltipDirective.prototype, \"tooltip\", void 0);\r\n    return TooltipDirective;\r\n}());\r\n//# sourceMappingURL=tooltip.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tooltip/tooltip.directive.js\n// module id = 583\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TooltipContainerComponent } from './tooltip-container.component';\r\nimport { TooltipDirective } from './tooltip.directive';\r\nimport { TooltipConfig } from './tooltip.config';\r\nimport { ComponentLoaderFactory } from '../component-loader';\r\nimport { PositioningService } from '../positioning';\r\nexport var TooltipModule = (function () {\r\n    function TooltipModule() {\r\n    }\r\n    TooltipModule.forRoot = function () {\r\n        return {\r\n            ngModule: TooltipModule,\r\n            providers: [TooltipConfig, ComponentLoaderFactory, PositioningService]\r\n        };\r\n    };\r\n    ;\r\n    TooltipModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [TooltipDirective, TooltipContainerComponent],\r\n                    exports: [TooltipDirective],\r\n                    entryComponents: [TooltipContainerComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TooltipModule.ctorParameters = function () { return []; };\r\n    return TooltipModule;\r\n}());\r\n//# sourceMappingURL=tooltip.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tooltip/tooltip.module.js\n// module id = 584\n// module chunks = 3","/* tslint:disable:max-file-line-count */\r\nexport var latinMap = {\r\n    'Á': 'A',\r\n    'Ă': 'A',\r\n    'Ắ': 'A',\r\n    'Ặ': 'A',\r\n    'Ằ': 'A',\r\n    'Ẳ': 'A',\r\n    'Ẵ': 'A',\r\n    'Ǎ': 'A',\r\n    'Â': 'A',\r\n    'Ấ': 'A',\r\n    'Ậ': 'A',\r\n    'Ầ': 'A',\r\n    'Ẩ': 'A',\r\n    'Ẫ': 'A',\r\n    'Ä': 'A',\r\n    'Ǟ': 'A',\r\n    'Ȧ': 'A',\r\n    'Ǡ': 'A',\r\n    'Ạ': 'A',\r\n    'Ȁ': 'A',\r\n    'À': 'A',\r\n    'Ả': 'A',\r\n    'Ȃ': 'A',\r\n    'Ā': 'A',\r\n    'Ą': 'A',\r\n    'Å': 'A',\r\n    'Ǻ': 'A',\r\n    'Ḁ': 'A',\r\n    'Ⱥ': 'A',\r\n    'Ã': 'A',\r\n    'Ꜳ': 'AA',\r\n    'Æ': 'AE',\r\n    'Ǽ': 'AE',\r\n    'Ǣ': 'AE',\r\n    'Ꜵ': 'AO',\r\n    'Ꜷ': 'AU',\r\n    'Ꜹ': 'AV',\r\n    'Ꜻ': 'AV',\r\n    'Ꜽ': 'AY',\r\n    'Ḃ': 'B',\r\n    'Ḅ': 'B',\r\n    'Ɓ': 'B',\r\n    'Ḇ': 'B',\r\n    'Ƀ': 'B',\r\n    'Ƃ': 'B',\r\n    'Ć': 'C',\r\n    'Č': 'C',\r\n    'Ç': 'C',\r\n    'Ḉ': 'C',\r\n    'Ĉ': 'C',\r\n    'Ċ': 'C',\r\n    'Ƈ': 'C',\r\n    'Ȼ': 'C',\r\n    'Ď': 'D',\r\n    'Ḑ': 'D',\r\n    'Ḓ': 'D',\r\n    'Ḋ': 'D',\r\n    'Ḍ': 'D',\r\n    'Ɗ': 'D',\r\n    'Ḏ': 'D',\r\n    'ǲ': 'D',\r\n    'ǅ': 'D',\r\n    'Đ': 'D',\r\n    'Ƌ': 'D',\r\n    'Ǳ': 'DZ',\r\n    'Ǆ': 'DZ',\r\n    'É': 'E',\r\n    'Ĕ': 'E',\r\n    'Ě': 'E',\r\n    'Ȩ': 'E',\r\n    'Ḝ': 'E',\r\n    'Ê': 'E',\r\n    'Ế': 'E',\r\n    'Ệ': 'E',\r\n    'Ề': 'E',\r\n    'Ể': 'E',\r\n    'Ễ': 'E',\r\n    'Ḙ': 'E',\r\n    'Ë': 'E',\r\n    'Ė': 'E',\r\n    'Ẹ': 'E',\r\n    'Ȅ': 'E',\r\n    'È': 'E',\r\n    'Ẻ': 'E',\r\n    'Ȇ': 'E',\r\n    'Ē': 'E',\r\n    'Ḗ': 'E',\r\n    'Ḕ': 'E',\r\n    'Ę': 'E',\r\n    'Ɇ': 'E',\r\n    'Ẽ': 'E',\r\n    'Ḛ': 'E',\r\n    'Ꝫ': 'ET',\r\n    'Ḟ': 'F',\r\n    'Ƒ': 'F',\r\n    'Ǵ': 'G',\r\n    'Ğ': 'G',\r\n    'Ǧ': 'G',\r\n    'Ģ': 'G',\r\n    'Ĝ': 'G',\r\n    'Ġ': 'G',\r\n    'Ɠ': 'G',\r\n    'Ḡ': 'G',\r\n    'Ǥ': 'G',\r\n    'Ḫ': 'H',\r\n    'Ȟ': 'H',\r\n    'Ḩ': 'H',\r\n    'Ĥ': 'H',\r\n    'Ⱨ': 'H',\r\n    'Ḧ': 'H',\r\n    'Ḣ': 'H',\r\n    'Ḥ': 'H',\r\n    'Ħ': 'H',\r\n    'Í': 'I',\r\n    'Ĭ': 'I',\r\n    'Ǐ': 'I',\r\n    'Î': 'I',\r\n    'Ï': 'I',\r\n    'Ḯ': 'I',\r\n    'İ': 'I',\r\n    'Ị': 'I',\r\n    'Ȉ': 'I',\r\n    'Ì': 'I',\r\n    'Ỉ': 'I',\r\n    'Ȋ': 'I',\r\n    'Ī': 'I',\r\n    'Į': 'I',\r\n    'Ɨ': 'I',\r\n    'Ĩ': 'I',\r\n    'Ḭ': 'I',\r\n    'Ꝺ': 'D',\r\n    'Ꝼ': 'F',\r\n    'Ᵹ': 'G',\r\n    'Ꞃ': 'R',\r\n    'Ꞅ': 'S',\r\n    'Ꞇ': 'T',\r\n    'Ꝭ': 'IS',\r\n    'Ĵ': 'J',\r\n    'Ɉ': 'J',\r\n    'Ḱ': 'K',\r\n    'Ǩ': 'K',\r\n    'Ķ': 'K',\r\n    'Ⱪ': 'K',\r\n    'Ꝃ': 'K',\r\n    'Ḳ': 'K',\r\n    'Ƙ': 'K',\r\n    'Ḵ': 'K',\r\n    'Ꝁ': 'K',\r\n    'Ꝅ': 'K',\r\n    'Ĺ': 'L',\r\n    'Ƚ': 'L',\r\n    'Ľ': 'L',\r\n    'Ļ': 'L',\r\n    'Ḽ': 'L',\r\n    'Ḷ': 'L',\r\n    'Ḹ': 'L',\r\n    'Ⱡ': 'L',\r\n    'Ꝉ': 'L',\r\n    'Ḻ': 'L',\r\n    'Ŀ': 'L',\r\n    'Ɫ': 'L',\r\n    'ǈ': 'L',\r\n    'Ł': 'L',\r\n    'Ǉ': 'LJ',\r\n    'Ḿ': 'M',\r\n    'Ṁ': 'M',\r\n    'Ṃ': 'M',\r\n    'Ɱ': 'M',\r\n    'Ń': 'N',\r\n    'Ň': 'N',\r\n    'Ņ': 'N',\r\n    'Ṋ': 'N',\r\n    'Ṅ': 'N',\r\n    'Ṇ': 'N',\r\n    'Ǹ': 'N',\r\n    'Ɲ': 'N',\r\n    'Ṉ': 'N',\r\n    'Ƞ': 'N',\r\n    'ǋ': 'N',\r\n    'Ñ': 'N',\r\n    'Ǌ': 'NJ',\r\n    'Ó': 'O',\r\n    'Ŏ': 'O',\r\n    'Ǒ': 'O',\r\n    'Ô': 'O',\r\n    'Ố': 'O',\r\n    'Ộ': 'O',\r\n    'Ồ': 'O',\r\n    'Ổ': 'O',\r\n    'Ỗ': 'O',\r\n    'Ö': 'O',\r\n    'Ȫ': 'O',\r\n    'Ȯ': 'O',\r\n    'Ȱ': 'O',\r\n    'Ọ': 'O',\r\n    'Ő': 'O',\r\n    'Ȍ': 'O',\r\n    'Ò': 'O',\r\n    'Ỏ': 'O',\r\n    'Ơ': 'O',\r\n    'Ớ': 'O',\r\n    'Ợ': 'O',\r\n    'Ờ': 'O',\r\n    'Ở': 'O',\r\n    'Ỡ': 'O',\r\n    'Ȏ': 'O',\r\n    'Ꝋ': 'O',\r\n    'Ꝍ': 'O',\r\n    'Ō': 'O',\r\n    'Ṓ': 'O',\r\n    'Ṑ': 'O',\r\n    'Ɵ': 'O',\r\n    'Ǫ': 'O',\r\n    'Ǭ': 'O',\r\n    'Ø': 'O',\r\n    'Ǿ': 'O',\r\n    'Õ': 'O',\r\n    'Ṍ': 'O',\r\n    'Ṏ': 'O',\r\n    'Ȭ': 'O',\r\n    'Ƣ': 'OI',\r\n    'Ꝏ': 'OO',\r\n    'Ɛ': 'E',\r\n    'Ɔ': 'O',\r\n    'Ȣ': 'OU',\r\n    'Ṕ': 'P',\r\n    'Ṗ': 'P',\r\n    'Ꝓ': 'P',\r\n    'Ƥ': 'P',\r\n    'Ꝕ': 'P',\r\n    'Ᵽ': 'P',\r\n    'Ꝑ': 'P',\r\n    'Ꝙ': 'Q',\r\n    'Ꝗ': 'Q',\r\n    'Ŕ': 'R',\r\n    'Ř': 'R',\r\n    'Ŗ': 'R',\r\n    'Ṙ': 'R',\r\n    'Ṛ': 'R',\r\n    'Ṝ': 'R',\r\n    'Ȑ': 'R',\r\n    'Ȓ': 'R',\r\n    'Ṟ': 'R',\r\n    'Ɍ': 'R',\r\n    'Ɽ': 'R',\r\n    'Ꜿ': 'C',\r\n    'Ǝ': 'E',\r\n    'Ś': 'S',\r\n    'Ṥ': 'S',\r\n    'Š': 'S',\r\n    'Ṧ': 'S',\r\n    'Ş': 'S',\r\n    'Ŝ': 'S',\r\n    'Ș': 'S',\r\n    'Ṡ': 'S',\r\n    'Ṣ': 'S',\r\n    'Ṩ': 'S',\r\n    'Ť': 'T',\r\n    'Ţ': 'T',\r\n    'Ṱ': 'T',\r\n    'Ț': 'T',\r\n    'Ⱦ': 'T',\r\n    'Ṫ': 'T',\r\n    'Ṭ': 'T',\r\n    'Ƭ': 'T',\r\n    'Ṯ': 'T',\r\n    'Ʈ': 'T',\r\n    'Ŧ': 'T',\r\n    'Ɐ': 'A',\r\n    'Ꞁ': 'L',\r\n    'Ɯ': 'M',\r\n    'Ʌ': 'V',\r\n    'Ꜩ': 'TZ',\r\n    'Ú': 'U',\r\n    'Ŭ': 'U',\r\n    'Ǔ': 'U',\r\n    'Û': 'U',\r\n    'Ṷ': 'U',\r\n    'Ü': 'U',\r\n    'Ǘ': 'U',\r\n    'Ǚ': 'U',\r\n    'Ǜ': 'U',\r\n    'Ǖ': 'U',\r\n    'Ṳ': 'U',\r\n    'Ụ': 'U',\r\n    'Ű': 'U',\r\n    'Ȕ': 'U',\r\n    'Ù': 'U',\r\n    'Ủ': 'U',\r\n    'Ư': 'U',\r\n    'Ứ': 'U',\r\n    'Ự': 'U',\r\n    'Ừ': 'U',\r\n    'Ử': 'U',\r\n    'Ữ': 'U',\r\n    'Ȗ': 'U',\r\n    'Ū': 'U',\r\n    'Ṻ': 'U',\r\n    'Ų': 'U',\r\n    'Ů': 'U',\r\n    'Ũ': 'U',\r\n    'Ṹ': 'U',\r\n    'Ṵ': 'U',\r\n    'Ꝟ': 'V',\r\n    'Ṿ': 'V',\r\n    'Ʋ': 'V',\r\n    'Ṽ': 'V',\r\n    'Ꝡ': 'VY',\r\n    'Ẃ': 'W',\r\n    'Ŵ': 'W',\r\n    'Ẅ': 'W',\r\n    'Ẇ': 'W',\r\n    'Ẉ': 'W',\r\n    'Ẁ': 'W',\r\n    'Ⱳ': 'W',\r\n    'Ẍ': 'X',\r\n    'Ẋ': 'X',\r\n    'Ý': 'Y',\r\n    'Ŷ': 'Y',\r\n    'Ÿ': 'Y',\r\n    'Ẏ': 'Y',\r\n    'Ỵ': 'Y',\r\n    'Ỳ': 'Y',\r\n    'Ƴ': 'Y',\r\n    'Ỷ': 'Y',\r\n    'Ỿ': 'Y',\r\n    'Ȳ': 'Y',\r\n    'Ɏ': 'Y',\r\n    'Ỹ': 'Y',\r\n    'Ź': 'Z',\r\n    'Ž': 'Z',\r\n    'Ẑ': 'Z',\r\n    'Ⱬ': 'Z',\r\n    'Ż': 'Z',\r\n    'Ẓ': 'Z',\r\n    'Ȥ': 'Z',\r\n    'Ẕ': 'Z',\r\n    'Ƶ': 'Z',\r\n    'Ĳ': 'IJ',\r\n    'Œ': 'OE',\r\n    'ᴀ': 'A',\r\n    'ᴁ': 'AE',\r\n    'ʙ': 'B',\r\n    'ᴃ': 'B',\r\n    'ᴄ': 'C',\r\n    'ᴅ': 'D',\r\n    'ᴇ': 'E',\r\n    'ꜰ': 'F',\r\n    'ɢ': 'G',\r\n    'ʛ': 'G',\r\n    'ʜ': 'H',\r\n    'ɪ': 'I',\r\n    'ʁ': 'R',\r\n    'ᴊ': 'J',\r\n    'ᴋ': 'K',\r\n    'ʟ': 'L',\r\n    'ᴌ': 'L',\r\n    'ᴍ': 'M',\r\n    'ɴ': 'N',\r\n    'ᴏ': 'O',\r\n    'ɶ': 'OE',\r\n    'ᴐ': 'O',\r\n    'ᴕ': 'OU',\r\n    'ᴘ': 'P',\r\n    'ʀ': 'R',\r\n    'ᴎ': 'N',\r\n    'ᴙ': 'R',\r\n    'ꜱ': 'S',\r\n    'ᴛ': 'T',\r\n    'ⱻ': 'E',\r\n    'ᴚ': 'R',\r\n    'ᴜ': 'U',\r\n    'ᴠ': 'V',\r\n    'ᴡ': 'W',\r\n    'ʏ': 'Y',\r\n    'ᴢ': 'Z',\r\n    'á': 'a',\r\n    'ă': 'a',\r\n    'ắ': 'a',\r\n    'ặ': 'a',\r\n    'ằ': 'a',\r\n    'ẳ': 'a',\r\n    'ẵ': 'a',\r\n    'ǎ': 'a',\r\n    'â': 'a',\r\n    'ấ': 'a',\r\n    'ậ': 'a',\r\n    'ầ': 'a',\r\n    'ẩ': 'a',\r\n    'ẫ': 'a',\r\n    'ä': 'a',\r\n    'ǟ': 'a',\r\n    'ȧ': 'a',\r\n    'ǡ': 'a',\r\n    'ạ': 'a',\r\n    'ȁ': 'a',\r\n    'à': 'a',\r\n    'ả': 'a',\r\n    'ȃ': 'a',\r\n    'ā': 'a',\r\n    'ą': 'a',\r\n    'ᶏ': 'a',\r\n    'ẚ': 'a',\r\n    'å': 'a',\r\n    'ǻ': 'a',\r\n    'ḁ': 'a',\r\n    'ⱥ': 'a',\r\n    'ã': 'a',\r\n    'ꜳ': 'aa',\r\n    'æ': 'ae',\r\n    'ǽ': 'ae',\r\n    'ǣ': 'ae',\r\n    'ꜵ': 'ao',\r\n    'ꜷ': 'au',\r\n    'ꜹ': 'av',\r\n    'ꜻ': 'av',\r\n    'ꜽ': 'ay',\r\n    'ḃ': 'b',\r\n    'ḅ': 'b',\r\n    'ɓ': 'b',\r\n    'ḇ': 'b',\r\n    'ᵬ': 'b',\r\n    'ᶀ': 'b',\r\n    'ƀ': 'b',\r\n    'ƃ': 'b',\r\n    'ɵ': 'o',\r\n    'ć': 'c',\r\n    'č': 'c',\r\n    'ç': 'c',\r\n    'ḉ': 'c',\r\n    'ĉ': 'c',\r\n    'ɕ': 'c',\r\n    'ċ': 'c',\r\n    'ƈ': 'c',\r\n    'ȼ': 'c',\r\n    'ď': 'd',\r\n    'ḑ': 'd',\r\n    'ḓ': 'd',\r\n    'ȡ': 'd',\r\n    'ḋ': 'd',\r\n    'ḍ': 'd',\r\n    'ɗ': 'd',\r\n    'ᶑ': 'd',\r\n    'ḏ': 'd',\r\n    'ᵭ': 'd',\r\n    'ᶁ': 'd',\r\n    'đ': 'd',\r\n    'ɖ': 'd',\r\n    'ƌ': 'd',\r\n    'ı': 'i',\r\n    'ȷ': 'j',\r\n    'ɟ': 'j',\r\n    'ʄ': 'j',\r\n    'ǳ': 'dz',\r\n    'ǆ': 'dz',\r\n    'é': 'e',\r\n    'ĕ': 'e',\r\n    'ě': 'e',\r\n    'ȩ': 'e',\r\n    'ḝ': 'e',\r\n    'ê': 'e',\r\n    'ế': 'e',\r\n    'ệ': 'e',\r\n    'ề': 'e',\r\n    'ể': 'e',\r\n    'ễ': 'e',\r\n    'ḙ': 'e',\r\n    'ë': 'e',\r\n    'ė': 'e',\r\n    'ẹ': 'e',\r\n    'ȅ': 'e',\r\n    'è': 'e',\r\n    'ẻ': 'e',\r\n    'ȇ': 'e',\r\n    'ē': 'e',\r\n    'ḗ': 'e',\r\n    'ḕ': 'e',\r\n    'ⱸ': 'e',\r\n    'ę': 'e',\r\n    'ᶒ': 'e',\r\n    'ɇ': 'e',\r\n    'ẽ': 'e',\r\n    'ḛ': 'e',\r\n    'ꝫ': 'et',\r\n    'ḟ': 'f',\r\n    'ƒ': 'f',\r\n    'ᵮ': 'f',\r\n    'ᶂ': 'f',\r\n    'ǵ': 'g',\r\n    'ğ': 'g',\r\n    'ǧ': 'g',\r\n    'ģ': 'g',\r\n    'ĝ': 'g',\r\n    'ġ': 'g',\r\n    'ɠ': 'g',\r\n    'ḡ': 'g',\r\n    'ᶃ': 'g',\r\n    'ǥ': 'g',\r\n    'ḫ': 'h',\r\n    'ȟ': 'h',\r\n    'ḩ': 'h',\r\n    'ĥ': 'h',\r\n    'ⱨ': 'h',\r\n    'ḧ': 'h',\r\n    'ḣ': 'h',\r\n    'ḥ': 'h',\r\n    'ɦ': 'h',\r\n    'ẖ': 'h',\r\n    'ħ': 'h',\r\n    'ƕ': 'hv',\r\n    'í': 'i',\r\n    'ĭ': 'i',\r\n    'ǐ': 'i',\r\n    'î': 'i',\r\n    'ï': 'i',\r\n    'ḯ': 'i',\r\n    'ị': 'i',\r\n    'ȉ': 'i',\r\n    'ì': 'i',\r\n    'ỉ': 'i',\r\n    'ȋ': 'i',\r\n    'ī': 'i',\r\n    'į': 'i',\r\n    'ᶖ': 'i',\r\n    'ɨ': 'i',\r\n    'ĩ': 'i',\r\n    'ḭ': 'i',\r\n    'ꝺ': 'd',\r\n    'ꝼ': 'f',\r\n    'ᵹ': 'g',\r\n    'ꞃ': 'r',\r\n    'ꞅ': 's',\r\n    'ꞇ': 't',\r\n    'ꝭ': 'is',\r\n    'ǰ': 'j',\r\n    'ĵ': 'j',\r\n    'ʝ': 'j',\r\n    'ɉ': 'j',\r\n    'ḱ': 'k',\r\n    'ǩ': 'k',\r\n    'ķ': 'k',\r\n    'ⱪ': 'k',\r\n    'ꝃ': 'k',\r\n    'ḳ': 'k',\r\n    'ƙ': 'k',\r\n    'ḵ': 'k',\r\n    'ᶄ': 'k',\r\n    'ꝁ': 'k',\r\n    'ꝅ': 'k',\r\n    'ĺ': 'l',\r\n    'ƚ': 'l',\r\n    'ɬ': 'l',\r\n    'ľ': 'l',\r\n    'ļ': 'l',\r\n    'ḽ': 'l',\r\n    'ȴ': 'l',\r\n    'ḷ': 'l',\r\n    'ḹ': 'l',\r\n    'ⱡ': 'l',\r\n    'ꝉ': 'l',\r\n    'ḻ': 'l',\r\n    'ŀ': 'l',\r\n    'ɫ': 'l',\r\n    'ᶅ': 'l',\r\n    'ɭ': 'l',\r\n    'ł': 'l',\r\n    'ǉ': 'lj',\r\n    'ſ': 's',\r\n    'ẜ': 's',\r\n    'ẛ': 's',\r\n    'ẝ': 's',\r\n    'ḿ': 'm',\r\n    'ṁ': 'm',\r\n    'ṃ': 'm',\r\n    'ɱ': 'm',\r\n    'ᵯ': 'm',\r\n    'ᶆ': 'm',\r\n    'ń': 'n',\r\n    'ň': 'n',\r\n    'ņ': 'n',\r\n    'ṋ': 'n',\r\n    'ȵ': 'n',\r\n    'ṅ': 'n',\r\n    'ṇ': 'n',\r\n    'ǹ': 'n',\r\n    'ɲ': 'n',\r\n    'ṉ': 'n',\r\n    'ƞ': 'n',\r\n    'ᵰ': 'n',\r\n    'ᶇ': 'n',\r\n    'ɳ': 'n',\r\n    'ñ': 'n',\r\n    'ǌ': 'nj',\r\n    'ó': 'o',\r\n    'ŏ': 'o',\r\n    'ǒ': 'o',\r\n    'ô': 'o',\r\n    'ố': 'o',\r\n    'ộ': 'o',\r\n    'ồ': 'o',\r\n    'ổ': 'o',\r\n    'ỗ': 'o',\r\n    'ö': 'o',\r\n    'ȫ': 'o',\r\n    'ȯ': 'o',\r\n    'ȱ': 'o',\r\n    'ọ': 'o',\r\n    'ő': 'o',\r\n    'ȍ': 'o',\r\n    'ò': 'o',\r\n    'ỏ': 'o',\r\n    'ơ': 'o',\r\n    'ớ': 'o',\r\n    'ợ': 'o',\r\n    'ờ': 'o',\r\n    'ở': 'o',\r\n    'ỡ': 'o',\r\n    'ȏ': 'o',\r\n    'ꝋ': 'o',\r\n    'ꝍ': 'o',\r\n    'ⱺ': 'o',\r\n    'ō': 'o',\r\n    'ṓ': 'o',\r\n    'ṑ': 'o',\r\n    'ǫ': 'o',\r\n    'ǭ': 'o',\r\n    'ø': 'o',\r\n    'ǿ': 'o',\r\n    'õ': 'o',\r\n    'ṍ': 'o',\r\n    'ṏ': 'o',\r\n    'ȭ': 'o',\r\n    'ƣ': 'oi',\r\n    'ꝏ': 'oo',\r\n    'ɛ': 'e',\r\n    'ᶓ': 'e',\r\n    'ɔ': 'o',\r\n    'ᶗ': 'o',\r\n    'ȣ': 'ou',\r\n    'ṕ': 'p',\r\n    'ṗ': 'p',\r\n    'ꝓ': 'p',\r\n    'ƥ': 'p',\r\n    'ᵱ': 'p',\r\n    'ᶈ': 'p',\r\n    'ꝕ': 'p',\r\n    'ᵽ': 'p',\r\n    'ꝑ': 'p',\r\n    'ꝙ': 'q',\r\n    'ʠ': 'q',\r\n    'ɋ': 'q',\r\n    'ꝗ': 'q',\r\n    'ŕ': 'r',\r\n    'ř': 'r',\r\n    'ŗ': 'r',\r\n    'ṙ': 'r',\r\n    'ṛ': 'r',\r\n    'ṝ': 'r',\r\n    'ȑ': 'r',\r\n    'ɾ': 'r',\r\n    'ᵳ': 'r',\r\n    'ȓ': 'r',\r\n    'ṟ': 'r',\r\n    'ɼ': 'r',\r\n    'ᵲ': 'r',\r\n    'ᶉ': 'r',\r\n    'ɍ': 'r',\r\n    'ɽ': 'r',\r\n    'ↄ': 'c',\r\n    'ꜿ': 'c',\r\n    'ɘ': 'e',\r\n    'ɿ': 'r',\r\n    'ś': 's',\r\n    'ṥ': 's',\r\n    'š': 's',\r\n    'ṧ': 's',\r\n    'ş': 's',\r\n    'ŝ': 's',\r\n    'ș': 's',\r\n    'ṡ': 's',\r\n    'ṣ': 's',\r\n    'ṩ': 's',\r\n    'ʂ': 's',\r\n    'ᵴ': 's',\r\n    'ᶊ': 's',\r\n    'ȿ': 's',\r\n    'ɡ': 'g',\r\n    'ᴑ': 'o',\r\n    'ᴓ': 'o',\r\n    'ᴝ': 'u',\r\n    'ť': 't',\r\n    'ţ': 't',\r\n    'ṱ': 't',\r\n    'ț': 't',\r\n    'ȶ': 't',\r\n    'ẗ': 't',\r\n    'ⱦ': 't',\r\n    'ṫ': 't',\r\n    'ṭ': 't',\r\n    'ƭ': 't',\r\n    'ṯ': 't',\r\n    'ᵵ': 't',\r\n    'ƫ': 't',\r\n    'ʈ': 't',\r\n    'ŧ': 't',\r\n    'ᵺ': 'th',\r\n    'ɐ': 'a',\r\n    'ᴂ': 'ae',\r\n    'ǝ': 'e',\r\n    'ᵷ': 'g',\r\n    'ɥ': 'h',\r\n    'ʮ': 'h',\r\n    'ʯ': 'h',\r\n    'ᴉ': 'i',\r\n    'ʞ': 'k',\r\n    'ꞁ': 'l',\r\n    'ɯ': 'm',\r\n    'ɰ': 'm',\r\n    'ᴔ': 'oe',\r\n    'ɹ': 'r',\r\n    'ɻ': 'r',\r\n    'ɺ': 'r',\r\n    'ⱹ': 'r',\r\n    'ʇ': 't',\r\n    'ʌ': 'v',\r\n    'ʍ': 'w',\r\n    'ʎ': 'y',\r\n    'ꜩ': 'tz',\r\n    'ú': 'u',\r\n    'ŭ': 'u',\r\n    'ǔ': 'u',\r\n    'û': 'u',\r\n    'ṷ': 'u',\r\n    'ü': 'u',\r\n    'ǘ': 'u',\r\n    'ǚ': 'u',\r\n    'ǜ': 'u',\r\n    'ǖ': 'u',\r\n    'ṳ': 'u',\r\n    'ụ': 'u',\r\n    'ű': 'u',\r\n    'ȕ': 'u',\r\n    'ù': 'u',\r\n    'ủ': 'u',\r\n    'ư': 'u',\r\n    'ứ': 'u',\r\n    'ự': 'u',\r\n    'ừ': 'u',\r\n    'ử': 'u',\r\n    'ữ': 'u',\r\n    'ȗ': 'u',\r\n    'ū': 'u',\r\n    'ṻ': 'u',\r\n    'ų': 'u',\r\n    'ᶙ': 'u',\r\n    'ů': 'u',\r\n    'ũ': 'u',\r\n    'ṹ': 'u',\r\n    'ṵ': 'u',\r\n    'ᵫ': 'ue',\r\n    'ꝸ': 'um',\r\n    'ⱴ': 'v',\r\n    'ꝟ': 'v',\r\n    'ṿ': 'v',\r\n    'ʋ': 'v',\r\n    'ᶌ': 'v',\r\n    'ⱱ': 'v',\r\n    'ṽ': 'v',\r\n    'ꝡ': 'vy',\r\n    'ẃ': 'w',\r\n    'ŵ': 'w',\r\n    'ẅ': 'w',\r\n    'ẇ': 'w',\r\n    'ẉ': 'w',\r\n    'ẁ': 'w',\r\n    'ⱳ': 'w',\r\n    'ẘ': 'w',\r\n    'ẍ': 'x',\r\n    'ẋ': 'x',\r\n    'ᶍ': 'x',\r\n    'ý': 'y',\r\n    'ŷ': 'y',\r\n    'ÿ': 'y',\r\n    'ẏ': 'y',\r\n    'ỵ': 'y',\r\n    'ỳ': 'y',\r\n    'ƴ': 'y',\r\n    'ỷ': 'y',\r\n    'ỿ': 'y',\r\n    'ȳ': 'y',\r\n    'ẙ': 'y',\r\n    'ɏ': 'y',\r\n    'ỹ': 'y',\r\n    'ź': 'z',\r\n    'ž': 'z',\r\n    'ẑ': 'z',\r\n    'ʑ': 'z',\r\n    'ⱬ': 'z',\r\n    'ż': 'z',\r\n    'ẓ': 'z',\r\n    'ȥ': 'z',\r\n    'ẕ': 'z',\r\n    'ᵶ': 'z',\r\n    'ᶎ': 'z',\r\n    'ʐ': 'z',\r\n    'ƶ': 'z',\r\n    'ɀ': 'z',\r\n    'ﬀ': 'ff',\r\n    'ﬃ': 'ffi',\r\n    'ﬄ': 'ffl',\r\n    'ﬁ': 'fi',\r\n    'ﬂ': 'fl',\r\n    'ĳ': 'ij',\r\n    'œ': 'oe',\r\n    'ﬆ': 'st',\r\n    'ₐ': 'a',\r\n    'ₑ': 'e',\r\n    'ᵢ': 'i',\r\n    'ⱼ': 'j',\r\n    'ₒ': 'o',\r\n    'ᵣ': 'r',\r\n    'ᵤ': 'u',\r\n    'ᵥ': 'v',\r\n    'ₓ': 'x'\r\n};\r\n//# sourceMappingURL=latin-map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/latin-map.js\n// module id = 585\n// module chunks = 3","export var TypeaheadMatch = (function () {\r\n    function TypeaheadMatch(item, value, header) {\r\n        if (value === void 0) { value = item; }\r\n        if (header === void 0) { header = false; }\r\n        this.item = item;\r\n        this.value = value;\r\n        this.header = header;\r\n    }\r\n    TypeaheadMatch.prototype.isHeader = function () {\r\n        return this.header;\r\n    };\r\n    TypeaheadMatch.prototype.toString = function () {\r\n        return this.value;\r\n    };\r\n    return TypeaheadMatch;\r\n}());\r\n//# sourceMappingURL=typeahead-match.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/typeahead-match.class.js\n// module id = 586\n// module chunks = 3","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer, ViewContainerRef } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\r\nimport { TypeaheadUtils } from './typeahead-utils';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/from';\r\nimport 'rxjs/add/operator/debounceTime';\r\nimport 'rxjs/add/operator/filter';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/mergeMap';\r\nimport 'rxjs/add/operator/toArray';\r\nimport { TypeaheadMatch } from './typeahead-match.class';\r\nimport { ComponentLoaderFactory } from '../component-loader';\r\nexport var TypeaheadDirective = (function () {\r\n    function TypeaheadDirective(control, viewContainerRef, element, renderer, cis) {\r\n        /** minimal no of characters that needs to be entered before typeahead kicks-in. When set to 0, typeahead shows on focus with full list of options (limited as normal by typeaheadOptionsLimit) */\r\n        this.typeaheadMinLength = void 0;\r\n        /** should be used only in case of typeahead attribute is array. If true - loading of options will be async, otherwise - sync. true make sense if options array is large. */\r\n        this.typeaheadAsync = void 0;\r\n        /** match latin symbols. If true the word súper would match super and vice versa. */\r\n        this.typeaheadLatinize = true;\r\n        /** break words with spaces. If true the text \"exact phrase\" here match would match with match exact phrase here but not with phrase here exact match (kind of \"google style\"). */\r\n        this.typeaheadSingleWords = true;\r\n        /** should be used only in case typeaheadSingleWords attribute is true. Sets the word delimiter to break words. Defaults to space. */\r\n        this.typeaheadWordDelimiters = ' ';\r\n        /** should be used only in case typeaheadSingleWords attribute is true. Sets the word delimiter to match exact phrase. Defaults to simple and double quotes. */\r\n        this.typeaheadPhraseDelimiters = '\\'\"';\r\n        /** fired when 'busy' state of this component was changed, fired on async mode only, returns boolean */\r\n        this.typeaheadLoading = new EventEmitter();\r\n        /** fired on every key event and returns true in case of matches are not detected */\r\n        this.typeaheadNoResults = new EventEmitter();\r\n        /** fired when option was selected, return object with data of this option */\r\n        this.typeaheadOnSelect = new EventEmitter();\r\n        /** fired when blur event occurres. returns the active item */\r\n        this.typeaheadOnBlur = new EventEmitter();\r\n        this.isTypeaheadOptionsListActive = false;\r\n        this.keyUpEventEmitter = new EventEmitter();\r\n        this.placement = 'bottom-left';\r\n        this.element = element;\r\n        this.ngControl = control;\r\n        this.viewContainerRef = viewContainerRef;\r\n        this.renderer = renderer;\r\n        this._typeahead = cis\r\n            .createLoader(element, viewContainerRef, renderer);\r\n    }\r\n    TypeaheadDirective.prototype.onChange = function (e) {\r\n        if (this._container) {\r\n            // esc\r\n            if (e.keyCode === 27) {\r\n                this.hide();\r\n                return;\r\n            }\r\n            // up\r\n            if (e.keyCode === 38) {\r\n                this._container.prevActiveMatch();\r\n                return;\r\n            }\r\n            // down\r\n            if (e.keyCode === 40) {\r\n                this._container.nextActiveMatch();\r\n                return;\r\n            }\r\n            // enter\r\n            if (e.keyCode === 13) {\r\n                this._container.selectActiveMatch();\r\n                return;\r\n            }\r\n        }\r\n        // For `<input>`s, use the `value` property. For others that don't have a\r\n        // `value` (such as `<span contenteditable=\"true\">`, use `innerText`.\r\n        var value = e.target.value !== undefined\r\n            ? e.target.value\r\n            : e.target.innerText;\r\n        if (value.trim().length >= this.typeaheadMinLength) {\r\n            this.typeaheadLoading.emit(true);\r\n            this.keyUpEventEmitter.emit(e.target.value);\r\n        }\r\n        else {\r\n            this.typeaheadLoading.emit(false);\r\n            this.typeaheadNoResults.emit(false);\r\n            this.hide();\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.onFocus = function () {\r\n        if (this.typeaheadMinLength === 0) {\r\n            this.typeaheadLoading.emit(true);\r\n            this.keyUpEventEmitter.emit('');\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.onBlur = function () {\r\n        if (this._container && !this._container.isFocused) {\r\n            this.typeaheadOnBlur.emit(this._container.active);\r\n            this.hide();\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.onKeydown = function (e) {\r\n        // no container - no problems\r\n        if (!this._container) {\r\n            return;\r\n        }\r\n        // if items is visible - prevent form submition\r\n        if (e.keyCode === 13) {\r\n            e.preventDefault();\r\n            return;\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.ngOnInit = function () {\r\n        this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\r\n        this.typeaheadMinLength = this.typeaheadMinLength === void 0\r\n            ? 1\r\n            : this.typeaheadMinLength;\r\n        this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\r\n        // async should be false in case of array\r\n        if (this.typeaheadAsync === undefined && !(this.typeahead instanceof Observable)) {\r\n            this.typeaheadAsync = false;\r\n        }\r\n        if (this.typeahead instanceof Observable) {\r\n            this.typeaheadAsync = true;\r\n        }\r\n        if (this.typeaheadAsync) {\r\n            this.asyncActions();\r\n        }\r\n        else {\r\n            this.syncActions();\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.changeModel = function (match) {\r\n        var valueStr = match.value;\r\n        this.ngControl.viewToModelUpdate(valueStr);\r\n        this.ngControl.control.setValue(valueStr);\r\n        this.hide();\r\n    };\r\n    Object.defineProperty(TypeaheadDirective.prototype, \"matches\", {\r\n        get: function () {\r\n            return this._matches;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    TypeaheadDirective.prototype.show = function () {\r\n        this._typeahead\r\n            .attach(TypeaheadContainerComponent)\r\n            .to(this.container)\r\n            .position({ attachment: 'bottom left' })\r\n            .show({\r\n            typeaheadRef: this,\r\n            placement: this.placement,\r\n            animation: false\r\n        });\r\n        this._container = this._typeahead.instance;\r\n        this._container.parent = this;\r\n        // This improves the speed as it won't have to be done for each list item\r\n        var normalizedQuery = (this.typeaheadLatinize\r\n            ? TypeaheadUtils.latinize(this.ngControl.control.value)\r\n            : this.ngControl.control.value).toString()\r\n            .toLowerCase();\r\n        this._container.query = this.typeaheadSingleWords\r\n            ? TypeaheadUtils.tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\r\n            : normalizedQuery;\r\n        this._container.matches = this._matches;\r\n        this.element.nativeElement.focus();\r\n    };\r\n    TypeaheadDirective.prototype.hide = function () {\r\n        if (this._typeahead.isShown) {\r\n            this._typeahead.hide();\r\n            this._container = null;\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.ngOnDestroy = function () {\r\n        this._typeahead.dispose();\r\n    };\r\n    TypeaheadDirective.prototype.asyncActions = function () {\r\n        var _this = this;\r\n        this.keyUpEventEmitter\r\n            .debounceTime(this.typeaheadWaitMs)\r\n            .mergeMap(function () { return _this.typeahead; })\r\n            .subscribe(function (matches) {\r\n            _this.finalizeAsyncCall(matches);\r\n        }, function (err) {\r\n            console.error(err);\r\n        });\r\n    };\r\n    TypeaheadDirective.prototype.syncActions = function () {\r\n        var _this = this;\r\n        this.keyUpEventEmitter\r\n            .debounceTime(this.typeaheadWaitMs)\r\n            .mergeMap(function (value) {\r\n            var normalizedQuery = _this.normalizeQuery(value);\r\n            return Observable.from(_this.typeahead)\r\n                .filter(function (option) {\r\n                return option && _this.testMatch(_this.normalizeOption(option), normalizedQuery);\r\n            })\r\n                .toArray();\r\n        })\r\n            .subscribe(function (matches) {\r\n            _this.finalizeAsyncCall(matches);\r\n        }, function (err) {\r\n            console.error(err);\r\n        });\r\n    };\r\n    TypeaheadDirective.prototype.normalizeOption = function (option) {\r\n        var optionValue = TypeaheadUtils.getValueFromObject(option, this.typeaheadOptionField);\r\n        var normalizedOption = this.typeaheadLatinize\r\n            ? TypeaheadUtils.latinize(optionValue)\r\n            : optionValue;\r\n        return normalizedOption.toLowerCase();\r\n    };\r\n    TypeaheadDirective.prototype.normalizeQuery = function (value) {\r\n        // If singleWords, break model here to not be doing extra work on each\r\n        // iteration\r\n        var normalizedQuery = (this.typeaheadLatinize ? TypeaheadUtils.latinize(value) : value)\r\n            .toString()\r\n            .toLowerCase();\r\n        normalizedQuery = this.typeaheadSingleWords\r\n            ?\r\n                TypeaheadUtils.tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\r\n            :\r\n                normalizedQuery;\r\n        return normalizedQuery;\r\n    };\r\n    TypeaheadDirective.prototype.testMatch = function (match, test) {\r\n        var spaceLength;\r\n        if (typeof test === 'object') {\r\n            spaceLength = test.length;\r\n            for (var i = 0; i < spaceLength; i += 1) {\r\n                if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\r\n                    return false;\r\n                }\r\n            }\r\n            return true;\r\n        }\r\n        else {\r\n            return match.indexOf(test) >= 0;\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.finalizeAsyncCall = function (matches) {\r\n        this.prepareMatches(matches);\r\n        this.typeaheadLoading.emit(false);\r\n        this.typeaheadNoResults.emit(!this.hasMatches());\r\n        if (!this.hasMatches()) {\r\n            this.hide();\r\n            return;\r\n        }\r\n        if (this._container) {\r\n            // This improves the speed as it won't have to be done for each list item\r\n            var normalizedQuery = (this.typeaheadLatinize\r\n                ? TypeaheadUtils.latinize(this.ngControl.control.value)\r\n                : this.ngControl.control.value).toString()\r\n                .toLowerCase();\r\n            this._container.query = this.typeaheadSingleWords\r\n                ? TypeaheadUtils.tokenize(normalizedQuery, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters)\r\n                : normalizedQuery;\r\n            this._container.matches = this._matches;\r\n        }\r\n        else {\r\n            this.show();\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.prepareMatches = function (options) {\r\n        var _this = this;\r\n        var limited = options.slice(0, this.typeaheadOptionsLimit);\r\n        if (this.typeaheadGroupField) {\r\n            var matches_1 = [];\r\n            // extract all group names\r\n            var groups = limited\r\n                .map(function (option) { return TypeaheadUtils.getValueFromObject(option, _this.typeaheadGroupField); })\r\n                .filter(function (v, i, a) { return a.indexOf(v) === i; });\r\n            groups.forEach(function (group) {\r\n                // add group header to array of matches\r\n                matches_1.push(new TypeaheadMatch(group, group, true));\r\n                // add each item of group to array of matches\r\n                matches_1 = matches_1.concat(limited\r\n                    .filter(function (option) { return TypeaheadUtils.getValueFromObject(option, _this.typeaheadGroupField) === group; })\r\n                    .map(function (option) { return new TypeaheadMatch(option, TypeaheadUtils.getValueFromObject(option, _this.typeaheadOptionField)); }));\r\n            });\r\n            this._matches = matches_1;\r\n        }\r\n        else {\r\n            this._matches = limited.map(function (option) { return new TypeaheadMatch(option, TypeaheadUtils.getValueFromObject(option, _this.typeaheadOptionField)); });\r\n        }\r\n    };\r\n    TypeaheadDirective.prototype.hasMatches = function () {\r\n        return this._matches.length > 0;\r\n    };\r\n    TypeaheadDirective.decorators = [\r\n        { type: Directive, args: [{ selector: '[typeahead]' },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TypeaheadDirective.ctorParameters = function () { return [\r\n        { type: NgControl, },\r\n        { type: ViewContainerRef, },\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n        { type: ComponentLoaderFactory, },\r\n    ]; };\r\n    TypeaheadDirective.propDecorators = {\r\n        'typeahead': [{ type: Input },],\r\n        'typeaheadMinLength': [{ type: Input },],\r\n        'typeaheadWaitMs': [{ type: Input },],\r\n        'typeaheadOptionsLimit': [{ type: Input },],\r\n        'typeaheadOptionField': [{ type: Input },],\r\n        'typeaheadGroupField': [{ type: Input },],\r\n        'typeaheadAsync': [{ type: Input },],\r\n        'typeaheadLatinize': [{ type: Input },],\r\n        'typeaheadSingleWords': [{ type: Input },],\r\n        'typeaheadWordDelimiters': [{ type: Input },],\r\n        'typeaheadPhraseDelimiters': [{ type: Input },],\r\n        'typeaheadItemTemplate': [{ type: Input },],\r\n        'optionsListTemplate': [{ type: Input },],\r\n        'typeaheadLoading': [{ type: Output },],\r\n        'typeaheadNoResults': [{ type: Output },],\r\n        'typeaheadOnSelect': [{ type: Output },],\r\n        'typeaheadOnBlur': [{ type: Output },],\r\n        'container': [{ type: Input },],\r\n        'onChange': [{ type: HostListener, args: ['keyup', ['$event'],] },],\r\n        'onFocus': [{ type: HostListener, args: ['focus',] },],\r\n        'onBlur': [{ type: HostListener, args: ['blur',] },],\r\n        'onKeydown': [{ type: HostListener, args: ['keydown', ['$event'],] },],\r\n    };\r\n    return TypeaheadDirective;\r\n}());\r\n//# sourceMappingURL=typeahead.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/typeahead.directive.js\n// module id = 587\n// module chunks = 3","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\r\nimport { TypeaheadDirective } from './typeahead.directive';\r\nimport { ComponentLoaderFactory } from '../component-loader';\r\nimport { PositioningService } from '../positioning';\r\nexport var TypeaheadModule = (function () {\r\n    function TypeaheadModule() {\r\n    }\r\n    TypeaheadModule.forRoot = function () {\r\n        return {\r\n            ngModule: TypeaheadModule,\r\n            providers: [ComponentLoaderFactory, PositioningService]\r\n        };\r\n    };\r\n    ;\r\n    TypeaheadModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule],\r\n                    declarations: [TypeaheadContainerComponent, TypeaheadDirective],\r\n                    exports: [TypeaheadContainerComponent, TypeaheadDirective],\r\n                    entryComponents: [TypeaheadContainerComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    TypeaheadModule.ctorParameters = function () { return []; };\r\n    return TypeaheadModule;\r\n}());\r\n//# sourceMappingURL=typeahead.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/typeahead.module.js\n// module id = 588\n// module chunks = 3","export { OnChange } from './decorators';\r\nexport { LinkedList } from './linked-list.class';\r\nexport { isBs3 } from './ng2-bootstrap-config';\r\nexport { Trigger } from './trigger.class';\r\nexport { Utils } from './utils.class';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/index.js\n// module id = 589\n// module chunks = 3","/**\r\n * @copyright Valor Software\r\n * @copyright Angular ng-bootstrap team\r\n */\r\nexport var Trigger = (function () {\r\n    function Trigger(open, close) {\r\n        this.open = open;\r\n        this.close = close || open;\r\n    }\r\n    Trigger.prototype.isManual = function () { return this.open === 'manual' || this.close === 'manual'; };\r\n    return Trigger;\r\n}());\r\n//# sourceMappingURL=trigger.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/trigger.class.js\n// module id = 590\n// module chunks = 3","import { window } from './facade/browser';\r\nexport var Utils = (function () {\r\n    function Utils() {\r\n    }\r\n    Utils.reflow = function (element) {\r\n        (function (bs) { return bs; })(element.offsetHeight);\r\n    };\r\n    // source: https://github.com/jquery/jquery/blob/master/src/css/var/getStyles.js\r\n    Utils.getStyles = function (elem) {\r\n        // Support: IE <=11 only, Firefox <=30 (#15098, #14150)\r\n        // IE throws on elements created in popups\r\n        // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\r\n        var view = elem.ownerDocument.defaultView;\r\n        if (!view || !view.opener) {\r\n            view = window;\r\n        }\r\n        return view.getComputedStyle(elem);\r\n    };\r\n    return Utils;\r\n}());\r\n//# sourceMappingURL=utils.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/utils.class.js\n// module id = 591\n// module chunks = 3","export * from \"./localization/index\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/behaviors/index.js\n// module id = 592\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Injectable, EventEmitter } from \"@angular/core\";\r\nimport enGB from \"../locales/en-GB\";\r\nimport * as $extend from \"extend\";\r\nfunction deepClone(obj) {\r\n    return JSON.parse(JSON.stringify(obj));\r\n}\r\nfunction deepExtend(target, source) {\r\n    // Rollup...\r\n    var extend = $extend.default || $extend;\r\n    return extend(true, target, source);\r\n}\r\nfunction lang(language) {\r\n    return language.toLowerCase().replace(\"-\", \"\");\r\n}\r\nvar SuiLocalizationService = (function () {\r\n    function SuiLocalizationService() {\r\n        this.onLanguageUpdate = new EventEmitter();\r\n        this._fallbackValues = enGB;\r\n        this._values = {};\r\n        this._language = \"en-GB\";\r\n        this.load(\"en-GB\", enGB);\r\n    }\r\n    Object.defineProperty(SuiLocalizationService.prototype, \"language\", {\r\n        get: function () {\r\n            return this._language;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiLocalizationService.prototype.setLanguage = function (language) {\r\n        if (lang(this._language) !== lang(language)) {\r\n            this._language = language;\r\n            this.onLanguageUpdate.emit();\r\n        }\r\n    };\r\n    SuiLocalizationService.prototype.get = function (language) {\r\n        if (language === void 0) { language = this.language; }\r\n        var values = deepClone(this._fallbackValues);\r\n        if (!this._values[lang(language)]) {\r\n            throw new Error(\"Locale \" + language + \" is not loaded\");\r\n        }\r\n        deepExtend(values, this._values[lang(language)]);\r\n        return deepClone(values);\r\n    };\r\n    SuiLocalizationService.prototype.override = function (values, overrides) {\r\n        return deepExtend(deepClone(values), overrides);\r\n    };\r\n    SuiLocalizationService.prototype.load = function (language, values) {\r\n        this._values[lang(language)] = deepClone(values);\r\n        this.onLanguageUpdate.emit();\r\n    };\r\n    SuiLocalizationService.prototype.patch = function (language, values) {\r\n        deepExtend(this._values[lang(language)], values);\r\n    };\r\n    SuiLocalizationService.prototype.interpolate = function (value, variables) {\r\n        return variables.reduce(function (s, _a) {\r\n            var k = _a[0], v = _a[1];\r\n            return s.replace(new RegExp(\"#{\" + k + \"}\", \"g\"), v);\r\n        }, value);\r\n    };\r\n    return SuiLocalizationService;\r\n}());\r\nSuiLocalizationService = __decorate([\r\n    Injectable(),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiLocalizationService);\r\nexport { SuiLocalizationService };\r\n//# sourceMappingURL=localization.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/behaviors/localization/services/localization.service.js\n// module id = 593\n// module chunks = 3","export * from \"./message/index\";\r\nexport * from \"./pagination/index\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/index.js\n// module id = 594\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { TransitionController, Transition, TransitionDirection } from \"../../../modules/transition/index\";\r\nvar SuiMessage = (function () {\r\n    function SuiMessage() {\r\n        this.isDismissable = true;\r\n        this.onDismiss = new EventEmitter();\r\n        this.isDismissed = false;\r\n        this.transitionController = new TransitionController();\r\n        this.transition = \"fade\";\r\n        this.transitionDuration = 300;\r\n        this.class = \"\";\r\n    }\r\n    SuiMessage.prototype.dismiss = function () {\r\n        var _this = this;\r\n        this.transitionController.animate(new Transition(this.transition, this.transitionDuration, TransitionDirection.Out, function () {\r\n            _this.isDismissed = true;\r\n            _this.onDismiss.emit(_this);\r\n        }));\r\n    };\r\n    return SuiMessage;\r\n}());\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiMessage.prototype, \"isDismissable\", void 0);\r\n__decorate([\r\n    Output(\"dismiss\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiMessage.prototype, \"onDismiss\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiMessage.prototype, \"transition\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiMessage.prototype, \"transitionDuration\", void 0);\r\n__decorate([\r\n    Input(\"class\"),\r\n    __metadata(\"design:type\", String)\r\n], SuiMessage.prototype, \"class\", void 0);\r\nSuiMessage = __decorate([\r\n    Component({\r\n        selector: \"sui-message\",\r\n        template: \"\\n<div class=\\\"ui message {{ class }}\\\" *ngIf=\\\"!isDismissed\\\" [suiTransition]=\\\"transitionController\\\">\\n    <i class=\\\"close icon\\\" *ngIf=\\\"isDismissable\\\" (click)=\\\"dismiss()\\\"></i>\\n    <ng-content></ng-content>\\n</div>\\n\",\r\n        styles: [\"\\n/* Fix for CSS Bug */\\n.ui.icon.visible.message {\\n    display: flex !important;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiMessage);\r\nexport { SuiMessage };\r\n//# sourceMappingURL=message.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/message/components/message.js\n// module id = 595\n// module chunks = 3","export * from \"./components/message\";\r\nexport * from \"./message.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/message/index.js\n// module id = 596\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, Output, EventEmitter, HostBinding } from \"@angular/core\";\r\nvar SuiPagination = (function () {\r\n    function SuiPagination() {\r\n        this._paginationClasses = true;\r\n        this.pageChange = new EventEmitter();\r\n        this.pageSize = 10;\r\n        this._page = 1;\r\n        this._pages = [];\r\n        this.pageCount = 1;\r\n        this.hasNavigationLinks = true;\r\n        this.hasBoundaryLinks = false;\r\n        this.canRotate = false;\r\n        this.hasEllipses = true;\r\n    }\r\n    Object.defineProperty(SuiPagination.prototype, \"maxSize\", {\r\n        get: function () {\r\n            return this._maxSize;\r\n        },\r\n        set: function (value) {\r\n            this._maxSize = (value != undefined) ? Math.max(value, 1) : undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPagination.prototype, \"collectionSize\", {\r\n        get: function () {\r\n            return this._collectionSize;\r\n        },\r\n        set: function (value) {\r\n            this._collectionSize = Math.max(value, 0);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPagination.prototype, \"hasNavigationLinks\", {\r\n        get: function () {\r\n            var maxSize = this._maxSize || this.pageCount;\r\n            return this._hasNavigationLinks || maxSize < this.pageCount;\r\n        },\r\n        set: function (value) {\r\n            this._hasNavigationLinks = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPagination.prototype, \"page\", {\r\n        get: function () {\r\n            return this._page;\r\n        },\r\n        set: function (value) {\r\n            this.setPage(value);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPagination.prototype, \"pages\", {\r\n        get: function () {\r\n            return this._pages;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // Public methods\r\n    SuiPagination.prototype.hasPrevious = function () {\r\n        return this.page > 1;\r\n    };\r\n    SuiPagination.prototype.hasNext = function () {\r\n        return this.page < this.pageCount;\r\n    };\r\n    SuiPagination.prototype.setPage = function (newPage) {\r\n        var value = (Number.isInteger(newPage)) ? Math.min(Math.max(newPage, 1), this.pageCount) : 1;\r\n        if (value !== this._page) {\r\n            this._page = value;\r\n            this.pageChange.emit(this._page);\r\n        }\r\n    };\r\n    // Lifecycle hooks\r\n    SuiPagination.prototype.ngOnChanges = function () {\r\n        this.updatePages();\r\n    };\r\n    // Private methods\r\n    SuiPagination.prototype.updatePages = function () {\r\n        this.pageCount = Math.max(1, Math.ceil(this._collectionSize / this.pageSize));\r\n        var _a = this.applyPagination(), start = _a[0], end = _a[1];\r\n        this._pages = Array(end - start)\r\n            .fill(start + 1)\r\n            .map(function (s, i) { return s + i; });\r\n    };\r\n    SuiPagination.prototype.applyPagination = function () {\r\n        var maxSize = (this.maxSize != undefined) ? Math.min(this.maxSize, this.pageCount) : this.pageCount;\r\n        var page = Math.ceil(this.page / maxSize) - 1;\r\n        var start = 0;\r\n        var end = this.pageCount;\r\n        if (this.canRotate) {\r\n            var leftOffset = Math.floor(maxSize / 2);\r\n            var rightOffset = maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;\r\n            if (this.page <= leftOffset) {\r\n                end = maxSize;\r\n            }\r\n            else if (this.pageCount - this.page < leftOffset) {\r\n                start = this.pageCount - maxSize;\r\n            }\r\n            else {\r\n                start = this.page - leftOffset - 1;\r\n                end = this.page + rightOffset;\r\n            }\r\n        }\r\n        else {\r\n            start = page * maxSize;\r\n            end = start + maxSize;\r\n        }\r\n        return [start, Math.min(end, this.pageCount)];\r\n    };\r\n    return SuiPagination;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.pagination\"),\r\n    HostBinding(\"class.menu\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiPagination.prototype, \"_paginationClasses\", void 0);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiPagination.prototype, \"pageChange\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiPagination.prototype, \"maxSize\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiPagination.prototype, \"collectionSize\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiPagination.prototype, \"pageSize\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiPagination.prototype, \"hasNavigationLinks\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiPagination.prototype, \"hasBoundaryLinks\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiPagination.prototype, \"canRotate\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiPagination.prototype, \"hasEllipses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiPagination.prototype, \"page\", null);\r\nSuiPagination = __decorate([\r\n    Component({\r\n        selector: \"sui-pagination\",\r\n        template: \"\\n<a *ngIf=\\\"hasBoundaryLinks\\\" class=\\\"item\\\"  (click)=\\\"setPage(1)\\\" [class.disabled]=\\\"page===1\\\">\\n    <span><i class=\\\"angle double left icon\\\"></i></span>\\n</a>\\n<a *ngIf=\\\"hasNavigationLinks\\\" class=\\\"item\\\" (click)=\\\"setPage(page-1)\\\" [class.disabled]=\\\"!hasPrevious()\\\">\\n    <span><i class=\\\"angle left icon\\\"></i></span>\\n</a>\\n<ng-container *ngIf=\\\"hasEllipses\\\">\\n    <a class=\\\"item\\\" (click)=\\\"setPage(1)\\\" *ngIf=\\\"pages[0] !== 1\\\">\\n        <span>1</span>\\n    </a>\\n    <a class=\\\"disabled item\\\" *ngIf=\\\"pages[0] > 2\\\">...</a>\\n</ng-container>\\n<a *ngFor=\\\"let p of pages\\\" class=\\\"item\\\" [class.active]=\\\"p===page\\\" (click)=\\\"setPage(p)\\\">\\n    {{ p }}\\n</a>\\n<ng-container *ngIf=\\\"hasEllipses\\\">\\n    <a class=\\\"disabled item\\\" *ngIf=\\\"pages[pages.length - 1] < pageCount - 1\\\">...</a>\\n    <a class=\\\"item\\\" (click)=\\\"setPage(pageCount)\\\" *ngIf=\\\"pages[pages.length - 1] !== pageCount\\\">\\n        <span>{{ pageCount }}</span>\\n    </a>\\n</ng-container>\\n<a *ngIf=\\\"hasNavigationLinks\\\" class=\\\"item\\\" (click)=\\\"setPage(page+1)\\\" [class.disabled]=\\\"!hasNext()\\\">\\n    <span><i class=\\\"angle right icon\\\"></i></span>\\n</a>\\n<a *ngIf=\\\"hasBoundaryLinks\\\" class=\\\"item\\\"  (click)=\\\"setPage(pageCount)\\\" [class.disabled]=\\\"page===pageCount\\\">\\n    <span><i class=\\\"angle double right icon\\\"></i></span>\\n</a>\\n\",\r\n        styles: [\"\\n:host .item {\\n    transition: none;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiPagination);\r\nexport { SuiPagination };\r\n//# sourceMappingURL=pagination.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/pagination/components/pagination.js\n// module id = 597\n// module chunks = 3","export * from \"./components/pagination\";\r\nexport * from \"./pagination.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/pagination/index.js\n// module id = 598\n// module chunks = 3","export * from \"./util/index\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/index.js\n// module id = 599\n// module chunks = 3","// Keyboard keycodes.\r\n// Keyboard keycodes.\r\nexport var KeyCode;\r\n(function (KeyCode) {\r\n    KeyCode[KeyCode[\"Left\"] = 37] = \"Left\";\r\n    KeyCode[KeyCode[\"Up\"] = 38] = \"Up\";\r\n    KeyCode[KeyCode[\"Right\"] = 39] = \"Right\";\r\n    KeyCode[KeyCode[\"Down\"] = 40] = \"Down\";\r\n    KeyCode[KeyCode[\"Escape\"] = 27] = \"Escape\";\r\n    KeyCode[KeyCode[\"Enter\"] = 13] = \"Enter\";\r\n    KeyCode[KeyCode[\"Space\"] = 32] = \"Space\";\r\n    KeyCode[KeyCode[\"Backspace\"] = 8] = \"Backspace\";\r\n})(KeyCode || (KeyCode = {}));\r\nvar HandledEvent = (function () {\r\n    function HandledEvent() {\r\n    }\r\n    return HandledEvent;\r\n}());\r\nexport { HandledEvent };\r\nexport var Util = {\r\n    Array: {\r\n        range: function (n, offset) {\r\n            if (offset === void 0) { offset = 0; }\r\n            return Array(n).fill(0).map(function (z, i) { return i + offset; });\r\n        },\r\n        group: function (items, groupLength) {\r\n            var mutable = items.slice(0);\r\n            var groups = [];\r\n            while (mutable.length > 0) {\r\n                groups.push(mutable.splice(0, groupLength));\r\n            }\r\n            return groups;\r\n        },\r\n        groupBy: function (items, field) {\r\n            return items.reduce(function (groups, i) {\r\n                var fieldValue = i[field].toString();\r\n                groups[fieldValue] = groups[fieldValue] || [];\r\n                groups[fieldValue].push(i);\r\n                return groups;\r\n            }, Object());\r\n        },\r\n        flatten: function (items) {\r\n            return items.reduce(function (is, i) { return is.concat(i); }, []);\r\n        }\r\n    },\r\n    String: {\r\n        padLeft: function (str, length, padding) {\r\n            var s = str;\r\n            while (s.length < length) {\r\n                s = padding + s;\r\n            }\r\n            return s;\r\n        }\r\n    },\r\n    DOM: {\r\n        parseBooleanAttribute: function (attributeValue) {\r\n            var value = attributeValue;\r\n            if (typeof attributeValue === \"string\") {\r\n                value = true;\r\n            }\r\n            return value;\r\n        }\r\n    },\r\n    Object: {\r\n        readValue: function (object, path) {\r\n            if (!path) {\r\n                return object;\r\n            }\r\n            var recursed;\r\n            for (var i = 0, p = path.split(\".\"), len = p.length; i < len; i++) {\r\n                recursed = object[p[i]];\r\n            }\r\n            return recursed;\r\n        }\r\n    },\r\n    Math: {\r\n        round: function (r, n) {\r\n            return Math.round(r / n) * n;\r\n        },\r\n        roundUp: function (r, n) {\r\n            return Math.ceil(r / n) * n;\r\n        },\r\n        roundDown: function (r, n) {\r\n            return Math.floor(r / n) * n;\r\n        },\r\n        mod: function (r, n) {\r\n            var rem = r % n;\r\n            if (rem < 0) {\r\n                return rem + n;\r\n            }\r\n            return rem;\r\n        }\r\n    }\r\n};\r\n//# sourceMappingURL=util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/helpers/util.js\n// module id = 600\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Injectable, ApplicationRef, ComponentFactoryResolver, Injector, ReflectiveInjector } from \"@angular/core\";\r\nvar SuiComponentFactory = (function () {\r\n    function SuiComponentFactory(_applicationRef, _componentFactoryResolver, _injector) {\r\n        this._applicationRef = _applicationRef;\r\n        this._componentFactoryResolver = _componentFactoryResolver;\r\n        this._injector = _injector;\r\n    }\r\n    SuiComponentFactory.prototype.createComponent = function (type, providers) {\r\n        if (providers === void 0) { providers = []; }\r\n        // Resolve a factory for creating components of type `type`.\r\n        var factory = this._componentFactoryResolver.resolveComponentFactory(type);\r\n        // Resolve and create an injector with the specified providers.\r\n        var injector = ReflectiveInjector.resolveAndCreate(providers, this._injector);\r\n        // Create a component using the previously resolved factory & injector.\r\n        var componentRef = factory.create(injector);\r\n        return componentRef;\r\n    };\r\n    SuiComponentFactory.prototype.createView = function (viewContainer, template, context) {\r\n        viewContainer.createEmbeddedView(template, context);\r\n    };\r\n    // Inserts the component into the specified view container.\r\n    SuiComponentFactory.prototype.attachToView = function (componentRef, viewContainer) {\r\n        viewContainer.insert(componentRef.hostView, 0);\r\n    };\r\n    // Inserts the component in the root application node.\r\n    SuiComponentFactory.prototype.attachToApplication = function (componentRef) {\r\n        this._applicationRef.attachView(componentRef.hostView);\r\n    };\r\n    // Detaches the component from the root application node.\r\n    SuiComponentFactory.prototype.detachFromApplication = function (componentRef) {\r\n        this._applicationRef.detachView(componentRef.hostView);\r\n    };\r\n    // Moves the component to the specified DOM element.\r\n    SuiComponentFactory.prototype.moveToElement = function (componentRef, element) {\r\n        element.appendChild(componentRef.location.nativeElement);\r\n    };\r\n    // Moves the component to the document body.\r\n    SuiComponentFactory.prototype.moveToDocumentBody = function (componentRef) {\r\n        this.moveToElement(componentRef, document.querySelector(\"body\"));\r\n    };\r\n    SuiComponentFactory.prototype.detachFromDocument = function (componentRef) {\r\n        var element = componentRef.location.nativeElement;\r\n        // We can't use `element.remove()` due to lack of IE11 support.\r\n        if (element.parentNode) {\r\n            element.parentNode.removeChild(element);\r\n        }\r\n    };\r\n    return SuiComponentFactory;\r\n}());\r\nSuiComponentFactory = __decorate([\r\n    Injectable(),\r\n    __metadata(\"design:paramtypes\", [ApplicationRef,\r\n        ComponentFactoryResolver,\r\n        Injector])\r\n], SuiComponentFactory);\r\nexport { SuiComponentFactory };\r\n//# sourceMappingURL=component-factory.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/services/component-factory.service.js\n// module id = 601\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, HostBinding, ContentChildren, QueryList } from \"@angular/core\";\r\nimport { SuiAccordionPanel } from \"./accordion-panel\";\r\nimport { SuiAccordionService } from \"../services/accordion.service\";\r\nvar SuiAccordion = (function () {\r\n    function SuiAccordion() {\r\n        // Accordion service is unique to each set of panels.\r\n        this._service = new SuiAccordionService();\r\n        this.accordionClasses = true;\r\n    }\r\n    Object.defineProperty(SuiAccordion.prototype, \"closeOthers\", {\r\n        get: function () {\r\n            return this._service.closeOthers;\r\n        },\r\n        set: function (value) {\r\n            this._service.closeOthers = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiAccordion.prototype, \"transition\", {\r\n        set: function (transition) {\r\n            this._service.transition = transition;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiAccordion.prototype, \"transitionDuration\", {\r\n        set: function (duration) {\r\n            this._service.transitionDuration = duration;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiAccordion.prototype.ngAfterContentInit = function () {\r\n        var _this = this;\r\n        this.updatePanels();\r\n        // Reconnect panels after they have updated.\r\n        this._panels.changes.subscribe(function () { return _this.updatePanels(); });\r\n    };\r\n    SuiAccordion.prototype.updatePanels = function () {\r\n        var _this = this;\r\n        this._panels.forEach(function (p) { return _this._service.addPanel(p); });\r\n    };\r\n    return SuiAccordion;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.accordion\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiAccordion.prototype, \"accordionClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiAccordion.prototype, \"closeOthers\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiAccordion.prototype, \"transition\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiAccordion.prototype, \"transitionDuration\", null);\r\n__decorate([\r\n    ContentChildren(SuiAccordionPanel),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiAccordion.prototype, \"_panels\", void 0);\r\nSuiAccordion = __decorate([\r\n    Component({\r\n        selector: \"sui-accordion\",\r\n        template: \"\\n<ng-content></ng-content>\\n\",\r\n        styles: [\"\\n/* Fix for general styling issues */\\n:host {\\n    display: block;\\n}\\n\\n/* Fix for styled border issue */\\n:host.styled sui-accordion-panel:first-child .title {\\n    border-top: none\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiAccordion);\r\nexport { SuiAccordion };\r\n//# sourceMappingURL=accordion.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/accordion/components/accordion.js\n// module id = 602\n// module chunks = 3","export * from \"./components/accordion-panel\";\r\nexport * from \"./components/accordion\";\r\nexport * from \"./services/accordion.service\";\r\nexport * from \"./accordion.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/accordion/index.js\n// module id = 603\n// module chunks = 3","var SuiAccordionService = (function () {\r\n    function SuiAccordionService() {\r\n        this.closeOthers = true;\r\n        this.transition = \"fade\";\r\n        this.transitionDuration = 350;\r\n        this.panels = [];\r\n    }\r\n    SuiAccordionService.prototype.addPanel = function (panel) {\r\n        panel.service = this;\r\n        this.panels.push(panel);\r\n    };\r\n    SuiAccordionService.prototype.closeOtherPanels = function (panel) {\r\n        if (!this.closeOthers) {\r\n            return;\r\n        }\r\n        this.panels.forEach(function (p) {\r\n            if (p !== panel) {\r\n                p.isOpen = false;\r\n            }\r\n        });\r\n    };\r\n    return SuiAccordionService;\r\n}());\r\nexport { SuiAccordionService };\r\n//# sourceMappingURL=accordion.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/accordion/services/accordion.service.js\n// module id = 604\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Directive, Input, Output, HostListener, HostBinding, EventEmitter, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { customValueAccessorFactory, CustomValueAccessor } from \"../../../misc/util/index\";\r\nvar SuiCheckbox = (function () {\r\n    function SuiCheckbox() {\r\n        this.isChecked = false;\r\n        this.onCheckChange = new EventEmitter();\r\n        this.onTouched = new EventEmitter();\r\n        this.isDisabled = false;\r\n        this.isReadonly = false;\r\n        this._checkboxClasses = true;\r\n    }\r\n    Object.defineProperty(SuiCheckbox.prototype, \"checkedAttribute\", {\r\n        get: function () {\r\n            return this.isChecked ? \"\" : undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiCheckbox.prototype, \"isDisabledAttribute\", {\r\n        get: function () {\r\n            return this.isDisabled ? \"disabled\" : undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiCheckbox.prototype.onMouseDown = function (e) {\r\n        e.preventDefault();\r\n    };\r\n    SuiCheckbox.prototype.onClick = function () {\r\n        if (!this.isDisabled && !this.isReadonly) {\r\n            this.toggle();\r\n            this.focusCheckbox();\r\n        }\r\n    };\r\n    SuiCheckbox.prototype.onFocusOut = function () {\r\n        this.onTouched.emit();\r\n    };\r\n    SuiCheckbox.prototype.toggle = function () {\r\n        this.isChecked = !this.isChecked;\r\n        this.onCheckChange.emit(this.isChecked);\r\n    };\r\n    SuiCheckbox.prototype.writeValue = function (value) {\r\n        this.isChecked = value;\r\n    };\r\n    SuiCheckbox.prototype.focusCheckbox = function () {\r\n        this._checkboxElement.nativeElement.focus();\r\n    };\r\n    return SuiCheckbox;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.checkbox\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiCheckbox.prototype, \"_checkboxClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiCheckbox.prototype, \"name\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.checked\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiCheckbox.prototype, \"isChecked\", void 0);\r\n__decorate([\r\n    Output(\"checkChange\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiCheckbox.prototype, \"onCheckChange\", void 0);\r\n__decorate([\r\n    Output(\"touched\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiCheckbox.prototype, \"onTouched\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiCheckbox.prototype, \"isDisabled\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.read-only\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiCheckbox.prototype, \"isReadonly\", void 0);\r\n__decorate([\r\n    ViewChild(\"checkbox\"),\r\n    __metadata(\"design:type\", ElementRef)\r\n], SuiCheckbox.prototype, \"_checkboxElement\", void 0);\r\n__decorate([\r\n    HostListener(\"mousedown\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [MouseEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiCheckbox.prototype, \"onMouseDown\", null);\r\n__decorate([\r\n    HostListener(\"click\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiCheckbox.prototype, \"onClick\", null);\r\n__decorate([\r\n    HostListener(\"focusout\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiCheckbox.prototype, \"onFocusOut\", null);\r\nSuiCheckbox = __decorate([\r\n    Component({\r\n        selector: \"sui-checkbox\",\r\n        exportAs: \"suiCheckbox\",\r\n        template: \"\\n<input class=\\\"hidden\\\"\\n       type=\\\"checkbox\\\"\\n       [attr.name]=\\\"name\\\"\\n       [attr.checked]=\\\"checkedAttribute\\\"\\n       [attr.disabled]=\\\"isDisabledAttribute\\\"\\n       [(ngModel)]=\\\"isChecked\\\"\\n       #checkbox>\\n<label>\\n    <ng-content></ng-content>\\n</label>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiCheckbox);\r\nexport { SuiCheckbox };\r\nvar SuiCheckboxValueAccessor = SuiCheckboxValueAccessor_1 = (function (_super) {\r\n    __extends(SuiCheckboxValueAccessor, _super);\r\n    function SuiCheckboxValueAccessor(host) {\r\n        return _super.call(this, host) || this;\r\n    }\r\n    return SuiCheckboxValueAccessor;\r\n}(CustomValueAccessor));\r\nSuiCheckboxValueAccessor = SuiCheckboxValueAccessor_1 = __decorate([\r\n    Directive({\r\n        selector: \"sui-checkbox\",\r\n        host: {\r\n            \"(checkChange)\": \"onChange($event)\",\r\n            \"(touched)\": \"onTouched()\"\r\n        },\r\n        providers: [customValueAccessorFactory(SuiCheckboxValueAccessor_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiCheckbox])\r\n], SuiCheckboxValueAccessor);\r\nexport { SuiCheckboxValueAccessor };\r\nvar SuiCheckboxValueAccessor_1;\r\n//# sourceMappingURL=checkbox.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/checkbox/components/checkbox.js\n// module id = 605\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, ContentChildren, QueryList, ElementRef } from \"@angular/core\";\r\nimport { SuiRadio } from \"../components/radio\";\r\nimport { Util } from \"../../../misc/util/index\";\r\nvar SuiRadioManager = SuiRadioManager_1 = (function () {\r\n    function SuiRadioManager(element) {\r\n        this.element = element;\r\n        this.isNested = false;\r\n        this._radioSubs = [];\r\n    }\r\n    SuiRadioManager.prototype.ngAfterContentInit = function () {\r\n        var _this = this;\r\n        this.updateNesting();\r\n        this._subManagers.changes.subscribe(function () { return _this.updateNesting(); });\r\n        this.updateRadios();\r\n        this._renderedRadios.changes.subscribe(function () { return _this.updateRadios(); });\r\n    };\r\n    SuiRadioManager.prototype.updateNesting = function () {\r\n        var _this = this;\r\n        this._subManagers\r\n            .filter(function (m) { return m !== _this; })\r\n            .forEach(function (m) { return m.isNested = true; });\r\n    };\r\n    SuiRadioManager.prototype.updateRadios = function () {\r\n        var _this = this;\r\n        this._radioSubs.forEach(function (s) { return s.unsubscribe(); });\r\n        this._radioSubs = [];\r\n        var groups = Util.Array.groupBy(this._renderedRadios.toArray(), \"name\");\r\n        Object\r\n            .keys(groups)\r\n            .map(function (k) { return groups[k]; })\r\n            .forEach(function (g) { return g\r\n            .forEach(function (r) { return _this._radioSubs\r\n            .push(r.onCurrentValueChange\r\n            .subscribe(function (v) {\r\n            if (!_this.isNested) {\r\n                g.forEach(function (radio) { return radio.writeValue(v); });\r\n            }\r\n        })); }); });\r\n    };\r\n    return SuiRadioManager;\r\n}());\r\n__decorate([\r\n    ContentChildren(SuiRadioManager_1, { descendants: true }),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiRadioManager.prototype, \"_subManagers\", void 0);\r\n__decorate([\r\n    ContentChildren(SuiRadio, { descendants: true }),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiRadioManager.prototype, \"_renderedRadios\", void 0);\r\nSuiRadioManager = SuiRadioManager_1 = __decorate([\r\n    Directive({\r\n        selector: \"form:not([ngForm]):not([[ngForm]]),ngForm,[ngForm]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ElementRef])\r\n], SuiRadioManager);\r\nexport { SuiRadioManager };\r\nvar SuiRadioManager_1;\r\n//# sourceMappingURL=radio-manager.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/checkbox/directives/radio-manager.js\n// module id = 606\n// module chunks = 3","export * from \"./components/checkbox\";\r\nexport * from \"./components/radio\";\r\nexport * from \"./directives/radio-manager\";\r\nexport * from \"./checkbox.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/checkbox/index.js\n// module id = 607\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, ElementRef, Input, HostBinding, Renderer2 } from \"@angular/core\";\r\nvar SuiCollapse = (function () {\r\n    function SuiCollapse(_element, _renderer) {\r\n        this._element = _element;\r\n        this._renderer = _renderer;\r\n        this._pristine = true;\r\n        // Collapse animation duration is 350ms by default.\r\n        this.collapseDuration = 350;\r\n        this._isExpanded = false;\r\n        this._isCollapsing = false;\r\n    }\r\n    Object.defineProperty(SuiCollapse.prototype, \"_isCollapsed\", {\r\n        // Set when the collapse is closed, and not animating.\r\n        get: function () {\r\n            return !this._isExpanded && !this._isCollapsing;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiCollapse.prototype, \"suiCollapse\", {\r\n        get: function () {\r\n            return this._isExpanded;\r\n        },\r\n        // Sets the state of the collapse, `true` is collapsed.\r\n        set: function (value) {\r\n            if (value) {\r\n                this.hide();\r\n            }\r\n            else {\r\n                this.show();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiCollapse.prototype, \"_animationDuration\", {\r\n        get: function () {\r\n            return this._pristine ? 0 : this.collapseDuration;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiCollapse.prototype.hide = function () {\r\n        var _this = this;\r\n        this._isCollapsing = true;\r\n        this._isExpanded = false;\r\n        // Forcibly hide the overflow so that content is not visible past the boundaries of its container.\r\n        this._renderer.setStyle(this._element.nativeElement, \"overflow\", \"hidden\");\r\n        // Animate the host element from its scroll height to 0.\r\n        this.animate(this._element.nativeElement.scrollHeight, 0, false, function () {\r\n            _this._isCollapsing = false;\r\n        });\r\n    };\r\n    SuiCollapse.prototype.show = function () {\r\n        var _this = this;\r\n        this._isCollapsing = true;\r\n        // Animate the host element from its offset height to its scroll height.\r\n        this.animate(this._element.nativeElement.offsetHeight, this._element.nativeElement.scrollHeight, true, function () {\r\n            // Remove the overflow override to enable user styling once again.\r\n            _this._renderer.removeStyle(_this._element.nativeElement, \"overflow\");\r\n            _this._isCollapsing = false;\r\n            _this._isExpanded = true;\r\n        });\r\n    };\r\n    SuiCollapse.prototype.animate = function (startHeight, endHeight, removeOnComplete, callback) {\r\n        if (removeOnComplete === void 0) { removeOnComplete = false; }\r\n        if (callback === void 0) { callback = function () { }; }\r\n        var heightFrames = [\r\n            {\r\n                offset: 0,\r\n                height: startHeight + \"px\"\r\n            },\r\n            {\r\n                offset: 1,\r\n                height: endHeight + \"px\"\r\n            }\r\n        ];\r\n        if (removeOnComplete) {\r\n            heightFrames.push({\r\n                offset: 1,\r\n                height: \"auto\"\r\n            });\r\n        }\r\n        // Animate the collapse using the web animations API.\r\n        // Using directly because Renderer2 doesn't have invokeElementMethod method anymore.\r\n        this._element.nativeElement.animate(heightFrames, {\r\n            delay: 0,\r\n            // Disable animation on 1st collapse / expansion.\r\n            duration: this._animationDuration,\r\n            iterations: 1,\r\n            easing: \"ease\",\r\n            fill: \"both\"\r\n        });\r\n        if (this._pristine) {\r\n            // Remove pristine flag when first hit.\r\n            this._pristine = false;\r\n        }\r\n        setTimeout(function () { return callback(); }, this.collapseDuration);\r\n    };\r\n    return SuiCollapse;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.expanded\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiCollapse.prototype, \"_isExpanded\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.collapsed\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiCollapse.prototype, \"_isCollapsed\", null);\r\n__decorate([\r\n    HostBinding(\"class.collapsing\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiCollapse.prototype, \"_isCollapsing\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiCollapse.prototype, \"suiCollapse\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiCollapse.prototype, \"collapseDuration\", void 0);\r\nSuiCollapse = __decorate([\r\n    Directive({\r\n        selector: \"[suiCollapse]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ElementRef, Renderer2])\r\n], SuiCollapse);\r\nexport { SuiCollapse };\r\n//# sourceMappingURL=collapse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/collapse/directives/collapse.js\n// module id = 608\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nimport { CalendarViewType } from \"../views/calendar-view\";\r\nvar CalendarMappings = (function () {\r\n    function CalendarMappings() {\r\n    }\r\n    return CalendarMappings;\r\n}());\r\nexport { CalendarMappings };\r\nvar DateMappings = (function (_super) {\r\n    __extends(DateMappings, _super);\r\n    function DateMappings() {\r\n        var _this = _super.call(this) || this;\r\n        _this.initialView = CalendarViewType.Date;\r\n        _this.finalView = CalendarViewType.Date;\r\n        _this.changed = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Month],\r\n            [CalendarViewType.Month, CalendarViewType.Date],\r\n            [CalendarViewType.Date, CalendarViewType.Date]\r\n        ]);\r\n        _this.zoom = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Date],\r\n            [CalendarViewType.Month, CalendarViewType.Year],\r\n            [CalendarViewType.Date, CalendarViewType.Month]\r\n        ]);\r\n        return _this;\r\n    }\r\n    return DateMappings;\r\n}(CalendarMappings));\r\nexport { DateMappings };\r\nvar TimeMappings = (function (_super) {\r\n    __extends(TimeMappings, _super);\r\n    function TimeMappings() {\r\n        var _this = _super.call(this) || this;\r\n        _this.initialView = CalendarViewType.Hour;\r\n        _this.finalView = CalendarViewType.Minute;\r\n        _this.changed = new Map([\r\n            [CalendarViewType.Hour, CalendarViewType.Minute],\r\n            [CalendarViewType.Minute, CalendarViewType.Minute]\r\n        ]);\r\n        _this.zoom = new Map([\r\n            [CalendarViewType.Hour, CalendarViewType.Minute],\r\n            [CalendarViewType.Minute, CalendarViewType.Hour]\r\n        ]);\r\n        return _this;\r\n    }\r\n    return TimeMappings;\r\n}(CalendarMappings));\r\nexport { TimeMappings };\r\nvar DatetimeMappings = (function (_super) {\r\n    __extends(DatetimeMappings, _super);\r\n    function DatetimeMappings() {\r\n        var _this = _super.call(this) || this;\r\n        _this.initialView = CalendarViewType.Date;\r\n        _this.finalView = CalendarViewType.Minute;\r\n        _this.changed = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Month],\r\n            [CalendarViewType.Month, CalendarViewType.Date],\r\n            [CalendarViewType.Date, CalendarViewType.Hour],\r\n            [CalendarViewType.Hour, CalendarViewType.Minute],\r\n            [CalendarViewType.Minute, CalendarViewType.Minute]\r\n        ]);\r\n        _this.zoom = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Date],\r\n            [CalendarViewType.Month, CalendarViewType.Year],\r\n            [CalendarViewType.Date, CalendarViewType.Month],\r\n            [CalendarViewType.Hour, CalendarViewType.Date],\r\n            [CalendarViewType.Minute, CalendarViewType.Hour]\r\n        ]);\r\n        return _this;\r\n    }\r\n    return DatetimeMappings;\r\n}(CalendarMappings));\r\nexport { DatetimeMappings };\r\nvar MonthMappings = (function (_super) {\r\n    __extends(MonthMappings, _super);\r\n    function MonthMappings() {\r\n        var _this = _super.call(this) || this;\r\n        _this.initialView = CalendarViewType.Month;\r\n        _this.finalView = CalendarViewType.Month;\r\n        _this.changed = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Month],\r\n            [CalendarViewType.Month, CalendarViewType.Month]\r\n        ]);\r\n        _this.zoom = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Month],\r\n            [CalendarViewType.Month, CalendarViewType.Year]\r\n        ]);\r\n        return _this;\r\n    }\r\n    return MonthMappings;\r\n}(CalendarMappings));\r\nexport { MonthMappings };\r\nvar YearMappings = (function (_super) {\r\n    __extends(YearMappings, _super);\r\n    function YearMappings() {\r\n        var _this = _super.call(this) || this;\r\n        _this.initialView = CalendarViewType.Year;\r\n        _this.finalView = CalendarViewType.Year;\r\n        _this.changed = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Year]\r\n        ]);\r\n        _this.zoom = new Map([\r\n            [CalendarViewType.Year, CalendarViewType.Year]\r\n        ]);\r\n        return _this;\r\n    }\r\n    return YearMappings;\r\n}(CalendarMappings));\r\nexport { YearMappings };\r\n//# sourceMappingURL=calendar-mappings.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/classes/calendar-mappings.js\n// module id = 609\n// module chunks = 3","import { DatePrecision, DateUtil, Util } from \"../../../misc/util/index\";\r\nvar DateComparer = (function () {\r\n    function DateComparer(precision, isSmallest) {\r\n        this._precision = precision;\r\n        this._isSmallest = isSmallest;\r\n    }\r\n    DateComparer.prototype.equal = function (a, b) {\r\n        if (this._precision === DatePrecision.Minute) {\r\n            return !!b &&\r\n                DateUtil.equal(DatePrecision.Hour, b, a) &&\r\n                Util.Math.roundDown(b.getMinutes(), 5) === Util.Math.roundDown(a.getMinutes(), 5);\r\n        }\r\n        return !!b && DateUtil.equal(this._precision, a, b);\r\n    };\r\n    DateComparer.prototype.lessThan = function (a, b) {\r\n        if (this._isSmallest) {\r\n            return !b || (b >= a);\r\n        }\r\n        return !b || (DateUtil.endOf(this._precision, DateUtil.clone(b)) >= a);\r\n    };\r\n    DateComparer.prototype.greaterThan = function (a, b) {\r\n        if (this._isSmallest) {\r\n            return !b || (b <= a);\r\n        }\r\n        return !b || (DateUtil.startOf(this._precision, DateUtil.clone(b)) <= a);\r\n    };\r\n    DateComparer.prototype.between = function (date, left, right) {\r\n        return this.greaterThan(date, left) && this.lessThan(date, right);\r\n    };\r\n    return DateComparer;\r\n}());\r\nexport { DateComparer };\r\n//# sourceMappingURL=date-comparer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/classes/date-comparer.js\n// module id = 610\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { CalendarRangeService } from \"../services/calendar-range.service\";\r\nvar SuiCalendarViewTitle = (function () {\r\n    function SuiCalendarViewTitle() {\r\n        this.onZoomOut = new EventEmitter();\r\n    }\r\n    return SuiCalendarViewTitle;\r\n}());\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", CalendarRangeService)\r\n], SuiCalendarViewTitle.prototype, \"ranges\", void 0);\r\n__decorate([\r\n    Output(\"zoomOut\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiCalendarViewTitle.prototype, \"onZoomOut\", void 0);\r\nSuiCalendarViewTitle = __decorate([\r\n    Component({\r\n        selector: \"sui-calendar-view-title\",\r\n        template: \"\\n<span class=\\\"title link\\\" (click)=\\\"onZoomOut.emit()\\\">\\n    <ng-content></ng-content>\\n</span>\\n<span class=\\\"prev link\\\" [class.disabled]=\\\"!ranges?.canMovePrevious\\\" (click)=\\\"ranges?.movePrevious()\\\">\\n    <i class=\\\"chevron left icon\\\"></i>\\n</span>\\n<span class=\\\"next link\\\" [class.disabled]=\\\"!ranges?.canMoveNext\\\" (click)=\\\"ranges?.moveNext()\\\">\\n    <i class=\\\"chevron right icon\\\"></i>\\n</span>\\n\",\r\n        styles: [\"\\n.title.link {\\n    display: inline-block;\\n    margin-left: 2rem;\\n    margin-right: 2rem;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiCalendarViewTitle);\r\nexport { SuiCalendarViewTitle };\r\n//# sourceMappingURL=calendar-view-title.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/components/calendar-view-title.js\n// module id = 611\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n};\r\nimport { Directive, Host, Input, ElementRef, HostBinding, HostListener } from \"@angular/core\";\r\nimport { DateUtil } from \"../../../misc/util/index\";\r\nimport { SuiLocalizationService } from \"../../../behaviors/localization/index\";\r\nimport { PopupTrigger } from \"../../popup/index\";\r\nimport { SuiDatepickerDirective, SuiDatepickerDirectiveValueAccessor } from \"./datepicker.directive\";\r\nimport { InternalDateParser, DateParser } from \"../classes/date-parser\";\r\nimport * as bowser from \"bowser\";\r\nimport \"../helpers/is-webview\";\r\nimport * as isUAWebView from \"is-ua-webview\";\r\nvar isWebView = isUAWebView[\"default\"] || isUAWebView;\r\nvar SuiDatepickerInputDirective = (function () {\r\n    function SuiDatepickerInputDirective(datepicker, valueAccessor, element, localizationService) {\r\n        var _this = this;\r\n        this.datepicker = datepicker;\r\n        this.valueAccessor = valueAccessor;\r\n        this.element = element;\r\n        this.useNativeOnMobile = true;\r\n        this.fallbackActive = false;\r\n        // Whenever the datepicker value updates, update the input text alongside it.\r\n        this.datepicker.onSelectedDateChange.subscribe(function () {\r\n            return _this.updateValue(_this.selectedDateString);\r\n        });\r\n        localizationService.onLanguageUpdate.subscribe(function () {\r\n            return _this.updateValue(_this.selectedDateString);\r\n        });\r\n    }\r\n    Object.defineProperty(SuiDatepickerInputDirective.prototype, \"useNativeOnMobile\", {\r\n        get: function () {\r\n            return this._useNativeOnMobile;\r\n        },\r\n        set: function (fallback) {\r\n            this._useNativeOnMobile = fallback;\r\n            var isOnMobile = bowser.mobile || bowser.tablet || isWebView(navigator.userAgent);\r\n            this.fallbackActive = this.useNativeOnMobile && isOnMobile;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerInputDirective.prototype, \"fallbackActive\", {\r\n        get: function () {\r\n            return this._fallbackActive;\r\n        },\r\n        set: function (active) {\r\n            this._fallbackActive = active;\r\n            // If the fallback is active, then the trigger must be manual so the datepicker never opens.\r\n            this.datepicker.popup.config.trigger = this.fallbackActive ? PopupTrigger.Manual : PopupTrigger.Focus;\r\n            // Update the input value (this will insert the `T` as required).\r\n            this.updateValue(this.selectedDateString);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerInputDirective.prototype, \"parser\", {\r\n        get: function () {\r\n            if (this.fallbackActive) {\r\n                return new InternalDateParser(this.datepicker.mode, this.datepicker.localeValues);\r\n            }\r\n            return new DateParser(this.datepicker.localeValues.formats[this.datepicker.mode], this.datepicker.localeValues);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerInputDirective.prototype, \"selectedDateString\", {\r\n        get: function () {\r\n            if (this.datepicker.selectedDate) {\r\n                return this.parser.format(this.datepicker.selectedDate);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerInputDirective.prototype, \"type\", {\r\n        get: function () {\r\n            if (this.fallbackActive) {\r\n                return this.datepicker.config.fallback;\r\n            }\r\n            return \"text\";\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerInputDirective.prototype, \"max\", {\r\n        get: function () {\r\n            if (this.fallbackActive && this.datepicker.maxDate) {\r\n                // Since HTML doesn't use a date object max is somewhat tricky.\r\n                // Our Datepicker will always choose the 1st date on the provided precision,\r\n                // meaning anything below the maxDate will work, hence endOf.\r\n                var max = DateUtil.endOf(this.datepicker.config.precision, DateUtil.clone(this.datepicker.maxDate));\r\n                return this.parser.format(max);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDatepickerInputDirective.prototype, \"min\", {\r\n        get: function () {\r\n            if (this.fallbackActive && this.datepicker.minDate) {\r\n                // Since HTML doesn't use a date object min is somewhat tricky.\r\n                // We use 1 minute before the next date at the configured precision since\r\n                // our Datepicker picks the first available date at that precision.\r\n                var min = DateUtil.clone(this.datepicker.minDate);\r\n                return this.parser.format(min);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiDatepickerInputDirective.prototype.updateValue = function (value) {\r\n        // Only update the current value if it is different to what it's being updated to.\r\n        // This is so that the editing position isn't changed when manually typing the date.\r\n        if (!this._lastUpdateTyped) {\r\n            this.datepicker.renderer.setProperty(this.element.nativeElement, \"value\", value || \"\");\r\n        }\r\n        this._lastUpdateTyped = false;\r\n    };\r\n    SuiDatepickerInputDirective.prototype.typeValue = function (value) {\r\n        this._lastUpdateTyped = true;\r\n        this._currentInputValue = value;\r\n        if (!value) {\r\n            // Delete the selected date if no date was entered manually.\r\n            return this.datepicker.writeValue(undefined);\r\n        }\r\n        var parsed = this.parser.parse(value, this.datepicker.selectedDate);\r\n        if (!isNaN(parsed.getTime()) && value === this.parser.format(parsed)) {\r\n            return this.datepicker.writeValue(parsed);\r\n        }\r\n        return this.datepicker.writeValue(undefined);\r\n    };\r\n    SuiDatepickerInputDirective.prototype.onFocusOut = function () {\r\n        this.valueAccessor.onTouched();\r\n    };\r\n    return SuiDatepickerInputDirective;\r\n}());\r\n__decorate([\r\n    Input(\"pickerUseNativeOnMobile\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiDatepickerInputDirective.prototype, \"useNativeOnMobile\", null);\r\n__decorate([\r\n    HostBinding(\"attr.type\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiDatepickerInputDirective.prototype, \"type\", null);\r\n__decorate([\r\n    HostBinding(\"attr.max\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiDatepickerInputDirective.prototype, \"max\", null);\r\n__decorate([\r\n    HostBinding(\"attr.min\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiDatepickerInputDirective.prototype, \"min\", null);\r\n__decorate([\r\n    HostListener(\"input\", [\"$event.target.value\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [String]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDatepickerInputDirective.prototype, \"typeValue\", null);\r\n__decorate([\r\n    HostListener(\"focusout\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDatepickerInputDirective.prototype, \"onFocusOut\", null);\r\nSuiDatepickerInputDirective = __decorate([\r\n    Directive({\r\n        selector: \"input[suiDatepicker]\"\r\n    }),\r\n    __param(0, Host()),\r\n    __param(1, Host()),\r\n    __metadata(\"design:paramtypes\", [SuiDatepickerDirective,\r\n        SuiDatepickerDirectiveValueAccessor,\r\n        ElementRef,\r\n        SuiLocalizationService])\r\n], SuiDatepickerInputDirective);\r\nexport { SuiDatepickerInputDirective };\r\n//# sourceMappingURL=input.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/directives/input.directive.js\n// module id = 612\n// module chunks = 3","var __assign = (this && this.__assign) || Object.assign || function(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n            t[p] = s[p];\r\n    }\r\n    return t;\r\n};\r\nimport { format, parse } from \"date-fns\";\r\nimport * as defaultLocale from \"date-fns/locale/en-US\";\r\nfunction buildLocalizeFn(values, defaultType, indexCallback) {\r\n    return function (dirtyIndex, _a) {\r\n        var type = (_a === void 0 ? { type: defaultType } : _a).type;\r\n        var index = indexCallback ? indexCallback(dirtyIndex) : dirtyIndex;\r\n        return values[type][index];\r\n    };\r\n}\r\nfunction buildLocalizeArrayFn(values, defaultType) {\r\n    return function (_a) {\r\n        var type = (_a === void 0 ? { type: defaultType } : _a).type;\r\n        return values[type];\r\n    };\r\n}\r\nfunction buildMatchFn(patterns, defaultType) {\r\n    return function (dirtyString, _a) {\r\n        var type = (_a === void 0 ? { type: defaultType } : _a).type;\r\n        return dirtyString.match(\"^(\" + patterns[type].join(\"|\") + \")\");\r\n    };\r\n}\r\nfunction buildParseFn(patterns, defaultType) {\r\n    return function (_a, _b) {\r\n        var result = _a[1];\r\n        var type = (_b === void 0 ? { type: defaultType } : _b).type;\r\n        return (patterns[type] || patterns[defaultType])\r\n            .map(function (p) { return new RegExp(\"^\" + p); })\r\n            .findIndex(function (pattern) { return pattern.test(result); });\r\n    };\r\n}\r\nvar DateFnsParser = (function () {\r\n    function DateFnsParser(locale) {\r\n        this._weekStartsOn = locale.firstDayOfWeek;\r\n        var weekdayValues = {\r\n            long: locale.weekdays,\r\n            short: locale.weekdaysShort,\r\n            narrow: locale.weekdaysNarrow\r\n        };\r\n        var monthValues = {\r\n            long: locale.months,\r\n            short: locale.monthsShort\r\n        };\r\n        var timeOfDayValues = {\r\n            long: locale.timesOfDay,\r\n            uppercase: locale.timesOfDayUppercase,\r\n            lowercase: locale.timesOfDayLowercase\r\n        };\r\n        var timeOfDayMatchValues = {\r\n            long: locale.timesOfDay,\r\n            short: locale.timesOfDayUppercase.concat(locale.timesOfDayLowercase)\r\n        };\r\n        this._locale = defaultLocale;\r\n        this._locale.localize = __assign({}, this._locale.localize, {\r\n            weekday: buildLocalizeFn(weekdayValues, \"long\"),\r\n            weekdays: buildLocalizeArrayFn(weekdayValues, \"long\"),\r\n            month: buildLocalizeFn(monthValues, \"long\"),\r\n            months: buildLocalizeArrayFn(monthValues, \"long\"),\r\n            timeOfDay: buildLocalizeFn(timeOfDayValues, \"long\", function (hours) {\r\n                return hours / 12 >= 1 ? 1 : 0;\r\n            }),\r\n            timesOfDay: buildLocalizeArrayFn(timeOfDayValues, \"long\")\r\n        });\r\n        this._locale.match = __assign({}, this._locale.match, {\r\n            weekdays: buildMatchFn(weekdayValues, \"long\"),\r\n            weekday: buildParseFn(weekdayValues, \"long\"),\r\n            months: buildMatchFn(monthValues, \"long\"),\r\n            month: buildParseFn(monthValues, \"long\"),\r\n            timesOfDay: buildMatchFn(timeOfDayMatchValues, \"long\"),\r\n            timeOfDay: buildParseFn(timeOfDayMatchValues, \"long\")\r\n        });\r\n    }\r\n    Object.defineProperty(DateFnsParser.prototype, \"_config\", {\r\n        get: function () {\r\n            return {\r\n                weekStartsOn: this._weekStartsOn,\r\n                locale: this._locale\r\n            };\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    DateFnsParser.prototype.format = function (d, f) {\r\n        return format(d, f, this._config);\r\n    };\r\n    DateFnsParser.prototype.parse = function (dS, f, bD) {\r\n        return parse(dS, f, bD, this._config);\r\n    };\r\n    return DateFnsParser;\r\n}());\r\nexport { DateFnsParser };\r\n//# sourceMappingURL=date-fns.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/helpers/date-fns.js\n// module id = 613\n// module chunks = 3","export * from \"./classes/calendar-config\";\r\nexport * from \"./classes/calendar-mappings\";\r\nexport * from \"./classes/date-comparer\";\r\nexport * from \"./classes/date-parser\";\r\nexport * from \"./components/calendar-view-title\";\r\nexport * from \"./components/datepicker\";\r\nexport * from \"./directives/calendar-item\";\r\nexport * from \"./directives/datepicker.directive\";\r\nexport * from \"./directives/input.directive\";\r\nexport * from \"./helpers/date-fns\";\r\nexport * from \"./services/calendar-range.service\";\r\nexport * from \"./services/calendar.service\";\r\nexport * from \"./views/calendar-view\";\r\nexport * from \"./views/date-view\";\r\nexport * from \"./views/hour-view\";\r\nexport * from \"./views/minute-view\";\r\nexport * from \"./views/month-view\";\r\nexport * from \"./views/year-view\";\r\nexport * from \"./datepicker.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/index.js\n// module id = 614\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Renderer2 } from \"@angular/core\";\r\nimport { DateUtil, DatePrecision } from \"../../../misc/util/index\";\r\nimport { CalendarView, CalendarViewType } from \"./calendar-view\";\r\nimport { CalendarRangeService } from \"../services/calendar-range.service\";\r\nimport { DateParser } from \"../classes/date-parser\";\r\nvar CalendarRangeDateService = (function (_super) {\r\n    __extends(CalendarRangeDateService, _super);\r\n    function CalendarRangeDateService() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    CalendarRangeDateService.prototype.calcStart = function (start) {\r\n        var monthStart = DateUtil.startOf(DatePrecision.Month, DateUtil.clone(start));\r\n        monthStart.setDate((1 - monthStart.getDay() + this.service.firstDayOfWeek - 7) % 7);\r\n        return monthStart;\r\n    };\r\n    CalendarRangeDateService.prototype.configureItem = function (item, baseDate) {\r\n        item.humanReadable = item.date.getDate().toString();\r\n        item.isOutsideRange = item.date.getMonth() !== baseDate.getMonth();\r\n        item.isSelectable = item.isDisabled;\r\n    };\r\n    return CalendarRangeDateService;\r\n}(CalendarRangeService));\r\nexport { CalendarRangeDateService };\r\nvar SuiCalendarDateView = (function (_super) {\r\n    __extends(SuiCalendarDateView, _super);\r\n    function SuiCalendarDateView(renderer) {\r\n        return _super.call(this, renderer, CalendarViewType.Date, new CalendarRangeDateService(DatePrecision.Month, 6, 7)) || this;\r\n    }\r\n    Object.defineProperty(SuiCalendarDateView.prototype, \"days\", {\r\n        get: function () {\r\n            var _this = this;\r\n            var days = this.service.localeValues.weekdaysNarrow;\r\n            return days.map(function (d, i) { return days[(i + _this.service.firstDayOfWeek) % days.length]; });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiCalendarDateView.prototype, \"date\", {\r\n        get: function () {\r\n            return new DateParser(this.service.localeValues.formats.month, this.service.localeValues).format(this.currentDate);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiCalendarDateView;\r\n}(CalendarView));\r\nSuiCalendarDateView = __decorate([\r\n    Component({\r\n        selector: \"sui-calendar-date-view\",\r\n        template: \"\\n<table class=\\\"ui celled center aligned unstackable table seven column day\\\">\\n<thead>\\n    <tr>\\n        <th colspan=\\\"7\\\">\\n            <sui-calendar-view-title [ranges]=\\\"ranges\\\" (zoomOut)=\\\"zoomOut()\\\">\\n                {{ date }}\\n            </sui-calendar-view-title>\\n        </th>\\n    </tr>\\n    <tr>\\n        <th *ngFor=\\\"let day of days\\\">{{ day }}</th>\\n    </tr>\\n</thead>\\n<tbody>\\n    <tr *ngFor=\\\"let group of ranges.current.groupedItems\\\">\\n        <td class=\\\"link\\\"\\n            *ngFor=\\\"let item of group\\\"\\n            [calendarItem]=\\\"item\\\"\\n            (click)=\\\"setDate(item)\\\">{{ item.humanReadable }}\\n        </td>\\n    </tr>\\n</tbody>\\n</table>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2])\r\n], SuiCalendarDateView);\r\nexport { SuiCalendarDateView };\r\n//# sourceMappingURL=date-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/views/date-view.js\n// module id = 615\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Renderer2 } from \"@angular/core\";\r\nimport { DatePrecision } from \"../../../misc/util/index\";\r\nimport { CalendarView, CalendarViewType } from \"./calendar-view\";\r\nimport { CalendarRangeService } from \"../services/calendar-range.service\";\r\nimport { DateParser } from \"../classes/date-parser\";\r\nvar CalendarRangeHourService = (function (_super) {\r\n    __extends(CalendarRangeHourService, _super);\r\n    function CalendarRangeHourService() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    CalendarRangeHourService.prototype.configureItem = function (item, baseDate) {\r\n        // Set minutes and seconds to 0\r\n        var customFormat = this.service.localeValues.formats.time.replace(/[ms]/g, \"0\");\r\n        item.humanReadable = new DateParser(customFormat, this.service.localeValues).format(item.date);\r\n        item.isOutsideRange = false;\r\n    };\r\n    return CalendarRangeHourService;\r\n}(CalendarRangeService));\r\nexport { CalendarRangeHourService };\r\nvar SuiCalendarHourView = (function (_super) {\r\n    __extends(SuiCalendarHourView, _super);\r\n    function SuiCalendarHourView(renderer) {\r\n        return _super.call(this, renderer, CalendarViewType.Hour, new CalendarRangeHourService(DatePrecision.Date, 6, 4)) || this;\r\n    }\r\n    Object.defineProperty(SuiCalendarHourView.prototype, \"date\", {\r\n        get: function () {\r\n            return new DateParser(this.service.localeValues.formats.date, this.service.localeValues).format(this.currentDate);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiCalendarHourView;\r\n}(CalendarView));\r\nSuiCalendarHourView = __decorate([\r\n    Component({\r\n        selector: \"sui-calendar-hour-view\",\r\n        template: \"\\n<table class=\\\"ui celled center aligned unstackable table four column hour\\\">\\n<thead *ngIf=\\\"service.config.mode != 1\\\">\\n    <tr>\\n        <th colspan=\\\"4\\\">\\n            <sui-calendar-view-title [ranges]=\\\"ranges\\\" (zoomOut)=\\\"zoomOut()\\\">\\n                {{ date }}\\n            </sui-calendar-view-title>\\n        </th>\\n    </tr>\\n</thead>\\n<tbody>\\n    <tr *ngFor=\\\"let group of ranges.current.groupedItems\\\">\\n        <td class=\\\"link\\\"\\n            *ngFor=\\\"let item of group\\\"\\n            [calendarItem]=\\\"item\\\"\\n            (click)=\\\"setDate(item)\\\">{{ item.humanReadable }}\\n        </td>\\n    </tr>\\n</tbody>\\n</table>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2])\r\n], SuiCalendarHourView);\r\nexport { SuiCalendarHourView };\r\n//# sourceMappingURL=hour-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/views/hour-view.js\n// module id = 616\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Renderer2 } from \"@angular/core\";\r\nimport { Util, DateUtil, DatePrecision } from \"../../../misc/util/index\";\r\nimport { CalendarView, CalendarViewType } from \"./calendar-view\";\r\nimport { CalendarMode } from \"../services/calendar.service\";\r\nimport { CalendarRangeService } from \"../services/calendar-range.service\";\r\nimport { DateParser } from \"../classes/date-parser\";\r\nvar CalendarRangeMinuteService = (function (_super) {\r\n    __extends(CalendarRangeMinuteService, _super);\r\n    function CalendarRangeMinuteService() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    CalendarRangeMinuteService.prototype.calcStart = function (start) {\r\n        return DateUtil.startOf(DatePrecision.Hour, DateUtil.clone(start), true);\r\n    };\r\n    CalendarRangeMinuteService.prototype.calcDates = function (start) {\r\n        return Util.Array\r\n            .range(this.length)\r\n            .map(function (i) { return DateUtil.add(DatePrecision.Minute, DateUtil.clone(start), i * 5); });\r\n    };\r\n    CalendarRangeMinuteService.prototype.configureItem = function (item, baseDate) {\r\n        item.humanReadable = new DateParser(this.service.localeValues.formats.time, this.service.localeValues).format(item.date);\r\n        item.isOutsideRange = false;\r\n    };\r\n    return CalendarRangeMinuteService;\r\n}(CalendarRangeService));\r\nexport { CalendarRangeMinuteService };\r\nvar SuiCalendarMinuteView = (function (_super) {\r\n    __extends(SuiCalendarMinuteView, _super);\r\n    function SuiCalendarMinuteView(renderer) {\r\n        return _super.call(this, renderer, CalendarViewType.Minute, new CalendarRangeMinuteService(DatePrecision.Hour, 4, 3)) || this;\r\n    }\r\n    Object.defineProperty(SuiCalendarMinuteView.prototype, \"date\", {\r\n        get: function () {\r\n            if (this.service.config.mode !== CalendarMode.TimeOnly) {\r\n                // Set minutes and seconds to 0\r\n                var dateTimeFormat = this.service.localeValues.formats.datetime.replace(/[ms]/g, \"0\");\r\n                return new DateParser(dateTimeFormat, this.service.localeValues).format(this.currentDate);\r\n            }\r\n            else {\r\n                // Set minutes and seconds to 0\r\n                var timeFormat = this.service.localeValues.formats.time.replace(/[ms]/g, \"0\");\r\n                return new DateParser(timeFormat, this.service.localeValues).format(this.currentDate);\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiCalendarMinuteView;\r\n}(CalendarView));\r\nSuiCalendarMinuteView = __decorate([\r\n    Component({\r\n        selector: \"sui-calendar-minute-view\",\r\n        template: \"\\n<table class=\\\"ui celled center aligned unstackable table three column minute\\\">\\n<thead>\\n    <tr>\\n        <th colspan=\\\"4\\\">\\n            <sui-calendar-view-title [ranges]=\\\"ranges\\\" (zoomOut)=\\\"zoomOut()\\\">\\n                {{ date }}\\n            </sui-calendar-view-title>\\n        </th>\\n    </tr>\\n</thead>\\n<tbody>\\n    <tr *ngFor=\\\"let group of ranges.current.groupedItems\\\">\\n        <td class=\\\"link\\\"\\n            *ngFor=\\\"let item of group\\\"\\n            [calendarItem]=\\\"item\\\"\\n            (click)=\\\"setDate(item)\\\">{{ item.humanReadable }}\\n        </td>\\n    </tr>\\n</tbody>\\n</table>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2])\r\n], SuiCalendarMinuteView);\r\nexport { SuiCalendarMinuteView };\r\n//# sourceMappingURL=minute-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/views/minute-view.js\n// module id = 617\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Renderer2 } from \"@angular/core\";\r\nimport { DatePrecision } from \"../../../misc/util/index\";\r\nimport { CalendarView, CalendarViewType } from \"./calendar-view\";\r\nimport { CalendarRangeService } from \"../services/calendar-range.service\";\r\nimport { DateParser } from \"../classes/date-parser\";\r\nvar CalendarRangeMonthService = (function (_super) {\r\n    __extends(CalendarRangeMonthService, _super);\r\n    function CalendarRangeMonthService() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    CalendarRangeMonthService.prototype.configureItem = function (item, baseDate) {\r\n        item.humanReadable = this.service.localeValues.monthsShort[item.date.getMonth()];\r\n        item.isOutsideRange = false;\r\n    };\r\n    return CalendarRangeMonthService;\r\n}(CalendarRangeService));\r\nexport { CalendarRangeMonthService };\r\nvar SuiCalendarMonthView = (function (_super) {\r\n    __extends(SuiCalendarMonthView, _super);\r\n    function SuiCalendarMonthView(renderer) {\r\n        return _super.call(this, renderer, CalendarViewType.Month, new CalendarRangeMonthService(DatePrecision.Year, 4, 3)) || this;\r\n    }\r\n    Object.defineProperty(SuiCalendarMonthView.prototype, \"year\", {\r\n        get: function () {\r\n            return new DateParser(this.service.localeValues.formats.year, this.service.localeValues).format(this.currentDate);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiCalendarMonthView;\r\n}(CalendarView));\r\nSuiCalendarMonthView = __decorate([\r\n    Component({\r\n        selector: \"sui-calendar-month-view\",\r\n        template: \"\\n<table class=\\\"ui celled center aligned unstackable table three column month\\\">\\n<thead>\\n    <tr>\\n        <th colspan=\\\"3\\\">\\n            <sui-calendar-view-title [ranges]=\\\"ranges\\\" (zoomOut)=\\\"zoomOut()\\\">\\n                {{ year }}\\n            </sui-calendar-view-title>\\n        </th>\\n    </tr>\\n</thead>\\n<tbody>\\n    <tr *ngFor=\\\"let group of ranges.current.groupedItems\\\">\\n        <td class=\\\"link\\\"\\n            *ngFor=\\\"let item of group\\\"\\n            [calendarItem]=\\\"item\\\"\\n            (click)=\\\"setDate(item)\\\">{{ item.humanReadable }}\\n        </td>\\n    </tr>\\n</tbody>\\n</table>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2])\r\n], SuiCalendarMonthView);\r\nexport { SuiCalendarMonthView };\r\n//# sourceMappingURL=month-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/views/month-view.js\n// module id = 618\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Renderer2 } from \"@angular/core\";\r\nimport { Util, DateUtil, DatePrecision } from \"../../../misc/util/index\";\r\nimport { CalendarView, CalendarViewType } from \"./calendar-view\";\r\nimport { CalendarRangeService } from \"../services/calendar-range.service\";\r\nvar CalendarRangeYearService = (function (_super) {\r\n    __extends(CalendarRangeYearService, _super);\r\n    function CalendarRangeYearService() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    CalendarRangeYearService.prototype.configureItem = function (item, baseDate) {\r\n        item.humanReadable = Util.String.padLeft(item.date.getFullYear().toString(), 4, \"0\");\r\n        item.isOutsideRange = item.date.getFullYear() >= this.calcStart(baseDate).getFullYear() + 10;\r\n    };\r\n    return CalendarRangeYearService;\r\n}(CalendarRangeService));\r\nexport { CalendarRangeYearService };\r\nvar SuiCalendarYearView = (function (_super) {\r\n    __extends(SuiCalendarYearView, _super);\r\n    function SuiCalendarYearView(renderer) {\r\n        return _super.call(this, renderer, CalendarViewType.Year, new CalendarRangeYearService(DatePrecision.Decade, 4, 3)) || this;\r\n    }\r\n    Object.defineProperty(SuiCalendarYearView.prototype, \"decadeStart\", {\r\n        get: function () {\r\n            return DateUtil\r\n                .startOf(DatePrecision.Decade, DateUtil.clone(this.service.currentDate))\r\n                .getFullYear();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiCalendarYearView.prototype.pad = function (year) {\r\n        return Util.String.padLeft(year.toString(), 4, \"0\");\r\n    };\r\n    return SuiCalendarYearView;\r\n}(CalendarView));\r\nSuiCalendarYearView = __decorate([\r\n    Component({\r\n        selector: \"sui-calendar-year-view\",\r\n        template: \"\\n<table class=\\\"ui celled center aligned unstackable table three column year\\\">\\n<thead>\\n    <tr>\\n        <th colspan=\\\"3\\\">\\n            <sui-calendar-view-title [ranges]=\\\"ranges\\\" (zoomOut)=\\\"zoomOut()\\\">\\n                {{ pad(decadeStart) }} - {{ pad(decadeStart + 10) }}\\n            </sui-calendar-view-title>\\n        </th>\\n    </tr>\\n</thead>\\n<tbody>\\n    <tr *ngFor=\\\"let group of ranges.current.groupedItems\\\">\\n        <td class=\\\"link\\\"\\n            *ngFor=\\\"let item of group\\\"\\n            [calendarItem]=\\\"item\\\"\\n            (click)=\\\"setDate(item)\\\">{{ item.humanReadable }}\\n        </td>\\n    </tr>\\n</tbody>\\n</table>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2])\r\n], SuiCalendarYearView);\r\nexport { SuiCalendarYearView };\r\n//# sourceMappingURL=year-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/views/year-view.js\n// module id = 619\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, Output, HostBinding, HostListener, EventEmitter, Renderer2, ElementRef, ChangeDetectorRef } from \"@angular/core\";\r\nimport { TransitionController, SuiTransition, TransitionDirection, Transition } from \"../../transition/index\";\r\nvar SuiDimmer = (function (_super) {\r\n    __extends(SuiDimmer, _super);\r\n    function SuiDimmer(renderer, element, changeDetector) {\r\n        var _this = _super.call(this, renderer, element, changeDetector) || this;\r\n        _this._isDimmed = false;\r\n        _this.isDimmedChange = new EventEmitter();\r\n        _this.isClickable = true;\r\n        _this.wrapContent = true;\r\n        _this._dimmerClasses = true;\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiDimmer.prototype, \"isDimmed\", {\r\n        get: function () {\r\n            return this._isDimmed;\r\n        },\r\n        set: function (value) {\r\n            var isDimmed = !!value;\r\n            if (!this._transitionController) {\r\n                // Initialise transition functionality when first setting dimmed, to ensure initial state doesn't transition.\r\n                this._transitionController = new TransitionController(isDimmed, \"block\");\r\n                this.setTransitionController(this._transitionController);\r\n                this._isDimmed = isDimmed;\r\n            }\r\n            else if (this._isDimmed !== isDimmed) {\r\n                this._isDimmed = isDimmed;\r\n                this._transitionController.stopAll();\r\n                this._transitionController.animate(new Transition(\"fade\", this.transitionDuration, isDimmed ? TransitionDirection.In : TransitionDirection.Out));\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiDimmer.prototype.onClick = function () {\r\n        if (this.isClickable) {\r\n            this.isDimmed = false;\r\n            this.isDimmedChange.emit(this.isDimmed);\r\n        }\r\n    };\r\n    return SuiDimmer;\r\n}(SuiTransition));\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.dimmer\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiDimmer.prototype, \"_dimmerClasses\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiDimmer.prototype, \"isDimmed\", null);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiDimmer.prototype, \"isDimmedChange\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiDimmer.prototype, \"isClickable\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiDimmer.prototype, \"transition\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiDimmer.prototype, \"transitionDuration\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiDimmer.prototype, \"wrapContent\", void 0);\r\n__decorate([\r\n    HostListener(\"click\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDimmer.prototype, \"onClick\", null);\r\nSuiDimmer = __decorate([\r\n    Component({\r\n        selector: \"sui-dimmer\",\r\n        template: \"\\n<div [class.content]=\\\"wrapContent\\\">\\n    <div [class.center]=\\\"wrapContent\\\">\\n        <ng-content></ng-content>\\n    </div>\\n</div>\\n\",\r\n        styles: [\"\\n:host.dimmer {\\n    transition: none;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef, ChangeDetectorRef])\r\n], SuiDimmer);\r\nexport { SuiDimmer };\r\n//# sourceMappingURL=dimmer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dimmer/components/dimmer.js\n// module id = 620\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, Input, HostBinding, EventEmitter, Output, ContentChild, ElementRef, HostListener, QueryList, ContentChildren } from \"@angular/core\";\r\nimport { HandledEvent, KeyCode } from \"../../../misc/util/index\";\r\nimport { DropdownService, DropdownAutoCloseType } from \"../services/dropdown.service\";\r\nimport { SuiDropdownMenu } from \"./dropdown-menu\";\r\nvar SuiDropdown = SuiDropdown_1 = (function () {\r\n    function SuiDropdown(_element) {\r\n        var _this = this;\r\n        this._element = _element;\r\n        this.service = new DropdownService();\r\n        this.service.isOpenChange.subscribe(function () {\r\n            if (_this.service.isOpen) {\r\n                _this._element.nativeElement.focus();\r\n            }\r\n        });\r\n    }\r\n    Object.defineProperty(SuiDropdown.prototype, \"children\", {\r\n        get: function () {\r\n            var _this = this;\r\n            // @ContentChildren includes the current element by default.\r\n            return this._children.filter(function (c) { return c !== _this; });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdown.prototype, \"isOpenChange\", {\r\n        get: function () {\r\n            return this.service.isOpenChange;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdown.prototype, \"isActive\", {\r\n        get: function () {\r\n            // This is to ensure nested dropdowns don't get made bold.\r\n            return this.service.isOpen && !this.service.isNested;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdown.prototype, \"isOpen\", {\r\n        get: function () {\r\n            return this.service.isOpen;\r\n        },\r\n        set: function (value) {\r\n            // If we are opening the dropdown, we want to always open its parents.\r\n            this.service.setOpenState(value, !!value);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdown.prototype, \"isDisabled\", {\r\n        get: function () {\r\n            return this.service.isDisabled;\r\n        },\r\n        set: function (value) {\r\n            this.service.setDisabledState(value);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdown.prototype, \"tabIndex\", {\r\n        get: function () {\r\n            if (this.isDisabled || this.service.isNested) {\r\n                // If disabled, remove from tabindex.\r\n                return undefined;\r\n            }\r\n            if (this._tabIndex != undefined) {\r\n                // If custom tabindex, default to that.\r\n                return this._tabIndex;\r\n            }\r\n            // Otherwise, return default of 0.\r\n            return 0;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiDropdown.prototype, \"autoClose\", {\r\n        get: function () {\r\n            return this.service.autoCloseMode;\r\n        },\r\n        set: function (value) {\r\n            this.service.autoCloseMode = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiDropdown.prototype.ngAfterContentInit = function () {\r\n        var _this = this;\r\n        if (!this._menu) {\r\n            throw new Error(\"You must set [suiDropdownMenu] on the menu element.\");\r\n        }\r\n        this._menu.service = this.service;\r\n        this.childrenUpdated();\r\n        this._children.changes\r\n            .subscribe(function () { return _this.childrenUpdated(); });\r\n    };\r\n    SuiDropdown.prototype.childrenUpdated = function () {\r\n        var _this = this;\r\n        // Reregister child dropdowns each time the menu content changes.\r\n        this.children\r\n            .map(function (c) { return c.service; })\r\n            .forEach(function (s) { return _this.service.registerChild(s); });\r\n    };\r\n    SuiDropdown.prototype.onClick = function (e) {\r\n        if (!e.eventHandled) {\r\n            e.eventHandled = true;\r\n            this.service.toggleOpenState();\r\n        }\r\n    };\r\n    SuiDropdown.prototype.onFocusOut = function (e) {\r\n        if (!this._element.nativeElement.contains(e.relatedTarget)) {\r\n            this.externallyClose();\r\n        }\r\n    };\r\n    SuiDropdown.prototype.onKeypress = function (e) {\r\n        // Block the keyboard event from being fired on parent dropdowns.\r\n        if (!e.eventHandled) {\r\n            if (e.keyCode === KeyCode.Enter) {\r\n                e.eventHandled = true;\r\n                this.service.setOpenState(true);\r\n            }\r\n        }\r\n    };\r\n    SuiDropdown.prototype.externallyClose = function () {\r\n        if (this.service.autoCloseMode === DropdownAutoCloseType.ItemClick ||\r\n            this.service.autoCloseMode === DropdownAutoCloseType.OutsideClick) {\r\n            // No need to reflect in parent since they are also bound to document.\r\n            this.service.setOpenState(false);\r\n        }\r\n    };\r\n    return SuiDropdown;\r\n}());\r\n__decorate([\r\n    ContentChild(SuiDropdownMenu),\r\n    __metadata(\"design:type\", SuiDropdownMenu)\r\n], SuiDropdown.prototype, \"_menu\", void 0);\r\n__decorate([\r\n    ContentChildren(SuiDropdown_1, { descendants: true }),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiDropdown.prototype, \"_children\", void 0);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiDropdown.prototype, \"isOpenChange\", null);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiDropdown.prototype, \"isActive\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiDropdown.prototype, \"isOpen\", null);\r\n__decorate([\r\n    HostBinding(\"class.disabled\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiDropdown.prototype, \"isDisabled\", null);\r\n__decorate([\r\n    Input(\"tabindex\"),\r\n    __metadata(\"design:type\", Number)\r\n], SuiDropdown.prototype, \"_tabIndex\", void 0);\r\n__decorate([\r\n    HostBinding(\"attr.tabindex\"),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiDropdown.prototype, \"tabIndex\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiDropdown.prototype, \"autoClose\", null);\r\n__decorate([\r\n    HostListener(\"click\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [HandledEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDropdown.prototype, \"onClick\", null);\r\n__decorate([\r\n    HostListener(\"focusout\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Object]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDropdown.prototype, \"onFocusOut\", null);\r\n__decorate([\r\n    HostListener(\"keypress\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Object]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiDropdown.prototype, \"onKeypress\", null);\r\nSuiDropdown = SuiDropdown_1 = __decorate([\r\n    Directive({\r\n        selector: \"[suiDropdown]\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ElementRef])\r\n], SuiDropdown);\r\nexport { SuiDropdown };\r\nvar SuiDropdown_1;\r\n//# sourceMappingURL=dropdown.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dropdown/directives/dropdown.js\n// module id = 621\n// module chunks = 3","export * from \"./accordion/index\";\r\nexport * from \"./checkbox/index\";\r\nexport * from \"./collapse/index\";\r\nexport * from \"./datepicker/index\";\r\nexport * from \"./dimmer/index\";\r\nexport * from \"./dropdown/index\";\r\nexport * from \"./modal/index\";\r\nexport * from \"./popup/index\";\r\nexport * from \"./progress/index\";\r\nexport * from \"./rating/index\";\r\nexport * from \"./search/index\";\r\nexport * from \"./select/index\";\r\nexport * from \"./sidebar/index\";\r\nexport * from \"./tabs/index\";\r\nexport * from \"./transition/index\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/index.js\n// module id = 622\n// module chunks = 3","// Helper class to support method chaining when calling `SuiModalService.open(...)`.\r\nvar ActiveModal = (function () {\r\n    function ActiveModal(instance, componentRef) {\r\n        var _this = this;\r\n        this._config = instance;\r\n        this._componentRef = componentRef;\r\n        // Automatically destroy the modal component when it has been dismissed.\r\n        this.component.onDismiss.subscribe(function () { return _this._componentRef.destroy(); });\r\n    }\r\n    Object.defineProperty(ActiveModal.prototype, \"component\", {\r\n        // Shorthand for direct access to the `SuiModal` instance.\r\n        get: function () {\r\n            return this._componentRef.instance;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // Registers a callback for when `onApprove` is fired.\r\n    ActiveModal.prototype.onApprove = function (callback) {\r\n        this.component.onApprove.subscribe(function (res) { return callback(res); });\r\n        return this;\r\n    };\r\n    // Registers a callback for when `onDeny` is fired.\r\n    ActiveModal.prototype.onDeny = function (callback) {\r\n        this.component.onDeny.subscribe(function (res) { return callback(res); });\r\n        return this;\r\n    };\r\n    // Fires the approve event of the modal manually.\r\n    ActiveModal.prototype.approve = function (result) {\r\n        this.component.approve(result);\r\n    };\r\n    // Fires the deny event of the modal manually.\r\n    ActiveModal.prototype.deny = function (result) {\r\n        this.component.deny(result);\r\n    };\r\n    // Removes the modal component instantly, without transitions or firing any events.\r\n    ActiveModal.prototype.destroy = function () {\r\n        this._componentRef.destroy();\r\n    };\r\n    return ActiveModal;\r\n}());\r\nexport { ActiveModal };\r\n//# sourceMappingURL=active-modal.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/classes/active-modal.js\n// module id = 623\n// module chunks = 3","export * from \"./classes/active-modal\";\r\nexport * from \"./classes/modal-config\";\r\nexport * from \"./classes/modal-controls\";\r\nexport * from \"./classes/modal-template\";\r\nexport * from \"./components/modal\";\r\nexport * from \"./services/modal.service\";\r\nexport * from \"./modal.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/index.js\n// module id = 624\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Injectable } from \"@angular/core\";\r\nimport { SuiComponentFactory } from \"../../../misc/util/index\";\r\nimport { TemplateModalConfig, ComponentModalConfig } from \"../classes/modal-config\";\r\nimport { SuiModal } from \"../components/modal\";\r\nimport { Modal } from \"../classes/modal-controls\";\r\nimport { ActiveModal } from \"../classes/active-modal\";\r\nvar SuiModalService = (function () {\r\n    function SuiModalService(_componentFactory) {\r\n        this._componentFactory = _componentFactory;\r\n    }\r\n    SuiModalService.prototype.open = function (modal) {\r\n        // Generate the modal component to be shown.\r\n        var componentRef = this._componentFactory.createComponent(SuiModal);\r\n        // Shorthand for the created modal component instance.\r\n        var modalComponent = componentRef.instance;\r\n        if (modal instanceof TemplateModalConfig) {\r\n            // Inject the template into the view.\r\n            this._componentFactory.createView(modalComponent.templateSibling, modal.template, {\r\n                // `let-context`\r\n                $implicit: modal.context,\r\n                // `let-modal=\"modal\"`\r\n                modal: componentRef.instance.controls\r\n            });\r\n        }\r\n        else if (modal instanceof ComponentModalConfig) {\r\n            // Generate the component to be used as the modal content,\r\n            // injecting an instance of `Modal` to be used in the component constructor.\r\n            var contentComponentRef = this._componentFactory.createComponent(modal.component, [\r\n                {\r\n                    provide: Modal,\r\n                    useValue: new Modal(modalComponent.controls, modal.context)\r\n                }\r\n            ]);\r\n            // Insert the new component into the content of the modal.\r\n            this._componentFactory.attachToView(contentComponentRef, modalComponent.templateSibling);\r\n            // Shorthand for access to the content component's DOM element.\r\n            var contentElement = contentComponentRef.location.nativeElement;\r\n            // Move all of the DOM elements inside the component to the main modal element.\r\n            // This is done so that CSS classes apply correctly. It does stop any custom styles from working however,\r\n            // so other ways may have to be investigated.\r\n            while (contentElement.hasChildNodes() && contentElement.parentElement && contentElement.firstChild) {\r\n                contentElement.parentElement.appendChild(contentElement.removeChild(contentElement.firstChild));\r\n            }\r\n            // Remove the generated component's 'empty shell' from the DOM.\r\n            this._componentFactory.detachFromDocument(contentComponentRef);\r\n        }\r\n        // Attach the new modal component to the application.\r\n        // The component will move itself to the document body for correctl styling.\r\n        this._componentFactory.attachToApplication(componentRef);\r\n        // Initialise the generated modal with the provided config.\r\n        modalComponent.loadConfig(modal);\r\n        // Return an instance of an `ActiveModal`, so the user can control the new modal.\r\n        return new ActiveModal(modal, componentRef);\r\n    };\r\n    return SuiModalService;\r\n}());\r\nSuiModalService = __decorate([\r\n    Injectable(),\r\n    __metadata(\"design:paramtypes\", [SuiComponentFactory])\r\n], SuiModalService);\r\nexport { SuiModalService };\r\n//# sourceMappingURL=modal.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/services/modal.service.js\n// module id = 625\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { SuiPopupController } from \"./popup-controller\";\r\nimport { PopupConfig } from \"./popup-config\";\r\nvar templateRef = TemplateRef;\r\nvar TemplatePopupConfig = (function (_super) {\r\n    __extends(TemplatePopupConfig, _super);\r\n    function TemplatePopupConfig() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    return TemplatePopupConfig;\r\n}(PopupConfig));\r\nexport { TemplatePopupConfig };\r\nvar SuiPopupTemplateController = (function (_super) {\r\n    __extends(SuiPopupTemplateController, _super);\r\n    function SuiPopupTemplateController(renderer, element, componentFactory, config) {\r\n        return _super.call(this, renderer, element, componentFactory, config) || this;\r\n    }\r\n    SuiPopupTemplateController.prototype.configure = function (config) {\r\n        _super.prototype.configure.call(this, config);\r\n        if (config) {\r\n            this.template = config.template;\r\n            this.context = config.context;\r\n        }\r\n    };\r\n    SuiPopupTemplateController.prototype.open = function () {\r\n        // If there is a template, inject it into the view.\r\n        if (this.template) {\r\n            this.popup.templateSibling.clear();\r\n            this._componentFactory.createView(this.popup.templateSibling, this.template, {\r\n                $implicit: this.popup,\r\n                context: this.context\r\n            });\r\n        }\r\n        _super.prototype.open.call(this);\r\n    };\r\n    return SuiPopupTemplateController;\r\n}(SuiPopupController));\r\nexport { SuiPopupTemplateController };\r\n//# sourceMappingURL=popup-template-controller.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/classes/popup-template-controller.js\n// module id = 626\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, HostBinding } from \"@angular/core\";\r\nimport { PositioningPlacement } from \"../../../misc/util/index\";\r\nvar SuiPopupArrow = (function () {\r\n    function SuiPopupArrow() {\r\n    }\r\n    Object.defineProperty(SuiPopupArrow.prototype, \"direction\", {\r\n        get: function () {\r\n            if (this.placement) {\r\n                return this.placement.split(\" \").shift();\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupArrow.prototype, \"alignment\", {\r\n        get: function () {\r\n            if (this.placement) {\r\n                var alignment = this.placement.split(\" \").pop();\r\n                if (alignment === this.direction) {\r\n                    return \"center\";\r\n                }\r\n                return alignment;\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiPopupArrow;\r\n}());\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiPopupArrow.prototype, \"placement\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.inverted\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiPopupArrow.prototype, \"inverted\", void 0);\r\nSuiPopupArrow = __decorate([\r\n    Component({\r\n        selector: \"sui-popup-arrow\",\r\n        template: \"\\n<div class=\\\"dynamic arrow\\\" [attr.direction]=\\\"direction\\\" *ngIf=\\\"alignment == 'center'\\\"></div>\\n<div class=\\\"static arrow\\\" [attr.direction]=\\\"direction\\\" [attr.alignment]=\\\"alignment\\\" *ngIf=\\\"alignment != 'center'\\\"></div>\\n\",\r\n        styles: [\"\\n.arrow {\\n    position: absolute;\\n    width: 0.71428571em;\\n    height: 0.71428571em;\\n    background: #ffffff;\\n    -webkit-transform: rotate(45deg);\\n    -ms-transform: rotate(45deg);\\n    transform: rotate(45deg);\\n    z-index: 2;\\n}\\n\\n:host.inverted .arrow {\\n    background: #1b1c1d;\\n}\\n\\n.arrow[direction=\\\"top\\\"] {\\n    bottom: -0.30714286em;\\n    box-shadow: 1px 1px 0 0 #bababc;\\n}\\n\\n.arrow[direction=\\\"left\\\"] {\\n    right: -0.30714286em;\\n    box-shadow: 1px -1px 1px 0 #bababc;\\n}\\n\\n.arrow[direction=\\\"bottom\\\"] {\\n    top: -0.30714286em;\\n    box-shadow: -1px -1px 0 0 #bababc;\\n}\\n\\n.arrow[direction=\\\"right\\\"] {\\n    left: -0.30714286em;\\n    box-shadow: -1px 1px 1px 0 #bababc;\\n}\\n\\n.static.arrow[direction=\\\"bottom\\\"][alignment=\\\"left\\\"],\\n.static.arrow[direction=\\\"top\\\"][alignment=\\\"left\\\"] {\\n    left: 1em;\\n    right: auto;\\n}\\n\\n.static.arrow[direction=\\\"left\\\"][alignment=\\\"top\\\"],\\n.static.arrow[direction=\\\"right\\\"][alignment=\\\"top\\\"] {\\n    top: 1em;\\n    bottom: auto;\\n}\\n\\n.static.arrow[direction=\\\"bottom\\\"][alignment=\\\"right\\\"],\\n.static.arrow[direction=\\\"top\\\"][alignment=\\\"right\\\"] {\\n    left: auto;\\n    right: 1em;\\n}\\n\\n.static.arrow[direction=\\\"left\\\"][alignment=\\\"bottom\\\"],\\n.static.arrow[direction=\\\"right\\\"][alignment=\\\"bottom\\\"] {\\n    top: auto;\\n    bottom: 1em;\\n}\\n\"]\r\n    })\r\n], SuiPopupArrow);\r\nexport { SuiPopupArrow };\r\n//# sourceMappingURL=popup-arrow.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/components/popup-arrow.js\n// module id = 627\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Directive, Input, ElementRef, TemplateRef, Renderer2 } from \"@angular/core\";\r\nimport { Util, PositioningPlacement, SuiComponentFactory } from \"../../../misc/util/index\";\r\nimport { PopupConfig, PopupTrigger } from \"../classes/popup-config\";\r\nimport { SuiPopupConfig } from \"../services/popup.service\";\r\nimport { SuiPopupTemplateController } from \"../classes/popup-template-controller\";\r\nvar templateRef = TemplateRef;\r\nvar SuiPopupDirective = (function (_super) {\r\n    __extends(SuiPopupDirective, _super);\r\n    function SuiPopupDirective(renderer, element, componentFactory, popupDefaults) {\r\n        return _super.call(this, renderer, element, componentFactory, new PopupConfig(popupDefaults)) || this;\r\n    }\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupHeader\", {\r\n        set: function (header) {\r\n            this.popup.config.header = header;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupText\", {\r\n        set: function (text) {\r\n            this.popup.config.text = text;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupInverted\", {\r\n        set: function (inverted) {\r\n            this.popup.config.isInverted = Util.DOM.parseBooleanAttribute(inverted);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupBasic\", {\r\n        set: function (basic) {\r\n            this.popup.config.isBasic = Util.DOM.parseBooleanAttribute(basic);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupTransition\", {\r\n        set: function (transition) {\r\n            this.popup.config.transition = transition;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupTransitionDuration\", {\r\n        set: function (duration) {\r\n            this.popup.config.transitionDuration = duration;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupPlacement\", {\r\n        set: function (placement) {\r\n            this.popup.config.placement = placement;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupDelay\", {\r\n        set: function (delay) {\r\n            this.popup.config.delay = delay;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupTrigger\", {\r\n        get: function () {\r\n            return this.popup.config.trigger;\r\n        },\r\n        set: function (trigger) {\r\n            this.popup.config.trigger = trigger;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupTemplate\", {\r\n        set: function (template) {\r\n            this.template = template;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupTemplateContext\", {\r\n        set: function (context) {\r\n            this.context = context;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiPopupDirective.prototype, \"popupConfig\", {\r\n        set: function (config) {\r\n            this.configure(config);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiPopupDirective;\r\n}(SuiPopupTemplateController));\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiPopupDirective.prototype, \"popupHeader\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiPopupDirective.prototype, \"popupText\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiPopupDirective.prototype, \"popupInverted\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiPopupDirective.prototype, \"popupBasic\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiPopupDirective.prototype, \"popupTransition\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiPopupDirective.prototype, \"popupTransitionDuration\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiPopupDirective.prototype, \"popupPlacement\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiPopupDirective.prototype, \"popupDelay\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiPopupDirective.prototype, \"popupTrigger\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", TemplateRef),\r\n    __metadata(\"design:paramtypes\", [TemplateRef])\r\n], SuiPopupDirective.prototype, \"popupTemplate\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Object),\r\n    __metadata(\"design:paramtypes\", [Object])\r\n], SuiPopupDirective.prototype, \"popupTemplateContext\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Object),\r\n    __metadata(\"design:paramtypes\", [Object])\r\n], SuiPopupDirective.prototype, \"popupConfig\", null);\r\nSuiPopupDirective = __decorate([\r\n    Directive({\r\n        selector: \"[suiPopup]\",\r\n        exportAs: \"suiPopup\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2,\r\n        ElementRef,\r\n        SuiComponentFactory,\r\n        SuiPopupConfig])\r\n], SuiPopupDirective);\r\nexport { SuiPopupDirective };\r\n//# sourceMappingURL=popup.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/directives/popup.directive.js\n// module id = 628\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, HostBinding } from \"@angular/core\";\r\nvar SuiProgress = (function () {\r\n    function SuiProgress() {\r\n        this._popupClasses = true;\r\n        this.value = 0;\r\n        this.maximum = 100;\r\n        this.precision = 0;\r\n        this._overrideSuccess = false;\r\n        this.autoSuccess = true;\r\n        this.showProgress = true;\r\n        this._popupClasses = true;\r\n    }\r\n    Object.defineProperty(SuiProgress.prototype, \"value\", {\r\n        get: function () {\r\n            return this._value;\r\n        },\r\n        set: function (value) {\r\n            // Convert value from string to number where necessary.\r\n            var converted = +value;\r\n            if (Number.isNaN(converted)) {\r\n                return;\r\n            }\r\n            this._value = converted;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiProgress.prototype, \"maximum\", {\r\n        get: function () {\r\n            return this._maximum;\r\n        },\r\n        set: function (value) {\r\n            // Convert value from string to number where necessary.\r\n            var converted = +value;\r\n            if (Number.isNaN(converted)) {\r\n                return;\r\n            }\r\n            this._maximum = converted;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiProgress.prototype, \"precision\", {\r\n        get: function () {\r\n            return this._precision;\r\n        },\r\n        set: function (value) {\r\n            // Convert value from string to number where necessary.\r\n            var converted = +value;\r\n            if (Number.isNaN(converted)) {\r\n                return;\r\n            }\r\n            this._precision = Math.min(Math.max(converted, 0), 20);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiProgress.prototype, \"_reachedMaximum\", {\r\n        get: function () {\r\n            return this._overrideSuccess || ((this.value >= this.maximum) && this.autoSuccess);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiProgress.prototype, \"percentage\", {\r\n        get: function () {\r\n            var boundedValue = Math.min(Math.max(this.value, 0), this.maximum);\r\n            var percentage = (boundedValue / this.maximum) * 100;\r\n            return percentage.toFixed(this.precision);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiProgress.prototype, \"classValue\", {\r\n        set: function (classes) {\r\n            if (classes.includes(\"attached\") || classes.includes(\"tiny\")) {\r\n                this.showProgress = false;\r\n            }\r\n            if (classes.includes(\"success\")) {\r\n                this._overrideSuccess = true;\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiProgress;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.progress\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiProgress.prototype, \"_popupClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiProgress.prototype, \"autoSuccess\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiProgress.prototype, \"showProgress\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiProgress.prototype, \"value\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiProgress.prototype, \"maximum\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiProgress.prototype, \"precision\", null);\r\n__decorate([\r\n    HostBinding(\"class.success\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiProgress.prototype, \"_reachedMaximum\", null);\r\n__decorate([\r\n    HostBinding(\"attr.data-percent\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiProgress.prototype, \"percentage\", null);\r\n__decorate([\r\n    Input(\"class\"),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiProgress.prototype, \"classValue\", null);\r\nSuiProgress = __decorate([\r\n    Component({\r\n        selector: \"sui-progress\",\r\n        template: \"\\n<div class=\\\"bar\\\" [style.width.%]=\\\"percentage\\\">\\n    <div class=\\\"progress\\\" *ngIf=\\\"showProgress\\\">{{ percentage }}%</div>\\n</div>\\n<div class=\\\"label\\\">\\n    <ng-content></ng-content>\\n</div>\\n\",\r\n        styles: [\"\\n.bar {\\n    transition-duration: 300ms !important;\\n    z-index: 1;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiProgress);\r\nexport { SuiProgress };\r\n//# sourceMappingURL=progress.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/progress/components/progress.js\n// module id = 629\n// module chunks = 3","export * from \"./components/progress\";\r\nexport * from \"./progress.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/progress/index.js\n// module id = 630\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Directive, Input, Output, EventEmitter, HostBinding, HostListener } from \"@angular/core\";\r\nimport { customValueAccessorFactory, CustomValueAccessor } from \"../../../misc/util/index\";\r\nvar SuiRating = (function () {\r\n    function SuiRating() {\r\n        this.hoveredIndex = -1;\r\n        this.value = 0;\r\n        this.valueChange = new EventEmitter();\r\n        this.maximum = 5;\r\n        this.isReadonly = false;\r\n        this._ratingClasses = true;\r\n    }\r\n    Object.defineProperty(SuiRating.prototype, \"maximum\", {\r\n        get: function () {\r\n            return this._maximum;\r\n        },\r\n        set: function (value) {\r\n            this._maximum = +value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiRating.prototype, \"icons\", {\r\n        get: function () {\r\n            // tslint:disable-next-line:prefer-literal\r\n            return new Array(this.maximum);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiRating.prototype.onClick = function (i) {\r\n        if (!this.isReadonly) {\r\n            this.value = i + 1;\r\n            this.valueChange.emit(this.value);\r\n        }\r\n    };\r\n    SuiRating.prototype.onMouseover = function (i) {\r\n        this.hoveredIndex = i;\r\n    };\r\n    SuiRating.prototype.onMouseout = function () {\r\n        this.hoveredIndex = -1;\r\n    };\r\n    SuiRating.prototype.writeValue = function (value) {\r\n        this.value = value;\r\n    };\r\n    return SuiRating;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.rating\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiRating.prototype, \"_ratingClasses\", void 0);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiRating.prototype, \"valueChange\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiRating.prototype, \"maximum\", null);\r\n__decorate([\r\n    HostBinding(\"class.read-only\"),\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiRating.prototype, \"isReadonly\", void 0);\r\n__decorate([\r\n    HostListener(\"mouseout\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiRating.prototype, \"onMouseout\", null);\r\nSuiRating = __decorate([\r\n    Component({\r\n        selector: \"sui-rating\",\r\n        template: \"\\n<i class=\\\"icon\\\"\\n   *ngFor=\\\"let icon of icons; let i = index\\\"\\n   (mouseover)=\\\"onMouseover(i)\\\"\\n   (click)=\\\"onClick(i)\\\"\\n   [class.selected]=\\\"hoveredIndex >= i && !isReadonly\\\"\\n   [class.active]=\\\"value > i\\\">\\n</i>\\n\",\r\n        styles: [\"\\n:host.read-only .icon {\\n    cursor: auto\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiRating);\r\nexport { SuiRating };\r\nvar SuiRatingValueAccessor = SuiRatingValueAccessor_1 = (function (_super) {\r\n    __extends(SuiRatingValueAccessor, _super);\r\n    function SuiRatingValueAccessor(host) {\r\n        return _super.call(this, host) || this;\r\n    }\r\n    return SuiRatingValueAccessor;\r\n}(CustomValueAccessor));\r\nSuiRatingValueAccessor = SuiRatingValueAccessor_1 = __decorate([\r\n    Directive({\r\n        selector: \"sui-rating\",\r\n        host: { \"(valueChange)\": \"onChange($event)\" },\r\n        providers: [customValueAccessorFactory(SuiRatingValueAccessor_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiRating])\r\n], SuiRatingValueAccessor);\r\nexport { SuiRatingValueAccessor };\r\nvar SuiRatingValueAccessor_1;\r\n//# sourceMappingURL=rating.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/rating/components/rating.js\n// module id = 631\n// module chunks = 3","export * from \"./components/rating\";\r\nexport * from \"./rating.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/rating/index.js\n// module id = 632\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, ViewChild, ViewContainerRef, HostBinding, Input, TemplateRef } from \"@angular/core\";\r\nimport { SuiComponentFactory } from \"../../../misc/util/index\";\r\n// See https://github.com/Microsoft/TypeScript/issues/13449.\r\nvar templateRef = TemplateRef;\r\nvar SuiSearchResult = (function () {\r\n    function SuiSearchResult(componentFactory) {\r\n        this.componentFactory = componentFactory;\r\n        this._optionClasses = true;\r\n        // By default we make this function return an empty string, for the brief moment when it isn't displaying the correct label.\r\n        this.formatter = function (value) { return \"\"; };\r\n    }\r\n    Object.defineProperty(SuiSearchResult.prototype, \"template\", {\r\n        get: function () {\r\n            return this._template;\r\n        },\r\n        set: function (template) {\r\n            this._template = template;\r\n            if (this.template) {\r\n                this.componentFactory.createView(this.templateSibling, this.template, {\r\n                    $implicit: this.value,\r\n                    query: this.query\r\n                });\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return SuiSearchResult;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.result\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSearchResult.prototype, \"_optionClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Object)\r\n], SuiSearchResult.prototype, \"value\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiSearchResult.prototype, \"query\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function)\r\n], SuiSearchResult.prototype, \"formatter\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", TemplateRef),\r\n    __metadata(\"design:paramtypes\", [TemplateRef])\r\n], SuiSearchResult.prototype, \"template\", null);\r\n__decorate([\r\n    ViewChild(\"templateSibling\", { read: ViewContainerRef }),\r\n    __metadata(\"design:type\", ViewContainerRef)\r\n], SuiSearchResult.prototype, \"templateSibling\", void 0);\r\nSuiSearchResult = __decorate([\r\n    Component({\r\n        selector: \"sui-search-result\",\r\n        template: \"\\n<span #templateSibling></span>\\n<span *ngIf=\\\"!template\\\" [innerHTML]=\\\"formatter(value, query)\\\"></span>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiComponentFactory])\r\n], SuiSearchResult);\r\nexport { SuiSearchResult };\r\n//# sourceMappingURL=search-result.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/search/components/search-result.js\n// module id = 633\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, ViewChild, HostBinding, Input, HostListener, EventEmitter, Output, ElementRef, TemplateRef, Renderer2 } from \"@angular/core\";\r\nimport { Util } from \"../../../misc/util/index\";\r\nimport { DropdownService, SuiDropdownMenu } from \"../../dropdown/index\";\r\nimport { SuiLocalizationService } from \"../../../behaviors/localization/index\";\r\nimport { SearchService } from \"../services/search.service\";\r\nvar SuiSearch = (function () {\r\n    function SuiSearch(_element, renderer, _localizationService) {\r\n        var _this = this;\r\n        this._element = _element;\r\n        this._localizationService = _localizationService;\r\n        this.dropdownService = new DropdownService();\r\n        this.searchService = new SearchService();\r\n        this.onLocaleUpdate();\r\n        this._localizationService.onLanguageUpdate.subscribe(function () { return _this.onLocaleUpdate(); });\r\n        this._searchClasses = true;\r\n        this.hasIcon = true;\r\n        this.retainSelectedResult = true;\r\n        this.searchDelay = 200;\r\n        this.maxResults = 7;\r\n        this.onResultSelected = new EventEmitter();\r\n        this.transition = \"scale\";\r\n        this.transitionDuration = 200;\r\n        this._documentClickListener = renderer.listen(\"document\", \"click\", function (e) { return _this.onDocumentClick(e); });\r\n    }\r\n    Object.defineProperty(SuiSearch.prototype, \"isActive\", {\r\n        get: function () {\r\n            return this.dropdownService.isOpen;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"placeholder\", {\r\n        // Gets & sets the placeholder text displayed inside the text input.\r\n        get: function () {\r\n            return this._placeholder || this.localeValues.placeholder;\r\n        },\r\n        set: function (placeholder) {\r\n            this._placeholder = placeholder;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"localeValues\", {\r\n        get: function () {\r\n            return this._localizationService.override(this._localeValues, this.localeOverrides);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"query\", {\r\n        get: function () {\r\n            return this.searchService.query;\r\n        },\r\n        set: function (query) {\r\n            var _this = this;\r\n            this.selectedResult = undefined;\r\n            // Initialise a delayed search.\r\n            this.searchService.updateQueryDelayed(query, function () {\r\n                // Set the results open state depending on whether a query has been entered.\r\n                return _this.dropdownService.setOpenState(_this.searchService.query.length > 0);\r\n            });\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"options\", {\r\n        set: function (options) {\r\n            if (options) {\r\n                this.searchService.options = options;\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"optionsFilter\", {\r\n        set: function (filter) {\r\n            if (filter) {\r\n                this.searchService.optionsFilter = filter;\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"optionsLookup\", {\r\n        set: function (lookupFn) {\r\n            this.searchService.optionsLookup = lookupFn;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"optionsField\", {\r\n        set: function (field) {\r\n            this.searchService.optionsField = field;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"resultFormatter\", {\r\n        get: function () {\r\n            var _this = this;\r\n            if (this._resultFormatter) {\r\n                return this._resultFormatter;\r\n            }\r\n            else if (this.searchService.optionsLookup) {\r\n                return function (r) { return _this.readValue(r); };\r\n            }\r\n            else {\r\n                return function (r, q) { return _this.searchService.highlightMatches(_this.readValue(r), q); };\r\n            }\r\n        },\r\n        set: function (formatter) {\r\n            this._resultFormatter = formatter;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"searchDelay\", {\r\n        set: function (delay) {\r\n            this.searchService.searchDelay = delay;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"isSearching\", {\r\n        get: function () {\r\n            return this.searchService.isSearching;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiSearch.prototype, \"results\", {\r\n        get: function () {\r\n            return this.searchService.results.slice(0, this.maxResults);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiSearch.prototype.ngAfterViewInit = function () {\r\n        this._menu.service = this.dropdownService;\r\n    };\r\n    SuiSearch.prototype.onLocaleUpdate = function () {\r\n        this._localeValues = this._localizationService.get().search;\r\n    };\r\n    // Selects a result.\r\n    SuiSearch.prototype.select = function (result) {\r\n        this.onResultSelected.emit(result);\r\n        this.dropdownService.setOpenState(false);\r\n        if (this.retainSelectedResult) {\r\n            this.selectedResult = result;\r\n            this.searchService.updateQuery(this.readValue(result));\r\n        }\r\n        else {\r\n            this.searchService.updateQuery(\"\");\r\n        }\r\n    };\r\n    SuiSearch.prototype.onClick = function (e) {\r\n        this.open();\r\n    };\r\n    SuiSearch.prototype.onFocusIn = function () {\r\n        if (!this.dropdownService.isAnimating) {\r\n            this.open();\r\n        }\r\n    };\r\n    SuiSearch.prototype.open = function () {\r\n        if (this.searchService.query.length > 0) {\r\n            // Only open on click when there is a query entered.\r\n            this.dropdownService.setOpenState(true);\r\n        }\r\n    };\r\n    SuiSearch.prototype.onFocusOut = function (e) {\r\n        if (!this._element.nativeElement.contains(e.relatedTarget)) {\r\n            this.dropdownService.setOpenState(false);\r\n        }\r\n    };\r\n    SuiSearch.prototype.onDocumentClick = function (e) {\r\n        if (!this._element.nativeElement.contains(e.target)) {\r\n            this.dropdownService.setOpenState(false);\r\n        }\r\n    };\r\n    // Reads the specified field from an item.\r\n    SuiSearch.prototype.readValue = function (object) {\r\n        return Util.Object.readValue(object, this.searchService.optionsField);\r\n    };\r\n    SuiSearch.prototype.ngOnDestroy = function () {\r\n        this._documentClickListener();\r\n    };\r\n    return SuiSearch;\r\n}());\r\n__decorate([\r\n    ViewChild(SuiDropdownMenu),\r\n    __metadata(\"design:type\", SuiDropdownMenu)\r\n], SuiSearch.prototype, \"_menu\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.search\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSearch.prototype, \"_searchClasses\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.active\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSearch.prototype, \"isActive\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSearch.prototype, \"hasIcon\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiSearch.prototype, \"placeholder\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Array),\r\n    __metadata(\"design:paramtypes\", [Array])\r\n], SuiSearch.prototype, \"options\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Function])\r\n], SuiSearch.prototype, \"optionsFilter\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Function])\r\n], SuiSearch.prototype, \"optionsLookup\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiSearch.prototype, \"optionsField\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Function])\r\n], SuiSearch.prototype, \"resultFormatter\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", TemplateRef)\r\n], SuiSearch.prototype, \"resultTemplate\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSearch.prototype, \"retainSelectedResult\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number),\r\n    __metadata(\"design:paramtypes\", [Number])\r\n], SuiSearch.prototype, \"searchDelay\", null);\r\n__decorate([\r\n    HostBinding(\"class.loading\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSearch.prototype, \"isSearching\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiSearch.prototype, \"maxResults\", void 0);\r\n__decorate([\r\n    Output(\"resultSelected\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiSearch.prototype, \"onResultSelected\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiSearch.prototype, \"transition\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiSearch.prototype, \"transitionDuration\", void 0);\r\n__decorate([\r\n    HostListener(\"focusin\"),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", []),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSearch.prototype, \"onFocusIn\", null);\r\n__decorate([\r\n    HostListener(\"focusout\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [Object]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiSearch.prototype, \"onFocusOut\", null);\r\nSuiSearch = __decorate([\r\n    Component({\r\n        selector: \"sui-search\",\r\n        template: \"\\n<div class=\\\"ui input\\\" [class.icon]=\\\"hasIcon\\\" (click)=\\\"onClick($event)\\\">\\n    <input class=\\\"prompt\\\" type=\\\"text\\\" [attr.placeholder]=\\\"placeholder\\\" autocomplete=\\\"off\\\" [(ngModel)]=\\\"query\\\">\\n    <i *ngIf=\\\"hasIcon\\\" class=\\\"search icon\\\"></i>\\n</div>\\n<div class=\\\"results\\\"\\n     suiDropdownMenu\\n     [menuTransition]=\\\"transition\\\"\\n     [menuTransitionDuration]=\\\"transitionDuration\\\"\\n     menuSelectedItemClass=\\\"active\\\">\\n\\n    <sui-search-result *ngFor=\\\"let r of results\\\"\\n                       class=\\\"item\\\"\\n                       [value]=\\\"r\\\"\\n                       [query]=\\\"query\\\"\\n                       [formatter]=\\\"resultFormatter\\\"\\n                       [template]=\\\"resultTemplate\\\"\\n                       (click)=\\\"select(r)\\\"></sui-search-result>\\n\\n    <div *ngIf=\\\"results.length == 0\\\" class=\\\"message empty\\\">\\n        <div class=\\\"header\\\">{{ localeValues.noResults.header }}</div>\\n        <div class=\\\"description\\\">{{ localeValues.noResults.message }}</div>\\n    </div>\\n</div>\\n\",\r\n        styles: [\"\\n/* Ensures results div has margin. */\\n:host {\\n    display: inline-block;\\n}\\n\\n/* Fixes positioning when results are pushed above the search. */\\n.results {\\n    margin-bottom: .5em;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ElementRef, Renderer2, SuiLocalizationService])\r\n], SuiSearch);\r\nexport { SuiSearch };\r\n//# sourceMappingURL=search.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/search/components/search.js\n// module id = 634\n// module chunks = 3","import { Util } from \"../../../misc/util/index\";\r\nvar SearchService = (function () {\r\n    function removeAccents(strAccents){\r\n        return strAccents;\r\n    }\r\n    function SearchService(allowEmptyQuery) {\r\n        if (allowEmptyQuery === void 0) { allowEmptyQuery = false; }\r\n        var _this = this;\r\n        this._options = [];\r\n        this.optionsFilter = function (os, q) {\r\n            // Convert the query string to a RegExp.\r\n            var regex = _this.toRegex(removeAccents(_this._query));\r\n            if (regex instanceof RegExp) {\r\n                // Only update the results if the query was valid regex.\r\n                // This avoids the results suddenly becoming empty if an invalid regex string is inputted.\r\n                return os\r\n                    .filter(function (o) { return removeAccents(Util.Object.readValue(o, _this._optionsField))\r\n                    .toString()\r\n                    .match(regex); });\r\n            }\r\n            // Don't update since it wasn't a valid regex.\r\n            return false;\r\n        };\r\n        // Set default values and reset.\r\n        this.allowEmptyQuery = allowEmptyQuery;\r\n        this.searchDelay = 0;\r\n        this.reset();\r\n    }\r\n    Object.defineProperty(SearchService.prototype, \"options\", {\r\n        get: function () {\r\n            return this._options;\r\n        },\r\n        set: function (options) {\r\n            this._options = options || [];\r\n            // We cannot use both local & remote options simultaneously.\r\n            this._optionsLookup = undefined;\r\n            // Reset entire service with new options.\r\n            this.reset();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SearchService.prototype, \"optionsLookup\", {\r\n        get: function () {\r\n            return this._optionsLookup;\r\n        },\r\n        set: function (lookupFn) {\r\n            this._optionsLookup = lookupFn;\r\n            // As before, cannot use local & remote options simultaneously.\r\n            this._options = [];\r\n            this.reset();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SearchService.prototype, \"hasItemLookup\", {\r\n        get: function () {\r\n            return !!this.optionsLookup && this.optionsLookup.length === 2;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SearchService.prototype, \"optionsField\", {\r\n        get: function () {\r\n            return this._optionsField;\r\n        },\r\n        set: function (field) {\r\n            this._optionsField = field;\r\n            // We need to reset otherwise we would now be showing invalid search results.\r\n            this.reset();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SearchService.prototype, \"results\", {\r\n        get: function () {\r\n            return this._results;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SearchService.prototype, \"query\", {\r\n        get: function () {\r\n            return this._query;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SearchService.prototype, \"isSearching\", {\r\n        get: function () {\r\n            return this._isSearching;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // Updates the query after the specified search delay.\r\n    SearchService.prototype.updateQueryDelayed = function (query, callback) {\r\n        var _this = this;\r\n        if (callback === void 0) { callback = function () { }; }\r\n        this._query = query;\r\n        clearTimeout(this._searchDelayTimeout);\r\n        this._searchDelayTimeout = window.setTimeout(function () {\r\n            _this.updateQuery(query, callback);\r\n        }, this.searchDelay);\r\n    };\r\n    // Updates the current search query.\r\n    SearchService.prototype.updateQuery = function (query, callback) {\r\n        var _this = this;\r\n        if (callback === void 0) { callback = function () { }; }\r\n        this._query = query;\r\n        if (this._query === \"\" && !this.allowEmptyQuery) {\r\n            // Don't update if the new query is empty (and we don't allow empty queries).\r\n            // Don't reset so that when animating closed we don't get a judder.\r\n            return callback();\r\n        }\r\n        if (this._resultsCache.hasOwnProperty(this._query)) {\r\n            // If the query is already cached, make use of it.\r\n            this._results = this._resultsCache[this._query];\r\n            return callback();\r\n        }\r\n        if (this._optionsLookup) {\r\n            this._isSearching = true;\r\n            // Call the options lookup without a this context.\r\n            var queryLookup = this._optionsLookup.call(undefined, this._query);\r\n            queryLookup\r\n                .then(function (results) {\r\n                _this._isSearching = false;\r\n                _this.updateResults(results);\r\n                return callback();\r\n            })\r\n                .catch(function (error) {\r\n                // Unset 'loading' state, and throw the returned error without updating the results.\r\n                _this._isSearching = false;\r\n                return callback(error);\r\n            });\r\n            return;\r\n        }\r\n        var filtered = this.optionsFilter.call(undefined, this._options, this._query);\r\n        if (filtered) {\r\n            this.updateResults(filtered);\r\n        }\r\n        return callback();\r\n    };\r\n    // Updates & caches the new set of results.\r\n    SearchService.prototype.updateResults = function (results) {\r\n        this._resultsCache[this._query] = results;\r\n        this._results = results;\r\n    };\r\n    // tslint:disable-next-line:promise-function-async\r\n    SearchService.prototype.initialLookup = function (initial) {\r\n        if (initial instanceof Array) {\r\n            return this._optionsLookup(undefined, initial);\r\n        }\r\n        return this._optionsLookup(undefined, initial);\r\n    };\r\n    // Converts a query string to regex without throwing an error.\r\n    SearchService.prototype.toRegex = function (query) {\r\n        try {\r\n            return new RegExp(query, \"i\");\r\n        }\r\n        catch (e) {\r\n            return query;\r\n        }\r\n    };\r\n    // Generates HTML for highlighted match text.\r\n    SearchService.prototype.highlightMatches = function (text, query) {\r\n        var regex = this.toRegex(query);\r\n        if (regex instanceof RegExp) {\r\n            return text.replace(regex, function (match) { return \"<b>\" + match + \"</b>\"; });\r\n        }\r\n        return text;\r\n    };\r\n    // Resets the search back to a pristine state.\r\n    SearchService.prototype.reset = function () {\r\n        this._results = [];\r\n        this._resultsCache = {};\r\n        this._isSearching = false;\r\n        this.updateQuery(\"\");\r\n    };\r\n    return SearchService;\r\n}());\r\nexport { SearchService };\r\n//# sourceMappingURL=search.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/search/services/search.service.js\n// module id = 635\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, Input, HostBinding, HostListener, EventEmitter, ViewContainerRef, ViewChild, Renderer2, ElementRef, Output, ChangeDetectorRef, TemplateRef } from \"@angular/core\";\r\nimport { SuiTransition, TransitionController, Transition, TransitionDirection } from \"../../transition/index\";\r\nimport { HandledEvent, SuiComponentFactory } from \"../../../misc/util/index\";\r\n// See https://github.com/Microsoft/TypeScript/issues/13449.\r\nvar templateRef = TemplateRef;\r\nvar SuiMultiSelectLabel = (function (_super) {\r\n    __extends(SuiMultiSelectLabel, _super);\r\n    function SuiMultiSelectLabel(renderer, element, changeDetector, componentFactory) {\r\n        var _this = _super.call(this, renderer, element, changeDetector) || this;\r\n        _this.componentFactory = componentFactory;\r\n        // Initialise transition functionality.\r\n        _this._transitionController = new TransitionController(false, \"inline-block\");\r\n        _this.setTransitionController(_this._transitionController);\r\n        _this.onDeselected = new EventEmitter();\r\n        _this._labelClasses = true;\r\n        _this._transitionController.animate(new Transition(\"scale\", 100, TransitionDirection.In));\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiMultiSelectLabel.prototype, \"template\", {\r\n        get: function () {\r\n            return this._template;\r\n        },\r\n        set: function (template) {\r\n            this._template = template;\r\n            if (this.template) {\r\n                this.componentFactory.createView(this.templateSibling, this.template, {\r\n                    $implicit: this.value,\r\n                    query: this.query\r\n                });\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiMultiSelectLabel.prototype.deselectOption = function (e) {\r\n        var _this = this;\r\n        e.eventHandled = true;\r\n        this._transitionController.animate(new Transition(\"scale\", 100, TransitionDirection.Out, function () {\r\n            return _this.onDeselected.emit(_this.value);\r\n        }));\r\n    };\r\n    SuiMultiSelectLabel.prototype.onClick = function (e) {\r\n        e.eventHandled = true;\r\n    };\r\n    return SuiMultiSelectLabel;\r\n}(SuiTransition));\r\n__decorate([\r\n    HostBinding(\"class.ui\"),\r\n    HostBinding(\"class.label\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiMultiSelectLabel.prototype, \"_labelClasses\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Object)\r\n], SuiMultiSelectLabel.prototype, \"value\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String)\r\n], SuiMultiSelectLabel.prototype, \"query\", void 0);\r\n__decorate([\r\n    Output(\"deselected\"),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiMultiSelectLabel.prototype, \"onDeselected\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Function)\r\n], SuiMultiSelectLabel.prototype, \"formatter\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", TemplateRef),\r\n    __metadata(\"design:paramtypes\", [TemplateRef])\r\n], SuiMultiSelectLabel.prototype, \"template\", null);\r\n__decorate([\r\n    ViewChild(\"templateSibling\", { read: ViewContainerRef }),\r\n    __metadata(\"design:type\", ViewContainerRef)\r\n], SuiMultiSelectLabel.prototype, \"templateSibling\", void 0);\r\n__decorate([\r\n    HostListener(\"click\", [\"$event\"]),\r\n    __metadata(\"design:type\", Function),\r\n    __metadata(\"design:paramtypes\", [HandledEvent]),\r\n    __metadata(\"design:returntype\", void 0)\r\n], SuiMultiSelectLabel.prototype, \"onClick\", null);\r\nSuiMultiSelectLabel = __decorate([\r\n    Component({\r\n        selector: \"sui-multi-select-label\",\r\n        template: \"\\n<span style=\\\"display: inline-block !important\\\" #templateSibling></span>\\n<span style=\\\"display: inline-block !important\\\" *ngIf=\\\"!template\\\" [innerHTML]=\\\"formatter(value)\\\"></span>\\n<i class=\\\"delete icon\\\" (click)=\\\"deselectOption($event)\\\"></i>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2,\r\n        ElementRef,\r\n        ChangeDetectorRef,\r\n        SuiComponentFactory])\r\n], SuiMultiSelectLabel);\r\nexport { SuiMultiSelectLabel };\r\n//# sourceMappingURL=multi-select-label.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/components/multi-select-label.js\n// module id = 636\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, HostBinding, ElementRef, EventEmitter, Output, Input, Directive, Renderer2 } from \"@angular/core\";\r\nimport { KeyCode, customValueAccessorFactory, CustomValueAccessor } from \"../../../misc/util/index\";\r\nimport { SuiLocalizationService } from \"../../../behaviors/localization/index\";\r\nimport { SuiSelectBase } from \"../classes/select-base\";\r\nvar SuiMultiSelect = (function (_super) {\r\n    __extends(SuiMultiSelect, _super);\r\n    function SuiMultiSelect(element, renderer, localizationService) {\r\n        var _this = _super.call(this, element, renderer, localizationService) || this;\r\n        _this.selectedOptions = [];\r\n        _this.selectedOptionsChange = new EventEmitter();\r\n        _this.hasLabels = true;\r\n        _this._multiSelectClasses = true;\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiMultiSelect.prototype, \"filteredOptions\", {\r\n        get: function () {\r\n            var _this = this;\r\n            if (this.maxSelectedReached) {\r\n                // If we have reached the maximum number of selections, then empty the results completely.\r\n                return [];\r\n            }\r\n            var searchResults = this.searchService.results;\r\n            if (!this.hasLabels) {\r\n                return searchResults;\r\n            }\r\n            else {\r\n                // Returns the search results \\ selected options.\r\n                return searchResults\r\n                    .filter(function (r) { return _this.selectedOptions.find(function (o) { return r === o; }) == undefined; });\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiMultiSelect.prototype, \"availableOptions\", {\r\n        get: function () {\r\n            return this.filteredOptions;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiMultiSelect.prototype, \"hasLabels\", {\r\n        get: function () {\r\n            return this._hasLabels;\r\n        },\r\n        set: function (hasLabels) {\r\n            this._hasLabels = hasLabels;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiMultiSelect.prototype, \"placeholder\", {\r\n        get: function () {\r\n            return this._placeholder || this.localeValues.multi.placeholder;\r\n        },\r\n        set: function (placeholder) {\r\n            this._placeholder = placeholder;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiMultiSelect.prototype, \"maxSelectedReached\", {\r\n        get: function () {\r\n            if (this.maxSelected == undefined) {\r\n                // If there is no maximum then we can immediately return.\r\n                return false;\r\n            }\r\n            return this.selectedOptions.length === this.maxSelected;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiMultiSelect.prototype, \"maxSelectedMessage\", {\r\n        get: function () {\r\n            return this._localizationService.interpolate(this.localeValues.multi.maxSelectedMessage, [[\"max\", this.maxSelected.toString()]]);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiMultiSelect.prototype, \"selectedMessage\", {\r\n        get: function () {\r\n            return this._localizationService.interpolate(this.localeValues.multi.selectedMessage, [[\"count\", this.selectedOptions.length.toString()]]);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiMultiSelect.prototype.optionsUpdateHook = function () {\r\n        var _this = this;\r\n        if (!this._writtenOptions && this.selectedOptions.length > 0) {\r\n            // We need to check the options still exist.\r\n            this.writeValue(this.selectedOptions.map(function (o) { return _this.valueGetter(o); }));\r\n        }\r\n        if (this._writtenOptions && this.searchService.options.length > 0) {\r\n            // If there were values written by ngModel before the options had been loaded, this runs to fix it.\r\n            this.selectedOptions = this._writtenOptions\r\n                .map(function (v) { return _this.findOption(_this.searchService.options, v); })\r\n                .filter(function (v) { return v != undefined; });\r\n            if (this.selectedOptions.length === this._writtenOptions.length) {\r\n                this._writtenOptions = undefined;\r\n            }\r\n        }\r\n    };\r\n    SuiMultiSelect.prototype.initialiseRenderedOption = function (option) {\r\n        _super.prototype.initialiseRenderedOption.call(this, option);\r\n        // Boldens the item so it appears selected in the dropdown.\r\n        option.isActive = !this.hasLabels && this.selectedOptions.indexOf(option.value) !== -1;\r\n    };\r\n    SuiMultiSelect.prototype.selectOption = function (option) {\r\n        var _this = this;\r\n        if (this.selectedOptions.indexOf(option) !== -1) {\r\n            this.deselectOption(option);\r\n            return;\r\n        }\r\n        this.selectedOptions.push(option);\r\n        this.selectedOptionsChange.emit(this.selectedOptions.map(function (o) { return _this.valueGetter(o); }));\r\n        this.resetQuery(false);\r\n        // Automatically refocus the search input for better keyboard accessibility.\r\n        this.focus();\r\n        if (!this.hasLabels) {\r\n            this.onAvailableOptionsRendered();\r\n        }\r\n    };\r\n    SuiMultiSelect.prototype.writeValue = function (values) {\r\n        var _this = this;\r\n        if (values instanceof Array) {\r\n            if (this.searchService.options.length > 0) {\r\n                // If the options have already been loaded, we can immediately match the ngModel values to options.\r\n                this.selectedOptions = values\r\n                    .map(function (v) { return _this.findOption(_this.searchService.options, v); })\r\n                    .filter(function (v) { return v != undefined; });\r\n            }\r\n            if (values.length > 0 && this.selectedOptions.length === 0) {\r\n                if (this.valueField && this.searchService.hasItemLookup) {\r\n                    // If the search service has a selected lookup function, make use of that to load the initial values.\r\n                    this.searchService\r\n                        .initialLookup(values)\r\n                        .then(function (items) { return _this.selectedOptions = items; });\r\n                }\r\n                else {\r\n                    // Otherwise, cache the written value for when options are set.\r\n                    this._writtenOptions = values;\r\n                }\r\n            }\r\n            if (values.length === 0) {\r\n                this.selectedOptions = [];\r\n            }\r\n        }\r\n        else {\r\n            this.selectedOptions = [];\r\n        }\r\n    };\r\n    SuiMultiSelect.prototype.deselectOption = function (option) {\r\n        var _this = this;\r\n        // Update selected options to the previously selected options \\ {option}.\r\n        this.selectedOptions = this.selectedOptions.filter(function (so) { return so !== option; });\r\n        this.selectedOptionsChange.emit(this.selectedOptions.map(function (o) { return _this.valueGetter(o); }));\r\n        // Automatically refocus the search input for better keyboard accessibility.\r\n        this.focus();\r\n        if (!this.hasLabels) {\r\n            this.onAvailableOptionsRendered();\r\n        }\r\n    };\r\n    SuiMultiSelect.prototype.onQueryInputKeydown = function (event) {\r\n        if (event.keyCode === KeyCode.Backspace && this.query === \"\" && this.selectedOptions.length > 0) {\r\n            // Deselect the rightmost option when the user presses backspace in the search input.\r\n            this.deselectOption(this.selectedOptions[this.selectedOptions.length - 1]);\r\n        }\r\n    };\r\n    return SuiMultiSelect;\r\n}(SuiSelectBase));\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiMultiSelect.prototype, \"selectedOptionsChange\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [Boolean])\r\n], SuiMultiSelect.prototype, \"hasLabels\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiMultiSelect.prototype, \"placeholder\", null);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", Number)\r\n], SuiMultiSelect.prototype, \"maxSelected\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.multiple\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiMultiSelect.prototype, \"_multiSelectClasses\", void 0);\r\nSuiMultiSelect = __decorate([\r\n    Component({\r\n        selector: \"sui-multi-select\",\r\n        template: \"\\n<!-- Dropdown icon -->\\n<i class=\\\"{{ icon }} icon\\\" (click)=\\\"onCaretClick($event)\\\"></i>\\n\\n<ng-container *ngIf=\\\"hasLabels\\\">\\n<!-- Multi-select labels -->\\n    <sui-multi-select-label *ngFor=\\\"let selected of selectedOptions;\\\"\\n                            [value]=\\\"selected\\\"\\n                            [query]=\\\"query\\\"\\n                            [formatter]=\\\"configuredFormatter\\\"\\n                            [template]=\\\"optionTemplate\\\"\\n                            (deselected)=\\\"deselectOption($event)\\\"></sui-multi-select-label>\\n</ng-container>\\n\\n<!-- Query input -->\\n<input suiSelectSearch\\n       type=\\\"text\\\"\\n       [hidden]=\\\"!isSearchable || isSearchExternal\\\">\\n\\n<!-- Helper text -->\\n<div class=\\\"text\\\"\\n     [class.default]=\\\"hasLabels\\\"\\n     [class.filtered]=\\\"!!query && !isSearchExternal\\\">\\n    \\n    <!-- Placeholder text -->\\n    <ng-container *ngIf=\\\"hasLabels; else selectedBlock\\\">{{ placeholder }}</ng-container>\\n    \\n    <!-- Summary shown when labels are hidden -->\\n    <ng-template #selectedBlock> {{ selectedMessage }}</ng-template>\\n</div>\\n\\n<!-- Select dropdown menu -->\\n<div class=\\\"menu\\\"\\n     suiDropdownMenu\\n     [menuTransition]=\\\"transition\\\"\\n     [menuTransitionDuration]=\\\"transitionDuration\\\"\\n     [menuAutoSelectFirst]=\\\"true\\\">\\n\\n    <ng-content></ng-content>\\n    <ng-container *ngIf=\\\"availableOptions.length == 0 \\\">\\n        <div *ngIf=\\\"!maxSelectedReached\\\" class=\\\"message\\\">{{ localeValues.noResultsMessage }}</div>\\n        <div *ngIf=\\\"maxSelectedReached\\\" class=\\\"message\\\">{{ maxSelectedMessage }}</div>\\n    </ng-container>\\n</div>\\n\",\r\n        styles: [\"\\n:host input.search {\\n    width: 12em !important;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ElementRef, Renderer2, SuiLocalizationService])\r\n], SuiMultiSelect);\r\nexport { SuiMultiSelect };\r\n// Value accessor directive for the select to support ngModel.\r\nvar SuiMultiSelectValueAccessor = SuiMultiSelectValueAccessor_1 = (function (_super) {\r\n    __extends(SuiMultiSelectValueAccessor, _super);\r\n    function SuiMultiSelectValueAccessor(host) {\r\n        return _super.call(this, host) || this;\r\n    }\r\n    return SuiMultiSelectValueAccessor;\r\n}(CustomValueAccessor));\r\nSuiMultiSelectValueAccessor = SuiMultiSelectValueAccessor_1 = __decorate([\r\n    Directive({\r\n        selector: \"sui-multi-select\",\r\n        host: {\r\n            \"(selectedOptionsChange)\": \"onChange($event)\",\r\n            \"(touched)\": \"onTouched()\"\r\n        },\r\n        providers: [customValueAccessorFactory(SuiMultiSelectValueAccessor_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiMultiSelect])\r\n], SuiMultiSelectValueAccessor);\r\nexport { SuiMultiSelectValueAccessor };\r\nvar SuiMultiSelectValueAccessor_1;\r\n//# sourceMappingURL=multi-select.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/components/multi-select.js\n// module id = 637\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n            ({__proto__: []} instanceof Array && function (d, b) {\r\n                d.__proto__ = b;\r\n            }) ||\r\n            function (d, b) {\r\n                for (var p in b)\r\n                    if (b.hasOwnProperty(p))\r\n                        d[p] = b[p];\r\n            };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() {\r\n            this.constructor = d;\r\n        }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\r\n        r = Reflect.decorate(decorators, target, key, desc);\r\n    else\r\n        for (var i = decorators.length - 1; i >= 0; i--)\r\n            if (d = decorators[i])\r\n                r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\")\r\n        return Reflect.metadata(k, v);\r\n};\r\nimport { Component, ViewContainerRef, ViewChild, Output, EventEmitter, ElementRef, Directive, Input, Renderer2 } from \"@angular/core\";\r\nimport { customValueAccessorFactory, CustomValueAccessor } from \"../../../misc/util/index\";\r\nimport { SuiLocalizationService } from \"../../../behaviors/localization/index\";\r\nimport { SuiSelectBase } from \"../classes/select-base\";\r\nvar SuiSelect = (function (_super) {\r\n    __extends(SuiSelect, _super);\r\n    function SuiSelect(element, renderer, localizationService) {\r\n        var _this = _super.call(this, element, renderer, localizationService) || this;\r\n        _this.selectedOptionChange = new EventEmitter();\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiSelect.prototype, \"placeholder\", {\r\n        get: function () {\r\n            return this._placeholder || this.localeValues.single.placeholder;\r\n        },\r\n        set: function (placeholder) {\r\n            this._placeholder = placeholder;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiSelect.prototype.optionsUpdateHook = function () {\r\n        if (!this._writtenOption && this.selectedOption) {\r\n            // We need to check the option still exists.\r\n            this.writeValue(this.valueGetter(this.selectedOption));\r\n        }\r\n        if (this._writtenOption && this.searchService.options.length > 0) {\r\n            // If there was an value written by ngModel before the options had been loaded, this runs to fix it.\r\n            this.selectedOption = this.findOption(this.searchService.options, this._writtenOption);\r\n            if (this.selectedOption) {\r\n                this._writtenOption = undefined;\r\n                this.drawSelectedOption();\r\n            }\r\n        }\r\n    };\r\n    SuiSelect.prototype.queryUpdateHook = function () {\r\n        // When the query is updated, we just abandon the current selection.\r\n        this.selectedOption = undefined;\r\n    };\r\n    SuiSelect.prototype.selectOption = function (option) {\r\n        // Choose and emit the selected option.\r\n        this.selectedOption = option;\r\n        this.selectedOptionChange.emit(this.valueGetter(option));\r\n        this.dropdownService.setOpenState(false);\r\n        this.resetQuery();\r\n        this.drawSelectedOption();\r\n        // Automatically refocus the search input for better keyboard accessibility.\r\n        this.focus();\r\n    };\r\n\r\n    SuiSelect.prototype.writeValue = function (value) {\r\n        var _this = this;\r\n        if (value != undefined) {\r\n            if (this.searchService.options.length > 0) {\r\n                // If the options have already been loaded, we can immediately match the ngModel value to an option.\r\n                this.selectedOption = this.findOption(this.searchService.options, value);\r\n                this.drawSelectedOption();\r\n            }\r\n            if (this.selectedOption == undefined) {\r\n                if (this.valueField && this.searchService.hasItemLookup) {\r\n                    // If the search service has a selected lookup function, make use of that to load the initial value.\r\n                    this.searchService\r\n                            .initialLookup(value)\r\n                            .then(function (i) {\r\n                                _this.selectedOption = i;\r\n                                _this.drawSelectedOption();\r\n                            });\r\n                } else {\r\n                    // Otherwise, cache the written value for when options are set.\r\n                    this._writtenOption = value;\r\n                }\r\n            }\r\n        } else {\r\n            this.selectedOption = undefined;\r\n            this.drawSelectedOption();\r\n        }\r\n    };\r\n    SuiSelect.prototype.initialiseRenderedOption = function (option) {\r\n        _super.prototype.initialiseRenderedOption.call(this, option);\r\n        // Boldens the item so it appears selected in the dropdown.\r\n        option.isActive = option.value === this.selectedOption;\r\n    };\r\n    SuiSelect.prototype.drawSelectedOption = function () {\r\n        // Updates the active class on the newly selected option.\r\n        if (this._renderedOptions) {\r\n            this.onAvailableOptionsRendered();\r\n        }\r\n        if (this.selectedOption != undefined && this.optionTemplate) {\r\n            this.drawTemplate(this._optionTemplateSibling, this.selectedOption);\r\n        }\r\n    };\r\n\r\n    SuiSelect.prototype.deselectOption = function () {\r\n        this.selectedOptionChange.emit(null);\r\n        this.writeValue(null);\r\n    };\r\n    return SuiSelect;\r\n}(SuiSelectBase));\r\n__decorate([\r\n    ViewChild(\"optionTemplateSibling\", {read: ViewContainerRef}),\r\n    __metadata(\"design:type\", ViewContainerRef)\r\n], SuiSelect.prototype, \"_optionTemplateSibling\", void 0);\r\n__decorate([\r\n    Output(),\r\n    __metadata(\"design:type\", EventEmitter)\r\n], SuiSelect.prototype, \"selectedOptionChange\", void 0);\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", String),\r\n    __metadata(\"design:paramtypes\", [String])\r\n], SuiSelect.prototype, \"placeholder\", null);\r\nSuiSelect = __decorate([\r\n    Component({\r\n        selector: \"sui-select\",\r\n        template: \"<a (click)='deselectOption()'><i class='remove icon'></i></a> \\n<!-- Query input -->\\n<input suiSelectSearch\\n       type=\\\"text\\\"\\n       [hidden]=\\\"!isSearchable || isSearchExternal\\\">\\n\\n<!-- Placeholder text -->\\n<div *ngIf=\\\"selectedOption == undefined\\\" class=\\\"default text\\\" [class.filtered]=\\\"query\\\">{{ placeholder }}</div>\\n<!-- Selected item -->\\n<div class=\\\"text\\\" [class.filtered]=\\\"query || selectedOption == undefined\\\">\\n    <span  style=\\\"display: inline-block !important\\\" #optionTemplateSibling  style=\\\"display: inline-block !important\\\"></span>\\n    <span *ngIf=\\\"!optionTemplate && selectedOption != undefined\\\"  style=\\\"display: inline-block !important\\\" [innerHTML]=\\\"configuredFormatter(selectedOption)\\\"></span>\\n</div>\\n<!-- Dropdown icon -->\\n<i class=\\\"{{ icon }} icon\\\" (click)=\\\"onCaretClick($event)\\\"></i>\\n<!-- Select dropdown menu -->\\n<div class=\\\"menu\\\"\\n     suiDropdownMenu\\n     [menuTransition]=\\\"transition\\\"\\n     [menuTransitionDuration]=\\\"transitionDuration\\\"\\n     [menuAutoSelectFirst]=\\\"isSearchable\\\">\\n\\n    <ng-content></ng-content>\\n    <div *ngIf=\\\"isSearchable && availableOptions.length === 0\\\" class=\\\"message\\\">\\n        {{ localeValues.noResultsMessage }}\\n    </div>\\n</div>\\n\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [ElementRef, Renderer2, SuiLocalizationService])\r\n], SuiSelect);\r\nexport { SuiSelect };\r\n// Value accessor directive for the select to support ngModel.\r\nvar SuiSelectValueAccessor = SuiSelectValueAccessor_1 = (function (_super) {\r\n    __extends(SuiSelectValueAccessor, _super);\r\n    function SuiSelectValueAccessor(host) {\r\n        return _super.call(this, host) || this;\r\n    }\r\n    return SuiSelectValueAccessor;\r\n}(CustomValueAccessor));\r\nSuiSelectValueAccessor = SuiSelectValueAccessor_1 = __decorate([\r\n    Directive({\r\n        selector: \"sui-select\",\r\n        host: {\r\n            \"(selectedOptionChange)\": \"onChange($event)\",\r\n            \"(touched)\": \"onTouched()\"\r\n        },\r\n        providers: [customValueAccessorFactory(SuiSelectValueAccessor_1)]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [SuiSelect])\r\n], SuiSelectValueAccessor);\r\nexport { SuiSelectValueAccessor };\r\nvar SuiSelectValueAccessor_1;\r\n//# sourceMappingURL=select.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/components/select.js\n// module id = 638\n// module chunks = 3","export * from \"./classes/select-base\";\r\nexport * from \"./components/multi-select-label\";\r\nexport * from \"./components/multi-select\";\r\nexport * from \"./components/select-option\";\r\nexport * from \"./components/select\";\r\nexport * from \"./directives/select-search\";\r\nexport * from \"./select.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/index.js\n// module id = 639\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, HostBinding, ContentChild } from \"@angular/core\";\r\nimport { SuiSidebar } from \"./sidebar\";\r\nimport { SuiSidebarSibling } from \"./sidebar-sibling\";\r\nvar SuiSidebarContainer = (function () {\r\n    function SuiSidebarContainer() {\r\n        this._containerClasses = true;\r\n    }\r\n    SuiSidebarContainer.prototype.ngAfterContentInit = function () {\r\n        if (!this.sidebar) {\r\n            throw new Error(\"You must include a <sui-sidebar> element within the container.\");\r\n        }\r\n        this.service = this.sidebar.service;\r\n        if (!this.sibling) {\r\n            throw new Error(\"You must include a <sui-sidebar-sibling> element within the container.\");\r\n        }\r\n        this.sibling.service = this.service;\r\n    };\r\n    return SuiSidebarContainer;\r\n}());\r\n__decorate([\r\n    HostBinding(\"class.pushable\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiSidebarContainer.prototype, \"_containerClasses\", void 0);\r\n__decorate([\r\n    ContentChild(SuiSidebar),\r\n    __metadata(\"design:type\", SuiSidebar)\r\n], SuiSidebarContainer.prototype, \"sidebar\", void 0);\r\n__decorate([\r\n    ContentChild(SuiSidebarSibling),\r\n    __metadata(\"design:type\", SuiSidebarSibling)\r\n], SuiSidebarContainer.prototype, \"sibling\", void 0);\r\nSuiSidebarContainer = __decorate([\r\n    Component({\r\n        selector: \"sui-sidebar-container\",\r\n        template: \"<ng-content></ng-content>\",\r\n        styles: [\"\\n:host {\\n    display: block;\\n}\\n\"]\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiSidebarContainer);\r\nexport { SuiSidebarContainer };\r\n//# sourceMappingURL=sidebar-container.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/sidebar/components/sidebar-container.js\n// module id = 640\n// module chunks = 3","export * from \"./components/sidebar-container\";\r\nexport * from \"./components/sidebar-sibling\";\r\nexport * from \"./components/sidebar\";\r\nexport * from \"./services/sidebar.service\";\r\nexport * from \"./sidebar.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/sidebar/index.js\n// module id = 641\n// module chunks = 3","var Tab = (function () {\r\n    function Tab(header, content) {\r\n        var _this = this;\r\n        this.id = header.id;\r\n        this.header = header;\r\n        this.content = content;\r\n        // So that the header and content isActive properties are always in sync.\r\n        this.header.isActiveChange\r\n            .subscribe(function () { return _this.content.isActive = _this.isActive; });\r\n    }\r\n    Object.defineProperty(Tab.prototype, \"isActive\", {\r\n        // Saves accessing .header.isActive every time.\r\n        get: function () {\r\n            return this.header.isActive;\r\n        },\r\n        set: function (active) {\r\n            // Use `setActiveState` so as not to fire 'external changes' event.\r\n            this.header.setActiveState(active);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(Tab.prototype, \"isDisabled\", {\r\n        // Saves accessing .header.isDisabled every time.\r\n        get: function () {\r\n            return this.header.isDisabled;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return Tab;\r\n}());\r\nexport { Tab };\r\n//# sourceMappingURL=tab.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/tabs/classes/tab.js\n// module id = 642\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Component, ContentChildren, QueryList } from \"@angular/core\";\r\nimport { SuiTabHeader } from \"../directives/tab-header\";\r\nimport { SuiTabContent } from \"../directives/tab-content\";\r\nimport { Tab } from \"../classes/tab\";\r\nvar SuiTabset = (function () {\r\n    function SuiTabset() {\r\n        this.tabs = [];\r\n        this._barrierCount = 0;\r\n    }\r\n    Object.defineProperty(SuiTabset.prototype, \"activeTab\", {\r\n        get: function () {\r\n            return this._activeTab;\r\n        },\r\n        // When setting a tab as the currently active tab, it automatically gains\r\n        // `isActive` status (saves littering `isActive = true` everywhere).\r\n        set: function (tab) {\r\n            this._activeTab = tab;\r\n            tab.isActive = true;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiTabset.prototype.ngAfterContentInit = function () {\r\n        var _this = this;\r\n        // Fire `internalComponentsUpdated` when the query lists change.\r\n        this._tabHeaders.changes.subscribe(function () { return _this.internalComponentsUpdated(); });\r\n        this._tabContents.changes.subscribe(function () { return _this.internalComponentsUpdated(); });\r\n        // Initially load the tabs.\r\n        this.loadTabs();\r\n    };\r\n    // Fires whenever either the tab headers or tab contents query lists update.\r\n    SuiTabset.prototype.internalComponentsUpdated = function () {\r\n        // We are using a 'counting barrier of n = 2', i.e. the code within only runs after the method is called twice.\r\n        // This is so that both the headers and contents query lists can update before we run code that matches the two up.\r\n        this._barrierCount++;\r\n        if (this._barrierCount === 2) {\r\n            // Reset the barrier so it can be called again.\r\n            this._barrierCount = 0;\r\n            // Update the tabs.\r\n            this.loadTabs();\r\n        }\r\n    };\r\n    // Connects tab headers to tab contents, and creates a tab instance for each pairing.\r\n    SuiTabset.prototype.loadTabs = function () {\r\n        var _this = this;\r\n        // Remove any tabs that no longer have an associated header.\r\n        this.tabs = this.tabs.filter(function (t) { return !!_this._tabHeaders.find(function (tH) { return tH === t.header; }); });\r\n        this._tabHeaders\r\n            .filter(function (tH) { return !_this.tabs.find(function (t) { return t.header === tH; }); })\r\n            .forEach(function (tH) {\r\n            var content = _this._tabContents.find(function (tC) { return tC.id === tH.id; });\r\n            if (!content) {\r\n                // Error if an associated tab content cannot be found for the given header.\r\n                throw new Error(\"A [suiTabHeader] must have a related [suiTabContent].\");\r\n            }\r\n            // Create a new tab instance for this header & content combo.\r\n            var tab = new Tab(tH, content);\r\n            // Subscribe to any external changes in the tab header's active state. External changes are triggered by user input.\r\n            tab.header.isActiveExternalChange.subscribe(function () { return _this.onHeaderActiveChanged(tab); });\r\n            // Add the new instance to the list of tabs.\r\n            _this.tabs.push(tab);\r\n        });\r\n        // Assign each tab an index (which denotes the order they physically appear in).\r\n        this._tabHeaders\r\n            .forEach(function (tH, i) {\r\n            var tab = _this.tabs.find(function (t) { return t.header === tH; });\r\n            if (tab) {\r\n                tab.index = i;\r\n            }\r\n        });\r\n        // Sort the tabs by their index.\r\n        this.tabs.sort(function (a, b) { return a.index - b.index; });\r\n        if (!this.activeTab) {\r\n            // If so, we must activate the first available tab.\r\n            this.activateFirstTab();\r\n        }\r\n        else if (!this.tabs.find(function (t) { return t === _this.activeTab; })) {\r\n            // If so, we must find the closest.\r\n            // Use `setTimeout` as this causes a 'changed after checked' error o'wise.\r\n            setTimeout(function () { return _this.activateClosestTab(_this.activeTab); });\r\n        }\r\n        if (this.tabs.length === 0) {\r\n            // Error if there aren't any tabs in the tabset.\r\n            throw new Error(\"You cannot have no tabs!\");\r\n        }\r\n    };\r\n    // Fires whenever a tab header's active state is externally changed.\r\n    SuiTabset.prototype.onHeaderActiveChanged = function (tab) {\r\n        // If the tab has become activated, but was not previously the active tab:\r\n        if (tab.isActive && this.activeTab !== tab) {\r\n            // Deactivate all of the tabs.\r\n            this.tabs.filter(function (t) { return t !== tab; }).forEach(function (t) { return t.isActive = false; });\r\n            // Set the currently active tab to this one.\r\n            this.activeTab = tab;\r\n        }\r\n        // If the tab has become deactivated, but was previously the active tab:\r\n        if (!tab.isActive && this.activeTab === tab) {\r\n            // Activate the closest tab to it.\r\n            this.activateClosestTab(tab);\r\n        }\r\n    };\r\n    // Activate the first tab in the set.\r\n    SuiTabset.prototype.activateFirstTab = function () {\r\n        this.activeTab = this.tabs[0];\r\n    };\r\n    // Activates the closest available tab to a given one.\r\n    SuiTabset.prototype.activateClosestTab = function (tab) {\r\n        var nextAvailable;\r\n        // When the exited tab's index is higher than all available tabs,\r\n        if (tab.index >= this.tabs.length) {\r\n            // Activate the last tab.\r\n            nextAvailable = this.tabs[this.tabs.length - 1];\r\n        }\r\n        // If that didn't work, try the following cases:\r\n        if (!nextAvailable) {\r\n            if (!this.tabs.find(function (t) { return t === tab; })) {\r\n                // Replace it with a tab at the same index.\r\n                nextAvailable = this.tabs[tab.index];\r\n            }\r\n            else {\r\n                // Go to the tab immediately to the left.\r\n                nextAvailable = this.tabs[Math.max(tab.index - 1, 0)];\r\n            }\r\n        }\r\n        // However, if the chosen tab is disabled,\r\n        if (nextAvailable.isDisabled) {\r\n            // Activate the closest available tab to it.\r\n            return this.activateClosestTab(nextAvailable);\r\n        }\r\n        this.activeTab = nextAvailable;\r\n    };\r\n    return SuiTabset;\r\n}());\r\n__decorate([\r\n    ContentChildren(SuiTabHeader),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiTabset.prototype, \"_tabHeaders\", void 0);\r\n__decorate([\r\n    ContentChildren(SuiTabContent),\r\n    __metadata(\"design:type\", QueryList)\r\n], SuiTabset.prototype, \"_tabContents\", void 0);\r\nSuiTabset = __decorate([\r\n    Component({\r\n        selector: \"sui-tabset\",\r\n        template: \"<ng-content></ng-content>\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiTabset);\r\nexport { SuiTabset };\r\n//# sourceMappingURL=tabset.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/tabs/components/tabset.js\n// module id = 643\n// module chunks = 3","export * from \"./classes/tab\";\r\nexport * from \"./components/tabset\";\r\nexport * from \"./directives/tab-content\";\r\nexport * from \"./directives/tab-header\";\r\nexport * from \"./tab.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/tabs/index.js\n// module id = 644\n// module chunks = 3","import { TransitionDirection } from \"./transition\";\r\nvar TransitionController = (function () {\r\n    function TransitionController(isInitiallyVisible, display) {\r\n        if (isInitiallyVisible === void 0) { isInitiallyVisible = true; }\r\n        if (display === void 0) { display = \"block\"; }\r\n        // isInitiallyVisible sets whether the element starts out visible.\r\n        this._isVisible = isInitiallyVisible;\r\n        this._isHidden = !this._isVisible;\r\n        this._display = display;\r\n        this._queue = [];\r\n        this._isAnimating = false;\r\n    }\r\n    Object.defineProperty(TransitionController.prototype, \"_isReady\", {\r\n        // Used to delay animations until we have an element to animate.\r\n        get: function () {\r\n            return this._renderer != undefined && this._element != undefined && this._changeDetector != undefined;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TransitionController.prototype, \"isAnimating\", {\r\n        get: function () {\r\n            return this._isAnimating;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TransitionController.prototype, \"isVisible\", {\r\n        get: function () {\r\n            return this._isVisible;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TransitionController.prototype, \"isHidden\", {\r\n        get: function () {\r\n            return this._isHidden;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TransitionController.prototype, \"_queueFirst\", {\r\n        // Gets the first transition in the queue.\r\n        get: function () {\r\n            return this._queue[0];\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TransitionController.prototype, \"_queueLast\", {\r\n        // Gets the last transition in the queue.\r\n        get: function () {\r\n            return this._queue[this._queue.length - 1];\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // Sets the renderer to be used for animating.\r\n    TransitionController.prototype.registerRenderer = function (renderer) {\r\n        this._renderer = renderer;\r\n        this.performTransition();\r\n    };\r\n    // Sets the element to perform the animations on.\r\n    TransitionController.prototype.registerElement = function (element) {\r\n        this._element = element;\r\n        this.performTransition();\r\n    };\r\n    // Sets the change detector to detect changes when using ChangeDetectionStrategy.OnPush.\r\n    TransitionController.prototype.registerChangeDetector = function (changeDetector) {\r\n        this._changeDetector = changeDetector;\r\n        this.performTransition();\r\n    };\r\n    TransitionController.prototype.animate = function (transition) {\r\n        // Test if transition is one of the list that doesn't change the visible state.\r\n        // Should these eventually become classes?\r\n        var isDirectionless = [\"jiggle\", \"flash\", \"shake\", \"pulse\", \"tada\", \"bounce\"].indexOf(transition.type) !== -1;\r\n        if (isDirectionless) {\r\n            transition.direction = TransitionDirection.Static;\r\n        }\r\n        else if (transition.direction == undefined || transition.direction === TransitionDirection.Either) {\r\n            // Set the direction to the opposite of the current visible state automatically if not set, or set to either direction.\r\n            transition.direction = this._isVisible ? TransitionDirection.Out : TransitionDirection.In;\r\n            if (this._queueLast) {\r\n                // If there is an transition in the queue already, set the direction to the opposite of the direction of that transition.\r\n                if (this._queueLast.direction === TransitionDirection.In) {\r\n                    transition.direction = TransitionDirection.Out;\r\n                }\r\n                else if (this._queueLast.direction === TransitionDirection.Out) {\r\n                    transition.direction = TransitionDirection.In;\r\n                }\r\n            }\r\n        }\r\n        // Store the transition in the queue before attempting to perform it.\r\n        this._queue.push(transition);\r\n        this.performTransition();\r\n    };\r\n    TransitionController.prototype.performTransition = function () {\r\n        var _this = this;\r\n        if (!this._isReady || this._isAnimating || !this._queueFirst) {\r\n            // Don't transition until we are ready, or if we are animating, or if there aren't any transitions in the queue.\r\n            return;\r\n        }\r\n        this._isAnimating = true;\r\n        var transition = this._queueFirst;\r\n        // Set the Semantic UI classes for transitioning.\r\n        transition.classes.forEach(function (c) { return _this._renderer.addClass(_this._element, c); });\r\n        this._renderer.addClass(this._element, \"animating\");\r\n        this._renderer.addClass(this._element, transition.directionClass);\r\n        // Set the Semantic UI styles for transitioning.\r\n        this._renderer.setStyle(this._element, \"animationDuration\", transition.duration + \"ms\");\r\n        this._renderer.setStyle(this._element, \"display\", this._display);\r\n        if (transition.direction === TransitionDirection.In) {\r\n            // Unset hidden if we are transitioning in.\r\n            this._isHidden = false;\r\n        }\r\n        // Wait the length of the animation before calling the complete callback.\r\n        this._animationTimeout = window.setTimeout(function () { return _this.finishTransition(transition); }, transition.duration);\r\n    };\r\n    // Called when a transition has completed.\r\n    TransitionController.prototype.finishTransition = function (transition) {\r\n        var _this = this;\r\n        // Unset the Semantic UI classes & styles for transitioning.\r\n        transition.classes.forEach(function (c) { return _this._renderer.removeClass(_this._element, c); });\r\n        this._renderer.removeClass(this._element, \"animating\");\r\n        this._renderer.removeClass(this._element, transition.directionClass);\r\n        this._renderer.removeStyle(this._element, \"animationDuration\");\r\n        this._renderer.removeStyle(this._element, \"display\");\r\n        if (transition.direction === TransitionDirection.In) {\r\n            // If we have just animated in, we are now visible.\r\n            this._isVisible = true;\r\n        }\r\n        else if (transition.direction === TransitionDirection.Out) {\r\n            // If we have transitioned out, we should be invisible and hidden.\r\n            this._isVisible = false;\r\n            this._isHidden = true;\r\n        }\r\n        if (transition.onComplete) {\r\n            // Call the user-defined transition callback.\r\n            transition.onComplete();\r\n        }\r\n        // Delete the transition from the queue.\r\n        this._queue.shift();\r\n        this._isAnimating = false;\r\n        this._changeDetector.markForCheck();\r\n        // Immediately attempt to perform another transition.\r\n        this.performTransition();\r\n    };\r\n    // Stops the current transition, leaves the rest of the queue intact.\r\n    TransitionController.prototype.stop = function (transition) {\r\n        if (transition === void 0) { transition = this._queueFirst; }\r\n        if (!transition || !this._isAnimating) {\r\n            return;\r\n        }\r\n        clearTimeout(this._animationTimeout);\r\n        this.finishTransition(transition);\r\n    };\r\n    // Stops the current transition, and empties the queue.\r\n    TransitionController.prototype.stopAll = function () {\r\n        this.clearQueue();\r\n        this.stop();\r\n    };\r\n    // Empties the transition queue but carries on with the current transition.\r\n    TransitionController.prototype.clearQueue = function () {\r\n        if (this.isAnimating) {\r\n            this._queue = [this._queueFirst];\r\n            return;\r\n        }\r\n        this._queue = [];\r\n    };\r\n    return TransitionController;\r\n}());\r\nexport { TransitionController };\r\n//# sourceMappingURL=transition-controller.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/transition/classes/transition-controller.js\n// module id = 645\n// module chunks = 3","// Possible directions for a transition.\r\n// Possible directions for a transition.\r\nexport var TransitionDirection;\r\n(function (TransitionDirection) {\r\n    TransitionDirection[TransitionDirection[\"In\"] = 0] = \"In\";\r\n    TransitionDirection[TransitionDirection[\"Out\"] = 1] = \"Out\";\r\n    TransitionDirection[TransitionDirection[\"Either\"] = 2] = \"Either\";\r\n    TransitionDirection[TransitionDirection[\"Static\"] = 3] = \"Static\";\r\n})(TransitionDirection || (TransitionDirection = {}));\r\nvar Transition = (function () {\r\n    function Transition(name, duration, direction, onComplete) {\r\n        if (duration === void 0) { duration = 250; }\r\n        if (direction === void 0) { direction = TransitionDirection.Either; }\r\n        if (onComplete === void 0) { onComplete = function () { }; }\r\n        this.type = name;\r\n        // We set a minimum duration of 1ms, to give the appearance of an immediate transition\r\n        // whilst allowing positioning calculations to happen without a visible flicker.\r\n        this.duration = Math.max(duration, 1);\r\n        this.direction = direction;\r\n        this.classes = this.type.split(\" \");\r\n        this.onComplete = onComplete;\r\n    }\r\n    Object.defineProperty(Transition.prototype, \"directionClass\", {\r\n        // Converts TransitionDirection to class name.\r\n        get: function () {\r\n            switch (this.direction) {\r\n                case TransitionDirection.In: return \"in\";\r\n                case TransitionDirection.Out: return \"out\";\r\n            }\r\n            return \"\";\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    return Transition;\r\n}());\r\nexport { Transition };\r\n//# sourceMappingURL=transition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/transition/classes/transition.js\n// module id = 646\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nimport { Renderer2, ElementRef, Directive, Input, HostBinding, ChangeDetectorRef } from \"@angular/core\";\r\nimport { TransitionController } from \"../classes/transition-controller\";\r\nvar SuiTransition = (function () {\r\n    function SuiTransition(_renderer, _element, _changeDetector) {\r\n        this._renderer = _renderer;\r\n        this._element = _element;\r\n        this._changeDetector = _changeDetector;\r\n        this.transitionClass = true;\r\n    }\r\n    Object.defineProperty(SuiTransition.prototype, \"suiTransition\", {\r\n        set: function (tC) {\r\n            // Set the transition controller (e.g. '<div [suiTransition]=\"transitionController\"></div>').\r\n            this.setTransitionController(tC);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiTransition.prototype, \"isVisible\", {\r\n        get: function () {\r\n            if (this._controller) {\r\n                return this._controller.isVisible;\r\n            }\r\n            return false;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(SuiTransition.prototype, \"isHidden\", {\r\n        get: function () {\r\n            if (this._controller) {\r\n                return this._controller.isHidden;\r\n            }\r\n            return false;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    // Initialises the controller with the injected renderer and elementRef.\r\n    SuiTransition.prototype.setTransitionController = function (transitionController) {\r\n        this._controller = transitionController;\r\n        this._controller.registerRenderer(this._renderer);\r\n        this._controller.registerElement(this._element.nativeElement);\r\n        this._controller.registerChangeDetector(this._changeDetector);\r\n    };\r\n    return SuiTransition;\r\n}());\r\n__decorate([\r\n    Input(),\r\n    __metadata(\"design:type\", TransitionController),\r\n    __metadata(\"design:paramtypes\", [TransitionController])\r\n], SuiTransition.prototype, \"suiTransition\", null);\r\n__decorate([\r\n    HostBinding(\"class.transition\"),\r\n    __metadata(\"design:type\", Boolean)\r\n], SuiTransition.prototype, \"transitionClass\", void 0);\r\n__decorate([\r\n    HostBinding(\"class.visible\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiTransition.prototype, \"isVisible\", null);\r\n__decorate([\r\n    HostBinding(\"class.hidden\"),\r\n    __metadata(\"design:type\", Boolean),\r\n    __metadata(\"design:paramtypes\", [])\r\n], SuiTransition.prototype, \"isHidden\", null);\r\nSuiTransition = __decorate([\r\n    Directive({\r\n        selector: \"[suiTransition]\",\r\n        exportAs: \"transition\"\r\n    }),\r\n    __metadata(\"design:paramtypes\", [Renderer2, ElementRef, ChangeDetectorRef])\r\n], SuiTransition);\r\nexport { SuiTransition };\r\n//# sourceMappingURL=transition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/transition/directives/transition.js\n// module id = 647\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/base64/index.js\n// module id = 648\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/credit-card/index.js\n// module id = 649\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/date-ios/index.js\n// module id = 650\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/date/index.js\n// module id = 651\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/digits/index.js\n// module id = 652\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/email/index.js\n// module id = 653\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/equal-to/index.js\n// module id = 654\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/equal/index.js\n// module id = 655\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/greater-than-equal/index.js\n// module id = 656\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/greater-than/index.js\n// module id = 657\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/json/index.js\n// module id = 658\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/less-than-equal/index.js\n// module id = 659\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/less-than/index.js\n// module id = 660\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/max-date/index.js\n// module id = 661\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/max/index.js\n// module id = 662\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/min-date/index.js\n// module id = 663\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/min/index.js\n// module id = 664\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/not-equal-to/index.js\n// module id = 665\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/not-equal/index.js\n// module id = 666\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/number/index.js\n// module id = 667\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/phone/index.js\n// module id = 668\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/range-length/index.js\n// module id = 669\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/range/index.js\n// module id = 670\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/url/index.js\n// module id = 671\n// module chunks = 3","\"use strict\";\r\nfunction __export(m) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(require(\"./directive\"));\r\n__export(require(\"./validator\"));\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/uuid/index.js\n// module id = 672\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar from_1 = require('../../observable/from');\r\nObservable_1.Observable.from = from_1.from;\r\n//# sourceMappingURL=from.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/from.js\n// module id = 675\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar fromEvent_1 = require('../../observable/fromEvent');\r\nObservable_1.Observable.fromEvent = fromEvent_1.fromEvent;\r\n//# sourceMappingURL=fromEvent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/fromEvent.js\n// module id = 676\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar of_1 = require('../../observable/of');\r\nObservable_1.Observable.of = of_1.of;\r\n//# sourceMappingURL=of.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/of.js\n// module id = 677\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar debounceTime_1 = require('../../operator/debounceTime');\r\nObservable_1.Observable.prototype.debounceTime = debounceTime_1.debounceTime;\r\n//# sourceMappingURL=debounceTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/debounceTime.js\n// module id = 678\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar filter_1 = require('../../operator/filter');\r\nObservable_1.Observable.prototype.filter = filter_1.filter;\r\n//# sourceMappingURL=filter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/filter.js\n// module id = 679\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar throttleTime_1 = require('../../operator/throttleTime');\r\nObservable_1.Observable.prototype.throttleTime = throttleTime_1.throttleTime;\r\n//# sourceMappingURL=throttleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/throttleTime.js\n// module id = 680\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar toArray_1 = require('../../operator/toArray');\r\nObservable_1.Observable.prototype.toArray = toArray_1.toArray;\r\n//# sourceMappingURL=toArray.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/toArray.js\n// module id = 681\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar root_1 = require('../../util/root');\r\nvar tryCatch_1 = require('../../util/tryCatch');\r\nvar errorObject_1 = require('../../util/errorObject');\r\nvar Observable_1 = require('../../Observable');\r\nvar Subscriber_1 = require('../../Subscriber');\r\nvar map_1 = require('../../operator/map');\r\nfunction getCORSRequest() {\r\n    if (root_1.root.XMLHttpRequest) {\r\n        var xhr = new root_1.root.XMLHttpRequest();\r\n        if ('withCredentials' in xhr) {\r\n            xhr.withCredentials = !!this.withCredentials;\r\n        }\r\n        return xhr;\r\n    }\r\n    else if (!!root_1.root.XDomainRequest) {\r\n        return new root_1.root.XDomainRequest();\r\n    }\r\n    else {\r\n        throw new Error('CORS is not supported by your browser');\r\n    }\r\n}\r\nfunction getXMLHttpRequest() {\r\n    if (root_1.root.XMLHttpRequest) {\r\n        return new root_1.root.XMLHttpRequest();\r\n    }\r\n    else {\r\n        var progId = void 0;\r\n        try {\r\n            var progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\r\n            for (var i = 0; i < 3; i++) {\r\n                try {\r\n                    progId = progIds[i];\r\n                    if (new root_1.root.ActiveXObject(progId)) {\r\n                        break;\r\n                    }\r\n                }\r\n                catch (e) {\r\n                }\r\n            }\r\n            return new root_1.root.ActiveXObject(progId);\r\n        }\r\n        catch (e) {\r\n            throw new Error('XMLHttpRequest is not supported by your browser');\r\n        }\r\n    }\r\n}\r\nfunction ajaxGet(url, headers) {\r\n    if (headers === void 0) { headers = null; }\r\n    return new AjaxObservable({ method: 'GET', url: url, headers: headers });\r\n}\r\nexports.ajaxGet = ajaxGet;\r\n;\r\nfunction ajaxPost(url, body, headers) {\r\n    return new AjaxObservable({ method: 'POST', url: url, body: body, headers: headers });\r\n}\r\nexports.ajaxPost = ajaxPost;\r\n;\r\nfunction ajaxDelete(url, headers) {\r\n    return new AjaxObservable({ method: 'DELETE', url: url, headers: headers });\r\n}\r\nexports.ajaxDelete = ajaxDelete;\r\n;\r\nfunction ajaxPut(url, body, headers) {\r\n    return new AjaxObservable({ method: 'PUT', url: url, body: body, headers: headers });\r\n}\r\nexports.ajaxPut = ajaxPut;\r\n;\r\nfunction ajaxGetJSON(url, headers) {\r\n    return new AjaxObservable({ method: 'GET', url: url, responseType: 'json', headers: headers })\r\n        .lift(new map_1.MapOperator(function (x, index) { return x.response; }, null));\r\n}\r\nexports.ajaxGetJSON = ajaxGetJSON;\r\n;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar AjaxObservable = (function (_super) {\r\n    __extends(AjaxObservable, _super);\r\n    function AjaxObservable(urlOrRequest) {\r\n        _super.call(this);\r\n        var request = {\r\n            async: true,\r\n            createXHR: function () {\r\n                return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest();\r\n            },\r\n            crossDomain: false,\r\n            withCredentials: false,\r\n            headers: {},\r\n            method: 'GET',\r\n            responseType: 'json',\r\n            timeout: 0\r\n        };\r\n        if (typeof urlOrRequest === 'string') {\r\n            request.url = urlOrRequest;\r\n        }\r\n        else {\r\n            for (var prop in urlOrRequest) {\r\n                if (urlOrRequest.hasOwnProperty(prop)) {\r\n                    request[prop] = urlOrRequest[prop];\r\n                }\r\n            }\r\n        }\r\n        this.request = request;\r\n    }\r\n    AjaxObservable.prototype._subscribe = function (subscriber) {\r\n        return new AjaxSubscriber(subscriber, this.request);\r\n    };\r\n    /**\r\n     * Creates an observable for an Ajax request with either a request object with\r\n     * url, headers, etc or a string for a URL.\r\n     *\r\n     * @example\r\n     * source = Rx.Observable.ajax('/products');\r\n     * source = Rx.Observable.ajax({ url: 'products', method: 'GET' });\r\n     *\r\n     * @param {string|Object} request Can be one of the following:\r\n     *   A string of the URL to make the Ajax call.\r\n     *   An object with the following properties\r\n     *   - url: URL of the request\r\n     *   - body: The body of the request\r\n     *   - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE\r\n     *   - async: Whether the request is async\r\n     *   - headers: Optional headers\r\n     *   - crossDomain: true if a cross domain request, else false\r\n     *   - createXHR: a function to override if you need to use an alternate\r\n     *   XMLHttpRequest implementation.\r\n     *   - resultSelector: a function to use to alter the output value type of\r\n     *   the Observable. Gets {@link AjaxResponse} as an argument.\r\n     * @return {Observable} An observable sequence containing the XMLHttpRequest.\r\n     * @static true\r\n     * @name ajax\r\n     * @owner Observable\r\n    */\r\n    AjaxObservable.create = (function () {\r\n        var create = function (urlOrRequest) {\r\n            return new AjaxObservable(urlOrRequest);\r\n        };\r\n        create.get = ajaxGet;\r\n        create.post = ajaxPost;\r\n        create.delete = ajaxDelete;\r\n        create.put = ajaxPut;\r\n        create.getJSON = ajaxGetJSON;\r\n        return create;\r\n    })();\r\n    return AjaxObservable;\r\n}(Observable_1.Observable));\r\nexports.AjaxObservable = AjaxObservable;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar AjaxSubscriber = (function (_super) {\r\n    __extends(AjaxSubscriber, _super);\r\n    function AjaxSubscriber(destination, request) {\r\n        _super.call(this, destination);\r\n        this.request = request;\r\n        this.done = false;\r\n        var headers = request.headers = request.headers || {};\r\n        // force CORS if requested\r\n        if (!request.crossDomain && !headers['X-Requested-With']) {\r\n            headers['X-Requested-With'] = 'XMLHttpRequest';\r\n        }\r\n        // ensure content type is set\r\n        if (!('Content-Type' in headers) && !(root_1.root.FormData && request.body instanceof root_1.root.FormData) && typeof request.body !== 'undefined') {\r\n            headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\r\n        }\r\n        // properly serialize body\r\n        request.body = this.serializeBody(request.body, request.headers['Content-Type']);\r\n        this.send();\r\n    }\r\n    AjaxSubscriber.prototype.next = function (e) {\r\n        this.done = true;\r\n        var _a = this, xhr = _a.xhr, request = _a.request, destination = _a.destination;\r\n        var response = new AjaxResponse(e, xhr, request);\r\n        destination.next(response);\r\n    };\r\n    AjaxSubscriber.prototype.send = function () {\r\n        var _a = this, request = _a.request, _b = _a.request, user = _b.user, method = _b.method, url = _b.url, async = _b.async, password = _b.password, headers = _b.headers, body = _b.body;\r\n        var createXHR = request.createXHR;\r\n        var xhr = tryCatch_1.tryCatch(createXHR).call(request);\r\n        if (xhr === errorObject_1.errorObject) {\r\n            this.error(errorObject_1.errorObject.e);\r\n        }\r\n        else {\r\n            this.xhr = xhr;\r\n            // set up the events before open XHR\r\n            // https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest\r\n            // You need to add the event listeners before calling open() on the request.\r\n            // Otherwise the progress events will not fire.\r\n            this.setupEvents(xhr, request);\r\n            // open XHR\r\n            var result = void 0;\r\n            if (user) {\r\n                result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async, user, password);\r\n            }\r\n            else {\r\n                result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async);\r\n            }\r\n            if (result === errorObject_1.errorObject) {\r\n                this.error(errorObject_1.errorObject.e);\r\n                return null;\r\n            }\r\n            // timeout and responseType can be set once the XHR is open\r\n            xhr.timeout = request.timeout;\r\n            xhr.responseType = request.responseType;\r\n            // set headers\r\n            this.setHeaders(xhr, headers);\r\n            // finally send the request\r\n            result = body ? tryCatch_1.tryCatch(xhr.send).call(xhr, body) : tryCatch_1.tryCatch(xhr.send).call(xhr);\r\n            if (result === errorObject_1.errorObject) {\r\n                this.error(errorObject_1.errorObject.e);\r\n                return null;\r\n            }\r\n        }\r\n        return xhr;\r\n    };\r\n    AjaxSubscriber.prototype.serializeBody = function (body, contentType) {\r\n        if (!body || typeof body === 'string') {\r\n            return body;\r\n        }\r\n        else if (root_1.root.FormData && body instanceof root_1.root.FormData) {\r\n            return body;\r\n        }\r\n        if (contentType) {\r\n            var splitIndex = contentType.indexOf(';');\r\n            if (splitIndex !== -1) {\r\n                contentType = contentType.substring(0, splitIndex);\r\n            }\r\n        }\r\n        switch (contentType) {\r\n            case 'application/x-www-form-urlencoded':\r\n                return Object.keys(body).map(function (key) { return (encodeURI(key) + \"=\" + encodeURI(body[key])); }).join('&');\r\n            case 'application/json':\r\n                return JSON.stringify(body);\r\n            default:\r\n                return body;\r\n        }\r\n    };\r\n    AjaxSubscriber.prototype.setHeaders = function (xhr, headers) {\r\n        for (var key in headers) {\r\n            if (headers.hasOwnProperty(key)) {\r\n                xhr.setRequestHeader(key, headers[key]);\r\n            }\r\n        }\r\n    };\r\n    AjaxSubscriber.prototype.setupEvents = function (xhr, request) {\r\n        var progressSubscriber = request.progressSubscriber;\r\n        function xhrTimeout(e) {\r\n            var _a = xhrTimeout, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\r\n            if (progressSubscriber) {\r\n                progressSubscriber.error(e);\r\n            }\r\n            subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer.\r\n        }\r\n        ;\r\n        xhr.ontimeout = xhrTimeout;\r\n        xhrTimeout.request = request;\r\n        xhrTimeout.subscriber = this;\r\n        xhrTimeout.progressSubscriber = progressSubscriber;\r\n        if (xhr.upload && 'withCredentials' in xhr) {\r\n            if (progressSubscriber) {\r\n                var xhrProgress_1;\r\n                xhrProgress_1 = function (e) {\r\n                    var progressSubscriber = xhrProgress_1.progressSubscriber;\r\n                    progressSubscriber.next(e);\r\n                };\r\n                if (root_1.root.XDomainRequest) {\r\n                    xhr.onprogress = xhrProgress_1;\r\n                }\r\n                else {\r\n                    xhr.upload.onprogress = xhrProgress_1;\r\n                }\r\n                xhrProgress_1.progressSubscriber = progressSubscriber;\r\n            }\r\n            var xhrError_1;\r\n            xhrError_1 = function (e) {\r\n                var _a = xhrError_1, progressSubscriber = _a.progressSubscriber, subscriber = _a.subscriber, request = _a.request;\r\n                if (progressSubscriber) {\r\n                    progressSubscriber.error(e);\r\n                }\r\n                subscriber.error(new AjaxError('ajax error', this, request));\r\n            };\r\n            xhr.onerror = xhrError_1;\r\n            xhrError_1.request = request;\r\n            xhrError_1.subscriber = this;\r\n            xhrError_1.progressSubscriber = progressSubscriber;\r\n        }\r\n        function xhrReadyStateChange(e) {\r\n            var _a = xhrReadyStateChange, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\r\n            if (this.readyState === 4) {\r\n                // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\r\n                var status_1 = this.status === 1223 ? 204 : this.status;\r\n                var response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response);\r\n                // fix status code when it is 0 (0 status is undocumented).\r\n                // Occurs when accessing file resources or on Android 4.1 stock browser\r\n                // while retrieving files from application cache.\r\n                if (status_1 === 0) {\r\n                    status_1 = response ? 200 : 0;\r\n                }\r\n                if (200 <= status_1 && status_1 < 300) {\r\n                    if (progressSubscriber) {\r\n                        progressSubscriber.complete();\r\n                    }\r\n                    subscriber.next(e);\r\n                    subscriber.complete();\r\n                }\r\n                else {\r\n                    if (progressSubscriber) {\r\n                        progressSubscriber.error(e);\r\n                    }\r\n                    subscriber.error(new AjaxError('ajax error ' + status_1, this, request));\r\n                }\r\n            }\r\n        }\r\n        ;\r\n        xhr.onreadystatechange = xhrReadyStateChange;\r\n        xhrReadyStateChange.subscriber = this;\r\n        xhrReadyStateChange.progressSubscriber = progressSubscriber;\r\n        xhrReadyStateChange.request = request;\r\n    };\r\n    AjaxSubscriber.prototype.unsubscribe = function () {\r\n        var _a = this, done = _a.done, xhr = _a.xhr;\r\n        if (!done && xhr && xhr.readyState !== 4 && typeof xhr.abort === 'function') {\r\n            xhr.abort();\r\n        }\r\n        _super.prototype.unsubscribe.call(this);\r\n    };\r\n    return AjaxSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nexports.AjaxSubscriber = AjaxSubscriber;\r\n/**\r\n * A normalized AJAX response.\r\n *\r\n * @see {@link ajax}\r\n *\r\n * @class AjaxResponse\r\n */\r\nvar AjaxResponse = (function () {\r\n    function AjaxResponse(originalEvent, xhr, request) {\r\n        this.originalEvent = originalEvent;\r\n        this.xhr = xhr;\r\n        this.request = request;\r\n        this.status = xhr.status;\r\n        this.responseType = xhr.responseType || request.responseType;\r\n        switch (this.responseType) {\r\n            case 'json':\r\n                if ('response' in xhr) {\r\n                    //IE does not support json as responseType, parse it internally\r\n                    this.response = xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');\r\n                }\r\n                else {\r\n                    this.response = JSON.parse(xhr.responseText || 'null');\r\n                }\r\n                break;\r\n            case 'xml':\r\n                this.response = xhr.responseXML;\r\n                break;\r\n            case 'text':\r\n            default:\r\n                this.response = ('response' in xhr) ? xhr.response : xhr.responseText;\r\n                break;\r\n        }\r\n    }\r\n    return AjaxResponse;\r\n}());\r\nexports.AjaxResponse = AjaxResponse;\r\n/**\r\n * A normalized AJAX error.\r\n *\r\n * @see {@link ajax}\r\n *\r\n * @class AjaxError\r\n */\r\nvar AjaxError = (function (_super) {\r\n    __extends(AjaxError, _super);\r\n    function AjaxError(message, xhr, request) {\r\n        _super.call(this, message);\r\n        this.message = message;\r\n        this.xhr = xhr;\r\n        this.request = request;\r\n        this.status = xhr.status;\r\n    }\r\n    return AjaxError;\r\n}(Error));\r\nexports.AjaxError = AjaxError;\r\n/**\r\n * @see {@link ajax}\r\n *\r\n * @class AjaxTimeoutError\r\n */\r\nvar AjaxTimeoutError = (function (_super) {\r\n    __extends(AjaxTimeoutError, _super);\r\n    function AjaxTimeoutError(xhr, request) {\r\n        _super.call(this, 'ajax timeout', xhr, request);\r\n    }\r\n    return AjaxTimeoutError;\r\n}(AjaxError));\r\nexports.AjaxTimeoutError = AjaxTimeoutError;\r\n//# sourceMappingURL=AjaxObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/dom/AjaxObservable.js\n// module id = 685\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\r\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\r\n * If a comparator function is not provided, an equality check is used by default.\r\n * @param {function} [compare] optional comparison function called to test if an item is distinct from the previous item in the source.\r\n * @return {Observable} an Observable that emits items from the source Observable with distinct values.\r\n * @method distinctUntilChanged\r\n * @owner Observable\r\n */\r\nfunction distinctUntilChanged(compare, keySelector) {\r\n    return this.lift(new DistinctUntilChangedOperator(compare, keySelector));\r\n}\r\nexports.distinctUntilChanged = distinctUntilChanged;\r\nvar DistinctUntilChangedOperator = (function () {\r\n    function DistinctUntilChangedOperator(compare, keySelector) {\r\n        this.compare = compare;\r\n        this.keySelector = keySelector;\r\n    }\r\n    DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\r\n    };\r\n    return DistinctUntilChangedOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DistinctUntilChangedSubscriber = (function (_super) {\r\n    __extends(DistinctUntilChangedSubscriber, _super);\r\n    function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\r\n        _super.call(this, destination);\r\n        this.keySelector = keySelector;\r\n        this.hasKey = false;\r\n        if (typeof compare === 'function') {\r\n            this.compare = compare;\r\n        }\r\n    }\r\n    DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\r\n        return x === y;\r\n    };\r\n    DistinctUntilChangedSubscriber.prototype._next = function (value) {\r\n        var keySelector = this.keySelector;\r\n        var key = value;\r\n        if (keySelector) {\r\n            key = tryCatch_1.tryCatch(this.keySelector)(value);\r\n            if (key === errorObject_1.errorObject) {\r\n                return this.destination.error(errorObject_1.errorObject.e);\r\n            }\r\n        }\r\n        var result = false;\r\n        if (this.hasKey) {\r\n            result = tryCatch_1.tryCatch(this.compare)(this.key, key);\r\n            if (result === errorObject_1.errorObject) {\r\n                return this.destination.error(errorObject_1.errorObject.e);\r\n            }\r\n        }\r\n        else {\r\n            this.hasKey = true;\r\n        }\r\n        if (Boolean(result) === false) {\r\n            this.key = key;\r\n            this.destination.next(value);\r\n        }\r\n    };\r\n    return DistinctUntilChangedSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=distinctUntilChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/distinctUntilChanged.js\n// module id = 691\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Emits only the first value emitted by the source Observable that meets some\r\n * condition.\r\n *\r\n * <span class=\"informal\">Finds the first value that passes some test and emits\r\n * that.</span>\r\n *\r\n * <img src=\"./img/find.png\" width=\"100%\">\r\n *\r\n * `find` searches for the first item in the source Observable that matches the\r\n * specified condition embodied by the `predicate`, and returns the first\r\n * occurrence in the source. Unlike {@link first}, the `predicate` is required\r\n * in `find`, and does not emit an error if a valid value is not found.\r\n *\r\n * @example <caption>Find and emit the first click that happens on a DIV element</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.find(ev => ev.target.tagName === 'DIV');\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link filter}\r\n * @see {@link first}\r\n * @see {@link findIndex}\r\n * @see {@link take}\r\n *\r\n * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate\r\n * A function called with each item to test for condition matching.\r\n * @param {any} [thisArg] An optional argument to determine the value of `this`\r\n * in the `predicate` function.\r\n * @return {Observable<T>} An Observable of the first item that matches the\r\n * condition.\r\n * @method find\r\n * @owner Observable\r\n */\r\nfunction find(predicate, thisArg) {\r\n    if (typeof predicate !== 'function') {\r\n        throw new TypeError('predicate is not a function');\r\n    }\r\n    return this.lift(new FindValueOperator(predicate, this, false, thisArg));\r\n}\r\nexports.find = find;\r\nvar FindValueOperator = (function () {\r\n    function FindValueOperator(predicate, source, yieldIndex, thisArg) {\r\n        this.predicate = predicate;\r\n        this.source = source;\r\n        this.yieldIndex = yieldIndex;\r\n        this.thisArg = thisArg;\r\n    }\r\n    FindValueOperator.prototype.call = function (observer, source) {\r\n        return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\r\n    };\r\n    return FindValueOperator;\r\n}());\r\nexports.FindValueOperator = FindValueOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar FindValueSubscriber = (function (_super) {\r\n    __extends(FindValueSubscriber, _super);\r\n    function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\r\n        _super.call(this, destination);\r\n        this.predicate = predicate;\r\n        this.source = source;\r\n        this.yieldIndex = yieldIndex;\r\n        this.thisArg = thisArg;\r\n        this.index = 0;\r\n    }\r\n    FindValueSubscriber.prototype.notifyComplete = function (value) {\r\n        var destination = this.destination;\r\n        destination.next(value);\r\n        destination.complete();\r\n    };\r\n    FindValueSubscriber.prototype._next = function (value) {\r\n        var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\r\n        var index = this.index++;\r\n        try {\r\n            var result = predicate.call(thisArg || this, value, index, this.source);\r\n            if (result) {\r\n                this.notifyComplete(this.yieldIndex ? index : value);\r\n            }\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n        }\r\n    };\r\n    FindValueSubscriber.prototype._complete = function () {\r\n        this.notifyComplete(this.yieldIndex ? -1 : undefined);\r\n    };\r\n    return FindValueSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nexports.FindValueSubscriber = FindValueSubscriber;\r\n//# sourceMappingURL=find.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/find.js\n// module id = 693\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Projects each source value to the same Observable which is merged multiple\r\n * times in the output Observable.\r\n *\r\n * <span class=\"informal\">It's like {@link mergeMap}, but maps each value always\r\n * to the same inner Observable.</span>\r\n *\r\n * <img src=\"./img/mergeMapTo.png\" width=\"100%\">\r\n *\r\n * Maps each source value to the given Observable `innerObservable` regardless\r\n * of the source value, and then merges those resulting Observables into one\r\n * single Observable, which is the output Observable.\r\n *\r\n * @example <caption>For each click event, start an interval Observable ticking every 1 second</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.mergeMapTo(Rx.Observable.interval(1000));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link concatMapTo}\r\n * @see {@link merge}\r\n * @see {@link mergeAll}\r\n * @see {@link mergeMap}\r\n * @see {@link mergeScan}\r\n * @see {@link switchMapTo}\r\n *\r\n * @param {Observable} innerObservable An Observable to replace each value from\r\n * the source Observable.\r\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\r\n * A function to produce the value on the output Observable based on the values\r\n * and the indices of the source (outer) emission and the inner Observable\r\n * emission. The arguments passed to this function are:\r\n * - `outerValue`: the value that came from the source\r\n * - `innerValue`: the value that came from the projected Observable\r\n * - `outerIndex`: the \"index\" of the value that came from the source\r\n * - `innerIndex`: the \"index\" of the value from the projected Observable\r\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\r\n * Observables being subscribed to concurrently.\r\n * @return {Observable} An Observable that emits items from the given\r\n * `innerObservable` (and optionally transformed through `resultSelector`) every\r\n * time a value is emitted on the source Observable.\r\n * @method mergeMapTo\r\n * @owner Observable\r\n */\r\nfunction mergeMapTo(innerObservable, resultSelector, concurrent) {\r\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\r\n    if (typeof resultSelector === 'number') {\r\n        concurrent = resultSelector;\r\n        resultSelector = null;\r\n    }\r\n    return this.lift(new MergeMapToOperator(innerObservable, resultSelector, concurrent));\r\n}\r\nexports.mergeMapTo = mergeMapTo;\r\n// TODO: Figure out correct signature here: an Operator<Observable<T>, R>\r\n//       needs to implement call(observer: Subscriber<R>): Subscriber<Observable<T>>\r\nvar MergeMapToOperator = (function () {\r\n    function MergeMapToOperator(ish, resultSelector, concurrent) {\r\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\r\n        this.ish = ish;\r\n        this.resultSelector = resultSelector;\r\n        this.concurrent = concurrent;\r\n    }\r\n    MergeMapToOperator.prototype.call = function (observer, source) {\r\n        return source.subscribe(new MergeMapToSubscriber(observer, this.ish, this.resultSelector, this.concurrent));\r\n    };\r\n    return MergeMapToOperator;\r\n}());\r\nexports.MergeMapToOperator = MergeMapToOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar MergeMapToSubscriber = (function (_super) {\r\n    __extends(MergeMapToSubscriber, _super);\r\n    function MergeMapToSubscriber(destination, ish, resultSelector, concurrent) {\r\n        if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\r\n        _super.call(this, destination);\r\n        this.ish = ish;\r\n        this.resultSelector = resultSelector;\r\n        this.concurrent = concurrent;\r\n        this.hasCompleted = false;\r\n        this.buffer = [];\r\n        this.active = 0;\r\n        this.index = 0;\r\n    }\r\n    MergeMapToSubscriber.prototype._next = function (value) {\r\n        if (this.active < this.concurrent) {\r\n            var resultSelector = this.resultSelector;\r\n            var index = this.index++;\r\n            var ish = this.ish;\r\n            var destination = this.destination;\r\n            this.active++;\r\n            this._innerSub(ish, destination, resultSelector, value, index);\r\n        }\r\n        else {\r\n            this.buffer.push(value);\r\n        }\r\n    };\r\n    MergeMapToSubscriber.prototype._innerSub = function (ish, destination, resultSelector, value, index) {\r\n        this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\r\n    };\r\n    MergeMapToSubscriber.prototype._complete = function () {\r\n        this.hasCompleted = true;\r\n        if (this.active === 0 && this.buffer.length === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    MergeMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\r\n        if (resultSelector) {\r\n            this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\r\n        }\r\n        else {\r\n            destination.next(innerValue);\r\n        }\r\n    };\r\n    MergeMapToSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\r\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\r\n        var result;\r\n        try {\r\n            result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\r\n        }\r\n        catch (err) {\r\n            destination.error(err);\r\n            return;\r\n        }\r\n        destination.next(result);\r\n    };\r\n    MergeMapToSubscriber.prototype.notifyError = function (err) {\r\n        this.destination.error(err);\r\n    };\r\n    MergeMapToSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        var buffer = this.buffer;\r\n        this.remove(innerSub);\r\n        this.active--;\r\n        if (buffer.length > 0) {\r\n            this._next(buffer.shift());\r\n        }\r\n        else if (this.active === 0 && this.hasCompleted) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return MergeMapToSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\nexports.MergeMapToSubscriber = MergeMapToSubscriber;\r\n//# sourceMappingURL=mergeMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/mergeMapTo.js\n// module id = 697\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar FromObservable_1 = require('../observable/FromObservable');\r\nvar isArray_1 = require('../util/isArray');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\nfunction onErrorResumeNext() {\r\n    var nextSources = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        nextSources[_i - 0] = arguments[_i];\r\n    }\r\n    if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\r\n        nextSources = nextSources[0];\r\n    }\r\n    return this.lift(new OnErrorResumeNextOperator(nextSources));\r\n}\r\nexports.onErrorResumeNext = onErrorResumeNext;\r\n/* tslint:enable:max-line-length */\r\nfunction onErrorResumeNextStatic() {\r\n    var nextSources = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        nextSources[_i - 0] = arguments[_i];\r\n    }\r\n    var source = null;\r\n    if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\r\n        nextSources = nextSources[0];\r\n    }\r\n    source = nextSources.shift();\r\n    return new FromObservable_1.FromObservable(source, null).lift(new OnErrorResumeNextOperator(nextSources));\r\n}\r\nexports.onErrorResumeNextStatic = onErrorResumeNextStatic;\r\nvar OnErrorResumeNextOperator = (function () {\r\n    function OnErrorResumeNextOperator(nextSources) {\r\n        this.nextSources = nextSources;\r\n    }\r\n    OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\r\n    };\r\n    return OnErrorResumeNextOperator;\r\n}());\r\nvar OnErrorResumeNextSubscriber = (function (_super) {\r\n    __extends(OnErrorResumeNextSubscriber, _super);\r\n    function OnErrorResumeNextSubscriber(destination, nextSources) {\r\n        _super.call(this, destination);\r\n        this.destination = destination;\r\n        this.nextSources = nextSources;\r\n    }\r\n    OnErrorResumeNextSubscriber.prototype.notifyError = function (error, innerSub) {\r\n        this.subscribeToNextSource();\r\n    };\r\n    OnErrorResumeNextSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this.subscribeToNextSource();\r\n    };\r\n    OnErrorResumeNextSubscriber.prototype._error = function (err) {\r\n        this.subscribeToNextSource();\r\n    };\r\n    OnErrorResumeNextSubscriber.prototype._complete = function () {\r\n        this.subscribeToNextSource();\r\n    };\r\n    OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\r\n        var next = this.nextSources.shift();\r\n        if (next) {\r\n            this.add(subscribeToResult_1.subscribeToResult(this, next));\r\n        }\r\n        else {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return OnErrorResumeNextSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=onErrorResumeNext.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/onErrorResumeNext.js\n// module id = 698\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar isArray_1 = require('../util/isArray');\r\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Returns an Observable that mirrors the first source Observable to emit an item\r\n * from the combination of this Observable and supplied Observables\r\n * @param {...Observables} ...observables sources used to race for which Observable emits first.\r\n * @return {Observable} an Observable that mirrors the output of the first Observable to emit an item.\r\n * @method race\r\n * @owner Observable\r\n */\r\nfunction race() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    // if the only argument is an array, it was most likely called with\r\n    // `pair([obs1, obs2, ...])`\r\n    if (observables.length === 1 && isArray_1.isArray(observables[0])) {\r\n        observables = observables[0];\r\n    }\r\n    return this.lift.call(raceStatic.apply(void 0, [this].concat(observables)));\r\n}\r\nexports.race = race;\r\nfunction raceStatic() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    // if the only argument is an array, it was most likely called with\r\n    // `pair([obs1, obs2, ...])`\r\n    if (observables.length === 1) {\r\n        if (isArray_1.isArray(observables[0])) {\r\n            observables = observables[0];\r\n        }\r\n        else {\r\n            return observables[0];\r\n        }\r\n    }\r\n    return new ArrayObservable_1.ArrayObservable(observables).lift(new RaceOperator());\r\n}\r\nexports.raceStatic = raceStatic;\r\nvar RaceOperator = (function () {\r\n    function RaceOperator() {\r\n    }\r\n    RaceOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new RaceSubscriber(subscriber));\r\n    };\r\n    return RaceOperator;\r\n}());\r\nexports.RaceOperator = RaceOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar RaceSubscriber = (function (_super) {\r\n    __extends(RaceSubscriber, _super);\r\n    function RaceSubscriber(destination) {\r\n        _super.call(this, destination);\r\n        this.hasFirst = false;\r\n        this.observables = [];\r\n        this.subscriptions = [];\r\n    }\r\n    RaceSubscriber.prototype._next = function (observable) {\r\n        this.observables.push(observable);\r\n    };\r\n    RaceSubscriber.prototype._complete = function () {\r\n        var observables = this.observables;\r\n        var len = observables.length;\r\n        if (len === 0) {\r\n            this.destination.complete();\r\n        }\r\n        else {\r\n            for (var i = 0; i < len && !this.hasFirst; i++) {\r\n                var observable = observables[i];\r\n                var subscription = subscribeToResult_1.subscribeToResult(this, observable, observable, i);\r\n                if (this.subscriptions) {\r\n                    this.subscriptions.push(subscription);\r\n                }\r\n                this.add(subscription);\r\n            }\r\n            this.observables = null;\r\n        }\r\n    };\r\n    RaceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        if (!this.hasFirst) {\r\n            this.hasFirst = true;\r\n            for (var i = 0; i < this.subscriptions.length; i++) {\r\n                if (i !== outerIndex) {\r\n                    var subscription = this.subscriptions[i];\r\n                    subscription.unsubscribe();\r\n                    this.remove(subscription);\r\n                }\r\n            }\r\n            this.subscriptions = null;\r\n        }\r\n        this.destination.next(innerValue);\r\n    };\r\n    return RaceSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\nexports.RaceSubscriber = RaceSubscriber;\r\n//# sourceMappingURL=race.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/race.js\n// module id = 699\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar async_1 = require('../scheduler/async');\r\n/**\r\n * @param scheduler\r\n * @return {Observable<TimeInterval<any>>|WebSocketSubject<T>|Observable<T>}\r\n * @method timeInterval\r\n * @owner Observable\r\n */\r\nfunction timeInterval(scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    return this.lift(new TimeIntervalOperator(scheduler));\r\n}\r\nexports.timeInterval = timeInterval;\r\nvar TimeInterval = (function () {\r\n    function TimeInterval(value, interval) {\r\n        this.value = value;\r\n        this.interval = interval;\r\n    }\r\n    return TimeInterval;\r\n}());\r\nexports.TimeInterval = TimeInterval;\r\n;\r\nvar TimeIntervalOperator = (function () {\r\n    function TimeIntervalOperator(scheduler) {\r\n        this.scheduler = scheduler;\r\n    }\r\n    TimeIntervalOperator.prototype.call = function (observer, source) {\r\n        return source.subscribe(new TimeIntervalSubscriber(observer, this.scheduler));\r\n    };\r\n    return TimeIntervalOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar TimeIntervalSubscriber = (function (_super) {\r\n    __extends(TimeIntervalSubscriber, _super);\r\n    function TimeIntervalSubscriber(destination, scheduler) {\r\n        _super.call(this, destination);\r\n        this.scheduler = scheduler;\r\n        this.lastTime = 0;\r\n        this.lastTime = scheduler.now();\r\n    }\r\n    TimeIntervalSubscriber.prototype._next = function (value) {\r\n        var now = this.scheduler.now();\r\n        var span = now - this.lastTime;\r\n        this.lastTime = now;\r\n        this.destination.next(new TimeInterval(value, span));\r\n    };\r\n    return TimeIntervalSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=timeInterval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/timeInterval.js\n// module id = 701\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar async_1 = require('../scheduler/async');\r\n/**\r\n * @param scheduler\r\n * @return {Observable<Timestamp<any>>|WebSocketSubject<T>|Observable<T>}\r\n * @method timestamp\r\n * @owner Observable\r\n */\r\nfunction timestamp(scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    return this.lift(new TimestampOperator(scheduler));\r\n}\r\nexports.timestamp = timestamp;\r\nvar Timestamp = (function () {\r\n    function Timestamp(value, timestamp) {\r\n        this.value = value;\r\n        this.timestamp = timestamp;\r\n    }\r\n    return Timestamp;\r\n}());\r\nexports.Timestamp = Timestamp;\r\n;\r\nvar TimestampOperator = (function () {\r\n    function TimestampOperator(scheduler) {\r\n        this.scheduler = scheduler;\r\n    }\r\n    TimestampOperator.prototype.call = function (observer, source) {\r\n        return source.subscribe(new TimestampSubscriber(observer, this.scheduler));\r\n    };\r\n    return TimestampOperator;\r\n}());\r\nvar TimestampSubscriber = (function (_super) {\r\n    __extends(TimestampSubscriber, _super);\r\n    function TimestampSubscriber(destination, scheduler) {\r\n        _super.call(this, destination);\r\n        this.scheduler = scheduler;\r\n    }\r\n    TimestampSubscriber.prototype._next = function (value) {\r\n        var now = this.scheduler.now();\r\n        this.destination.next(new Timestamp(value, now));\r\n    };\r\n    return TimestampSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=timestamp.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/timestamp.js\n// module id = 702\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar AsyncAction_1 = require('./AsyncAction');\r\nvar AsyncScheduler_1 = require('./AsyncScheduler');\r\nvar VirtualTimeScheduler = (function (_super) {\r\n    __extends(VirtualTimeScheduler, _super);\r\n    function VirtualTimeScheduler(SchedulerAction, maxFrames) {\r\n        var _this = this;\r\n        if (SchedulerAction === void 0) { SchedulerAction = VirtualAction; }\r\n        if (maxFrames === void 0) { maxFrames = Number.POSITIVE_INFINITY; }\r\n        _super.call(this, SchedulerAction, function () { return _this.frame; });\r\n        this.maxFrames = maxFrames;\r\n        this.frame = 0;\r\n        this.index = -1;\r\n    }\r\n    /**\r\n     * Prompt the Scheduler to execute all of its queued actions, therefore\r\n     * clearing its queue.\r\n     * @return {void}\r\n     */\r\n    VirtualTimeScheduler.prototype.flush = function () {\r\n        var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\r\n        var error, action;\r\n        while ((action = actions.shift()) && (this.frame = action.delay) <= maxFrames) {\r\n            if (error = action.execute(action.state, action.delay)) {\r\n                break;\r\n            }\r\n        }\r\n        if (error) {\r\n            while (action = actions.shift()) {\r\n                action.unsubscribe();\r\n            }\r\n            throw error;\r\n        }\r\n    };\r\n    VirtualTimeScheduler.frameTimeFactor = 10;\r\n    return VirtualTimeScheduler;\r\n}(AsyncScheduler_1.AsyncScheduler));\r\nexports.VirtualTimeScheduler = VirtualTimeScheduler;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar VirtualAction = (function (_super) {\r\n    __extends(VirtualAction, _super);\r\n    function VirtualAction(scheduler, work, index) {\r\n        if (index === void 0) { index = scheduler.index += 1; }\r\n        _super.call(this, scheduler, work);\r\n        this.scheduler = scheduler;\r\n        this.work = work;\r\n        this.index = index;\r\n        this.index = scheduler.index = index;\r\n    }\r\n    VirtualAction.prototype.schedule = function (state, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        return !this.id ?\r\n            _super.prototype.schedule.call(this, state, delay) : this.add(new VirtualAction(this.scheduler, this.work)).schedule(state, delay);\r\n    };\r\n    VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        this.delay = scheduler.frame + delay;\r\n        var actions = scheduler.actions;\r\n        actions.push(this);\r\n        actions.sort(VirtualAction.sortActions);\r\n        return true;\r\n    };\r\n    VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        return undefined;\r\n    };\r\n    VirtualAction.sortActions = function (a, b) {\r\n        if (a.delay === b.delay) {\r\n            if (a.index === b.index) {\r\n                return 0;\r\n            }\r\n            else if (a.index > b.index) {\r\n                return 1;\r\n            }\r\n            else {\r\n                return -1;\r\n            }\r\n        }\r\n        else if (a.delay > b.delay) {\r\n            return 1;\r\n        }\r\n        else {\r\n            return -1;\r\n        }\r\n    };\r\n    return VirtualAction;\r\n}(AsyncAction_1.AsyncAction));\r\nexports.VirtualAction = VirtualAction;\r\n//# sourceMappingURL=VirtualTimeScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/VirtualTimeScheduler.js\n// module id = 703\n// module chunks = 3","\"use strict\";\r\nvar AsapAction_1 = require('./AsapAction');\r\nvar AsapScheduler_1 = require('./AsapScheduler');\r\nexports.asap = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);\r\n//# sourceMappingURL=asap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/asap.js\n// module id = 704\n// module chunks = 3","\"use strict\";\r\nvar QueueAction_1 = require('./QueueAction');\r\nvar QueueScheduler_1 = require('./QueueScheduler');\r\nexports.queue = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);\r\n//# sourceMappingURL=queue.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/queue.js\n// module id = 705\n// module chunks = 3","\"use strict\";\r\nvar SubscriptionLog = (function () {\r\n    function SubscriptionLog(subscribedFrame, unsubscribedFrame) {\r\n        if (unsubscribedFrame === void 0) { unsubscribedFrame = Number.POSITIVE_INFINITY; }\r\n        this.subscribedFrame = subscribedFrame;\r\n        this.unsubscribedFrame = unsubscribedFrame;\r\n    }\r\n    return SubscriptionLog;\r\n}());\r\nexports.SubscriptionLog = SubscriptionLog;\r\n//# sourceMappingURL=SubscriptionLog.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/testing/SubscriptionLog.js\n// module id = 706\n// module chunks = 3","\"use strict\";\r\nvar SubscriptionLog_1 = require('./SubscriptionLog');\r\nvar SubscriptionLoggable = (function () {\r\n    function SubscriptionLoggable() {\r\n        this.subscriptions = [];\r\n    }\r\n    SubscriptionLoggable.prototype.logSubscribedFrame = function () {\r\n        this.subscriptions.push(new SubscriptionLog_1.SubscriptionLog(this.scheduler.now()));\r\n        return this.subscriptions.length - 1;\r\n    };\r\n    SubscriptionLoggable.prototype.logUnsubscribedFrame = function (index) {\r\n        var subscriptionLogs = this.subscriptions;\r\n        var oldSubscriptionLog = subscriptionLogs[index];\r\n        subscriptionLogs[index] = new SubscriptionLog_1.SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now());\r\n    };\r\n    return SubscriptionLoggable;\r\n}());\r\nexports.SubscriptionLoggable = SubscriptionLoggable;\r\n//# sourceMappingURL=SubscriptionLoggable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/testing/SubscriptionLoggable.js\n// module id = 707\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\n/**\r\n * An error thrown when duetime elapses.\r\n *\r\n * @see {@link timeout}\r\n *\r\n * @class TimeoutError\r\n */\r\nvar TimeoutError = (function (_super) {\r\n    __extends(TimeoutError, _super);\r\n    function TimeoutError() {\r\n        var err = _super.call(this, 'Timeout has occurred');\r\n        this.name = err.name = 'TimeoutError';\r\n        this.stack = err.stack;\r\n        this.message = err.message;\r\n    }\r\n    return TimeoutError;\r\n}(Error));\r\nexports.TimeoutError = TimeoutError;\r\n//# sourceMappingURL=TimeoutError.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/TimeoutError.js\n// module id = 708\n// module chunks = 3","\"use strict\";\r\nfunction applyMixins(derivedCtor, baseCtors) {\r\n    for (var i = 0, len = baseCtors.length; i < len; i++) {\r\n        var baseCtor = baseCtors[i];\r\n        var propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);\r\n        for (var j = 0, len2 = propertyKeys.length; j < len2; j++) {\r\n            var name_1 = propertyKeys[j];\r\n            derivedCtor.prototype[name_1] = baseCtor.prototype[name_1];\r\n        }\r\n    }\r\n}\r\nexports.applyMixins = applyMixins;\r\n//# sourceMappingURL=applyMixins.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/applyMixins.js\n// module id = 710\n// module chunks = 3","\"use strict\";\r\n/* tslint:disable:no-empty */\r\nfunction noop() { }\r\nexports.noop = noop;\r\n//# sourceMappingURL=noop.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/noop.js\n// module id = 713\n// module chunks = 3","// App\r\nexport * from './app.module';\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/index.ts","import {AfterViewInit, ViewEncapsulation, Component, OnInit, ViewChild, Input, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from '../../app.service';\r\nimport {FormGroup, FormBuilder} from '@angular/forms';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Subject} from 'rxjs/Rx';\r\n\r\nimport {Seguridad} from '../../../entity/seguridad';\r\nimport {Alumno} from './alumno';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'alumno',\r\n    template: require('./alumno.component.html'),\r\n    styles: [require('./../../shared/ld/general.css')],\r\n    providers: [AppState],\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AlumnoComponent implements OnInit, AfterViewInit {\r\n    @Input() seguridad: Seguridad;\r\n    @Input() cicloactual: boolean;\r\n    @Output() output = new EventEmitter();\r\n    @Output() cambio = new EventEmitter();\r\n\r\n    alumno: Alumno = new Alumno();\r\n\r\n    FormBuscarAlumno: FormGroup;\r\n    submittedAlumno: boolean;\r\n\r\n    NivelSelect: any[];\r\n    GradoSelectFull: any[]\r\n    GradoSelect: any[];\r\n    GrupoSelectFull: any[]\r\n    GrupoSelect: any[];\r\n    EstatusSelect: any[];\r\n\r\n    @ViewChild('modal') public modal: ModalDirective;\r\n\r\n    dtOptionsalumno: any = {};\r\n    dtTriggeralumno = new Subject();\r\n    exportar: any;\r\n    public arrayentidadalumno: any[];\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {}\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.dtOptionsalumno = {\r\n            dom: 'Bfrtip',\r\n            buttons: [{\r\n                extend: 'excel',\r\n                title: 'Alumnos',\r\n                exportOptions: {orthogonal: 'sort', columns: [0, 1, 2, 3, 4, 5, 6, 7]}\r\n            }],\r\n            initComplete: () => {\r\n                var botones = $('#tablaConsultaAlumno_wrapper .dt-buttons').hide();\r\n                this.exportar = function () {\r\n                    botones.find('.buttons-excel').click();\r\n                }\r\n            },\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [8], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        this.FormBuscarAlumno = this._fb.group({\r\n            matricula: [],\r\n            nombre: [],\r\n            apellidopaterno: [],\r\n            apellidomaterno: [],\r\n            nivelid: [],\r\n            gradoid: [],\r\n            grupoid: [],\r\n            alumnoestatusid: [],\r\n            cicloactual: [this.cicloactual]\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.datosIniciales();\r\n        this.dtTriggeralumno.next();\r\n        this.modal.show()\r\n    }\r\n\r\n    datosIniciales() {\r\n        this._httpService.getElemento('Alumno').subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.NivelSelect = (result.body.nivel as any[]).filter(x => this.seguridad.nivel.findIndex(y => y == x.nivelid) > -1);\r\n                    this.GradoSelectFull = (result.body.grado as any[]).filter(x => this.seguridad.grado.findIndex(y => y == x.gradoid) > -1);\r\n                    this.GrupoSelectFull = (result.body.grupo as any[]).filter(x => this.seguridad.grado.findIndex(y => y == x.gradoid) > -1);\r\n                    this.EstatusSelect = result.body.estatus;\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    load(id: any) {\r\n        this.FormBuscarAlumno.get('gradoid').setValue(null);\r\n        this.GradoSelect=this.GradoSelectFull.filter(x=>x.nivelid.nivelid==id);\r\n        this.loadGrupo(null);\r\n    }\r\n    loadGrupo(id:any) {\r\n        this.FormBuscarAlumno.get('grupoid').setValue(null);\r\n        this.GrupoSelect=this.GrupoSelectFull.filter(x=>x.gradoid==id);\r\n    }\r\n\r\n    buscarAlumno() {\r\n        this.submittedAlumno = true;\r\n        if (!this.FormBuscarAlumno.get('matricula').value && !this.FormBuscarAlumno.get('apellidopaterno').value && !this.FormBuscarAlumno.get('apellidomaterno').value\r\n            && !this.FormBuscarAlumno.get('nombre').value && !this.FormBuscarAlumno.get('nivelid').value && !this.FormBuscarAlumno.get('gradoid').value\r\n            && !this.FormBuscarAlumno.get('alumnoestatusid').value) {\r\n            return false;\r\n        }\r\n        this.submittedAlumno = false;\r\n\r\n        let data = this.FormBuscarAlumno.value;\r\n        if (!this.FormBuscarAlumno.get('nivelid').value) {\r\n            //data.nivelid = this.NivelSelect.map(function (a) {return a.nivelid});\r\n        } else {\r\n            if (!this.FormBuscarAlumno.get('gradoid').value) {\r\n                //data.gradoid = this.GradoSelect.map(function (a) {return a.gradoid});\r\n            }\r\n        }\r\n\r\n        data = $.param(data);\r\n        //Llamada al servicio get para obtener el array para llenar el grid\r\n        this._httpService.getElemento('Alumno/?' + data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaConsultaAlumno\").dataTable().fnDestroy();\r\n                    this.arrayentidadalumno = result.body;\r\n                    this.dtTriggeralumno.next();\r\n                    this.cambio.next(1);\r\n                } else {\r\n                    $(\"#tablaConsultaAlumno\").dataTable().fnClearTable();\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    cerrar(a: any) {\r\n        if (a)\r\n            this.alumno = {\r\n                alumnoid: a.alumnoid,\r\n                alumnoporcicloid: a.alumnoporcicloid,\r\n                matricula: a.matricula,\r\n                matriculadgb: a.matriculadgb,\r\n                cicloid: a.cicloid,\r\n                nombre: a.primernombre,\r\n                nombrecompleto: a.nombrecompleto,\r\n                apellidopaterno: a.apellidopaterno,\r\n                apellidomaterno: a.apellidomaterno,\r\n                nivelid: a.nivelid,\r\n                nivel: a.nivel,\r\n                gradoid: a.gradoid,\r\n                grado: a.grado,\r\n                grupoid: a.grupoid,\r\n                grupo: a.grupo,\r\n                estatusid: a.alumnoestatusid,\r\n                estatus: a.estatus,\r\n                adeudo: a.adeudo,\r\n                tipobaja: a.tipobaja,\r\n                motivobaja: a.motivobaja,\r\n                tipocobertura: a.tipocobertura,\r\n                custodiapersona: a.tipocobertura,\r\n                custodiaoficio: a.custodiaoficio,\r\n                foto: a.foto\r\n            }\r\n        this.output.next({modal: this.modal, alumno: a ? this.alumno : null});\r\n        this.modal.hide();\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/alumno/alumno.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".center-h{ text-align: center; }\\r\\n.btn.btn-control{\\r\\n\\toverflow: hidden;\\r\\n\\tpadding: 0.3em 1em;\\r\\n\\tcolor: #555;\\r\\n\\tbackground: #d7d7d7;\\r\\n    border: 1px solid #d7d7d7;\\r\\n\\tborder-radius: 0.2em;\\r\\n}\\r\\n.btn.btn-control:hover{\\r\\n\\tbackground: #e0e0e0;\\r\\n}\\r\\n.btn.btn-control i{\\r\\n\\tcolor: #898989;\\r\\n\\tmargin-right: 0.5em;\\r\\n}\\r\\n.btn.btn-control.old{\\r\\n\\tmargin-right: 1em;\\r\\n\\tbackground: #d7d7d7 !important;\\r\\n\\tborder-radius: 1em;\\r\\n\\ttransition: 0.2s ease-out;\\r\\n\\tbox-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12) !important;\\r\\n}\\r\\n.btn.btn-control.old:hover{\\r\\n\\tbox-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15) !important;\\r\\n}\\r\\n.reset-line{ line-height: 1em; }\\r\\n\\r\\n.controls{ text-align: left; }\\r\\n.controls.modal-footer{ display: block; }\\r\\n.controls.right,\\r\\n.module-filter .controls{ text-align: right;}\\r\\n.controls button{ margin-right: 1em; }\\r\\n.controls.right button:not(.form-group),\\r\\n.module-filter .controls button:not(.form-group){ margin: 0em; margin-left: 1em; }\\r\\n.controls.modal-global{ position: fixed; left: 0; right: 0; padding: 0.5em 0em; padding-right: 3em; background: #242424; bottom: 0; }\\r\\n\\r\\ntable thead{ color: #fff; }\\r\\ntable th{ border-bottom-width: 0px; }\\r\\ntable th,\\r\\ntable td{ text-align: center; vertical-align: middle; }\\r\\n.ldtable thead:first-child > tr:first-child > th:first-child{ border-top-left-radius: 10px; }\\r\\n.ldtable thead:first-child > tr:first-child > th:last-child{ border-top-right-radius: 10px; }\\r\\n\\r\\nsui-select{ width: 100%; }\\r\\n.inputSz{ padding: 0.6em; display: block; }\\r\\n.inputSz.MaterialLabel{ top: 29px; left: 0.6em; line-height: 1em; font-size: 0.9em; }\\r\\n.inputSz:not(.slim){ padding: 11px 0.6em; }\\r\\n.inputSz:not(.ntitle):not(.slim){ padding-top: 29px; }\\r\\n.inputSz:focus~.MaterialLabel,\\r\\n.inputSz:valid~.MaterialLabel{ color: #000; top: 5px; }\\r\\n\\r\\ntextarea{ border-bottom: 1px solid #757575 }\\r\\n\\r\\n[type=\\\"checkbox\\\"]{\\r\\n\\theight: 0px;\\r\\n\\twidth: 0px;\\r\\n}\\r\\n[type=\\\"checkbox\\\"]+.checkLabel:not(.checkLabelMaterial){\\r\\n\\tposition: relative;\\r\\n\\tdisplay: inline-block;\\r\\n\\tmargin-bottom: 0;\\r\\n\\tpadding-left: 0px;\\r\\n\\theight: 17px;\\r\\n}\\r\\n[type=\\\"checkbox\\\"]+.checkLabel:not(.checkLabelMaterial):before{\\r\\n    display: inline-block;\\r\\n    position: relative;\\r\\n    top: 0px !important;\\r\\n    left: 0px;\\r\\n    margin-right: 5px;\\r\\n}\\r\\n[type=\\\"checkbox\\\"]+.checkLabel:not(.checkLabelMaterial):after{\\r\\n    display: block;\\r\\n    position: absolute;\\r\\n    top: 1px !important;\\r\\n    left: 2px;\\r\\n}\\r\\n\\r\\ninput.ldsoe.ok{background-color:#b6d7a8;}\\r\\ninput.ldsoe.notok{background-color:#e06666;}\\r\\ninput.ldsoe:disabled.ok{background-color:#bcceb5;}\\r\\ninput.ldsoe:disabled.notok{background-color:#b56b6b;}\\r\\n\\r\\n.ldnowrap{\\r\\n\\twhite-space: nowrap;\\r\\n\\toverflow: hidden;\\r\\n\\ttext-overflow: ellipsis;\\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/ld/general.css\n// module id = 769\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar base64_1 = require(\"./base64\");\r\nvar credit_card_1 = require(\"./credit-card\");\r\nvar date_1 = require(\"./date\");\r\nvar date_ios_1 = require(\"./date-ios\");\r\nvar digits_1 = require(\"./digits\");\r\nvar email_1 = require(\"./email\");\r\nvar equal_1 = require(\"./equal\");\r\nvar equal_to_1 = require(\"./equal-to\");\r\nvar greater_than_1 = require(\"./greater-than\");\r\nvar greater_than_equal_1 = require(\"./greater-than-equal\");\r\nvar json_1 = require(\"./json\");\r\nvar less_than_1 = require(\"./less-than\");\r\nvar less_than_equal_1 = require(\"./less-than-equal\");\r\nvar max_1 = require(\"./max\");\r\nvar max_date_1 = require(\"./max-date\");\r\nvar min_1 = require(\"./min\");\r\nvar min_date_1 = require(\"./min-date\");\r\nvar not_equal_1 = require(\"./not-equal\");\r\nvar not_equal_to_1 = require(\"./not-equal-to\");\r\nvar number_1 = require(\"./number\");\r\nvar phone_1 = require(\"./phone\");\r\nvar range_1 = require(\"./range\");\r\nvar range_length_1 = require(\"./range-length\");\r\nvar url_1 = require(\"./url\");\r\nvar uuid_1 = require(\"./uuid\");\r\nexports.CustomValidators = {\r\n    base64: base64_1.base64,\r\n    creditCard: credit_card_1.creditCard,\r\n    date: date_1.date,\r\n    dateISO: date_ios_1.dateISO,\r\n    digits: digits_1.digits,\r\n    email: email_1.email,\r\n    equal: equal_1.equal,\r\n    equalTo: equal_to_1.equalTo,\r\n    gt: greater_than_1.gt,\r\n    gte: greater_than_equal_1.gte,\r\n    json: json_1.json,\r\n    lt: less_than_1.lt,\r\n    lte: less_than_equal_1.lte,\r\n    max: max_1.max,\r\n    maxDate: max_date_1.maxDate,\r\n    min: min_1.min,\r\n    minDate: min_date_1.minDate,\r\n    notEqual: not_equal_1.notEqual,\r\n    notEqualTo: not_equal_to_1.notEqualTo,\r\n    number: number_1.number,\r\n    phone: phone_1.phone,\r\n    range: range_1.range,\r\n    rangeLength: range_length_1.rangeLength,\r\n    url: url_1.url,\r\n    uuid: uuid_1.uuid\r\n};\r\nvar CUSTOM_FORM_DIRECTIVES = [\r\n    base64_1.Base64Validator,\r\n    credit_card_1.CreditCardValidator,\r\n    date_1.DateValidator,\r\n    date_ios_1.DateISOValidator,\r\n    digits_1.DigitsValidator,\r\n    email_1.EmailValidator,\r\n    equal_1.EqualValidator,\r\n    equal_to_1.EqualToValidator,\r\n    greater_than_1.GreaterThanValidator,\r\n    greater_than_equal_1.GreaterThanEqualValidator,\r\n    json_1.JSONValidator,\r\n    less_than_1.LessThanValidator,\r\n    less_than_equal_1.LessThanEqualValidator,\r\n    max_1.MaxValidator,\r\n    max_date_1.MaxDateValidator,\r\n    min_1.MinValidator,\r\n    min_date_1.MinDateValidator,\r\n    not_equal_1.NotEqualValidator,\r\n    not_equal_to_1.NotEqualToValidator,\r\n    number_1.NumberValidator,\r\n    phone_1.PhoneValidator,\r\n    range_1.RangeValidator,\r\n    range_length_1.RangeLengthValidator,\r\n    url_1.UrlValidator,\r\n    uuid_1.UUIDValidator\r\n];\r\nvar CustomFormsModule = (function () {\r\n    function CustomFormsModule() {\r\n    }\r\n    return CustomFormsModule;\r\n}());\r\nCustomFormsModule.decorators = [\r\n    { type: core_1.NgModule, args: [{\r\n                declarations: [CUSTOM_FORM_DIRECTIVES],\r\n                exports: [CUSTOM_FORM_DIRECTIVES]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nCustomFormsModule.ctorParameters = function () { return []; };\r\nexports.CustomFormsModule = CustomFormsModule;\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/index.js\n// module id = 770\n// module chunks = 3","import {AfterViewInit, ViewEncapsulation, Component, OnInit, ViewChild, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from '../../app.service';\r\nimport {FormGroup, FormBuilder} from '@angular/forms';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {Subject} from 'rxjs/Rx';\r\n\r\nimport {Familia} from './familia';\r\n\r\ndeclare let Messenger: any;\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'familia',\r\n    template: require('./familia.component.html'),\r\n    providers: [AppState],\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FamiliaComponent implements OnInit, AfterViewInit {\r\n    @Output() output = new EventEmitter();\r\n    @Output() cambio = new EventEmitter();\r\n    \r\n    FormBuscarFamilia: FormGroup;\r\n    submittedFamilia: boolean;\r\n\r\n    @ViewChild('modal') public modal: ModalDirective;\r\n\r\n    dtOptionsfamilia: any = {};\r\n    dtTriggerfamilia = new Subject();\r\n    arrayentidadfamilia: any[];\r\n\r\n    familia: Familia = new Familia;\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder) {}\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.dtOptionsfamilia = {\r\n            dom: 'frtip',\r\n            language: {url: \"./assets/datatable/Spanish.json\"},\r\n            columnDefs: [{\"targets\": [5], \"searchable\": false, \"orderable\": false}]\r\n        };\r\n        this.FormBuscarFamilia = this._fb.group({\r\n            matricula: [],\r\n            apellidopaterno: [],\r\n            apellidomaterno: []\r\n        });\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.dtTriggerfamilia.next();\r\n        this.modal.show()\r\n    }\r\n\r\n    buscarFamilia() {\r\n        this.submittedFamilia = true;\r\n        if (!this.FormBuscarFamilia.get('matricula').value && !this.FormBuscarFamilia.get('apellidopaterno').value && !this.FormBuscarFamilia.get('apellidomaterno').value) {\r\n            return false;\r\n        }\r\n        this.submittedFamilia = false;\r\n        var data = $.param(this.FormBuscarFamilia.value);\r\n        //Llamada al servicio get para obtener el array para llenar el grid\r\n        this._httpService.getElemento('Familia?' + data).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    $(\"#tablaConsultaacuerdoFamilia\").dataTable().fnDestroy();\r\n                    this.arrayentidadfamilia = result.body;\r\n                    this.dtTriggerfamilia.next();\r\n                    this.cambio.next(1);\r\n                } else {\r\n                    $(\"#tablaConsultaacuerdoFamilia\").dataTable().fnClearTable();\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    cerrar(r: any) {\r\n        if (r) {\r\n            this.familia = {\r\n                alumnoid: r.a_alumnoid,\r\n                a_primernombre: r.a_primernombre,\r\n                a_segundonombre: r.a_segundonombre,\r\n                a_apellidopaterno: r.a_apellidopaterno,\r\n                a_apellidomaterno: r.a_apellidomaterno,\r\n                a_matricula: r.a_matricula,\r\n                a_nivel: r.nivel,\r\n                a_grado: r.grado,\r\n                a_grupo: r.grupo,\r\n                clavefamiliarid: r.f_clavefamiliarid,\r\n                f_clave: r.f_clave,\r\n                f_apellidopaterno: r.f_apellidopaterno,\r\n                f_apellidomaterno: r.f_apellidomaterno\r\n            };\r\n        }\r\n        this.output.next({modal: this.modal, familia: r ? this.familia : null});\r\n        this.modal.hide();\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/familia/familia.component.ts","export class Alumno {\r\n    alumnoid: number;\r\n    alumnoporcicloid: number;\r\n    matricula: string;\r\n    nombre: string;\r\n    nombrecompleto?: string;\r\n    cicloid: any;\r\n    apellidopaterno: string;\r\n    apellidomaterno: string;\r\n    nivelid?: number;\r\n    nivel: string;\r\n    gradoid?: number;\r\n    grado: string;\r\n    grupoid: any;\r\n    grupo: string;\r\n    estatusid?: number;\r\n    estatus: string;\r\n    adeudo?: string;\r\n    tipobaja?: string;\r\n    motivobaja?: string;\r\n    tipocobertura?: string;\r\n    custodiapersona?: string;\r\n    custodiaoficio?: string;\r\n    matriculadgb?: string;\r\n    foto?: string;\r\n\r\n    constructor() {\r\n        this.alumnoid = null;\r\n        this.alumnoporcicloid = null;\r\n        this.matricula = null;\r\n        this.nombre = null;\r\n        this.nombrecompleto = null;\r\n        this.cicloid = null;\r\n        this.apellidopaterno = null;\r\n        this.apellidomaterno = null;\r\n        this.nivelid = null;\r\n        this.nivel = null;\r\n        this.gradoid = null;\r\n        this.grado = null;\r\n        this.grupoid = null;\r\n        this.grupo = null;\r\n        this.estatusid = null;\r\n        this.estatus = null;\r\n        this.adeudo = null;\r\n        this.tipobaja = null;\r\n        this.motivobaja = null;\r\n        this.tipocobertura = null\r\n        this.foto = null\r\n    }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/alumno/alumno.ts","import {AfterViewInit, AfterContentInit, ViewEncapsulation, Component, ViewChild, Input, ElementRef, ComponentFactoryResolver, ViewContainerRef, ComponentFactory, ComponentRef, Output, EventEmitter} from '@angular/core';\r\nimport {AppState} from '../../app.service';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {saveAs as importedSaveAs} from \"file-saver\";\r\nimport {Config, ConfigERP} from '../../configERP';\r\nimport {StorageService} from \"app/directives/storage.service\";\r\nimport {parametrosModalSolicitud} from './modalsolicitud';\r\nimport {ModalfotosComponent} from './modalfotos/modalfotos.component';\r\nimport {DatosfamiliaresComponent} from './datosfamiliares/datosfamiliares.component';\r\nimport {FotografiaComponent} from './fotografia/fotografia.component';\r\nimport {EncuestaComponent} from './encuesta/encuesta.component';\r\nimport {EvaluacionesComponent} from './evaluaciones/evaluaciones.component';\r\nimport {DocumentacionComponent} from './documentacion/documentacion.component';\r\nimport {ComentariosComponent} from './comentarios/comentarios.component';\r\nimport {HermanosComponent} from './hermanos/hermanos.component';\r\nimport {DinamicafamiliarComponent} from './dinamicafamiliar/dinamicafamiliar.component';\r\nimport {AreamedicaComponent} from './areamedica/areamedica.component';\r\nimport {OtrosprocesosComponent} from './otrosprocesos/otrosprocesos.component';\r\nimport {DatosaspiranteComponent} from './datosaspirante/datosaspirante.component';\r\nimport {DictamenComponent} from './dictamen/dictamen.component';\r\nimport {Expediente} from \"app/admisiones/modalsolicitud/expediente/expediente.component\";\r\n\r\ndeclare let $: any;\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'menusolicitud',\r\n    template: require('./menusolicitud.component.html'),\r\n    styles: [require('./modalsolicitud.css')],\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MenusolicitudComponent implements AfterViewInit, AfterContentInit {\r\n    @Input() parametrosModalSolicitud: parametrosModalSolicitud; //Objecto que contiene todos los parametros a bindear en los componenetes\r\n    @Output() output = new EventEmitter(); //Objeto que avisa al componenete padre que se ha cerrado la modal\r\n    @Output() buscar = new EventEmitter(); //Objeto que avisa al componenete padre funcion de buscar\r\n    formulario: any; // Componenete hijo en turno\r\n    pestana: number; // id de la pestaña en turno\r\n\r\n    @ViewChild('modalSolicitud') public modal: ModalDirective; // Modal\r\n    @ViewChild(\"modalGenerica\", {read: ViewContainerRef}) modalGenerica;\r\n\r\n    @ViewChild(\"menu\") menu: ElementRef;\r\n\r\n    @ViewChild(\"container\", {read: ViewContainerRef}) container; // Etiqueta donde se insertara el contenedor\r\n    componentRef: ComponentRef<any>; // Contenedor\r\n\r\n    version: number;\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(private _httpService: AppState, \r\n        private _config: ConfigERP, \r\n        private storage: StorageService,\r\n        private _cfr: ComponentFactoryResolver) {\r\n        var config: Config = this._config.getConfig();\r\n        this.version = config.version;\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this.parametrosModalSolicitud.modalGenerica = this.modalGenerica;\r\n        $($(this.menu.nativeElement).find(\".tablinks\")[this.parametrosModalSolicitud.pestana - 1]).addClass(\"active\"); //Colocal el style a la pestaña que se mostrara el principio\r\n        this.modal.show(); //Muestra la modal\r\n    }\r\n    ngAfterContentInit() {\r\n        this.datosIniciales();\r\n    }\r\n\r\n    datosIniciales() {\r\n        this.parametrosModalSolicitud.version = this.version\r\n        this._httpService.getElemento('Solicitudadmision/' + this.parametrosModalSolicitud.entidad.solicitudadmisionid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.parametrosModalSolicitud.entidad = result.body.entidad;\r\n\r\n                    if (this.version == 1 && this.parametrosModalSolicitud.edicion && result.body.listaespera) {\r\n                        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n                            message: result.body.listaespera,\r\n                            hideAfter: false,\r\n                            actions: {\r\n                                delete: {\r\n                                    label: \"Aceptar\",\r\n                                    action: () => {\r\n                                        msg.hide();\r\n                                        this.parametrosModalSolicitud.listaespera = result.body.listaespera;\r\n                                        this.contentView(this.parametrosModalSolicitud.pestana);\r\n                                    }\r\n                                },\r\n                                cancel: {\r\n                                    label: \"Cancelar\",\r\n                                    action: () => {\r\n                                        msg.hide();\r\n                                        this.destroyComponenete();\r\n                                    }\r\n                                }\r\n                            }\r\n                        });\r\n                    } else {\r\n                        this.contentView(this.parametrosModalSolicitud.pestana);\r\n                    }\r\n\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    //Funcion que en base a la pestaña, selecciona un compoenente a cargar \r\n    contentView(e: number) {\r\n        this.parametrosModalSolicitud.pestana = e;\r\n        switch (e) {\r\n            case 1:\r\n                this.parametrosModalSolicitud.configpestana.datosaspirante.visible ?\r\n                    this.cargarVista(DatosaspiranteComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 2:\r\n                this.parametrosModalSolicitud.configpestana.expediente.visible ?\r\n                    this.cargarVista(Expediente) : this.contentView(e + 1);\r\n                break;\r\n            case 3:\r\n                this.parametrosModalSolicitud.configpestana.datosfamiliares.visible ?\r\n                    this.cargarVista(DatosfamiliaresComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 4:\r\n                this.parametrosModalSolicitud.configpestana.fotografia.visible ?\r\n                    this.cargarVista(FotografiaComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 5:\r\n                this.parametrosModalSolicitud.configpestana.encuesta.visible ?\r\n                    this.cargarVista(EncuestaComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 6:\r\n                this.parametrosModalSolicitud.configpestana.evaluaciones.visible ?\r\n                    this.cargarVista(EvaluacionesComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 7:\r\n                this.parametrosModalSolicitud.configpestana.documentacion.visible ?\r\n                    this.cargarVista(DocumentacionComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 8:\r\n                this.parametrosModalSolicitud.configpestana.comentarios.visible ?\r\n                    this.cargarVista(ComentariosComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 9:\r\n                this.parametrosModalSolicitud.configpestana.hermanos.visible ?\r\n                    this.cargarVista(HermanosComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 10:\r\n                this.parametrosModalSolicitud.configpestana.dinamicafamiliar.visible ?\r\n                    this.cargarVista(DinamicafamiliarComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 11:\r\n                this.parametrosModalSolicitud.configpestana.areamedica.visible ?\r\n                    this.cargarVista(AreamedicaComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 12:\r\n                this.parametrosModalSolicitud.configpestana.otrosprocesos.visible ?\r\n                    this.cargarVista(OtrosprocesosComponent) : this.contentView(e + 1);\r\n                break;\r\n            case 13:\r\n                this.parametrosModalSolicitud.configpestana.dictaminacion.visible ?\r\n                    this.cargarVista(DictamenComponent) : this.destroyComponenete();\r\n                break;\r\n        }\r\n    }\r\n\r\n    //Funcion que carga el componenete en el contenedor\r\n    cargarVista(componente: any) {\r\n        this.container.clear();                                                                 //Limpia el contenedor\r\n        const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(componente);   //Le asigna el componente a cargar\r\n        this.componentRef = this.container.createComponent(factory);                            //Carga el compoenente\r\n        this.componentRef.instance.parametrosModalSolicitud = this.parametrosModalSolicitud;    //Le envia \"parametrosModalReactivos\"\r\n        this.componentRef.instance.output.subscribe((formguardar: any) => {                     //Queda a espera de que el componenete regrese \"this\"\r\n            this.formulario = formguardar;                                                        //\"this\" es asiganado a la variable formulario\r\n        });\r\n        this.componentRef.instance.accionGuardar.subscribe((exito: boolean) => {                //Queda a espera de que la accion de guardar se realice en el componente en turno\r\n            this.cambiarpestana(exito);                                                         //Cambia de pestaña\r\n        });\r\n        this.componentRef.instance.accionCerraModal.subscribe(() => {                //Queda a espera de que la accion de guardar se realice en el componente en turno\r\n            this.destroyComponenete();                                                         //Cambia de pestaña\r\n        });\r\n    }\r\n\r\n    //Funcion para terminar el componente de la modal\r\n    cerrar() {\r\n        if (this.parametrosModalSolicitud.edicion) {\r\n            if (this.version == 1 && this.parametrosModalSolicitud.entidad.estatussolicitudid.estatussolicitudid < 3) {\r\n                this.advertenciaCerrar(`No se ha completado el proceso de validación de datos por lo tanto el estatus de la solicitud no cambiará.<br>\r\n                                   Confirme que desea CERRAR la solicitud`);\r\n            } else {\r\n                if (this.formulario && this.formulario.cambio) {\r\n                    this.advertenciaCerrar(\"Si elige cerrar, los cambios pendientes no se guardarán\");\r\n                } else {\r\n                    this.destroyComponenete();\r\n                }\r\n            }\r\n        } else {\r\n            this.destroyComponenete();\r\n        }\r\n    }\r\n\r\n    //Mensaje de advertencia al cerrar la modal\r\n    advertenciaCerrar(mensaje: string) {\r\n        let msg = Messenger({extraClasses: 'messenger-fixed messenger-on-top'}).post({\r\n            message: mensaje,\r\n            hideAfter: false,\r\n            actions: {\r\n                delete: {\r\n                    label: \"Cerrar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                        this.destroyComponenete();\r\n                    }\r\n                },\r\n                cancel: {\r\n                    label: \"Cancelar\",\r\n                    action: () => {\r\n                        msg.hide();\r\n                    }\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    //Funcion para llamar a la funcion de guardado del componente en turno\r\n    guardar(pestana?: number) {\r\n        if (pestana != this.parametrosModalSolicitud.pestana) {  //Valida si se esta cambiando de pestaña para realizar o no el guadado\r\n            this.pestana = pestana;                      //Asiga del valor de la pestaña a la que se va a cambiar\r\n            if (this.formulario) {\r\n                this.formulario.guardar();                      //Llama la funcion guardar del compoennete en turno\r\n            }\r\n        }\r\n    }\r\n\r\n    //Funcion para cambiar de pestaña\r\n    cambiarpestana(exito: boolean) {\r\n        $(this.menu.nativeElement).find(\".active\").removeClass(\"active\");                                                          //Quita el style de la pestaña actual\r\n        if (exito) {                                                                     //Si la funcion de guardado fue exitosa\r\n            if (this.pestana) {                                                                         //Si le dio click a una pestaña\r\n                this.contentView(this.pestana);                                                             //Se cambia a la pestaña seleccionada\r\n                $($(this.menu.nativeElement).find(\".tablinks\")[this.pestana - 1]).addClass(\"active\");                           //Le colocamos su style a la pestaña seleccionada\r\n            } else {                                                                                    //Le dio click al boton de guardar\r\n                var index = this.parametrosModalSolicitud.pestana + 1;                                               //Se cambia a la siguiente pestaña en el orden\r\n                if (index > 13) {                                                                                //Si el id de la pestaña s mayor a 5\r\n                    this.destroyComponenete();                                                                              //Ya no hay pestañas, terminamos el proceso y cerramos la modal\r\n                } else {                                                                                        //El id de la pestaña es monor a 5\r\n                    this.contentView(index);                                                                        //Se cambia a la siguiente pestaña\r\n                    $($(this.menu.nativeElement).find(\".tablinks\")[index - 1]).addClass(\"active\");                                      ////Le colocamos su style a la pestaña a la que nos cambiaremos\r\n                }\r\n            }\r\n        } else {                                                                                    //Si la funcion de guardado no tuvo exito\r\n            $($(this.menu.nativeElement).find(\".tablinks\")[this.parametrosModalSolicitud.pestana - 1]).addClass(\"active\");       //Colocamos nuevamente el style a la pestaña actual\r\n        }\r\n    }\r\n\r\n    destroyComponenete() {\r\n        if (this.parametrosModalSolicitud.buscar) {\r\n            this.buscar.next(true);\r\n        }\r\n        this.output.next(this.modal);      //Avisa al componente padre que se cerrara la modal\r\n        this.modal.hide();                                          //Cierra la modal \r\n    }\r\n\r\n    fotosComponente() {\r\n        const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(ModalfotosComponent);\r\n        this.componentRef = this.container.createComponent(factory);\r\n        this.componentRef.instance.parametrosModalSolicitud = this.parametrosModalSolicitud;\r\n        this.componentRef.instance.output.subscribe(() => {\r\n            this.componentRef.destroy();\r\n        });\r\n    }\r\n\r\n    descargarFormato(tipoformato) {\r\n        var dato = \"?solicitudid=\" + this.parametrosModalSolicitud.entidad.solicitudadmisionid + \"&tipoformatoid=\" + tipoformato;\r\n        this._httpService.getArchivo('Solicitud/DownloadFormatoSolicitud', dato).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    importedSaveAs(result.body, \"Formato.pdf\");\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    finalizarValidacion() {\r\n        let datos = {\r\n            solicitudadmisionid: this.parametrosModalSolicitud.entidad.solicitudadmisionid,\r\n            usuariovalida: this.storage.getItem(\"usuarioid\"),\r\n            listaespera: this.parametrosModalSolicitud.listaespera ? true : false\r\n        }\r\n        this._httpService.postElemento('Solicitud/validacionDatos/validado', datos, false, true).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    Messenger().post({\r\n                        message: \"\" + result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                    this.parametrosModalSolicitud.buscar = true;\r\n                    this.destroyComponenete();\r\n                } if (result.status == 206) {\r\n                    Messenger().post({\r\n                        message: \"\" + result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: \"Error al guardar los datos\",\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    };\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/menusolicitud.component.ts","import {ViewEncapsulation, Component, AfterViewInit, ViewChild, Input, Output, ComponentFactoryResolver, EventEmitter} from '@angular/core';\r\nimport {CalendarComponent} from \"ap-angular2-fullcalendar\";\r\nimport {calendarioInt, calendarioOut, calendarioOutEvento, calendarioOutId} from './calendario';\r\nimport {StorageService} from \"app/directives/storage.service\"\r\ndeclare let alasql: any;\r\ndeclare let moment: any;\r\n\r\n@Component({\r\n    selector: 'calendario',\r\n    template: require('./calendario.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class CalendarioComponent implements AfterViewInit {\r\n    @Input() calendario: calendarioInt;\r\n    @Output() output = new EventEmitter();\r\n    @Output() nuevo = new EventEmitter();\r\n    @Output() editar = new EventEmitter();\r\n    @Output() eliminar = new EventEmitter();\r\n\r\n    @ViewChild(CalendarComponent) myCalendar: CalendarComponent;\r\n    calendarOptions: Object = {};\r\n\r\n    //En el contructor se declara la llamada a los servicios\r\n    constructor(public _cfr: ComponentFactoryResolver, private storage: StorageService) {\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngAfterViewInit() {\r\n        this.initCalendario();\r\n    }\r\n\r\n    initCalendario() {\r\n        var mintime = alasql('SELECT valor FROM ? where parametrosid = 1', [JSON.parse(this.storage.getItem(\"parametros\"))])[0];\r\n        var maxtime = alasql('SELECT valor FROM ? where parametrosid= 2', [JSON.parse(this.storage.getItem(\"parametros\"))])[0];\r\n        this.calendarOptions = {\r\n            locale: 'es',\r\n            header: {\r\n                left: 'prev,next today',\r\n                center: 'title',\r\n                right: this.calendario.config.fullbotones ? 'month,agendaWeek,agendaDay' : 'month'\r\n            },\r\n            buttonText: {\r\n                today: 'Hoy', month: 'Mes', agendaWeek: 'Semana', agendaDay: 'Dia'\r\n            },\r\n            defaultDate: Date.now(),\r\n            minTime: mintime['valor'],\r\n            maxTime: maxtime['valor'],\r\n            selectable: true,\r\n            eventLimit: true,\r\n            select: (start, end, jsEvent, view) => {\r\n                if (this.calendario.seguridad.accesos.agregar) {\r\n                    var evento: calendarioOutEvento = {\r\n                        fechainicio: moment(start).format('DD-MM-YYYY'),\r\n                        horainicio: moment(start).format('HH:mm') == \"00:00\" ? mintime['valor'] : moment(start).format('HH:mm'),\r\n                        horafin: moment(end).format('HH:mm') == \"00:00\" ? maxtime['valor'] : moment(end).format('HH:mm'),\r\n                        fechafin: moment(end).subtract(1, 'days').format('DD-MM-YYYY'),\r\n                        color: ''\r\n                    }\r\n                    this.nuevo.next(evento);\r\n                }\r\n            },\r\n            events: this.calendario.eventos,\r\n            displayEventTime: false,\r\n            eventClick: (event, jsEvent, view) => {\r\n                if (jsEvent.toElement.outerHTML == '<i class=\"glyphicon glyphicon-remove\"></i>') {\r\n                    var id: calendarioOutId = {id: event.id};\r\n                    this.eliminar.next(id);\r\n                } else if (this.calendario.seguridad.accesos.editar) {\r\n                    var id: calendarioOutId = {id: event.id};\r\n                    this.editar.next(id);\r\n                }\r\n            },\r\n            eventRender: (event, element) => {\r\n                /*if (this.calendario.seguridad.accesos.eliminar) {\r\n                    var el = element.html();\r\n                    element.html('<p align=\"right\"><a class=\"cerrar\"><i class=\"glyphicon glyphicon-remove\"></i></a></p><p>'+ el + '</p>');\r\n                }*/\r\n                var el = element.html();\r\n                element.html('<p align=\"right\"><a class=\"cerrar\"><i class=\"glyphicon glyphicon-remove\"></i></a></p><p>' + el + '</p>');\r\n            }\r\n        };\r\n        var calendario: calendarioOut = {calendario: this.myCalendar};\r\n        this.output.next(calendario);\r\n    }\r\n    \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/calendario/calendario.component.ts","import { Injectable } from '@angular/core';\r\n\r\ndeclare let jQuery: any;\r\n\r\n@Injectable()\r\nexport class AppConfig {\r\n  config = {\r\n    name: 'erp',\r\n    title: 'ERP Ecolar',\r\n    version: '1.0',\r\n    /**\r\n     * Whether to print and alert some log information\r\n     */\r\n    debug: true,\r\n    /**\r\n     * In-app constants\r\n     */\r\n    settings: {\r\n      colors: {\r\n        'white': '#fff',\r\n        'black': '#000',\r\n        'gray-light': '#999',\r\n        'gray-lighter': '#eee',\r\n        'gray': '#666',\r\n        'gray-dark': '#343434',\r\n        'gray-darker': '#222',\r\n        'gray-semi-light': '#777',\r\n        'gray-semi-lighter': '#ddd',\r\n        'brand-primary': '#5d8fc2',\r\n        'brand-success': '#64bd63',\r\n        'brand-warning': '#f0b518',\r\n        'brand-danger': '#dd5826',\r\n        'brand-info': '#5dc4bf'\r\n      },\r\n      screens: {\r\n        'xs-max': 543,\r\n        'sm-min': 544,\r\n        'sm-max': 767,\r\n        'md-min': 768,\r\n        'md-max': 991,\r\n        'lg-min': 992,\r\n        'lg-max': 1199,\r\n        'xl-min': 1200\r\n      },\r\n      navCollapseTimeout: 2500\r\n    },\r\n\r\n    /**\r\n     * Application state. May be changed when using.\r\n     * Synced to Local Storage\r\n     */\r\n    state: {\r\n      /**\r\n       * whether navigation is static (prevent automatic collapsing)\r\n       */\r\n      'nav-static': false\r\n    }\r\n  };\r\n\r\n  _resizeCallbacks = [];\r\n  _screenSizeCallbacks = {\r\n    xs: {enter: [], exit: []},\r\n    sm: {enter: [], exit: []},\r\n    md: {enter: [], exit: []},\r\n    lg: {enter: [], exit: []},\r\n    xl: {enter: [], exit: []}\r\n  };\r\n\r\n  isScreen(size): boolean {\r\n    let screenPx = window.innerWidth;\r\n    return (screenPx >= this.config.settings.screens[size + '-min'] || size === 'xs')\r\n      && (screenPx <= this.config.settings.screens[size + '-max'] || size === 'xl');\r\n  }\r\n\r\n  getScreenSize(): string {\r\n    let screenPx = window.innerWidth;\r\n    if (screenPx <= this.config.settings.screens['xs-max']) { return 'xs'; }\r\n    if ((screenPx >= this.config.settings.screens['sm-min'])\r\n      && (screenPx <= this.config.settings.screens['sm-max'])) { return 'sm'; }\r\n    if ((screenPx >= this.config.settings.screens['md-min'])\r\n      && (screenPx <= this.config.settings.screens['md-max'])) { return 'md'; }\r\n    if ((screenPx >= this.config.settings.screens['lg-min'])\r\n      && (screenPx <= this.config.settings.screens['lg-max'])) { return 'lg'; }\r\n    if (screenPx >= this.config.settings.screens['xl-min']) { return 'xl'; }\r\n  }\r\n\r\n  onScreenSize(size, fn, /* Boolean= */ onEnter): void {\r\n    onEnter = typeof onEnter !== 'undefined' ? onEnter : true;\r\n    if (typeof size === 'object') {\r\n      for (let i = 0; i < size.length; i++) {\r\n        this._screenSizeCallbacks[size[i]][onEnter ? 'enter' : 'exit'].push(fn);\r\n      }\r\n    } else {\r\n      this._screenSizeCallbacks[size][onEnter ? 'enter' : 'exit'].push(fn);\r\n    }\r\n\r\n  }\r\n\r\n  changeColor(color, ratio, darker): string {\r\n    let pad = function (num, totalChars): number {\r\n      let padVal = '0';\r\n      num = num + '';\r\n      while (num.length < totalChars) {\r\n        num = padVal + num;\r\n      }\r\n      return num;\r\n    };\r\n    // Trim trailing/leading whitespace\r\n    color = color.replace(/^\\s*|\\s*$/, '');\r\n\r\n    // Expand three-digit hex\r\n    color = color.replace(\r\n      /^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i,\r\n      '#$1$1$2$2$3$3'\r\n    );\r\n\r\n    // Calculate ratio\r\n    let difference = Math.round(ratio * 256) * (darker ? -1 : 1),\r\n    // Determine if input is RGB(A)\r\n      rgb = color.match(new RegExp('^rgba?\\\\(\\\\s*' +\r\n        '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\r\n        '\\\\s*,\\\\s*' +\r\n        '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\r\n        '\\\\s*,\\\\s*' +\r\n        '(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4][0-9]|25[0-5])' +\r\n        '(?:\\\\s*,\\\\s*' +\r\n        '(0|1|0?\\\\.\\\\d+))?' +\r\n        '\\\\s*\\\\)$'\r\n        , 'i')),\r\n      alpha = !!rgb && rgb[4] !== null ? rgb[4] : null,\r\n\r\n    // Convert hex to decimal\r\n      decimal = !!rgb ? [rgb[1], rgb[2], rgb[3]] : color.replace(\r\n        /^#?([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])/i,\r\n        function (): string {\r\n          return parseInt(arguments[1], 16) + ',' +\r\n            parseInt(arguments[2], 16) + ',' +\r\n            parseInt(arguments[3], 16);\r\n        }\r\n      ).split(/,/);\r\n\r\n    // Return RGB(A)\r\n    return !!rgb ?\r\n    'rgb' + (alpha !== null ? 'a' : '') + '(' +\r\n    Math[darker ? 'max' : 'min'](\r\n      parseInt(decimal[0], 10) + difference, darker ? 0 : 255\r\n    ) + ', ' +\r\n    Math[darker ? 'max' : 'min'](\r\n      parseInt(decimal[1], 10) + difference, darker ? 0 : 255\r\n    ) + ', ' +\r\n    Math[darker ? 'max' : 'min'](\r\n      parseInt(decimal[2], 10) + difference, darker ? 0 : 255\r\n    ) +\r\n    (alpha !== null ? ', ' + alpha : '') +\r\n    ')' :\r\n      // Return hex\r\n      [\r\n        '#',\r\n        pad(Math[darker ? 'max' : 'min'](\r\n          parseInt(decimal[0], 10) + difference, darker ? 0 : 255\r\n        ).toString(16), 2),\r\n        pad(Math[darker ? 'max' : 'min'](\r\n          parseInt(decimal[1], 10) + difference, darker ? 0 : 255\r\n        ).toString(16), 2),\r\n        pad(Math[darker ? 'max' : 'min'](\r\n          parseInt(decimal[2], 10) + difference, darker ? 0 : 255\r\n        ).toString(16), 2)\r\n      ].join('');\r\n  }\r\n\r\n  lightenColor(color, ratio): any {\r\n    return this.changeColor(color, ratio, false);\r\n  }\r\n\r\n  darkenColor(color, ratio): any {\r\n    return this.changeColor(color, ratio, true);\r\n  }\r\n\r\n  max(array): any {\r\n    return Math.max.apply(null, array);\r\n  }\r\n\r\n  min(array): any {\r\n    return Math.min.apply(null, array);\r\n  }\r\n\r\n  _initResizeEvent(): void {\r\n    let resizeTimeout;\r\n\r\n    jQuery(window).on('resize', () => {\r\n      clearTimeout(resizeTimeout);\r\n      resizeTimeout = setTimeout(() => {\r\n        jQuery(window).trigger('sn:resize');\r\n      }, 100);\r\n    });\r\n  }\r\n\r\n  _initOnScreenSizeCallbacks(): void  {\r\n    let resizeTimeout,\r\n      prevSize = this.getScreenSize();\r\n\r\n    jQuery(window).resize(() => {\r\n      clearTimeout(resizeTimeout);\r\n      resizeTimeout = setTimeout(() => {\r\n        let size = this.getScreenSize();\r\n        if (size !== prevSize) { // run only if something changed\r\n          // run exit callbacks first\r\n          this._screenSizeCallbacks[prevSize].exit.forEach((fn) => {\r\n            fn(size, prevSize);\r\n          });\r\n          // run enter callbacks then\r\n          this._screenSizeCallbacks[size].enter.forEach((fn) => {\r\n            fn(size, prevSize);\r\n          });\r\n        }\r\n        prevSize = size;\r\n      }, 100);\r\n    });\r\n  }\r\n\r\n  constructor() {\r\n    this._initResizeEvent();\r\n    this._initOnScreenSizeCallbacks();\r\n  }\r\n\r\n  getConfig(): Object {\r\n    return this.config;\r\n  }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/app.config.ts","import {CommonModule} from '@angular/common';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {NgModule} from '@angular/core';\r\nimport {ModalModule} from 'ng2-bootstrap';\r\nimport {DataTablesModule} from 'angular-datatables';\r\nimport {SuiModule} from 'ng2-semantic-ui';\r\nimport {CalendarComponent} from 'ap-angular2-fullcalendar';\r\nimport {MomentModule} from 'angular2-moment';\r\nimport {MomentTimezoneModule} from 'angular-moment-timezone';\r\nimport {ChartjsModule} from '@ctrl/ngx-chartjs';\r\nimport {WebCamComponent} from 'ng2-webcam';\r\nimport {MyDateRangePickerModule} from 'mydaterangepicker';\r\n\r\nimport {CalendarioComponent} from './calendario/calendario.component';\r\nimport {FamiliaComponent} from './familia/familia.component';\r\nimport {AlumnoComponent} from './alumno/alumno.component';\r\nimport {ReciboinscripcionComponent} from './reciboinscripcion/reciboinscripcion.component';\r\nimport {EstadocuentaComponent} from './estadocuenta/estadocuenta.component';\r\nimport {FotoComponent} from './foto/foto.component'\r\nimport {TableroComponent} from './tablero/tablero.component';\r\n\r\n\r\n@NgModule({\r\n    declarations: [\r\n        WebCamComponent,\r\n        CalendarComponent,\r\n        CalendarioComponent,\r\n        FamiliaComponent,\r\n        AlumnoComponent,\r\n        ReciboinscripcionComponent,\r\n        EstadocuentaComponent,\r\n        FotoComponent,\r\n        TableroComponent\r\n    ],\r\n    exports: [TableroComponent],\r\n    entryComponents: [\r\n        CalendarioComponent,\r\n        FamiliaComponent,\r\n        AlumnoComponent,\r\n        ReciboinscripcionComponent,\r\n        EstadocuentaComponent,\r\n        TableroComponent,\r\n        FotoComponent\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        FormsModule,\r\n        ReactiveFormsModule,\r\n        DataTablesModule,\r\n        SuiModule,\r\n        ModalModule,\r\n        MomentModule,\r\n        MomentTimezoneModule,\r\n        ChartjsModule,\r\n        MyDateRangePickerModule\r\n    ]\r\n})\r\nexport class ComponentesgeneralesModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/componenetesgenerales.module.ts","import { __assign, __rest } from 'tslib';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, NgZone, Output, ViewChild, NgModule } from '@angular/core';\r\n\r\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\r\n */\r\nvar ChartjsComponent = /** @class */ (function () {\r\n    function ChartjsComponent(zone) {\r\n        this.zone = zone;\r\n        this.chartClick = new EventEmitter();\r\n        /**\r\n         * chart type\r\n         */\r\n        this.type = 'doughnut';\r\n        this.height = 150;\r\n        this.width = 300;\r\n        this.legend = {\r\n            display: true,\r\n            position: 'bottom',\r\n        };\r\n        this.options = {};\r\n        this.redraw = false;\r\n        this.datasetKeyProvider = function (d) { return d.label; };\r\n    }\r\n    /**\r\n     * @return {?}\r\n     */\r\n    ChartjsComponent.prototype.ngAfterViewInit = /**\r\n     * @return {?}\r\n     */\r\n    function () {\r\n        this.renderChart();\r\n    };\r\n    /**\r\n     * @param {?} changes\r\n     * @return {?}\r\n     */\r\n    ChartjsComponent.prototype.ngOnChanges = /**\r\n     * @param {?} changes\r\n     * @return {?}\r\n     */\r\n    function (changes) {\r\n        if (changes.firstChange) {\r\n            return;\r\n        }\r\n        if (this.chartInstance && this.redraw) {\r\n            this.chartInstance.destroy();\r\n            this.renderChart();\r\n            return;\r\n        }\r\n        this.updateChart();\r\n    };\r\n    /**\r\n     * @return {?}\r\n     */\r\n    ChartjsComponent.prototype.updateChart = /**\r\n     * @return {?}\r\n     */\r\n    function () {\r\n        var _this = this;\r\n        /** @type {?} */\r\n        var data = this.transformData();\r\n        if (!this.chartInstance) {\r\n            return;\r\n        }\r\n        if (this.options) {\r\n            /** @type {?} */\r\n            var Chart_1 = require('chart.js');\r\n            this.chartInstance.options = (/** @type {?} */ (Chart_1)).helpers.configMerge(this.chartInstance.options, this.options);\r\n        }\r\n        /** @type {?} */\r\n        var currentDatasets = (this.chartInstance.config.data &&\r\n            this.chartInstance.config.data.datasets) ||\r\n            [];\r\n        /** @type {?} */\r\n        var nextDatasets = data.datasets || [];\r\n        /** @type {?} */\r\n        var currentDatasetsIndexed = {};\r\n        currentDatasets.forEach(function (x) {\r\n            currentDatasetsIndexed[_this.datasetKeyProvider(x)] = x;\r\n        });\r\n        // We can safely replace the dataset array, as long as we retain the _meta property\r\n        // on each dataset.\r\n        this.chartInstance.config.data.datasets = nextDatasets.map(function (next) {\r\n            /** @type {?} */\r\n            var current = currentDatasetsIndexed[_this.datasetKeyProvider(next)];\r\n            if (current && current.type === next.type) {\r\n                // The data array must be edited in place. As chart.js adds listeners to it.\r\n                current.data.splice(next.data.length);\r\n                next.data.forEach(function (point, pid) {\r\n                    current.data[pid] = next.data[pid];\r\n                });\r\n                // Merge properties. Notice a weakness here. If a property is removed\r\n                // from next, it will be retained by current and never disappears.\r\n                // Workaround is to set value to null or undefined in next.\r\n                return __assign({}, current, next.otherProps);\r\n            }\r\n            return next;\r\n        });\r\n        var datasets = data.datasets, rest = __rest(data, [\"datasets\"]);\r\n        this.chartInstance.config.data = __assign({}, this.chartInstance.config.data, rest);\r\n        this.chartInstance.update();\r\n    };\r\n    /**\r\n     * @return {?}\r\n     */\r\n    ChartjsComponent.prototype.renderChart = /**\r\n     * @return {?}\r\n     */\r\n    function () {\r\n        var _this = this;\r\n        /** @type {?} */\r\n        var node = this.ref.nativeElement;\r\n        /** @type {?} */\r\n        var data = this.transformData();\r\n        if (typeof this.legend !== 'undefined') {\r\n            /** @type {?} */\r\n            var legendOptions = __assign({}, this.legend, this.options.legend);\r\n            this.options.legend = legendOptions;\r\n        }\r\n        /** @type {?} */\r\n        var Chart = require('chart.js');\r\n        this.zone.runOutsideAngular(function () {\r\n            _this.chartInstance = new Chart(node, {\r\n                type: _this.type,\r\n                data: data,\r\n                options: _this.options,\r\n                plugins: _this.plugins,\r\n            });\r\n        });\r\n    };\r\n    /**\r\n     * @return {?}\r\n     */\r\n    ChartjsComponent.prototype.transformData = /**\r\n     * @return {?}\r\n     */\r\n    function () {\r\n        if (!this.data) {\r\n            return;\r\n        }\r\n        if (typeof this.data === 'function') {\r\n            /** @type {?} */\r\n            var node = this.ref;\r\n            return this.data(node);\r\n        }\r\n        return this.data;\r\n    };\r\n    /**\r\n     * @param {?} $event\r\n     * @return {?}\r\n     */\r\n    ChartjsComponent.prototype.handleOnClick = /**\r\n     * @param {?} $event\r\n     * @return {?}\r\n     */\r\n    function ($event) {\r\n        this.chartClick.emit({\r\n            elements: this.chartInstance.getElementsAtEvent($event),\r\n            element: this.chartInstance.getElementAtEvent($event),\r\n            dataset: this.chartInstance.getDatasetAtEvent($event),\r\n            $event: $event,\r\n        });\r\n    };\r\n    ChartjsComponent.decorators = [\r\n        { type: Component, args: [{\r\n                    selector: 'ngx-chartjs',\r\n                    template: \"\\n  <!-- wrapping div required for height, width to work -->\\n  <div>\\n    <canvas\\n      #ref\\n      [attr.height]=\\\"height\\\"\\n      [attr.width]=\\\"width\\\"\\n      (click)=\\\"handleOnClick($event)\\\"\\n    ></canvas>\\n  </div>\\n  \",\r\n                    changeDetection: ChangeDetectionStrategy.OnPush\r\n                }] }\r\n    ];\r\n    /** @nocollapse */\r\n    ChartjsComponent.ctorParameters = function () { return [\r\n        { type: NgZone }\r\n    ]; };\r\n    ChartjsComponent.propDecorators = {\r\n        ref: [{ type: ViewChild, args: ['ref',] }],\r\n        chartClick: [{ type: Output }],\r\n        type: [{ type: Input }],\r\n        data: [{ type: Input }],\r\n        height: [{ type: Input }],\r\n        width: [{ type: Input }],\r\n        legend: [{ type: Input }],\r\n        options: [{ type: Input }],\r\n        plugins: [{ type: Input }],\r\n        redraw: [{ type: Input }],\r\n        datasetKeyProvider: [{ type: Input }]\r\n    };\r\n    return ChartjsComponent;\r\n}());\r\n\r\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\r\n */\r\nvar ChartjsModule = /** @class */ (function () {\r\n    function ChartjsModule() {\r\n    }\r\n    ChartjsModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    exports: [ChartjsComponent],\r\n                    declarations: [ChartjsComponent],\r\n                },] }\r\n    ];\r\n    return ChartjsModule;\r\n}());\r\n\r\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\r\n */\r\n\r\n/**\r\n * @fileoverview added by tsickle\r\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\r\n */\r\n\r\nexport { ChartjsComponent, ChartjsModule };\r\n\r\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RybC1uZ3gtY2hhcnRqcy5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vQGN0cmwvbmd4LWNoYXJ0anMvY2hhcnRqcy5jb21wb25lbnQudHMiLCJuZzovL0BjdHJsL25neC1jaGFydGpzL2NoYXJ0anMubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDaGFydERhdGEsXG4gIENoYXJ0TGVnZW5kT3B0aW9ucyxcbiAgQ2hhcnRPcHRpb25zLFxuICBDaGFydFR5cGUsXG59IGZyb20gJ2NoYXJ0LmpzJztcblxuZGVjbGFyZSB2YXIgcmVxdWlyZTogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtY2hhcnRqcycsXG4gIHRlbXBsYXRlOiBgXG4gIDwhLS0gd3JhcHBpbmcgZGl2IHJlcXVpcmVkIGZvciBoZWlnaHQsIHdpZHRoIHRvIHdvcmsgLS0+XG4gIDxkaXY+XG4gICAgPGNhbnZhc1xuICAgICAgI3JlZlxuICAgICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlT25DbGljaygkZXZlbnQpXCJcbiAgICA+PC9jYW52YXM+XG4gIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRqc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIGNoYXJ0SW5zdGFuY2U6IGFueTtcbiAgQFZpZXdDaGlsZCgncmVmJykgcmVmOiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgQE91dHB1dCgpIGNoYXJ0Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENoYXJ0Q2xpY2tFdmVudD4oKTtcbiAgLyoqIGNoYXJ0IHR5cGUgKi9cbiAgQElucHV0KCkgdHlwZTogQ2hhcnRUeXBlIHwgc3RyaW5nID0gJ2RvdWdobnV0JztcbiAgQElucHV0KCkgZGF0YTogQ2hhcnREYXRhIHwgYW55O1xuICBASW5wdXQoKSBoZWlnaHQgPSAxNTA7XG4gIEBJbnB1dCgpIHdpZHRoID0gMzAwO1xuICBASW5wdXQoKVxuICBsZWdlbmQ6IENoYXJ0TGVnZW5kT3B0aW9ucyB8IGFueSA9IHtcbiAgICBkaXNwbGF5OiB0cnVlLFxuICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgfTtcbiAgQElucHV0KCkgb3B0aW9uczogQ2hhcnRPcHRpb25zIHwgYW55ID0ge307XG4gIEBJbnB1dCgpIHBsdWdpbnM6IGFueVtdO1xuICBASW5wdXQoKSByZWRyYXcgPSBmYWxzZTtcbiAgQElucHV0KCkgZGF0YXNldEtleVByb3ZpZGVyOiAoeDogYW55KSA9PiBzdHJpbmcgPSBkID0+IGQubGFiZWw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMucmVuZGVyQ2hhcnQoKTtcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpIHtcbiAgICBpZiAoY2hhbmdlcy5maXJzdENoYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5jaGFydEluc3RhbmNlICYmIHRoaXMucmVkcmF3KSB7XG4gICAgICB0aGlzLmNoYXJ0SW5zdGFuY2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy5yZW5kZXJDaGFydCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUNoYXJ0KCk7XG4gIH1cblxuICB1cGRhdGVDaGFydCgpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy50cmFuc2Zvcm1EYXRhKCk7XG5cbiAgICBpZiAoIXRoaXMuY2hhcnRJbnN0YW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcbiAgICAgIC8vIGluIG9yZGVyIHRvIGFsbG93IGZvciB1bml2ZXJzYWwgcmVuZGVyaW5nLCB3ZSBpbXBvcnQgY2hhcnQuanMgcnVudGltZSB3aXRoIGByZXF1aXJlYCB0byBwcmV2ZW50IG5vZGUgZXJyb3JzXG4gICAgICBjb25zdCBDaGFydCA9IHJlcXVpcmUoJ2NoYXJ0LmpzJyk7XG4gICAgICB0aGlzLmNoYXJ0SW5zdGFuY2Uub3B0aW9ucyA9IChDaGFydCBhcyBhbnkpLmhlbHBlcnMuY29uZmlnTWVyZ2UoXG4gICAgICAgIHRoaXMuY2hhcnRJbnN0YW5jZS5vcHRpb25zLFxuICAgICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFBpcGUgZGF0YXNldHMgdG8gY2hhcnQgaW5zdGFuY2UgZGF0YXNldHMgZW5hYmxpbmdcbiAgICAvLyBzZWFtbGVzcyB0cmFuc2l0aW9uc1xuICAgIGNvbnN0IGN1cnJlbnREYXRhc2V0czogYW55W10gPVxuICAgICAgKHRoaXMuY2hhcnRJbnN0YW5jZS5jb25maWcuZGF0YSAmJlxuICAgICAgICB0aGlzLmNoYXJ0SW5zdGFuY2UuY29uZmlnLmRhdGEuZGF0YXNldHMpIHx8XG4gICAgICBbXTtcbiAgICBjb25zdCBuZXh0RGF0YXNldHMgPSBkYXRhLmRhdGFzZXRzIHx8IFtdO1xuXG4gICAgY29uc3QgY3VycmVudERhdGFzZXRzSW5kZXhlZCA9IHt9O1xuICAgIGN1cnJlbnREYXRhc2V0cy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICBjdXJyZW50RGF0YXNldHNJbmRleGVkW3RoaXMuZGF0YXNldEtleVByb3ZpZGVyKHgpXSA9IHg7XG4gICAgfSk7XG5cbiAgICAvLyBXZSBjYW4gc2FmZWx5IHJlcGxhY2UgdGhlIGRhdGFzZXQgYXJyYXksIGFzIGxvbmcgYXMgd2UgcmV0YWluIHRoZSBfbWV0YSBwcm9wZXJ0eVxuICAgIC8vIG9uIGVhY2ggZGF0YXNldC5cbiAgICB0aGlzLmNoYXJ0SW5zdGFuY2UuY29uZmlnLmRhdGEuZGF0YXNldHMgPSBuZXh0RGF0YXNldHMubWFwKG5leHQgPT4ge1xuICAgICAgY29uc3QgY3VycmVudCA9IGN1cnJlbnREYXRhc2V0c0luZGV4ZWRbdGhpcy5kYXRhc2V0S2V5UHJvdmlkZXIobmV4dCldO1xuXG4gICAgICBpZiAoY3VycmVudCAmJiBjdXJyZW50LnR5cGUgPT09IG5leHQudHlwZSkge1xuICAgICAgICAvLyBUaGUgZGF0YSBhcnJheSBtdXN0IGJlIGVkaXRlZCBpbiBwbGFjZS4gQXMgY2hhcnQuanMgYWRkcyBsaXN0ZW5lcnMgdG8gaXQuXG4gICAgICAgIGN1cnJlbnQuZGF0YS5zcGxpY2UobmV4dC5kYXRhLmxlbmd0aCk7XG4gICAgICAgIG5leHQuZGF0YS5mb3JFYWNoKChwb2ludCwgcGlkKSA9PiB7XG4gICAgICAgICAgY3VycmVudC5kYXRhW3BpZF0gPSBuZXh0LmRhdGFbcGlkXTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIE1lcmdlIHByb3BlcnRpZXMuIE5vdGljZSBhIHdlYWtuZXNzIGhlcmUuIElmIGEgcHJvcGVydHkgaXMgcmVtb3ZlZFxuICAgICAgICAvLyBmcm9tIG5leHQsIGl0IHdpbGwgYmUgcmV0YWluZWQgYnkgY3VycmVudCBhbmQgbmV2ZXIgZGlzYXBwZWFycy5cbiAgICAgICAgLy8gV29ya2Fyb3VuZCBpcyB0byBzZXQgdmFsdWUgdG8gbnVsbCBvciB1bmRlZmluZWQgaW4gbmV4dC5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5jdXJyZW50LFxuICAgICAgICAgIC4uLm5leHQub3RoZXJQcm9wcyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH0pO1xuXG4gICAgY29uc3QgeyBkYXRhc2V0cywgLi4ucmVzdCB9ID0gZGF0YTtcblxuICAgIHRoaXMuY2hhcnRJbnN0YW5jZS5jb25maWcuZGF0YSA9IHtcbiAgICAgIC4uLnRoaXMuY2hhcnRJbnN0YW5jZS5jb25maWcuZGF0YSxcbiAgICAgIC4uLnJlc3QsXG4gICAgfTtcblxuICAgIHRoaXMuY2hhcnRJbnN0YW5jZS51cGRhdGUoKTtcbiAgfVxuXG4gIHJlbmRlckNoYXJ0KCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnRyYW5zZm9ybURhdGEoKTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5sZWdlbmQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zdCBsZWdlbmRPcHRpb25zID0geyAuLi50aGlzLmxlZ2VuZCwgLi4udGhpcy5vcHRpb25zLmxlZ2VuZCB9O1xuICAgICAgdGhpcy5vcHRpb25zLmxlZ2VuZCA9IGxlZ2VuZE9wdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHVuaXZlcnNhbCByZW5kZXJpbmcsIHdlIGltcG9ydCBDb2RlbWlycm9yIHJ1bnRpbWUgd2l0aCBgcmVxdWlyZWAgdG8gcHJldmVudCBub2RlIGVycm9yc1xuICAgIGNvbnN0IENoYXJ0ID0gcmVxdWlyZSgnY2hhcnQuanMnKTtcblxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmNoYXJ0SW5zdGFuY2UgPSBuZXcgQ2hhcnQobm9kZSwge1xuICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgcGx1Z2luczogdGhpcy5wbHVnaW5zLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICB0cmFuc2Zvcm1EYXRhKCkge1xuICAgIGlmICghdGhpcy5kYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5yZWY7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhKG5vZGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kYXRhO1xuICB9XG5cbiAgaGFuZGxlT25DbGljaygkZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5jaGFydENsaWNrLmVtaXQoe1xuICAgICAgZWxlbWVudHM6IHRoaXMuY2hhcnRJbnN0YW5jZS5nZXRFbGVtZW50c0F0RXZlbnQoJGV2ZW50KSxcbiAgICAgIGVsZW1lbnQ6IHRoaXMuY2hhcnRJbnN0YW5jZS5nZXRFbGVtZW50QXRFdmVudCgkZXZlbnQpLFxuICAgICAgZGF0YXNldDogdGhpcy5jaGFydEluc3RhbmNlLmdldERhdGFzZXRBdEV2ZW50KCRldmVudCksXG4gICAgICAkZXZlbnQsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydENsaWNrRXZlbnQge1xuICBlbGVtZW50czogYW55W107XG4gIGVsZW1lbnQ6IGFueTtcbiAgZGF0YXNldDogYW55W107XG4gICRldmVudDogRXZlbnQ7XG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDaGFydGpzQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFydGpzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtDaGFydGpzQ29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbQ2hhcnRqc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0anNNb2R1bGUge31cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztJQXVERSwwQkFBb0IsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7MEJBaEJULElBQUksWUFBWSxFQUFtQjs7OztvQkFFdEIsVUFBVTtzQkFFNUIsR0FBRztxQkFDSixHQUFHO3NCQUVlO1lBQ2pDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLFFBQVE7U0FDbkI7dUJBQ3NDLEVBQUU7c0JBRXZCLEtBQUs7a0NBQzJCLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLEtBQUssR0FBQTtLQUUxQjs7OztJQUVwQywwQ0FBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDcEI7Ozs7O0lBQ0Qsc0NBQVc7Ozs7SUFBWCxVQUFZLE9BQVk7UUFDdEIsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNwQjs7OztJQUVELHNDQUFXOzs7SUFBWDtRQUFBLGlCQTJEQzs7UUExREMsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTs7WUFFaEIsSUFBTSxPQUFLLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLG1CQUFDLE9BQVksR0FBRSxPQUFPLENBQUMsV0FBVyxDQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1NBQ0g7O1FBSUQsSUFBTSxlQUFlLEdBQ25CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUN6QyxFQUFFLENBQUM7O1FBQ0wsSUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7O1FBRXpDLElBQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBQyxDQUFDO1lBQ3hCLHNCQUFzQixDQUFDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4RCxDQUFDLENBQUM7OztRQUlILElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUk7O1lBQzdELElBQU0sT0FBTyxHQUFHLHNCQUFzQixDQUFDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXRFLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTs7Z0JBRXpDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSyxFQUFFLEdBQUc7b0JBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDcEMsQ0FBQyxDQUFDOzs7O2dCQUlILG9CQUNLLE9BQU8sRUFDUCxJQUFJLENBQUMsVUFBVSxFQUNsQjthQUNIO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYixDQUFDLENBQUM7UUFFSyxJQUFBLHdCQUFRLEVBQUUsaUNBQU8sQ0FBVTtRQUVuQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdCQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQzlCLElBQUksQ0FDUixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUM3Qjs7OztJQUVELHNDQUFXOzs7SUFBWDtRQUFBLGlCQW9CQzs7UUFuQkMsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7O1FBQ3BDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVsQyxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7O1lBQ3RDLElBQU0sYUFBYSxnQkFBUSxJQUFJLENBQUMsTUFBTSxFQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFHO1lBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztTQUNyQzs7UUFHRCxJQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUMxQixLQUFJLENBQUMsYUFBYSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDbkMsSUFBSSxFQUFFLEtBQUksQ0FBQyxJQUFJO2dCQUNmLElBQUksTUFBQTtnQkFDSixPQUFPLEVBQUUsS0FBSSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sRUFBRSxLQUFJLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7S0FDSjs7OztJQUVELHdDQUFhOzs7SUFBYjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFOztZQUNuQyxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztLQUNsQjs7Ozs7SUFFRCx3Q0FBYTs7OztJQUFiLFVBQWMsTUFBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7WUFDdkQsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQ3JELE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUNyRCxNQUFNLFFBQUE7U0FDUCxDQUFDLENBQUM7S0FDSjs7Z0JBeEpGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLHFPQVVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7OztnQkE1QkMsTUFBTTs7O3NCQStCTCxTQUFTLFNBQUMsS0FBSzs2QkFDZixNQUFNO3VCQUVOLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzswQkFLTCxLQUFLOzBCQUNMLEtBQUs7eUJBQ0wsS0FBSztxQ0FDTCxLQUFLOzsyQkFyRFI7Ozs7Ozs7QUNBQTs7OztnQkFJQyxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUNqQzs7d0JBUEQ7Ozs7Ozs7Ozs7Ozs7OzsifQ==\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ctrl/ngx-chartjs/fesm5/ctrl-ngx-chartjs.js\n// module id = 779\n// module chunks = 3","export class Familia {\r\n    alumnoid: number;\r\n    a_primernombre: string;\r\n    a_segundonombre: string;\r\n    a_apellidopaterno: string;\r\n    a_apellidomaterno: string;\r\n    a_matricula: string;\r\n    a_nivel?: string;\r\n    a_grado?: string;\r\n    a_grupo?: string;\r\n    clavefamiliarid: number;\r\n    f_clave?: string;\r\n    f_apellidopaterno?: string;\r\n    f_apellidomaterno?: string;\r\n\r\n    constructor() {\r\n        this.alumnoid = null;\r\n        this.a_primernombre = null;\r\n        this.a_segundonombre = null;\r\n        this.a_apellidopaterno = null;\r\n        this.a_apellidomaterno = null;\r\n        this.a_matricula = null;\r\n        this.a_nivel = null;\r\n        this.a_grado = null;\r\n        this.a_grupo = null;\r\n        this.clavefamiliarid = null;\r\n        this.f_clave = null;\r\n        this.f_apellidopaterno = null;\r\n        this.f_apellidomaterno = null;\r\n    }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/familia/familia.ts","import { Component, OnInit, ViewChild, ViewContainerRef, ViewEncapsulation, ComponentFactory, ComponentRef, ComponentFactoryResolver, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { AppState } from 'app/app.service';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\n\r\nimport { Alumno } from 'app/componenetesgenerales/alumno/alumno';\r\nimport { Seguridad } from 'entity/seguridad';\r\n\r\nimport { DatosgeneralesComponent } from 'app/controlescolar/alumnos/componentesacademico/modalalumno/datosgenerales/datosgenerales.component';\r\nimport { AreamedicaluxComponent } from 'app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicalux.component';\r\nimport { AreamedicaidecComponent } from 'app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicaidec/areamedicaidec.component';\r\nimport { ContactosEmergenciaComponent } from 'app/controlescolar/alumnos/componentesacademico/modalalumno/contactosemergencia/contactosemergencia.component';\r\nimport { HorarioComponent } from './horario/horario.component';\r\nimport { BecasComponent } from './becas/becas.component';\r\nimport { FamiliaComponent } from './familia/familia.component';\r\nimport { AdmisionesComponent } from './admisiones/admisiones.component';\r\nimport { HistorialAcademicoComponent } from './historialacademico/historialacademico.component';\r\nimport { SubgruposComponent } from './subgrupos/subgrupos';\r\nimport { HistorialFinancieroComponent } from './historialfinanciero/historialacademico.component';\r\nimport { CertificacionesComponent } from './certificaciones/certificaciones.component';\r\nimport { ExtraordinariosComponent } from './extraordinarios/extraordinarios.component';\r\nimport { FotosAlumnoComponent } from 'app/controlescolar/alumnos/componentesacademico/fotosalumno/fotosalumno.component';\r\nimport { CustodiaComponent } from './custodia/custodia.component';\r\nimport { ModalDirective } from 'ng2-bootstrap';\r\nimport { Router } from '@angular/router';\r\nimport { StorageService } from \"app/directives/storage.service\";\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport {Config, ConfigERP} from 'app/configERP';\r\n\r\ndeclare let Messenger: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n    selector: 'modalalumno',\r\n    template: require('./modalalumno.component.html'),\r\n    encapsulation: ViewEncapsulation.None\r\n\r\n})\r\nexport class ModalalumnoComponent implements OnInit, AfterViewInit {\r\n    @Input() alumno: any;\r\n    @Input() select: any;\r\n    @Input() nuevo: any;\r\n    @Input() paginainicial: any;\r\n    @Input() seguridad: Seguridad;\r\n    @Output() consultarMetodo = new EventEmitter();\r\n    @Input() sistema: number;\r\n    arrayseguridadpestana: any[] = [];\r\n    @Output() output = new EventEmitter();\r\n\r\n    fotoalumno: any;\r\n    fotosalumno: any = [];\r\n\r\n    FormCustodia: FormGroup;\r\n    submitted: boolean;\r\n    editarcustodia: boolean;\r\n\r\n    pestanaActual: number;\r\n    pestanaSig: number;\r\n\r\n    agregar: any;\r\n\r\n    ComponenteenturnoGenerales: any;\r\n    FormGenerales: any;\r\n    ComponenteenturnoMedicoLux: any;\r\n    FormMedicoLux: any;\r\n    ComponenteenturnoMedicoIdec: any;\r\n    FormMedicoIdec: any;\r\n    ComponenteenturnoContacto: any;\r\n    FormContacto: any;\r\n    ComponenteenturnoHorario: any;\r\n    ComponenteenturnoBecas: any;\r\n    ComponenteenturnoFamilia: any;\r\n    ComponenteenturnoAdmision: any;\r\n    ComponenteenturnoHistorialAcademico: any;\r\n    ComponenteenturnoHistorialFinanciero: any;\r\n    ComponenteenturnoSubgrupos: any;\r\n    ComponenteenturnoCertificaciones: any;\r\n    ComponenteenturnoExtraordinarios: any;\r\n    ComponenteenturnoCustodia: any;\r\n    ComponenteenturnoFotos: any;\r\n\r\n    version: any;\r\n    BooleanSelect: any[];\r\n\r\n    @ViewChild(\"container\", { read: ViewContainerRef }) container;\r\n    @ViewChild(\"containerGenerales\", { read: ViewContainerRef }) containerGenerales;\r\n    @ViewChild(\"containerAreamedicalux\", { read: ViewContainerRef }) containerAreamedicalux;\r\n    @ViewChild(\"containerAreamedicaidec\", { read: ViewContainerRef }) containerAreamedicaidec;\r\n    @ViewChild(\"containerFotos\", { read: ViewContainerRef }) containerFotos;\r\n    @ViewChild('modalFoto') public modal: ModalDirective;\r\n    componentRef: ComponentRef<any>; // Contenedor\r\n\r\n    constructor(private _httpService: AppState, private _fb: FormBuilder, private _config: ConfigERP, private _cfr: ComponentFactoryResolver, private _router: Router, private storage: StorageService) {\r\n        var config: Config = this._config.getConfig();\r\n        this.version = config.version;\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.FormCustodia = this._fb.group({\r\n            custodiapersona: [],\r\n            custodiaoficio: []\r\n        });\r\n\r\n        if (this.seguridad.accesos.Datosgeneralesconsultar) {\r\n            this.pestanaSiguiente(1);\r\n        } else if (this.seguridad.accesos.Familiaconsultar) {\r\n            this.pestanaSiguiente(2);\r\n        } else if (this.seguridad.accesos.Contactoconsultar) {\r\n            this.pestanaSiguiente(3);\r\n        } else if (this.seguridad.accesos.Areamedicaconsultar) {\r\n            this.pestanaSiguiente(4);\r\n        } else if (this.seguridad.accesos.Horarioconsultar) {\r\n            this.pestanaSiguiente(5);\r\n        } else if (this.seguridad.accesos.Historialacademicoconsultar) {\r\n            this.pestanaSiguiente(9);\r\n        } else if (this.seguridad.accesos.Extraordinariosconsultar) {\r\n            this.pestanaSiguiente(13);\r\n        } else if (this.seguridad.accesos.Subgrupostalleresconsultar) {\r\n            this.pestanaSiguiente(10);\r\n        } else if (this.seguridad.accesos.Certificacionesconsultar) {\r\n            this.pestanaSiguiente(12);\r\n        } else if (this.seguridad.accesos.Admisionesconsultar) {\r\n            this.pestanaSiguiente(8);\r\n        } else if (this.seguridad.accesos.Becasconsultar) {\r\n            this.pestanaSiguiente(6);\r\n        } else if (this.seguridad.accesos.Historialconsultar) {\r\n            this.pestanaSiguiente(11);\r\n        } else if (this.seguridad.accesos.Custodiaconsultar) {\r\n            this.pestanaSiguiente(14);\r\n        }\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        if (this.seguridad.accesos.Datosgeneralesconsultar) {\r\n            this.changeClass(1);\r\n        } else if (this.seguridad.accesos.Familiaconsultar) {\r\n            this.changeClass(2);\r\n        } else if (this.seguridad.accesos.Contactoconsultar) {\r\n            this.changeClass(3);\r\n        } else if (this.seguridad.accesos.Areamedicaconsultar) {\r\n            this.changeClass(4);\r\n        } else if (this.seguridad.accesos.Horarioconsultar) {\r\n            this.changeClass(5);\r\n        } else if (this.seguridad.accesos.Historialacademicoconsultar) {\r\n            this.changeClass(9);\r\n        } else if (this.seguridad.accesos.Extraordinariosconsultar) {\r\n            this.changeClass(13);\r\n        } else if (this.seguridad.accesos.Subgrupostalleresconsultar) {\r\n            this.changeClass(10);\r\n        } else if (this.seguridad.accesos.Certificacionesconsultar) {\r\n            this.changeClass(12);\r\n        } else if (this.seguridad.accesos.Admisionesconsultar) {\r\n            this.changeClass(8);\r\n        } else if (this.seguridad.accesos.Becasconsultar) {\r\n            this.changeClass(6);\r\n        } else if (this.seguridad.accesos.Historialconsultar) {\r\n            this.changeClass(11);\r\n        } else if (this.seguridad.accesos.Custodiaconsultar) {\r\n            this.changeClass(14);\r\n        }\r\n    }\r\n\r\n    editarCustodia() {\r\n        this.editarcustodia = true;\r\n        this.FormCustodia.setValue({\r\n            custodiapersona: this.alumno.custodiapersona ? this.alumno.custodiapersona : null,\r\n            custodiaoficio: this.alumno.custodiaoficio ? this.alumno.custodiaoficio : null\r\n        })\r\n    }\r\n\r\n    guardarCustodia() {\r\n        this.submitted = true;\r\n        if (this.FormCustodia.invalid) {\r\n            return false;\r\n        }\r\n        let datos = this.FormCustodia.value;\r\n        this._httpService.postElemento(\"Controlescolar/Alumno/Custodia/\" + this.alumno.alumnoid, datos, false, true).subscribe(\r\n            res => {\r\n                if (res.status == 200) {\r\n                    Messenger().post({\r\n                        message: \"Se ha guardado el registro\",\r\n                        type: \"success\",\r\n                        showCloseButton: true\r\n                    });\r\n                    this.alumno.custodiapersona = datos.custodiapersona;\r\n                    this.alumno.custodiaoficio = datos.custodiaoficio;\r\n                    this.cancelarCustodia();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: \"No se encontro ningun registro\",\r\n                        type: \"success\",\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            err => {\r\n                Messenger().post({\r\n                    message: \"No se pudo comunicar con el servidor\",\r\n                    type: \"error\",\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n    cancelarCustodia() {\r\n        this.submitted = false;\r\n        this.FormCustodia.reset();\r\n        this.editarcustodia = false;\r\n    }\r\n\r\n    fotoAlumnos() {\r\n        //Llamada al servicio get para obtener el array para llenar el select\r\n        this._httpService.getElemento('Controlescolar/Alumno/Foto/' + this.alumno.alumnoid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.fotoalumno = (result.body.foto) ? result.body.foto : \"./assets/img/white-image.png\";\r\n                } else {\r\n                    this.fotoalumno = \"./assets/img/white-image.png\";\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    getfotosAlumnos() {\r\n        //Llamada al servicio get para obtener el array para llenar el select\r\n        this._httpService.getElemento('Controlescolar/Alumno/Fotos/' + this.alumno.alumnoid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.fotosalumno = result.body\r\n                    this.openAlumnofotos();\r\n                } else {\r\n                    this.fotosalumno = {\r\n                        ciclo: '',\r\n                        nivel: '',\r\n                        grado: '',\r\n                        foto: \"./assets/img/white-image.png\"\r\n                    };\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    pestanaSiguiente(id: number) {\r\n        switch (id) {\r\n            case 1:\r\n                this.ComponenteenturnoGenerales = null;\r\n                this.openGenerales();\r\n                this.pestanaActual = 1;\r\n                break;\r\n            case 2:\r\n                this.ComponenteenturnoFamilia = null;\r\n                this.openFamilia();\r\n                this.pestanaActual = 2;\r\n                break;\r\n            case 3:\r\n                this.ComponenteenturnoContacto = null;\r\n                this.openContacto();\r\n                this.pestanaActual = 3;\r\n                break;\r\n            case 4:\r\n                this.ComponenteenturnoMedicoIdec = null;\r\n                this.ComponenteenturnoMedicoLux = null;\r\n                if (this.sistema == 2) {\r\n                    this.openAreamedicaidec();\r\n                } else {\r\n                    this.openAreamedicalux();\r\n                }\r\n                this.pestanaActual = 4;\r\n                break;\r\n            case 5:\r\n                this.ComponenteenturnoHorario = null;\r\n                this.openHorario();\r\n                this.pestanaActual = 5;\r\n                break;\r\n            case 6:\r\n                this.ComponenteenturnoBecas = null;\r\n                this.openBecas();\r\n                this.pestanaActual = 6;\r\n                break;\r\n            case 7:\r\n\r\n                break;\r\n            case 8:\r\n                this.ComponenteenturnoAdmision = null;\r\n                this.openAdmisiones();\r\n                this.pestanaActual = 8;\r\n                break;\r\n            case 9:\r\n                this.ComponenteenturnoHistorialAcademico = null;\r\n                this.openHistorialAcademico();\r\n                this.pestanaActual = 9;\r\n                break;\r\n            case 10:\r\n                this.ComponenteenturnoSubgrupos = null;\r\n                this.openSubgrupos();\r\n                this.pestanaActual = 10;\r\n                break;\r\n            case 11:\r\n                this.ComponenteenturnoHistorialFinanciero = null;\r\n                this.openHistorialFinanciero();\r\n                this.pestanaActual = 11;\r\n                break;\r\n            case 12:\r\n                this.ComponenteenturnoHistorialFinanciero = null;\r\n                this.openCertificaciones();\r\n                this.pestanaActual = 12;\r\n                break;\r\n            case 13:\r\n                this.ComponenteenturnoExtraordinarios = null;\r\n                this.openExtraordinarios();\r\n                this.pestanaActual = 13;\r\n                break;\r\n            case 14:\r\n                this.ComponenteenturnoCustodia = null;\r\n                this.openCustodia();\r\n                this.pestanaActual = 14;\r\n                break;\r\n        }\r\n    }\r\n\r\n    openGenerales() {\r\n        if (this.ComponenteenturnoGenerales == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(DatosgeneralesComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.cicloid = this.alumno ? this.alumno.cicloid : null;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.select = this.select;\r\n            this.componentRef.instance.seguridad = this.seguridad;\r\n            this.pestanaSig = 2;\r\n            this.agregar = this.seguridad.accesos.Datosgeneraleseditar ? true : false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoGenerales = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openAreamedicalux() {\r\n        if (this.ComponenteenturnoMedicoLux == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(AreamedicaluxComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.seguridad = this.seguridad;\r\n            this.pestanaSig = 5;\r\n            this.agregar = this.seguridad.accesos.Areamedicaeditar ? true : false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoMedicoLux = componentesolicitud;\r\n            });\r\n\r\n        }\r\n    }\r\n    openAreamedicaidec() {\r\n        if (this.ComponenteenturnoMedicoIdec == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(AreamedicaidecComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.seguridad = this.seguridad;\r\n            this.pestanaSig = 5;\r\n            this.agregar = this.seguridad.accesos.Areamedicaeditar ? true : false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoMedicoIdec = componentesolicitud;\r\n            });\r\n\r\n        }\r\n    }\r\n    openContacto() {\r\n        if (this.ComponenteenturnoContacto == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(ContactosEmergenciaComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.seguridad = this.seguridad;\r\n            this.pestanaSig = 4;\r\n            this.agregar = this.seguridad.accesos.Contactoeditar || this.seguridad.accesos.Contactoagregar ? true : false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoContacto = componentesolicitud;\r\n            });\r\n\r\n        }\r\n    }\r\n    openHorario() {\r\n        if (this.ComponenteenturnoHorario == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(HorarioComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.agregar = false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoHorario = componentesolicitud;\r\n            });\r\n\r\n        }\r\n    }\r\n    openBecas() {\r\n        if (this.ComponenteenturnoBecas == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(BecasComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno.matricula;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoBecas = componentesolicitud;\r\n            });\r\n\r\n        }\r\n    }\r\n    openFamilia() {\r\n        if (this.ComponenteenturnoFamilia == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(FamiliaComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.consultarMetodo = this.consultarMetodo;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.select = this.select;\r\n            this.componentRef.instance.seguridad = this.seguridad;\r\n            this.pestanaSig = 3;\r\n            this.agregar =  true;\r\n            this.componentRef.instance.salir.subscribe((param: any) => {\r\n                if (param) {\r\n                    this.output.next(param);\r\n                }\r\n            });\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoFamilia = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openAdmisiones() {\r\n        if (this.ComponenteenturnoAdmision == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(AdmisionesComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno.curp;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.version = this.version;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoAdmision = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openHistorialAcademico() {\r\n        if (this.ComponenteenturnoHistorialAcademico == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(HistorialAcademicoComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.agregar = false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoHistorialAcademico = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openHistorialFinanciero() {\r\n        if (this.ComponenteenturnoHistorialFinanciero == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(HistorialFinancieroComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.agregar = false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoHistorialFinanciero = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openSubgrupos() {\r\n        if (this.ComponenteenturnoSubgrupos == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(SubgruposComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.agregar = false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoSubgrupos = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openCertificaciones() {\r\n        if (this.ComponenteenturnoCertificaciones == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(CertificacionesComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.select = this.select;\r\n            this.componentRef.instance.seguridad = this.seguridad;\r\n            this.agregar =  false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoCertificaciones = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openExtraordinarios() {\r\n        if (this.ComponenteenturnoExtraordinarios == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(ExtraordinariosComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.cicloid = this.alumno ? this.alumno.cicloid : 0;\r\n            this.agregar = false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoExtraordinarios = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openCustodia() {\r\n        if (this.ComponenteenturnoCustodia == null) {\r\n            this.container.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(CustodiaComponent);\r\n            this.componentRef = this.container.createComponent(factory);\r\n            this.componentRef.instance.alumno = this.alumno ? this.alumno : 0;\r\n            this.componentRef.instance.nuevo = this.nuevo;\r\n            this.componentRef.instance.select = this.select;\r\n            this.componentRef.instance.seguridad = this.seguridad;\r\n            this.agregar = this.seguridad.accesos.Custodiaagregar ? true : false;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoCustodia = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    openAlumnofotos() {\r\n        if (this.ComponenteenturnoFotos == null) {\r\n            this.containerFotos.clear();\r\n            const factory: ComponentFactory<any> = this._cfr.resolveComponentFactory(FotosAlumnoComponent);\r\n            this.componentRef = this.containerFotos.createComponent(factory);\r\n            this.componentRef.instance.idalumno = this.alumno ? this.alumno.alumnoid : 0;\r\n            this.componentRef.instance.output.subscribe((componentesolicitud: any) => {\r\n                //Queda a espera de que el componenete regrese \"this\"\r\n                this.ComponenteenturnoExtraordinarios = componentesolicitud;\r\n            });\r\n        }\r\n    }\r\n    Editar(pestanasiguiente) {\r\n        if (this.pestanaActual == 1) {\r\n\r\n            this.componentRef.instance.guardado.subscribe((exito: boolean) => {\r\n                //Queda a espera de que la accion de guardar que se realice en el componente en turno se ejecute correctamente\r\n                this.FormGenerales = exito;\r\n                if (this.FormGenerales) {\r\n                    this.validaPestana(pestanasiguiente);\r\n                }\r\n            });\r\n            this.ComponenteenturnoGenerales.Editar();\r\n        } else if (this.pestanaActual == 2) {\r\n\r\n            this.validaPestana(pestanasiguiente);\r\n            this.ComponenteenturnoFamilia.Editar();\r\n        } else if (this.pestanaActual == 3) {\r\n            this.componentRef.instance.guardado.subscribe((exito: boolean) => {\r\n                //Queda a espera de que la accion de guardar que se realice en el componente en turno se ejecute correctamente\r\n                if (exito) {\r\n                    this.validaPestana(pestanasiguiente);\r\n                }\r\n            });\r\n            //Queda a espera de que la accion de guardar que se realice en el componente en turno se ejecute correctamente\r\n            this.ComponenteenturnoContacto.Editar();\r\n        } else if (this.pestanaActual == 4) {\r\n            this.componentRef.instance.guardado.subscribe((exito: boolean) => {\r\n                //Queda a espera de que la accion de guardar que se realice en el componente en turno se ejecute correctamente\r\n                if (this.sistema == 2) {\r\n                    this.FormMedicoIdec = exito;\r\n                    if (this.FormMedicoIdec) {\r\n                        this.validaPestana(pestanasiguiente);\r\n                    }\r\n                } else {\r\n                    this.FormMedicoLux = exito;\r\n                    if (this.FormMedicoLux) {\r\n                        this.validaPestana(pestanasiguiente);\r\n                    }\r\n                }\r\n\r\n            });\r\n            this.sistema == 2 ? this.ComponenteenturnoMedicoIdec.Editar() : this.ComponenteenturnoMedicoLux.Editar();\r\n\r\n        } else if (this.pestanaActual == 5) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 6) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 7) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 8) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 9) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 10) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 11) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 12) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 13) {\r\n            //this.ComponenteenturnoContacto.Editar();\r\n            this.validaPestana(pestanasiguiente);\r\n        } else if (this.pestanaActual == 14) {\r\n            this.componentRef.instance.guardado.subscribe((exito: boolean) => {\r\n                //Queda a espera de que la accion de guardar que se realice en el componente en turno se ejecute correctamente\r\n                if (exito) {\r\n                    this.validaPestana(pestanasiguiente);\r\n                }\r\n            });\r\n            this.ComponenteenturnoCustodia.Editar();\r\n        }\r\n    }\r\n\r\n    changeClass(pestanasiguiente) {\r\n        $(\".nav-link\").removeClass(\"active\");\r\n        if (pestanasiguiente == 1) {\r\n            $(\"#datosgeneral\").addClass('active');\r\n        } else if (pestanasiguiente == 2) {\r\n            $(\"#familiar\").addClass('active');\r\n        } else if (pestanasiguiente == 3) {\r\n            $(\"#datocontacto\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 4) {\r\n            this.sistema == 2 ? $(\"#datomedicoidec\").addClass(\"active\") : $(\"#datomedicolux\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 5) {\r\n            $(\"#horario\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 6) {\r\n            $(\"#becas\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 7) {\r\n            $(\"#familiar\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 8) {\r\n            $(\"#admisiones\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 9) {\r\n            $(\"#historialacademico\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 10) {\r\n            $(\"#subgrupos\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 11) {\r\n            $(\"#historialfinanciero\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 12) {\r\n            $(\"#certificaciones\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 13) {\r\n            $(\"#extraordinarios\").addClass(\"active\");\r\n        } else if (pestanasiguiente == 14) {\r\n            $(\"#custodia\").addClass(\"active\");\r\n        }\r\n    }\r\n\r\n    validaPestana(pestanasiguiente) {\r\n        if (this.pestanaActual == 1) {\r\n            if (this.FormGenerales) {\r\n                this.pestanaSiguiente(pestanasiguiente);\r\n                this.changeClass(pestanasiguiente)\r\n            }\r\n        } else if (this.pestanaActual == 2) {\r\n            this.pestanaSiguiente(pestanasiguiente);\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 3) {\r\n            this.pestanaSiguiente(pestanasiguiente);\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 4) {\r\n            if (this.sistema == 2 ? this.FormMedicoIdec : this.FormMedicoLux) {\r\n                this.pestanaSiguiente(pestanasiguiente);\r\n                this.changeClass(pestanasiguiente)\r\n            }\r\n\r\n        } else if (this.pestanaActual == 5) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 6) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 7) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 8) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 9) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 10) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 11) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 12) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 13) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        } else if (this.pestanaActual == 14) {\r\n            this.pestanaSiguiente(pestanasiguiente)\r\n            this.changeClass(pestanasiguiente)\r\n        }\r\n    }\r\n\r\n    cerrarModalFoto() {\r\n        this.modal.hide()\r\n    }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/modalalumno.component.ts","// optional / simple context binding\r\nvar aFunction = require('./_a-function');\r\nmodule.exports = function(fn, that, length){\r\n  aFunction(fn);\r\n  if(that === undefined)return fn;\r\n  switch(length){\r\n    case 1: return function(a){\r\n      return fn.call(that, a);\r\n    };\r\n    case 2: return function(a, b){\r\n      return fn.call(that, a, b);\r\n    };\r\n    case 3: return function(a, b, c){\r\n      return fn.call(that, a, b, c);\r\n    };\r\n  }\r\n  return function(/* ...args */){\r\n    return fn.apply(that, arguments);\r\n  };\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 782\n// module chunks = 3","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 783\n// module chunks = 3","import {AfterViewInit, Component, Input, ViewChild, ElementRef, Output, EventEmitter} from '@angular/core';\r\nimport {ModalDirective} from 'ng2-bootstrap/modal';\r\nimport {AppState} from '../../app.service';\r\n\r\nimport {ConfigERP} from '../../configERP';\r\nimport { Helpers } from '../../app.helpers';\r\n\r\ndeclare let Messenger: any;\r\n\r\n@Component({\r\n    selector: 'reciboinscripcion',\r\n    template: require('./reciboinscripcion.component.html'),\r\n    providers: [AppState]\r\n})\r\nexport class ReciboinscripcionComponent implements AfterViewInit {\r\n    @Input() alumnoid: number;\r\n    @Output() output = new EventEmitter();\r\n\r\n    @ViewChild('modalRecibo') public modal: ModalDirective; // Modal\r\n    @ViewChild('recibo') recibo: ElementRef;\r\n\r\n    escuela: number;\r\n    banco: string;\r\n\r\n    datosimpresion: {\r\n        primernombre: string,\r\n        segundonombre: string,\r\n        apellidopaterno: string,\r\n        apellidomaterno: string,\r\n        matricula: string,\r\n        ciclo: string,\r\n        nivel: string,\r\n        grado: string,\r\n        grupo: string,\r\n        pagos: {\r\n            concepto: string,\r\n            documento: string,\r\n            vencimiento: string,\r\n            importe: string,\r\n        }[],\r\n        total: string,\r\n        referencia: string\r\n    } = null;\r\n\r\n    constructor(private _httpService: AppState, private _config: ConfigERP, public helpers: Helpers) {\r\n        let config = this._config.getConfig();\r\n        this.escuela = config.version;\r\n        this.banco = config.banco;\r\n    }\r\n\r\n    ngAfterViewInit(): void {\r\n        this._httpService.getElemento('Alumno/Reciboinscripcion/' + this.alumnoid).subscribe(\r\n            result => {\r\n                if (result.status == 200) {\r\n                    this.datosimpresion = result.body ? {\r\n                        primernombre: result.body[0].primernombre,\r\n                        segundonombre: result.body[0].segundonombre,\r\n                        apellidopaterno: result.body[0].apellidopaterno,\r\n                        apellidomaterno: result.body[0].apellidomaterno,\r\n                        matricula: result.body[0].matricula,\r\n                        ciclo: result.body[0].ciclo,\r\n                        nivel: result.body[0].nivel,\r\n                        grado: result.body[0].grado,\r\n                        grupo: result.body[0].grupo,\r\n                        pagos: [],\r\n                        referencia: result.body[0].referencia,\r\n                        total: (result.body as any[]).reduce((a, b) => {return a + Number(b.importe)}, 0)\r\n                    } : null;\r\n                    (result.body as any[]).forEach((x) => {\r\n                        this.datosimpresion.pagos.push({\r\n                            concepto: x.concepto,\r\n                            documento: x.documento,\r\n                            vencimiento: x.fechalimitepago,\r\n                            importe: x.importe,\r\n                        })\r\n                    })\r\n                    this.modal.show();\r\n                } else {\r\n                    Messenger().post({\r\n                        message: result.body,\r\n                        type: 'success',\r\n                        showCloseButton: true\r\n                    });\r\n                }\r\n            },\r\n            error => {\r\n                var errorMessage = <any> error;\r\n                Messenger().post({\r\n                    message: 'No se pudo comunicar con el servidor',\r\n                    type: 'error',\r\n                    showCloseButton: true\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    cerrar() {\r\n        this.output.next(this.modal);\r\n        this.modal.hide();\r\n    }\r\n\r\n    imprimir() {\r\n        let contenido = (this.recibo.nativeElement as HTMLElement).innerHTML;\r\n        this.helpers.print(contenido);\r\n    }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/reciboinscripcion/reciboinscripcion.component.ts","import WebCamComponent from './lib/webcam.component';\r\nimport FallbackDispatcher from './lib/fallback/ts/fallback.dispatcher';\r\nimport './lib/fallback/jscam_canvas_only.swf'\r\nimport './lib/fallback/jscam.swf'\r\n/**\r\n * @module\r\n * @description\r\n * Entry point from which you should import webcam component\r\n */\r\nexport {\r\n  WebCamComponent,\r\n  FallbackDispatcher\r\n};\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./~/ng2-webcam/index.ts","import {Component, OnInit, AfterViewInit, ElementRef, Input} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\nimport FallbackDispatcher from './fallback/ts/fallback.dispatcher';\r\n\r\n/**\r\n * Component options structure interface\r\n */\r\ninterface Options {\r\n    video: boolean | any;\r\n    cameraType: string;\r\n    audio: boolean;\r\n    width: number;\r\n    height: number;\r\n    fallbackSrc: string;\r\n    fallbackMode: string;\r\n    fallbackQuality: number;\r\n}\r\n\r\n/**\r\n * https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices\r\n */\r\ninterface MediaDevice {\r\n    deviceId: string;\r\n    kind: string;\r\n    label: string;\r\n}\r\n\r\n/**\r\n * Render WebCam Component\r\n */\r\n@Component({\r\n    selector: 'ng2-webcam',\r\n    template: require('./webcam.component.html')\r\n})\r\nclass WebCamComponent implements OnInit, AfterViewInit {\r\n    public videoSrc: any;\r\n    public isSupportWebRTC: boolean;\r\n    public isFallback: boolean;\r\n    public browser: any;\r\n    @Input() options: Options;\r\n    @Input() onSuccess: Function;\r\n    @Input() onError: Function;\r\n\r\n    constructor(private sanitizer: DomSanitizer, private element: ElementRef) {\r\n        this.isFallback = false;\r\n        this.isSupportWebRTC = false;\r\n        this.browser = <any> navigator;\r\n    }\r\n\r\n    ngOnInit() {\r\n        // getUserMedia() feature detection for older browser\r\n        this.browser.getUserMedia_ = (this.browser.getUserMedia\r\n            || this.browser.webkitGetUserMedia\r\n            || this.browser.mozGetUserMedia\r\n            || this.browser.msGetUserMedia);\r\n\r\n        // Older browsers might not implement mediaDevices at all, so we set an empty object first\r\n        if ((this.browser.mediaDevices === undefined) && !!this.browser.getUserMedia_) {\r\n            this.browser.mediaDevices = {};\r\n        }\r\n\r\n        // Some browsers partially implement mediaDevices. We can't just assign an object\r\n        // with getUserMedia as it would overwrite existing properties.\r\n        // Here, we will just add the getUserMedia property if it's missing.\r\n        if ((this.browser.mediaDevices && this.browser.mediaDevices.getUserMedia === undefined) && !!this.browser.getUserMedia_) {\r\n            this.browser.mediaDevices.getUserMedia = (constraints) => {\r\n\r\n                return new Promise((resolve, reject) => {\r\n                    this.browser.getUserMedia_.call(this.browser, constraints, resolve, reject);\r\n                });\r\n            }\r\n        }\r\n\r\n        this.isSupportWebRTC = !!(this.browser.mediaDevices && this.browser.mediaDevices.getUserMedia);\r\n        // default options\r\n        this.options.fallbackSrc =  'node_modules/ng2-webcam/lib/fallback/jscam_canvas_only.swf';\r\n        this.options.fallbackMode = this.options.fallbackMode || 'callback';\r\n        this.options.fallbackQuality = this.options.fallbackQuality || 85;\r\n        this.options.width = this.options.width || 320;\r\n        this.options.height = this.options.height || 240;\r\n        this.options.cameraType = this.options.cameraType || 'front';\r\n        // flash fallback detection\r\n        this.isFallback = !this.isSupportWebRTC && !!this.options.fallbackSrc;\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this.startCapturingVideo();\r\n    }\r\n\r\n    /**\r\n     * Switch to facing mode and setup web camera\r\n     * @returns {void}\r\n     */\r\n    onWebRTC(): any {\r\n        // https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices\r\n        if (this.browser.mediaDevices.enumerateDevices && this.options.video) {\r\n            const cameraType = this.options.cameraType;\r\n            this.browser.mediaDevices.enumerateDevices().then((devices) => {\r\n                devices.forEach((device: MediaDevice) => {\r\n                    if (device && device.kind === 'videoinput') {\r\n                        if (device.label.toLowerCase().search(cameraType) > -1) {\r\n                            this.options.video = {deviceId: {exact: device.deviceId}, facingMode: 'environment'};\r\n                        }\r\n                    }\r\n                });\r\n                this.setWebcam();\r\n            });\r\n        }\r\n        else {\r\n            this.setWebcam();\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Setup web camera using native browser API\r\n     * @returns {void}\r\n     */\r\n    setWebcam(): any {\r\n        // constructing a getUserMedia config-object and\r\n        // an string (we will try both)\r\n        let optionObject = {audio: false, video: false};\r\n        let optionString = '';\r\n        let container: any, video: any, ow: any, oh: any;\r\n\r\n        if (this.options.video) {\r\n            optionObject.video = this.options.video;\r\n            optionString = 'video';\r\n        }\r\n        if (this.options.audio === true) {\r\n            optionObject.audio = true;\r\n            if (optionString !== '') {\r\n                optionString = optionString + ', ';\r\n            }\r\n            optionString = optionString + 'audio';\r\n        }\r\n\r\n        container = this.element.nativeElement.querySelector('#ng2-webcam');\r\n        video = this.element.nativeElement.querySelector('video');\r\n        video.autoplay = true;\r\n        // Fix for ratio\r\n        ow = parseInt(container.offsetWidth, 10);\r\n        oh = parseInt(container.offsetHeight, 10);\r\n\r\n        if (this.options.width < ow && this.options.height < oh) {\r\n            this.options.width = ow;\r\n            this.options.height = oh;\r\n        }\r\n\r\n        // configure the interim video\r\n        video.width = this.options.width;\r\n        video.height = this.options.height;\r\n        video.autoplay = true;\r\n\r\n        // Promisify async callback's for angular2 change detection\r\n        const promisifyGetUserMedia = () => {\r\n            return new Promise<string>((resolve, reject) => {\r\n                // first we try if getUserMedia supports the config object\r\n                try {\r\n                    // try object\r\n                    this.browser.mediaDevices.getUserMedia(optionObject)\r\n                        .then((stream: any) => resolve(stream))\r\n                        .catch((objErr: any) => {\r\n                            // option object fails\r\n                            // try string syntax\r\n                            // if the config object failes, we try a config string\r\n                            this.browser.mediaDevices.getUserMedia(optionObject)\r\n                                .then((stream: any) => resolve(stream))\r\n                                .catch((strErr: any) => {\r\n\r\n                                    console.error(objErr);\r\n                                    console.error(strErr);\r\n\r\n                                    reject(new Error('Both configs failed. Neither object nor string works'));\r\n                                });\r\n                        });\r\n                } catch (e) {\r\n                    reject(e);\r\n                }\r\n            });\r\n        };\r\n\r\n        promisifyGetUserMedia().then((stream) => {\r\n            let webcamUrl =(stream);\r\n            this.videoSrc = this.sanitizer.bypassSecurityTrustResourceUrl(webcamUrl);\r\n            this.onSuccess(stream); // TODO stream :MediaStream\r\n        }).catch((err) => {\r\n            this.onError(err);\r\n        });\r\n    }\r\n\r\n    /**\r\n     * Add <param>'s into fallback object\r\n     * @param cam - Flash web camera instance\r\n     * @returns {void}\r\n     */\r\n    addFallbackParams(cam: any): any {\r\n        const paramFlashVars = document.createElement('param');\r\n        paramFlashVars.name = 'FlashVars';\r\n        paramFlashVars.value = 'mode=' + this.options.fallbackMode + '&amp;quality=' + this.options.fallbackQuality;\r\n        cam.appendChild(paramFlashVars);\r\n\r\n        const paramAllowScriptAccess = document.createElement('param');\r\n        paramAllowScriptAccess.name = 'allowScriptAccess';\r\n        paramAllowScriptAccess.value = 'always';\r\n        cam.appendChild(paramAllowScriptAccess);\r\n\r\n        // if (this.browser.appVersion.indexOf('MSIE') > -1) {\r\n        // if (isIE) {\r\n        cam.classid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';\r\n        const paramMovie = document.createElement('param');\r\n        paramMovie.name = 'movie';\r\n        paramMovie.value = this.options.fallbackSrc;\r\n        cam.appendChild(paramMovie);\r\n        // } else {\r\n        cam.data = this.options.fallbackSrc;\r\n        // }\r\n    }\r\n\r\n    /**\r\n     * On web camera using flash fallback\r\n     * .swf file is necessary\r\n     * @returns {void}\r\n     */\r\n    onFallback(): any {\r\n        // Act as a plain getUserMedia shield if no fallback is required\r\n        if (this.options) {\r\n            // Fallback to flash\r\n            const self = this;\r\n            const cam = self.element.nativeElement.querySelector('#XwebcamXobjectX');\r\n            cam.width = self.options.width;\r\n            cam.height = self.options.height;\r\n\r\n            this.addFallbackParams(cam);\r\n\r\n            (function register(run) {\r\n                if (cam.capture !== undefined) {\r\n                    self.onSuccess(new FallbackDispatcher(cam));\r\n                } else if (run === 0) {\r\n                    self.onError(new Error('Flash movie not yet registered!'));\r\n                } else {\r\n                    // Flash interface not ready yet\r\n                    window.setTimeout(register, 1000 * (4 - run), run - 1);\r\n                }\r\n            }(3));\r\n        }\r\n        else {\r\n            console.error('WebCam options is require');\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Start capturing video stream\r\n     * @returns {void}\r\n     */\r\n    startCapturingVideo(): any {\r\n        if (this.isSupportWebRTC) {\r\n            return this.onWebRTC();\r\n        }\r\n\r\n        if (this.isFallback) {\r\n            return this.onFallback();\r\n        }\r\n        console.error('WebCam not supported');\r\n    }\r\n}\r\n\r\nexport default WebCamComponent;\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./~/ng2-webcam/lib/webcam.component.ts","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Pipe({name: 'safeiframe'})\r\nexport class SafeIframe implements PipeTransform {\r\n    constructor(private sanitizer: DomSanitizer) {}\r\n    transform(url: string) {\r\n        return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n    }\r\n}\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/Pipe/safeiframe.ts","import {CommonModule} from '@angular/common';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {NgModule} from '@angular/core';\r\nimport {ModalModule} from 'ng2-bootstrap';\r\nimport {DataTablesModule} from 'angular-datatables';\r\nimport {SuiModule} from 'ng2-semantic-ui';\r\n\r\nimport {TextMaskModule} from 'angular2-text-mask';\r\nimport {MyDatePickerModule} from 'mydatepicker';\r\nimport {MyDateRangePickerModule} from 'mydaterangepicker';\r\n\r\nimport {PipeModule} from \"../../Pipe/pipe.module\";\r\nimport {MomentModule} from 'angular2-moment';\r\nimport {MomentTimezoneModule} from 'angular-moment-timezone';\r\n\r\nimport {MenusolicitudComponent} from './menusolicitud.component';\r\nimport {ModalfotosComponent} from './modalfotos/modalfotos.component';\r\nimport {DatosaspiranteComponent} from \"./datosaspirante/datosaspirante.component\";\r\nimport {DatosfamiliaresComponent} from './datosfamiliares/datosfamiliares.component';\r\nimport {FotografiaComponent} from './fotografia/fotografia.component';\r\nimport {EncuestaComponent} from './encuesta/encuesta.component';\r\nimport {EvaluacionesComponent} from './evaluaciones/evaluaciones.component';\r\nimport {DocumentacionComponent} from './documentacion/documentacion.component';\r\nimport {ComentariosComponent} from './comentarios/comentarios.component';\r\nimport {HermanosComponent} from './hermanos/hermanos.component';\r\nimport {DinamicafamiliarComponent} from './dinamicafamiliar/dinamicafamiliar.component';\r\nimport {AreamedicaComponent} from './areamedica/areamedica.component';\r\nimport {OtrosprocesosComponent} from './otrosprocesos/otrosprocesos.component';\r\nimport {DictamenComponent} from \"./dictamen/dictamen.component\";\r\nimport {FichaComponent} from \"./dictamen/ficha/ficha.component\";\r\nimport {DictamenpestanaComponent} from \"./dictamen/dictamenpestana/dictamenpestana.component\";\r\nimport {Expediente} from \"app/admisiones/modalsolicitud/expediente/expediente.component\";\r\n\r\n\r\n@NgModule({\r\n    declarations: [\r\n        //WebCamComponent,\r\n        MenusolicitudComponent,\r\n        ModalfotosComponent,\r\n        DatosaspiranteComponent,\r\n        DatosfamiliaresComponent,\r\n        FotografiaComponent,\r\n        EncuestaComponent,\r\n        EvaluacionesComponent,\r\n        DocumentacionComponent,\r\n        ComentariosComponent,\r\n        HermanosComponent,\r\n        DinamicafamiliarComponent,        \r\n        AreamedicaComponent,\r\n        OtrosprocesosComponent,\r\n        DictamenComponent,\r\n        FichaComponent,\r\n        DictamenpestanaComponent,\r\n        Expediente\r\n\r\n    ],\r\n    entryComponents: [\r\n        MenusolicitudComponent,\r\n        ModalfotosComponent,\r\n        DatosaspiranteComponent,\r\n        DatosfamiliaresComponent,\r\n        FotografiaComponent,\r\n        EncuestaComponent,\r\n        EvaluacionesComponent,\r\n        DocumentacionComponent,\r\n        ComentariosComponent,\r\n        HermanosComponent,\r\n        DinamicafamiliarComponent,\r\n        AreamedicaComponent,\r\n        OtrosprocesosComponent,\r\n        DictamenComponent,\r\n        FichaComponent,\r\n        DictamenpestanaComponent,\r\n        Expediente\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        FormsModule,\r\n        ReactiveFormsModule,\r\n        DataTablesModule,\r\n        SuiModule,\r\n        ModalModule,\r\n        MyDatePickerModule,\r\n        MyDateRangePickerModule,\r\n        MomentTimezoneModule,\r\n        MomentModule,\r\n        TextMaskModule,\r\n        PipeModule\r\n    ]\r\n})\r\nexport class ModalsolicitudModule {}\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/admisiones/modalsolicitud/modalsolicitud.module.ts","/*\r\n * Angular 2 decorators and services\r\n */\r\nimport {Component, ViewEncapsulation} from '@angular/core';\r\nimport * as config from './config.json'\r\ndeclare let $: any;\r\ndeclare let Messenger: any;\r\n/*\r\n * App Component\r\n * Top Level Component\r\n */\r\n@Component({\r\n    selector: 'app',\r\n    encapsulation: ViewEncapsulation.None,\r\n    styles: [\r\n        require('../assets/Semantic/semantic.css'),\r\n        require('../assets/scss/application.scss'),\r\n        require('../assets/datatable/rowReorder.dataTables.min.css'),\r\n        require('../assets/datatable/responsive.dataTables.min.css'),\r\n        require('../../node_modules/datatables.net-dt/css/jquery.dataTables.css'),\r\n        require('../../node_modules/datatables.net-buttons-dt/css/buttons.dataTables.css'),\r\n        require('../assets/alert/notifications.style.scss'),\r\n        require('../assets/fileinput/fileinput.min.css'),\r\n        require('../../node_modules/pace/themes/pace-theme-center-radar.css'),\r\n        require('../../node_modules/dragula/dist/dragula.css'),\r\n        require('../assets/icon/google-icons.css'),\r\n        require('../assets/datapicker/bootstrap-material-datetimepicker.css'),\r\n        require('../assets/general.css'),\r\n        require('../../node_modules/fullcalendar/dist/fullcalendar.min.css'),\r\n        require('../assets/bootstrap-colorselector-0.2.0/css/bootstrap-colorselector.css'),\r\n\r\n\r\n    ],\r\n    template: `<router-outlet></router-outlet>`\r\n})\r\nexport class App {\r\n\r\n\r\n    constructor() {\r\n\r\n    }\r\n\r\n    ngOnInit() {\r\n        let title = 'Lux'\r\n\r\n        switch (config.sistema) {\r\n            case 1:\r\n                title = 'Lux';\r\n                break;\r\n            case 2:\r\n                title = 'Ciencias';\r\n                break;\r\n        }\r\n        \r\n        document.title = `Escuela Carlos Pereyra -  ERP`;\r\n        console.log(title);\r\n\r\n        Messenger.options = {\r\n            extraClasses: 'messenger-fixed messenger-on-bottom',\r\n            maxMessages: 1,\r\n            theme: 'ice',\r\n            parentLocations: ['#mensaje']\r\n        };\r\n\r\n    }\r\n\r\n    focusAnimation(e) {\r\n        let input = $(e).find('input')\r\n        let textarea = $(e).find('textarea')\r\n        let label = $(e).find('label')\r\n        if (textarea.length > 0) {\r\n            if (textarea.attr('required') == undefined) {\r\n                if (textarea.val() == '' || textarea.val() == undefined || textarea.val() == null) {\r\n                    label.css({\r\n                        \"color\": \"#999\",\r\n                        \"font-size\": \"12px\",\r\n                        \"font-weight\": \"normal\",\r\n                        \"position\": \"absolute\",\r\n                        \"pointer-events\": \"none\",\r\n                        \"left\": \"5px\",\r\n                        \"top\": \"7px\",\r\n                        \"transition\": \"0.2s ease all\",\r\n                        \"-moz-transition\": \"0.2s ease all\",\r\n                        \"-webkit-transition\": \"0.2s ease all\",\r\n                    })\r\n                }\r\n\r\n                textarea.on('focus', function () {\r\n                    if (textarea.val() == '' || textarea.val() == undefined || textarea.val() == null) {\r\n                        label.css({\r\n                            \"top\": \"-11px\",\r\n                            \"font-size\": \"12px\",\r\n                            \"color\": \"#CB0036\"\r\n                        })\r\n                    }\r\n                })\r\n\r\n                textarea.blur(function () {\r\n                    if (textarea.val() == '' || textarea.val() == undefined || textarea.val() == null) {\r\n                        label.css({\r\n                            \"color\": \"#999\",\r\n                            \"font-size\": \"12px\",\r\n                            \"font-weight\": \"normal\",\r\n                            \"position\": \"absolute\",\r\n                            \"pointer-events\": \"none\",\r\n                            \"left\": \"5px\",\r\n                            \"top\": \"7px\",\r\n                            \"transition\": \"0.2s ease all\",\r\n                            \"-moz-transition\": \"0.2s ease all\",\r\n                            \"-webkit-transition\": \"0.2s ease all\",\r\n                        })\r\n                    }\r\n                })\r\n            }\r\n        }\r\n        if (input.length > 0) {\r\n            if (input.attr('required') == undefined) {\r\n                if (input.val() == '' || input.val() == undefined || input.val() == null) {\r\n                    label.css({\r\n                        \"color\": \"#999\",\r\n                        \"font-size\": \"12px\",\r\n                        \"font-weight\": \"normal\",\r\n                        \"position\": \"absolute\",\r\n                        \"pointer-events\": \"none\",\r\n                        \"left\": \"5px\",\r\n                        \"top\": \"7px\",\r\n                        \"transition\": \"0.2s ease all\",\r\n                        \"-moz-transition\": \"0.2s ease all\",\r\n                        \"-webkit-transition\": \"0.2s ease all\",\r\n                    })\r\n                }\r\n\r\n                input.on('focus', function () {\r\n                    if (input.val() == '' || input.val() == undefined || input.val() == null) {\r\n                        label.css({\r\n                            \"top\": \"-9px\",\r\n                            \"font-size\": \"12px\",\r\n                            \"color\": \"#CB0036\"\r\n                        })\r\n                    }\r\n                })\r\n\r\n                input.blur(function () {\r\n                    if (input.val() == '' || input.val() == undefined || input.val() == null) {\r\n                        label.css({\r\n                            \"color\": \"#999\",\r\n                            \"font-size\": \"12px\",\r\n                            \"font-weight\": \"normal\",\r\n                            \"position\": \"absolute\",\r\n                            \"pointer-events\": \"none\",\r\n                            \"left\": \"5px\",\r\n                            \"top\": \"7px\",\r\n                            \"transition\": \"0.2s ease all\",\r\n                            \"-moz-transition\": \"0.2s ease all\",\r\n                            \"-webkit-transition\": \"0.2s ease all\",\r\n                        })\r\n                    }\r\n                })\r\n            }\r\n        }\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/app.component.ts","import {NgModule, ApplicationRef} from '@angular/core';\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {HttpModule} from '@angular/http';\r\nimport {RouterModule} from '@angular/router';\r\nimport {CustomFormsModule} from 'ng2-validation';\r\nimport {removeNgStyles, createNewHosts, createInputTransfer} from '@angularclass/hmr';\r\nimport {NgIdleKeepaliveModule} from '@ng-idle/keepalive';\r\nimport {MomentModule} from 'angular2-moment';\r\nimport {StorageService} from \"app/directives/storage.service\";\r\nimport {ComponentesgeneralesModule} from './componenetesgenerales/componenetesgenerales.module';\r\nimport {ModalsolicitudModule} from './admisiones/modalsolicitud/modalsolicitud.module';\r\nimport {ComponentesAcademicoModule} from 'app/controlescolar/alumnos/componentesacademico/componentesacademico.module';\r\n\r\n/*\r\n * Platform and Environment providers/directives/pipes\r\n */\r\nimport {ENV_PROVIDERS} from './environment';\r\nimport {ROUTES} from './app.routes'; \r\n// App is our top level component\r\nimport {App} from './app.component';\r\nimport {APP_RESOLVER_PROVIDERS} from './app.resolver';\r\nimport {AppState, InteralStateType} from './app.service';\r\nimport { Helpers } from './app.helpers'\r\nimport {AppConfig} from './app.config';\r\nimport {ConfigERP} from './configERP';\r\n\r\n// Application wide providers\r\nconst APP_PROVIDERS = [\r\n    ...APP_RESOLVER_PROVIDERS,\r\n    AppState,\r\n    AppConfig,\r\n    ConfigERP,\r\n    Helpers\r\n];\r\n\r\ntype StoreType = {\r\n    state: InteralStateType,\r\n    restoreInputValues: () => void,\r\n    disposeOldHosts: () => void\r\n};\r\n\r\n/**\r\n * `AppModule` is the main entry point into Angular2's bootstraping process\r\n */\r\n@NgModule({\r\n    bootstrap: [App],\r\n    declarations: [\r\n        App\r\n    ], imports: [ // import Angular's modules\r\n        BrowserModule,\r\n        FormsModule,\r\n        CustomFormsModule,\r\n        HttpModule,\r\n        MomentModule,\r\n        NgIdleKeepaliveModule.forRoot(),\r\n        RouterModule.forRoot(ROUTES, {useHash: true}),\r\n        ComponentesgeneralesModule,\r\n        ModalsolicitudModule,\r\n        ComponentesAcademicoModule\r\n    ],\r\n    providers: [ // expose our Services and Providers into Angular's dependency injection\r\n        StorageService,\r\n        ENV_PROVIDERS,\r\n        APP_PROVIDERS\r\n    ]\r\n})\r\nexport class AppModule {\r\n    constructor(public appRef: ApplicationRef, public appState: AppState) {}\r\n\r\n    hmrOnInit(store: StoreType) {\r\n        if (!store || !store.state) return;\r\n        // set state\r\n        this.appState._state = store.state;\r\n        // set input values\r\n        if ('restoreInputValues' in store) {\r\n            let restoreInputValues = store.restoreInputValues;\r\n            setTimeout(restoreInputValues);\r\n        }\r\n\r\n        this.appRef.tick();\r\n        delete store.state;\r\n        delete store.restoreInputValues;\r\n    }\r\n\r\n    hmrOnDestroy(store: StoreType) {\r\n        const cmpLocation = this.appRef.components.map(cmp => cmp.location.nativeElement);\r\n        // save state\r\n        const state = this.appState._state;\r\n        store.state = state;\r\n        // recreate root elements\r\n        store.disposeOldHosts = createNewHosts(cmpLocation);\r\n        // save input values\r\n        store.restoreInputValues = createInputTransfer();\r\n        // remove styles\r\n        removeNgStyles();\r\n    }\r\n\r\n    hmrAfterDestroy(store: StoreType) {\r\n        // display new elements\r\n        store.disposeOldHosts();\r\n        delete store.disposeOldHosts;\r\n    }\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/app.module.ts","import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/of';\r\n\r\n@Injectable()\r\nexport class DataResolver implements Resolve<any> {\r\n  constructor() {\r\n\r\n  }\r\n  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n    return Observable.of({ res: 'I am data'});\r\n  }\r\n}\r\n\r\n// an array of services to resolve routes with data\r\nexport const APP_RESOLVER_PROVIDERS = [\r\n  DataResolver\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/app.resolver.ts","import {Routes} from '@angular/router';\r\n\r\nexport const ROUTES: Routes = [\r\n    {path: '', redirectTo: 'seguridad', pathMatch: 'full'},\r\n    {path: 'menu', loadChildren: () => System.import('.\\\\layout\\\\layout.module')  .then(function(module) {    return module['LayoutModule'];  })},\r\n    {path: 'externo', loadChildren: () => System.import('.\\\\bancoreactivos\\\\layout\\\\layout.module')  .then(function(module) {    return module['LayoutModule'];  })},\r\n    {path: 'seguridad', loadChildren: () => System.import('.\\\\seguridad\\\\seguridad.module')  .then(function(module) {    return module['SeguridadModule'];  })}\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/app.routes.ts","import {Seguridad} from '../../../entity/seguridad';\r\nimport {CalendarComponent} from \"ap-angular2-fullcalendar\";\r\n\r\nexport class eventos {\r\n    id: number;\r\n    title: string;\r\n    start: string;\r\n    end: string;\r\n    color: string;\r\n}\r\n\r\nexport class calendarioInt {\r\n    public seguridad: Seguridad;\r\n    public config: {\r\n        fullbotones?: boolean\r\n    };\r\n    public eventos: eventos[];\r\n\r\n}\r\n\r\nexport class calendarioOut {\r\n    public calendario: CalendarComponent;\r\n}\r\nexport class calendarioOutEvento {\r\n    public fechainicio: string;\r\n    public horainicio: string;\r\n    public fechafin: string;\r\n    public horafin: string;\r\n    public color: string;\r\n}\r\nexport class calendarioOutId {\r\n    public id: number\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/calendario/calendario.ts","import {ViewEncapsulation, Component, OnInit, AfterViewInit, ViewChild, Input, Output, ComponentFactoryResolver, EventEmitter} from '@angular/core';\r\nimport 'chart.js'\r\ndeclare let $: any;\r\n\r\n@Component({\r\n    selector: 'tablero',\r\n    template: require('./tablero.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\n\r\nexport class TableroComponent implements OnInit, AfterViewInit {\r\n    @Input() config: any;\r\n\r\n    constructor(public _cfr: ComponentFactoryResolver) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        \r\n    }\r\n\r\n    ngAfterViewInit() {\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/componenetesgenerales/tablero/tablero.component.ts","import {CommonModule} from '@angular/common';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {NgModule} from '@angular/core';\r\nimport {ModalModule} from 'ng2-bootstrap';\r\nimport {DataTablesModule} from 'angular-datatables';\r\nimport {SuiModule} from 'ng2-semantic-ui';\r\nimport {MomentModule} from 'angular2-moment';\r\nimport {MomentTimezoneModule} from 'angular-moment-timezone';\r\nimport {MyDatePickerModule} from 'mydatepicker';\r\nimport {TextMaskModule} from 'angular2-text-mask';\r\n\r\nimport {ModalalumnoComponent} from './modalalumno/modalalumno.component';\r\nimport {FamiliaComponent} from './modalalumno/familia/familia.component';\r\nimport {DatosgeneralesComponent} from './modalalumno/datosgenerales/datosgenerales.component';\r\nimport {PadreTutorComponent} from './modalalumno/padretutor/padretutor.component';\r\nimport {AreamedicaluxComponent} from 'app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicalux.component'; \r\nimport {AreamedicaidecComponent} from 'app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicaidec/areamedicaidec.component'; \r\nimport {AreamedicaLuxcomponentComponent} from 'app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicaluxcomponent/areamedicaluxcomponent.component'; \r\nimport {ContactosEmergenciaComponent} from 'app/controlescolar/alumnos/componentesacademico/modalalumno/contactosemergencia/contactosemergencia.component';\r\n\r\nimport {PipeModule} from \"app/Pipe/pipe.module\";\r\n\r\nimport { HorarioComponent } from './modalalumno/horario/horario.component';\r\nimport { BecasComponent } from './modalalumno/becas/becas.component';\r\nimport { AdmisionesComponent } from './modalalumno/admisiones/admisiones.component';\r\nimport { FichaGeneralComponent } from 'app/componenetesgenerales/dictamen/ficha/ficha.component';\r\nimport { HistorialAcademicoComponent } from './modalalumno/historialacademico/historialacademico.component';\r\nimport { SubgruposComponent } from './modalalumno/subgrupos/subgrupos';\r\nimport { HistorialFinancieroComponent } from './modalalumno/historialfinanciero/historialacademico.component';\r\nimport { CertificacionesComponent } from './modalalumno/certificaciones/certificaciones.component';\r\nimport { ExtraordinariosComponent } from './modalalumno/extraordinarios/extraordinarios.component';\r\nimport { CustodiaComponent } from './modalalumno//custodia/custodia.component';\r\nimport { FotosAlumnoComponent } from './fotosalumno/fotosalumno.component';\r\n\r\n    @NgModule({\r\n    declarations: [\r\n        ModalalumnoComponent,\r\n        FamiliaComponent,\r\n        DatosgeneralesComponent,\r\n        PadreTutorComponent,\r\n        AreamedicaluxComponent,\r\n        AreamedicaidecComponent,\r\n        AreamedicaLuxcomponentComponent,\r\n        ContactosEmergenciaComponent,\r\n        HorarioComponent,\r\n        BecasComponent,\r\n        FamiliaComponent,\r\n        AdmisionesComponent,\r\n        FichaGeneralComponent,\r\n        HistorialAcademicoComponent,\r\n        SubgruposComponent,\r\n        HistorialFinancieroComponent,\r\n        CertificacionesComponent,\r\n        ExtraordinariosComponent,\r\n        CustodiaComponent,\r\n        FotosAlumnoComponent\r\n    ],\r\n    entryComponents: [\r\n        ContactosEmergenciaComponent,\r\n        ModalalumnoComponent,\r\n        FamiliaComponent,\r\n        DatosgeneralesComponent,\r\n        PadreTutorComponent,\r\n        AreamedicaluxComponent,\r\n        AreamedicaidecComponent,\r\n        AreamedicaLuxcomponentComponent,        \r\n        HorarioComponent,\r\n        BecasComponent,\r\n        FamiliaComponent,\r\n        AdmisionesComponent,\r\n        FichaGeneralComponent,\r\n        HistorialAcademicoComponent,\r\n        SubgruposComponent,\r\n        HistorialFinancieroComponent,\r\n        CertificacionesComponent,\r\n        ExtraordinariosComponent,\r\n        CustodiaComponent,\r\n        FotosAlumnoComponent\r\n    ],\r\n    imports: [\r\n        CommonModule,\r\n        FormsModule,\r\n        ReactiveFormsModule,\r\n        DataTablesModule,\r\n        SuiModule,\r\n        ModalModule,\r\n        MomentModule,\r\n        MomentTimezoneModule,\r\n        MyDatePickerModule,\r\n        TextMaskModule,\r\n        PipeModule\r\n    ]\r\n})\r\nexport class ComponentesAcademicoModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/componentesacademico.module.ts","import {AfterViewInit, ViewEncapsulation, Component, Input, Output, EventEmitter} from '@angular/core';\r\nimport {Config, ConfigERP} from 'app/configERP';\r\nimport {parametrosModalSolicitud} from '../../modalsolicitud';\r\nimport {AppState} from 'app/app.service';\r\nimport {FormGroup, FormBuilder, Validators} from '@angular/forms';\r\nimport {Helpers} from 'app/app.helpers';\r\n\r\n@Component({\r\n    selector: 'areamedicaluxcomponent',\r\n    template: require('./areamedicaluxcomponent.component.html'),\r\n    encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AreamedicaLuxcomponentComponent implements AfterViewInit {\r\n    @Output() output = new EventEmitter();\r\n    @Output() eliminarcontacto = new EventEmitter();\r\n    @Input() Formareamedia: FormGroup;\r\n    @Input() i: any;\r\n    @Input() selectParentesco: any[];\r\n    @Input() selectTiposangre: any[];\r\n    @Input() selectAlergias: any[];\r\n    @Input() submitted: boolean;\r\n    @Input() currencyMask: any;\r\n    @Input() datocambiado: boolean;\r\n    @Output() accionGuardar = new EventEmitter();\r\n    @Output() accionCerraModal = new EventEmitter();\r\n    verision: number;\r\n\r\n    ladacontacto: any;\r\n    eliminarid: any;\r\n\r\n    constructor(private _httpService: AppState, private _config: ConfigERP, public helpers: Helpers, private _fb: FormBuilder) {\r\n        var config: Config = this._config.getConfig();\r\n        this.verision = config.version;\r\n    }\r\n\r\n    //Metodo de inicio\r\n    ngOnInit(): void {\r\n        this.Formareamedia.get('lada').valueChanges.subscribe((lada: string) => {\r\n            let p;\r\n            if (lada) {\r\n                if (lada.length == 4) {\r\n                    p = '\\\\d{4}.\\\\d{4}';\r\n                } else if (lada.length == 5) {\r\n                    p = '\\\\d{3}.\\\\d{4}';\r\n                } else {\r\n                    p = '\\\\d{10}.\\\\d{10}';\r\n                }\r\n                this.Formareamedia.get('telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n            } else {\r\n                p = '\\\\d{10}.\\\\d{10}';\r\n                this.Formareamedia.get('telefono').setValidators([Validators.required, Validators.pattern(p)]);\r\n            }\r\n            this.Formareamedia.get('telefono').updateValueAndValidity();\r\n        });\r\n//        this.Formareamedia.valueChanges.subscribe(() => {\r\n//            this.datocambiado = true;\r\n//        });\r\n\r\n    }\r\n\r\n\r\n    ngAfterViewInit() {\r\n\r\n    }\r\n\r\n    ngAfterContentInit() {\r\n        this.output.next(this);\r\n    }\r\n\r\n    guardar() {\r\n        this.accionGuardar.next(true);\r\n    }\r\n\r\n    eliminar() {\r\n        this.eliminarcontacto.next(this);\r\n    }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicaluxcomponent/areamedicaluxcomponent.component.ts","export class AlumnoModel\r\n{\r\n  public actualizarDatos: any = {\r\n    padrestutor: null\r\n  };\r\n  public tutor: any;\r\n  public respuestaSiNo: any;\r\n  public nacionalidad: any;\r\n  public situacionConyugal: any;\r\n  public escolaridad: any;\r\n\r\n\r\n  constructor()\r\n  {\r\n    this.tutor = null,\r\n    this.respuestaSiNo = null;\r\n    this.actualizarDatos.padrestutor = null;\r\n    this.nacionalidad = null,\r\n    this.situacionConyugal = null,\r\n    this.escolaridad = null\r\n  }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/alumno.model.ts","export class PadreTutorModel\r\n{\r\n  public PadresOTutoresId:any;\r\n  public Nombre: any;\r\n  public ApellidoPaterno: any;\r\n  public ApellidoMaterno: any;\r\n  public Lada: any;\r\n  public Telefono: any;\r\n  public Celular: any;\r\n  public Correo: any;\r\n  public TutorId: any;\r\n\r\n  public AlumnoInstituto: any;\r\n  public EspecificarAlumno: any;\r\n  public Nacionalidad: any;\r\n  public SituacionConyugalId: any;\r\n  public NivelEstudioId: any;\r\n  public Antiguedad: any;\r\n  public Vive: any;\r\n  public Ocupacion: any;\r\n  public EspecificacionOcupacion: any;\r\n  public Ramo: any;\r\n  public Empresa: any;\r\n  public TelefonoEmpresa: any;\r\n  public LadaEmpresa: any;\r\n  public ExtensionEmpresa: any;\r\n  public HorarioTrabajo: any;\r\n\r\n  public ExLux: any;\r\n  public GeneracionId: any;\r\n\r\n  public Finado: any;\r\n  public Tutor: any;\r\n  public FechaNacimiento: any;\r\n\r\n  constructor()\r\n  {\r\n    this.PadresOTutoresId = null;\r\n    this.Nombre = null;\r\n    this.ApellidoPaterno = null;\r\n    this.ApellidoMaterno = null;\r\n    this.TutorId = null;\r\n    this.Lada = null;\r\n    this.Telefono = null;\r\n    this.Celular = null;\r\n    this.AlumnoInstituto = null;\r\n    this.EspecificarAlumno = null;\r\n\r\n    this.Nacionalidad = [];\r\n    this.SituacionConyugalId = null;\r\n    this.NivelEstudioId = null;\r\n\r\n    this.Ocupacion = null;\r\n    this.EspecificacionOcupacion = null;\r\n    this.Ramo = null;\r\n    this.Empresa = null;\r\n    this.TelefonoEmpresa = null;\r\n    this.LadaEmpresa = null;\r\n    this.ExtensionEmpresa = null;\r\n    this.HorarioTrabajo = null;\r\n\r\n    this.ExLux = null;\r\n    this.GeneracionId = null;\r\n\r\n    this.Finado = null;\r\n    this.Tutor = null;\r\n    this.FechaNacimiento = null;\r\n  }\r\n}\r\n\r\nexport class PersonaAutorizadaRecogerModel\r\n{\r\n  public PersonaAutorizadaRecogerPorAlumnoId:any;\r\n  public PersonaAutorizadaRecogerId:any;\r\n  public Nombre: any;\r\n  public ParentescoId: any;\r\n  public Descripcion: any;\r\n  public AlumnoId: any;\r\n\r\n  constructor()\r\n  {\r\n    this.PersonaAutorizadaRecogerPorAlumnoId = null;\r\n    this.Nombre = null;\r\n    this.ParentescoId = null;\r\n    this.Descripcion = null;\r\n    this.AlumnoId = null;\r\n    this.PersonaAutorizadaRecogerId = null;\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/padretutor.model.ts","import {Directive, ElementRef, forwardRef, Input, NgModule, OnInit, Renderer, SimpleChanges, OnChanges} from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'\r\nimport { createTextMaskInputElement } from 'text-mask-core/dist/textMaskCore'\r\nimport {AppState} from \"../app.service\";\r\nimport {ConfigERP} from 'app/configERP';\r\n\r\n@Directive({\r\n    host: {\r\n        '(input)': 'onInput($event)',\r\n        '(blur)': '_onTouched()'\r\n    },\r\n    selector: '[lada]',\r\n    providers: [{\r\n        provide: NG_VALUE_ACCESSOR,\r\n        useExisting: forwardRef(() => LadaDirective),\r\n        multi: true\r\n    }]\r\n})\r\nexport class LadaDirective implements  ControlValueAccessor\r\n{\r\n    private textMaskInputElement: any;\r\n    private inputElement:HTMLInputElement;\r\n\r\n    private  textMaskConfig = {\r\n        mask:  [ ],\r\n        guide: false,\r\n        placeholderChar: '_',\r\n        pipe: undefined,\r\n        keepCharPositions: false,\r\n        onReject: undefined,\r\n        onAccept: undefined\r\n    }\r\n\r\n    private telefonomask =\r\n        {\r\n            lada2: [ '(', /\\d/, /\\d/, ')'],\r\n            lada3: [ '(', /\\d/, /\\d/,/\\d/, ')']\r\n        }\r\n\r\n    private sistestema:number;\r\n\r\n    _onTouched = () => {}\r\n    _onChange = (_: any) => {}\r\n\r\n    constructor(private renderer: Renderer, private element: ElementRef, private appState:AppState, public config: ConfigERP)\r\n    {\r\n        this.sistestema = this.config.tipo;\r\n    }\r\n\r\n    ngOnInit()\r\n    {\r\n        if (this.element.nativeElement.tagName === 'INPUT') {\r\n            // `textMask` directive is used directly on an input element\r\n            this.inputElement = this.element.nativeElement\r\n        } else {\r\n            // `textMask` directive is used on an abstracted input element, `ion-input`, `md-input`, etc\r\n            this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0]\r\n        }\r\n\r\n        this.FormatoLada( this.inputElement .value);\r\n    }\r\n\r\n    writeValue(value: any)\r\n    {\r\n        this.FormatoLada(value);\r\n\r\n        if (this.textMaskInputElement !== undefined)\r\n        {\r\n            this.textMaskInputElement.update(value)\r\n        }\r\n    }\r\n\r\n    registerOnChange(fn: (value: any) => any): void { this._onChange = fn }\r\n\r\n    registerOnTouched(fn: () => any): void { this._onTouched = fn }\r\n\r\n    onInput($event)\r\n    {\r\n        this.FormatoLada($event.target.value);\r\n\r\n        this.textMaskInputElement.update($event.target.value);\r\n        this._onChange($event.target.value);\r\n    }\r\n\r\n    setDisabledState(isDisabled: boolean)\r\n    {\r\n        this.renderer.setElementProperty(this.element.nativeElement, 'disabled', isDisabled)\r\n    }\r\n\r\n    FormatoLada(value: String)\r\n    {\r\n        var val = value ? value.replace(/[^0-9]/g, '').slice(0,3) : \"\";\r\n        var numlada = val.length;\r\n        this.textMaskConfig.mask =  numlada == 2 ? this.telefonomask.lada2 :  numlada == 3 ? this.telefonomask.lada3 : this.sistestema == 1 ?  this.telefonomask.lada3 :  this.telefonomask.lada2;\r\n        this.textMaskInputElement = createTextMaskInputElement(Object.assign({inputElement: this.inputElement}, this.textMaskConfig));\r\n    }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/directives/lada.directive.ts","import { Directive, ElementRef, forwardRef, Input, NgModule, OnInit, Renderer } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'\r\nimport { createTextMaskInputElement } from 'text-mask-core/dist/textMaskCore'\r\nimport {AppState} from \"../app.service\";\r\nimport {ConfigERP} from 'app/configERP';\r\n\r\n@Directive({\r\n    host: {\r\n        '(input)': 'onInput($event)',\r\n        '(blur)': '_onTouched()'\r\n    },\r\n    selector: '[phonenumber]',\r\n    providers: [{\r\n        provide: NG_VALUE_ACCESSOR,\r\n        useExisting: forwardRef(() => PhonenumberDirective),\r\n        multi: true\r\n    }]\r\n})\r\nexport class PhonenumberDirective implements OnInit, ControlValueAccessor{\r\n    private textMaskInputElement: any\r\n    private inputElement:HTMLInputElement\r\n\r\n    @Input('phonenumber')\r\n    telefono =\r\n        {\r\n            telefono: \"\",\r\n            lada: \"\"\r\n        }\r\n\r\n    private  textMaskConfig = {\r\n        mask:  [ ],\r\n        guide: false,\r\n        placeholderChar: '_',\r\n        pipe: undefined,\r\n        keepCharPositions: false,\r\n        onReject: undefined,\r\n        onAccept: undefined\r\n    }\r\n\r\n    private telefonomask =\r\n    {\r\n        lada2: [ /\\d/, /\\d/, /\\d/,/\\d/, '-', /\\d/,/\\d/,/\\d/,/\\d/],\r\n        lada3: [ /\\d/, /\\d/,/\\d/, '-', /\\d/,/\\d/,/\\d/,/\\d/],\r\n        sinLada: [/\\d/,/\\d/,/\\d/,/\\d/,/\\d/,/\\d/,/\\d/,/\\d/,/\\d/,/\\d/]\r\n    }\r\n\r\n    private sistestema:number;\r\n\r\n    _onTouched = () => {}\r\n    _onChange = (_: any) => {}\r\n\r\n    constructor(private renderer: Renderer, private element: ElementRef, private appState:AppState, public config: ConfigERP)\r\n    {\r\n        this.sistestema = this.config.tipo;\r\n    }\r\n\r\n    ngOnInit()\r\n    {\r\n        if (this.element.nativeElement.tagName === 'INPUT') {\r\n            // `textMask` directive is used directly on an input element\r\n            this.inputElement = this.element.nativeElement\r\n        } else {\r\n            // `textMask` directive is used on an abstracted input element, `ion-input`, `md-input`, etc\r\n            this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0]\r\n        }\r\n\r\n        this.FormatoMask();\r\n    }\r\n\r\n    writeValue(value: any)\r\n    {\r\n        this.FormatoMask();\r\n\r\n        if (this.textMaskInputElement !== undefined)\r\n        {\r\n            this.textMaskInputElement.update(value)\r\n        }\r\n    }\r\n\r\n    registerOnChange(fn: (value: any) => any): void { this._onChange = fn }\r\n\r\n    registerOnTouched(fn: () => any): void { this._onTouched = fn }\r\n\r\n    onInput($event)\r\n    {\r\n        this.FormatoMask();\r\n\r\n        this.textMaskInputElement.update($event.target.value)\r\n        this._onChange($event.target.value)\r\n    }\r\n\r\n    setDisabledState(isDisabled: boolean)\r\n    {\r\n        this.renderer.setElementProperty(this.element.nativeElement, 'disabled', isDisabled)\r\n    }\r\n\r\n    FormatoMask()\r\n    {\r\n        var numlada = this.telefono.lada ? this.telefono.lada.length : 0;\r\n        //this.textMaskConfig.mask =  numlada == 4 ? this.telefonomask.lada2 :  numlada == 5 ? this.telefonomask.lada3 : this.sistestema == 1 ?  this.telefonomask.lada3 :  this.telefonomask.lada2;\r\n        this.textMaskConfig.mask =  numlada == 4 ? this.telefonomask.lada2 :  numlada == 5 ? this.telefonomask.lada3 : this.sistestema == 1 ?  this.telefonomask.lada3 :  numlada == 0 ? this.telefonomask.sinLada : this.telefonomask.lada2;\r\n        this.textMaskInputElement = createTextMaskInputElement(Object.assign({inputElement: this.inputElement}, this.textMaskConfig))\r\n    }\r\n\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/app/directives/phonenumber.directive.ts","/*\r\n * Represents an alternative storage for browser that doesn't support localstorage. (i.e. Safari in\r\n * private mode)\r\n * @implements Storage\r\n */\r\nvar AlternativeStorage = (function () {\r\n    function AlternativeStorage() {\r\n        this.storageMap = {};\r\n    }\r\n    Object.defineProperty(AlternativeStorage.prototype, \"length\", {\r\n        /*\r\n         * Returns an integer representing the number of data items stored in the storageMap object.\r\n         */\r\n        get: function () {\r\n            return Object.keys(this.storageMap).length;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    /*\r\n     * Remove all keys out of the storage.\r\n     */\r\n    AlternativeStorage.prototype.clear = function () {\r\n        this.storageMap = {};\r\n    };\r\n    /*\r\n     * Return the key's value\r\n     *\r\n     * @param key - name of the key to retrieve the value of.\r\n     * @return The key's value\r\n     */\r\n    AlternativeStorage.prototype.getItem = function (key) {\r\n        if (typeof this.storageMap[key] !== 'undefined') {\r\n            return this.storageMap[key];\r\n        }\r\n        return null;\r\n    };\r\n    /*\r\n     * Return the nth key in the storage\r\n     *\r\n     * @param index - the number of the key you want to get the name of.\r\n     * @return The name of the key.\r\n     */\r\n    AlternativeStorage.prototype.key = function (index) {\r\n        return Object.keys(this.storageMap)[index] || null;\r\n    };\r\n    /*\r\n     * Remove a key from the storage.\r\n     *\r\n     * @param key - the name of the key you want to remove.\r\n     */\r\n    AlternativeStorage.prototype.removeItem = function (key) {\r\n        this.storageMap[key] = undefined;\r\n    };\r\n    /*\r\n     * Add a key to the storage, or update a key's value if it already exists.\r\n     *\r\n     * @param key - the name of the key.\r\n     * @param value - the value you want to give to the key.\r\n     */\r\n    AlternativeStorage.prototype.setItem = function (key, value) {\r\n        this.storageMap[key] = value;\r\n    };\r\n    return AlternativeStorage;\r\n}());\r\nexport { AlternativeStorage };\r\n//# sourceMappingURL=alternativestorage.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/alternativestorage.js\n// module id = 804\n// module chunks = 3","/*\r\n * A class for managing an interrupt from an interrupt source.\r\n */\r\nvar Interrupt = (function () {\r\n    function Interrupt(source) {\r\n        this.source = source;\r\n    }\r\n    /*\r\n     * Subscribes to the interrupt using the specified function.\r\n     * @param fn - The subscription function.\r\n     */\r\n    Interrupt.prototype.subscribe = function (fn) {\r\n        this.sub = this.source.onInterrupt.subscribe(fn);\r\n    };\r\n    /*\r\n     * Unsubscribes the interrupt.\r\n     */\r\n    Interrupt.prototype.unsubscribe = function () {\r\n        this.sub.unsubscribe();\r\n        this.sub = null;\r\n    };\r\n    /*\r\n     * Keeps the subscription but resumes interrupt events.\r\n     */\r\n    Interrupt.prototype.resume = function () {\r\n        this.source.attach();\r\n    };\r\n    /*\r\n     * Keeps the subscription but pauses interrupt events.\r\n     */\r\n    Interrupt.prototype.pause = function () {\r\n        this.source.detach();\r\n    };\r\n    return Interrupt;\r\n}());\r\nexport { Interrupt };\r\n//# sourceMappingURL=interrupt.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/interrupt.js\n// module id = 805\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { Idle } from './idle';\r\nimport { IdleExpiry } from './idleexpiry';\r\nimport { LocalStorageExpiry } from './localstorageexpiry';\r\nimport { LocalStorage } from './localstorage';\r\nvar NgIdleModule = (function () {\r\n    function NgIdleModule() {\r\n    }\r\n    NgIdleModule.forRoot = function () {\r\n        return {\r\n            ngModule: NgIdleModule,\r\n            providers: [LocalStorageExpiry, { provide: IdleExpiry, useExisting: LocalStorageExpiry }, Idle]\r\n        };\r\n    };\r\n    return NgIdleModule;\r\n}());\r\nexport { NgIdleModule };\r\nNgIdleModule.decorators = [\r\n    { type: NgModule, args: [{\r\n                providers: [LocalStorage]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nNgIdleModule.ctorParameters = function () { return []; };\r\n//# sourceMappingURL=module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/module.js\n// module id = 806\n// module chunks = 3","var __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nimport { IdleExpiry } from './idleexpiry';\r\n/*\r\n * Represents a simple in-memory store of expiry values.\r\n * @extends IdleExpiry\r\n */\r\nvar SimpleExpiry = (function (_super) {\r\n    __extends(SimpleExpiry, _super);\r\n    function SimpleExpiry() {\r\n        var _this = _super.call(this) || this;\r\n        _this.lastValue = null;\r\n        return _this;\r\n    }\r\n    /*\r\n     * Gets or sets the last expiry date.\r\n     * @param value - The expiry value to set; omit to only return the value.\r\n     * @return The current expiry value.\r\n     */\r\n    SimpleExpiry.prototype.last = function (value) {\r\n        if (value !== void 0) {\r\n            this.lastValue = value;\r\n        }\r\n        return this.lastValue;\r\n    };\r\n    return SimpleExpiry;\r\n}(IdleExpiry));\r\nexport { SimpleExpiry };\r\n//# sourceMappingURL=simpleexpiry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/core/src/simpleexpiry.js\n// module id = 807\n// module chunks = 3","export * from './src/keepalive';\r\nexport { NgIdleKeepaliveModule } from './src/module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/keepalive/index.js\n// module id = 808\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { KeepaliveSvc, NgIdleModule } from '@ng-idle/core';\r\nimport { Keepalive } from './keepalive';\r\nvar NgIdleKeepaliveModule = (function () {\r\n    function NgIdleKeepaliveModule() {\r\n    }\r\n    NgIdleKeepaliveModule.forRoot = function () {\r\n        return {\r\n            ngModule: NgIdleKeepaliveModule,\r\n            providers: [Keepalive, { provide: KeepaliveSvc, useExisting: Keepalive }]\r\n        };\r\n    };\r\n    return NgIdleKeepaliveModule;\r\n}());\r\nexport { NgIdleKeepaliveModule };\r\nNgIdleKeepaliveModule.decorators = [\r\n    { type: NgModule, args: [{ imports: [NgIdleModule.forRoot()] },] },\r\n];\r\n/** @nocollapse */\r\nNgIdleKeepaliveModule.ctorParameters = function () { return []; };\r\n//# sourceMappingURL=module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@ng-idle/keepalive/src/module.js\n// module id = 809\n// module chunks = 3","/**\r\n * @license\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://raw.githubusercontent.com/l-lin/angular-datatables/master/LICENSE\r\n */\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DataTableDirective } from './angular-datatables.directive';\r\nvar DataTablesModule = (function () {\r\n    function DataTablesModule() {\r\n    }\r\n    DataTablesModule.forRoot = function () {\r\n        return {\r\n            ngModule: DataTablesModule\r\n        };\r\n    };\r\n    return DataTablesModule;\r\n}());\r\nexport { DataTablesModule };\r\nDataTablesModule.decorators = [\r\n    { type: NgModule, args: [{\r\n                imports: [CommonModule],\r\n                declarations: [DataTableDirective],\r\n                exports: [DataTableDirective]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nDataTablesModule.ctorParameters = function () { return []; };\r\n//# sourceMappingURL=angular-datatables.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular-datatables/src/angular-datatables.module.js\n// module id = 810\n// module chunks = 3","import { NgModule } from \"@angular/core\";\r\nimport { TzPipe } from \"./tz.pipe\";\r\nvar MomentTimezoneModule = /** @class */ (function () {\r\n    function MomentTimezoneModule() {\r\n    }\r\n    MomentTimezoneModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [],\r\n                    declarations: [TzPipe],\r\n                    exports: [TzPipe]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    MomentTimezoneModule.ctorParameters = function () { return []; };\r\n    return MomentTimezoneModule;\r\n}());\r\nexport { MomentTimezoneModule };\r\n//# sourceMappingURL=moment-timezone.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular-moment-timezone/moment-timezone.module.js\n// module id = 811\n// module chunks = 3","/* angular2-moment (c) 2015, 2016 Uri Shaked / MIT Licence */\r\n\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar moment = require(\"moment\");\r\nrequire(\"moment-timezone\");\r\nmoment.tz.setDefault('America/Mexico_city')\r\nmoment.locale('es')\r\n\r\nvar FromUtcPipe = (function () {\r\n    function FromUtcPipe() {\r\n    }\r\n    FromUtcPipe.prototype.transform = function (value) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        return moment.utc(value);\r\n    };\r\n    return FromUtcPipe;\r\n}());\r\nFromUtcPipe = __decorate([\r\n    core_1.Pipe({ name: 'amFromUtc' })\r\n], FromUtcPipe);\r\nexports.FromUtcPipe = FromUtcPipe;\r\n//# sourceMappingURL=from-utc.pipe.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/from-utc.pipe.js\n// module id = 812\n// module chunks = 3","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar add_pipe_1 = require(\"./add.pipe\");\r\nvar calendar_pipe_1 = require(\"./calendar.pipe\");\r\nvar date_format_pipe_1 = require(\"./date-format.pipe\");\r\nvar difference_pipe_1 = require(\"./difference.pipe\");\r\nvar duration_pipe_1 = require(\"./duration.pipe\");\r\nvar from_unix_pipe_1 = require(\"./from-unix.pipe\");\r\nvar parse_pipe_1 = require(\"./parse.pipe\");\r\nvar subtract_pipe_1 = require(\"./subtract.pipe\");\r\nvar time_ago_pipe_1 = require(\"./time-ago.pipe\");\r\nvar utc_pipe_1 = require(\"./utc.pipe\");\r\nvar from_utc_pipe_1 = require(\"./from-utc.pipe\");\r\nvar local_pipe_1 = require(\"./local.pipe\");\r\nvar locale_pipe_1 = require(\"./locale.pipe\");\r\nvar ANGULAR_MOMENT_PIPES = [\r\n    add_pipe_1.AddPipe,\r\n    calendar_pipe_1.CalendarPipe,\r\n    date_format_pipe_1.DateFormatPipe,\r\n    difference_pipe_1.DifferencePipe,\r\n    duration_pipe_1.DurationPipe,\r\n    from_unix_pipe_1.FromUnixPipe,\r\n    parse_pipe_1.ParsePipe,\r\n    subtract_pipe_1.SubtractPipe,\r\n    time_ago_pipe_1.TimeAgoPipe,\r\n    utc_pipe_1.UtcPipe,\r\n    from_utc_pipe_1.FromUtcPipe,\r\n    local_pipe_1.LocalTimePipe,\r\n    locale_pipe_1.LocalePipe\r\n];\r\nvar MomentModule = (function () {\r\n    function MomentModule() {\r\n    }\r\n    return MomentModule;\r\n}());\r\nMomentModule = __decorate([\r\n    core_1.NgModule({\r\n        declarations: ANGULAR_MOMENT_PIPES,\r\n        exports: ANGULAR_MOMENT_PIPES\r\n    })\r\n], MomentModule);\r\nexports.MomentModule = MomentModule;\r\n//# sourceMappingURL=moment.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/angular2-moment/moment.module.js\n// module id = 813\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar calendar_1 = require(\"./src/calendar/calendar\");\r\nvar common_1 = require(\"@angular/common\");\r\nvar CalendarModule = (function () {\r\n    function CalendarModule() {\r\n    }\r\n    CalendarModule.forRoot = function () {\r\n        return {\r\n            ngModule: CalendarModule,\r\n            providers: []\r\n        };\r\n    };\r\n    return CalendarModule;\r\n}());\r\nCalendarModule.decorators = [\r\n    { type: core_1.NgModule, args: [{\r\n                imports: [\r\n                    common_1.CommonModule,\r\n                ],\r\n                declarations: [\r\n                    calendar_1.CalendarComponent\r\n                ],\r\n                exports: [\r\n                    calendar_1.CalendarComponent\r\n                ]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nCalendarModule.ctorParameters = function () { return []; };\r\nexports.CalendarModule = CalendarModule;\r\n//# sourceMappingURL=angular2-fullcalendar.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ap-angular2-fullcalendar/angular2-fullcalendar.js\n// module id = 814\n// module chunks = 3","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/assign.js\n// module id = 815\n// module chunks = 3","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/define-property.js\n// module id = 816\n// module chunks = 3","\"use strict\";\r\n\r\nexports.__esModule = true;\r\n\r\nexports.default = function (instance, Constructor) {\r\n  if (!(instance instanceof Constructor)) {\r\n    throw new TypeError(\"Cannot call a class as a function\");\r\n  }\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/classCallCheck.js\n// module id = 817\n// module chunks = 3","\"use strict\";\r\n\r\nexports.__esModule = true;\r\n\r\nvar _defineProperty = require(\"../core-js/object/define-property\");\r\n\r\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nexports.default = function () {\r\n  function defineProperties(target, props) {\r\n    for (var i = 0; i < props.length; i++) {\r\n      var descriptor = props[i];\r\n      descriptor.enumerable = descriptor.enumerable || false;\r\n      descriptor.configurable = true;\r\n      if (\"value\" in descriptor) descriptor.writable = true;\r\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\r\n    }\r\n  }\r\n\r\n  return function (Constructor, protoProps, staticProps) {\r\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\r\n    if (staticProps) defineProperties(Constructor, staticProps);\r\n    return Constructor;\r\n  };\r\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/createClass.js\n// module id = 818\n// module chunks = 3","\"use strict\";\r\n\r\nexports.__esModule = true;\r\n\r\nvar _assign = require(\"../core-js/object/assign\");\r\n\r\nvar _assign2 = _interopRequireDefault(_assign);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nexports.default = _assign2.default || function (target) {\r\n  for (var i = 1; i < arguments.length; i++) {\r\n    var source = arguments[i];\r\n\r\n    for (var key in source) {\r\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n        target[key] = source[key];\r\n      }\r\n    }\r\n  }\r\n\r\n  return target;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/extends.js\n// module id = 819\n// module chunks = 3","/*!\r\n * Bowser - a browser detector\r\n * https://github.com/ded/bowser\r\n * MIT License | (c) Dustin Diaz 2015\r\n */\r\n\r\n!function (root, name, definition) {\r\n  if (typeof module != 'undefined' && module.exports) module.exports = definition()\r\n  else if (typeof define == 'function' && define.amd) define(name, definition)\r\n  else root[name] = definition()\r\n}(this, 'bowser', function () {\r\n  /**\r\n    * See useragents.js for examples of navigator.userAgent\r\n    */\r\n\r\n  var t = true\r\n\r\n  function detect(ua) {\r\n\r\n    function getFirstMatch(regex) {\r\n      var match = ua.match(regex);\r\n      return (match && match.length > 1 && match[1]) || '';\r\n    }\r\n\r\n    function getSecondMatch(regex) {\r\n      var match = ua.match(regex);\r\n      return (match && match.length > 1 && match[2]) || '';\r\n    }\r\n\r\n    var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\r\n      , likeAndroid = /like android/i.test(ua)\r\n      , android = !likeAndroid && /android/i.test(ua)\r\n      , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\r\n      , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\r\n      , chromeos = /CrOS/.test(ua)\r\n      , silk = /silk/i.test(ua)\r\n      , sailfish = /sailfish/i.test(ua)\r\n      , tizen = /tizen/i.test(ua)\r\n      , webos = /(web|hpw)os/i.test(ua)\r\n      , windowsphone = /windows phone/i.test(ua)\r\n      , samsungBrowser = /SamsungBrowser/i.test(ua)\r\n      , windows = !windowsphone && /windows/i.test(ua)\r\n      , mac = !iosdevice && !silk && /macintosh/i.test(ua)\r\n      , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\r\n      , edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i)\r\n      , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\r\n      , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua)\r\n      , mobile = !tablet && /[^-]mobi/i.test(ua)\r\n      , xbox = /xbox/i.test(ua)\r\n      , result\r\n\r\n    if (/opera/i.test(ua)) {\r\n      //  an old Opera\r\n      result = {\r\n        name: 'Opera'\r\n      , opera: t\r\n      , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\r\n      }\r\n    } else if (/opr\\/|opios/i.test(ua)) {\r\n      // a new Opera\r\n      result = {\r\n        name: 'Opera'\r\n        , opera: t\r\n        , version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\r\n      }\r\n    }\r\n    else if (/SamsungBrowser/i.test(ua)) {\r\n      result = {\r\n        name: 'Samsung Internet for Android'\r\n        , samsungBrowser: t\r\n        , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/coast/i.test(ua)) {\r\n      result = {\r\n        name: 'Opera Coast'\r\n        , coast: t\r\n        , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/yabrowser/i.test(ua)) {\r\n      result = {\r\n        name: 'Yandex Browser'\r\n      , yandexbrowser: t\r\n      , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/ucbrowser/i.test(ua)) {\r\n      result = {\r\n          name: 'UC Browser'\r\n        , ucbrowser: t\r\n        , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\r\n      }\r\n    }\r\n    else if (/mxios/i.test(ua)) {\r\n      result = {\r\n        name: 'Maxthon'\r\n        , maxthon: t\r\n        , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\r\n      }\r\n    }\r\n    else if (/epiphany/i.test(ua)) {\r\n      result = {\r\n        name: 'Epiphany'\r\n        , epiphany: t\r\n        , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\r\n      }\r\n    }\r\n    else if (/puffin/i.test(ua)) {\r\n      result = {\r\n        name: 'Puffin'\r\n        , puffin: t\r\n        , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/sleipnir/i.test(ua)) {\r\n      result = {\r\n        name: 'Sleipnir'\r\n        , sleipnir: t\r\n        , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\r\n      }\r\n    }\r\n    else if (/k-meleon/i.test(ua)) {\r\n      result = {\r\n        name: 'K-Meleon'\r\n        , kMeleon: t\r\n        , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\r\n      }\r\n    }\r\n    else if (windowsphone) {\r\n      result = {\r\n        name: 'Windows Phone'\r\n      , osname: 'Windows Phone'\r\n      , windowsphone: t\r\n      }\r\n      if (edgeVersion) {\r\n        result.msedge = t\r\n        result.version = edgeVersion\r\n      }\r\n      else {\r\n        result.msie = t\r\n        result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/msie|trident/i.test(ua)) {\r\n      result = {\r\n        name: 'Internet Explorer'\r\n      , msie: t\r\n      , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    } else if (chromeos) {\r\n      result = {\r\n        name: 'Chrome'\r\n      , osname: 'Chrome OS'\r\n      , chromeos: t\r\n      , chromeBook: t\r\n      , chrome: t\r\n      , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    } else if (/edg([ea]|ios)/i.test(ua)) {\r\n      result = {\r\n        name: 'Microsoft Edge'\r\n      , msedge: t\r\n      , version: edgeVersion\r\n      }\r\n    }\r\n    else if (/vivaldi/i.test(ua)) {\r\n      result = {\r\n        name: 'Vivaldi'\r\n        , vivaldi: t\r\n        , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\r\n      }\r\n    }\r\n    else if (sailfish) {\r\n      result = {\r\n        name: 'Sailfish'\r\n      , osname: 'Sailfish OS'\r\n      , sailfish: t\r\n      , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/seamonkey\\//i.test(ua)) {\r\n      result = {\r\n        name: 'SeaMonkey'\r\n      , seamonkey: t\r\n      , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/firefox|iceweasel|fxios/i.test(ua)) {\r\n      result = {\r\n        name: 'Firefox'\r\n      , firefox: t\r\n      , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\r\n      }\r\n      if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\r\n        result.firefoxos = t\r\n        result.osname = 'Firefox OS'\r\n      }\r\n    }\r\n    else if (silk) {\r\n      result =  {\r\n        name: 'Amazon Silk'\r\n      , silk: t\r\n      , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/phantom/i.test(ua)) {\r\n      result = {\r\n        name: 'PhantomJS'\r\n      , phantom: t\r\n      , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/slimerjs/i.test(ua)) {\r\n      result = {\r\n        name: 'SlimerJS'\r\n        , slimer: t\r\n        , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\r\n      result = {\r\n        name: 'BlackBerry'\r\n      , osname: 'BlackBerry OS'\r\n      , blackberry: t\r\n      , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (webos) {\r\n      result = {\r\n        name: 'WebOS'\r\n      , osname: 'WebOS'\r\n      , webos: t\r\n      , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\r\n      };\r\n      /touchpad\\//i.test(ua) && (result.touchpad = t)\r\n    }\r\n    else if (/bada/i.test(ua)) {\r\n      result = {\r\n        name: 'Bada'\r\n      , osname: 'Bada'\r\n      , bada: t\r\n      , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\r\n      };\r\n    }\r\n    else if (tizen) {\r\n      result = {\r\n        name: 'Tizen'\r\n      , osname: 'Tizen'\r\n      , tizen: t\r\n      , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\r\n      };\r\n    }\r\n    else if (/qupzilla/i.test(ua)) {\r\n      result = {\r\n        name: 'QupZilla'\r\n        , qupzilla: t\r\n        , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\r\n      }\r\n    }\r\n    else if (/chromium/i.test(ua)) {\r\n      result = {\r\n        name: 'Chromium'\r\n        , chromium: t\r\n        , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\r\n      }\r\n    }\r\n    else if (/chrome|crios|crmo/i.test(ua)) {\r\n      result = {\r\n        name: 'Chrome'\r\n        , chrome: t\r\n        , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\r\n      }\r\n    }\r\n    else if (android) {\r\n      result = {\r\n        name: 'Android'\r\n        , version: versionIdentifier\r\n      }\r\n    }\r\n    else if (/safari|applewebkit/i.test(ua)) {\r\n      result = {\r\n        name: 'Safari'\r\n      , safari: t\r\n      }\r\n      if (versionIdentifier) {\r\n        result.version = versionIdentifier\r\n      }\r\n    }\r\n    else if (iosdevice) {\r\n      result = {\r\n        name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\r\n      }\r\n      // WTF: version is not part of user agent in web apps\r\n      if (versionIdentifier) {\r\n        result.version = versionIdentifier\r\n      }\r\n    }\r\n    else if(/googlebot/i.test(ua)) {\r\n      result = {\r\n        name: 'Googlebot'\r\n      , googlebot: t\r\n      , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\r\n      }\r\n    }\r\n    else {\r\n      result = {\r\n        name: getFirstMatch(/^(.*)\\/(.*) /),\r\n        version: getSecondMatch(/^(.*)\\/(.*) /)\r\n     };\r\n   }\r\n\r\n    // set webkit or gecko flag for browsers based on these engines\r\n    if (!result.msedge && /(apple)?webkit/i.test(ua)) {\r\n      if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\r\n        result.name = result.name || \"Blink\"\r\n        result.blink = t\r\n      } else {\r\n        result.name = result.name || \"Webkit\"\r\n        result.webkit = t\r\n      }\r\n      if (!result.version && versionIdentifier) {\r\n        result.version = versionIdentifier\r\n      }\r\n    } else if (!result.opera && /gecko\\//i.test(ua)) {\r\n      result.name = result.name || \"Gecko\"\r\n      result.gecko = t\r\n      result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\r\n    }\r\n\r\n    // set OS flags for platforms that have multiple browsers\r\n    if (!result.windowsphone && (android || result.silk)) {\r\n      result.android = t\r\n      result.osname = 'Android'\r\n    } else if (!result.windowsphone && iosdevice) {\r\n      result[iosdevice] = t\r\n      result.ios = t\r\n      result.osname = 'iOS'\r\n    } else if (mac) {\r\n      result.mac = t\r\n      result.osname = 'macOS'\r\n    } else if (xbox) {\r\n      result.xbox = t\r\n      result.osname = 'Xbox'\r\n    } else if (windows) {\r\n      result.windows = t\r\n      result.osname = 'Windows'\r\n    } else if (linux) {\r\n      result.linux = t\r\n      result.osname = 'Linux'\r\n    }\r\n\r\n    function getWindowsVersion (s) {\r\n      switch (s) {\r\n        case 'NT': return 'NT'\r\n        case 'XP': return 'XP'\r\n        case 'NT 5.0': return '2000'\r\n        case 'NT 5.1': return 'XP'\r\n        case 'NT 5.2': return '2003'\r\n        case 'NT 6.0': return 'Vista'\r\n        case 'NT 6.1': return '7'\r\n        case 'NT 6.2': return '8'\r\n        case 'NT 6.3': return '8.1'\r\n        case 'NT 10.0': return '10'\r\n        default: return undefined\r\n      }\r\n    }\r\n\r\n    // OS version extraction\r\n    var osVersion = '';\r\n    if (result.windows) {\r\n      osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i))\r\n    } else if (result.windowsphone) {\r\n      osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\r\n    } else if (result.mac) {\r\n      osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\r\n      osVersion = osVersion.replace(/[_\\s]/g, '.');\r\n    } else if (iosdevice) {\r\n      osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\r\n      osVersion = osVersion.replace(/[_\\s]/g, '.');\r\n    } else if (android) {\r\n      osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\r\n    } else if (result.webos) {\r\n      osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\r\n    } else if (result.blackberry) {\r\n      osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\r\n    } else if (result.bada) {\r\n      osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\r\n    } else if (result.tizen) {\r\n      osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\r\n    }\r\n    if (osVersion) {\r\n      result.osversion = osVersion;\r\n    }\r\n\r\n    // device type extraction\r\n    var osMajorVersion = !result.windows && osVersion.split('.')[0];\r\n    if (\r\n         tablet\r\n      || nexusTablet\r\n      || iosdevice == 'ipad'\r\n      || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\r\n      || result.silk\r\n    ) {\r\n      result.tablet = t\r\n    } else if (\r\n         mobile\r\n      || iosdevice == 'iphone'\r\n      || iosdevice == 'ipod'\r\n      || android\r\n      || nexusMobile\r\n      || result.blackberry\r\n      || result.webos\r\n      || result.bada\r\n    ) {\r\n      result.mobile = t\r\n    }\r\n\r\n    // Graded Browser Support\r\n    // http://developer.yahoo.com/yui/articles/gbs\r\n    if (result.msedge ||\r\n        (result.msie && result.version >= 10) ||\r\n        (result.yandexbrowser && result.version >= 15) ||\r\n\t\t    (result.vivaldi && result.version >= 1.0) ||\r\n        (result.chrome && result.version >= 20) ||\r\n        (result.samsungBrowser && result.version >= 4) ||\r\n        (result.firefox && result.version >= 20.0) ||\r\n        (result.safari && result.version >= 6) ||\r\n        (result.opera && result.version >= 10.0) ||\r\n        (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\r\n        (result.blackberry && result.version >= 10.1)\r\n        || (result.chromium && result.version >= 20)\r\n        ) {\r\n      result.a = t;\r\n    }\r\n    else if ((result.msie && result.version < 10) ||\r\n        (result.chrome && result.version < 20) ||\r\n        (result.firefox && result.version < 20.0) ||\r\n        (result.safari && result.version < 6) ||\r\n        (result.opera && result.version < 10.0) ||\r\n        (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\r\n        || (result.chromium && result.version < 20)\r\n        ) {\r\n      result.c = t\r\n    } else result.x = t\r\n\r\n    return result\r\n  }\r\n\r\n  var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')\r\n\r\n  bowser.test = function (browserList) {\r\n    for (var i = 0; i < browserList.length; ++i) {\r\n      var browserItem = browserList[i];\r\n      if (typeof browserItem=== 'string') {\r\n        if (browserItem in bowser) {\r\n          return true;\r\n        }\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  /**\r\n   * Get version precisions count\r\n   *\r\n   * @example\r\n   *   getVersionPrecision(\"1.10.3\") // 3\r\n   *\r\n   * @param  {string} version\r\n   * @return {number}\r\n   */\r\n  function getVersionPrecision(version) {\r\n    return version.split(\".\").length;\r\n  }\r\n\r\n  /**\r\n   * Array::map polyfill\r\n   *\r\n   * @param  {Array} arr\r\n   * @param  {Function} iterator\r\n   * @return {Array}\r\n   */\r\n  function map(arr, iterator) {\r\n    var result = [], i;\r\n    if (Array.prototype.map) {\r\n      return Array.prototype.map.call(arr, iterator);\r\n    }\r\n    for (i = 0; i < arr.length; i++) {\r\n      result.push(iterator(arr[i]));\r\n    }\r\n    return result;\r\n  }\r\n\r\n  /**\r\n   * Calculate browser version weight\r\n   *\r\n   * @example\r\n   *   compareVersions(['1.10.2.1',  '1.8.2.1.90'])    // 1\r\n   *   compareVersions(['1.010.2.1', '1.09.2.1.90']);  // 1\r\n   *   compareVersions(['1.10.2.1',  '1.10.2.1']);     // 0\r\n   *   compareVersions(['1.10.2.1',  '1.0800.2']);     // -1\r\n   *\r\n   * @param  {Array<String>} versions versions to compare\r\n   * @return {Number} comparison result\r\n   */\r\n  function compareVersions(versions) {\r\n    // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\r\n    var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\r\n    var chunks = map(versions, function (version) {\r\n      var delta = precision - getVersionPrecision(version);\r\n\r\n      // 2) \"9\" -> \"9.0\" (for precision = 2)\r\n      version = version + new Array(delta + 1).join(\".0\");\r\n\r\n      // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\r\n      return map(version.split(\".\"), function (chunk) {\r\n        return new Array(20 - chunk.length).join(\"0\") + chunk;\r\n      }).reverse();\r\n    });\r\n\r\n    // iterate in reverse order by reversed chunks array\r\n    while (--precision >= 0) {\r\n      // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\r\n      if (chunks[0][precision] > chunks[1][precision]) {\r\n        return 1;\r\n      }\r\n      else if (chunks[0][precision] === chunks[1][precision]) {\r\n        if (precision === 0) {\r\n          // all version chunks are same\r\n          return 0;\r\n        }\r\n      }\r\n      else {\r\n        return -1;\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Check if browser is unsupported\r\n   *\r\n   * @example\r\n   *   bowser.isUnsupportedBrowser({\r\n   *     msie: \"10\",\r\n   *     firefox: \"23\",\r\n   *     chrome: \"29\",\r\n   *     safari: \"5.1\",\r\n   *     opera: \"16\",\r\n   *     phantom: \"534\"\r\n   *   });\r\n   *\r\n   * @param  {Object}  minVersions map of minimal version to browser\r\n   * @param  {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\r\n   * @param  {String}  [ua] user agent string\r\n   * @return {Boolean}\r\n   */\r\n  function isUnsupportedBrowser(minVersions, strictMode, ua) {\r\n    var _bowser = bowser;\r\n\r\n    // make strictMode param optional with ua param usage\r\n    if (typeof strictMode === 'string') {\r\n      ua = strictMode;\r\n      strictMode = void(0);\r\n    }\r\n\r\n    if (strictMode === void(0)) {\r\n      strictMode = false;\r\n    }\r\n    if (ua) {\r\n      _bowser = detect(ua);\r\n    }\r\n\r\n    var version = \"\" + _bowser.version;\r\n    for (var browser in minVersions) {\r\n      if (minVersions.hasOwnProperty(browser)) {\r\n        if (_bowser[browser]) {\r\n          if (typeof minVersions[browser] !== 'string') {\r\n            throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\r\n          }\r\n\r\n          // browser version and min supported version.\r\n          return compareVersions([version, minVersions[browser]]) < 0;\r\n        }\r\n      }\r\n    }\r\n\r\n    return strictMode; // not found\r\n  }\r\n\r\n  /**\r\n   * Check if browser is supported\r\n   *\r\n   * @param  {Object} minVersions map of minimal version to browser\r\n   * @param  {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\r\n   * @param  {String}  [ua] user agent string\r\n   * @return {Boolean}\r\n   */\r\n  function check(minVersions, strictMode, ua) {\r\n    return !isUnsupportedBrowser(minVersions, strictMode, ua);\r\n  }\r\n\r\n  bowser.isUnsupportedBrowser = isUnsupportedBrowser;\r\n  bowser.compareVersions = compareVersions;\r\n  bowser.check = check;\r\n\r\n  /*\r\n   * Set our detect method to the main bowser object so we can\r\n   * reuse it to test other user agents.\r\n   * This is needed to implement future tests.\r\n   */\r\n  bowser._detect = detect;\r\n\r\n  /*\r\n   * Set our detect public method to the main bowser object\r\n   * This is needed to implement bowser in server side\r\n   */\r\n  bowser.detect = detect;\r\n  return bowser\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bowser/src/bowser.js\n// module id = 820\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.Bar = function(context, config) {\r\n\t\tconfig.type = 'bar';\r\n\r\n\t\treturn new Chart(context, config);\r\n\t};\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/charts/Chart.Bar.js\n// module id = 821\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.Bubble = function(context, config) {\r\n\t\tconfig.type = 'bubble';\r\n\t\treturn new Chart(context, config);\r\n\t};\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/charts/Chart.Bubble.js\n// module id = 822\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.Doughnut = function(context, config) {\r\n\t\tconfig.type = 'doughnut';\r\n\r\n\t\treturn new Chart(context, config);\r\n\t};\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/charts/Chart.Doughnut.js\n// module id = 823\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.Line = function(context, config) {\r\n\t\tconfig.type = 'line';\r\n\r\n\t\treturn new Chart(context, config);\r\n\t};\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/charts/Chart.Line.js\n// module id = 824\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.PolarArea = function(context, config) {\r\n\t\tconfig.type = 'polarArea';\r\n\r\n\t\treturn new Chart(context, config);\r\n\t};\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/charts/Chart.PolarArea.js\n// module id = 825\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.Radar = function(context, config) {\r\n\t\tconfig.type = 'radar';\r\n\r\n\t\treturn new Chart(context, config);\r\n\t};\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/charts/Chart.Radar.js\n// module id = 826\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\tChart.Scatter = function(context, config) {\r\n\t\tconfig.type = 'scatter';\r\n\t\treturn new Chart(context, config);\r\n\t};\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/charts/Chart.Scatter.js\n// module id = 827\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar elements = require('../elements/index');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\r\n\t\t\t// Specific to Bar Controller\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9,\r\n\r\n\t\t\t// offset settings\r\n\t\t\toffset: true,\r\n\r\n\t\t\t// grid line settings\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ndefaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\tposition: 'left',\r\n\t\t\ttype: 'category',\r\n\r\n\t\t\t// Specific to Horizontal Bar Controller\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9,\r\n\r\n\t\t\t// offset settings\r\n\t\t\toffset: true,\r\n\r\n\t\t\t// grid line settings\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function(item, data) {\r\n\t\t\t\t// Pick first xLabel for now\r\n\t\t\t\tvar title = '';\r\n\r\n\t\t\t\tif (item.length > 0) {\r\n\t\t\t\t\tif (item[0].yLabel) {\r\n\t\t\t\t\t\ttitle = item[0].yLabel;\r\n\t\t\t\t\t} else if (data.labels.length > 0 && item[0].index < data.labels.length) {\r\n\t\t\t\t\t\ttitle = data.labels[item[0].index];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn title;\r\n\t\t\t},\r\n\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\treturn datasetLabel + ': ' + item.xLabel;\r\n\t\t\t}\r\n\t\t},\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale.isHorizontal() ? scale.width : scale.height;\r\n\tvar ticks = scale.getTicks();\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, pixels[i] - pixels[i - 1]);\r\n\t}\r\n\r\n\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, curr - prev) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar size, ratio;\r\n\r\n\tif (helpers.isNullOrUndef(thickness)) {\r\n\t\tsize = ruler.min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale end extremity.\r\n\t\tprev = curr - (next === null ? ruler.end - curr : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - ((curr - prev) / 2) * percent;\r\n\tsize = ((next - prev) / 2) * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.controllers.bar = Chart.DatasetController.extend({\r\n\r\n\t\tdataElementType: elements.Rectangle,\r\n\r\n\t\tinitialize: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta;\r\n\r\n\t\t\tChart.DatasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\t\tmeta = me.getMeta();\r\n\t\t\tmeta.stack = me.getDataset().stack;\r\n\t\t\tmeta.bar = true;\r\n\t\t},\r\n\r\n\t\tupdate: function(reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar rects = me.getMeta().data;\r\n\t\t\tvar i, ilen;\r\n\r\n\t\t\tme._ruler = me.getRuler();\r\n\r\n\t\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tupdateElement: function(rectangle, index, reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar custom = rectangle.custom || {};\r\n\t\t\tvar rectangleOptions = chart.options.elements.rectangle;\r\n\r\n\t\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\t\trectangle._datasetIndex = me.index;\r\n\t\t\trectangle._index = index;\r\n\r\n\t\t\trectangle._model = {\r\n\t\t\t\tdatasetLabel: dataset.label,\r\n\t\t\t\tlabel: chart.data.labels[index],\r\n\t\t\t\tborderSkipped: custom.borderSkipped ? custom.borderSkipped : rectangleOptions.borderSkipped,\r\n\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.backgroundColor, index, rectangleOptions.backgroundColor),\r\n\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.borderColor, index, rectangleOptions.borderColor),\r\n\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.borderWidth, index, rectangleOptions.borderWidth)\r\n\t\t\t};\r\n\r\n\t\t\tme.updateElementGeometry(rectangle, index, reset);\r\n\r\n\t\t\trectangle.pivot();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tupdateElementGeometry: function(rectangle, index, reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar model = rectangle._model;\r\n\t\t\tvar vscale = me.getValueScale();\r\n\t\t\tvar base = vscale.getBasePixel();\r\n\t\t\tvar horizontal = vscale.isHorizontal();\r\n\t\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\t\tvar vpixels = me.calculateBarValuePixels(me.index, index);\r\n\t\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler);\r\n\r\n\t\t\tmodel.horizontal = horizontal;\r\n\t\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetValueScaleId: function() {\r\n\t\t\treturn this.getMeta().yAxisID;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetIndexScaleId: function() {\r\n\t\t\treturn this.getMeta().xAxisID;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetValueScale: function() {\r\n\t\t\treturn this.getScaleForId(this.getValueScaleId());\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetIndexScale: function() {\r\n\t\t\treturn this.getScaleForId(this.getIndexScaleId());\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns the stacks based on groups and bar visibility.\r\n\t\t * @param {Number} [last] - The dataset index\r\n\t\t * @returns {Array} The stack list\r\n\t\t * @private\r\n\t\t */\r\n\t\t_getStacks: function(last) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar scale = me.getIndexScale();\r\n\t\t\tvar stacked = scale.options.stacked;\r\n\t\t\tvar ilen = last === undefined ? chart.data.datasets.length : last + 1;\r\n\t\t\tvar stacks = [];\r\n\t\t\tvar i, meta;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tif (meta.bar && chart.isDatasetVisible(i) &&\r\n\t\t\t\t\t(stacked === false ||\r\n\t\t\t\t\t(stacked === true && stacks.indexOf(meta.stack) === -1) ||\r\n\t\t\t\t\t(stacked === undefined && (meta.stack === undefined || stacks.indexOf(meta.stack) === -1)))) {\r\n\t\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn stacks;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetStackCount: function() {\r\n\t\t\treturn this._getStacks().length;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t\t * @param {Number} [datasetIndex] - The dataset index\r\n\t\t * @param {String} [name] - The stack name to find\r\n\t\t * @returns {Number} The stack index\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetStackIndex: function(datasetIndex, name) {\r\n\t\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\t\tvar index = (name !== undefined)\r\n\t\t\t\t? stacks.indexOf(name)\r\n\t\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\t\treturn (index === -1)\r\n\t\t\t\t? stacks.length - 1\r\n\t\t\t\t: index;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetRuler: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar scale = me.getIndexScale();\r\n\t\t\tvar stackCount = me.getStackCount();\r\n\t\t\tvar datasetIndex = me.index;\r\n\t\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\t\tvar start = isHorizontal ? scale.left : scale.top;\r\n\t\t\tvar end = start + (isHorizontal ? scale.width : scale.height);\r\n\t\t\tvar pixels = [];\r\n\t\t\tvar i, ilen, min;\r\n\r\n\t\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\t\tpixels.push(scale.getPixelForValue(null, i, datasetIndex));\r\n\t\t\t}\r\n\r\n\t\t\tmin = helpers.isNullOrUndef(scale.options.barThickness)\r\n\t\t\t\t? computeMinSampleSize(scale, pixels)\r\n\t\t\t\t: -1;\r\n\r\n\t\t\treturn {\r\n\t\t\t\tmin: min,\r\n\t\t\t\tpixels: pixels,\r\n\t\t\t\tstart: start,\r\n\t\t\t\tend: end,\r\n\t\t\t\tstackCount: stackCount,\r\n\t\t\t\tscale: scale\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Note: pixel values are not clamped to the scale area.\r\n\t\t * @private\r\n\t\t */\r\n\t\tcalculateBarValuePixels: function(datasetIndex, index) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar scale = me.getValueScale();\r\n\t\t\tvar datasets = chart.data.datasets;\r\n\t\t\tvar value = scale.getRightValue(datasets[datasetIndex].data[index]);\r\n\t\t\tvar stacked = scale.options.stacked;\r\n\t\t\tvar stack = meta.stack;\r\n\t\t\tvar start = 0;\r\n\t\t\tvar i, imeta, ivalue, base, head, size;\r\n\r\n\t\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\t\tfor (i = 0; i < datasetIndex; ++i) {\r\n\t\t\t\t\timeta = chart.getDatasetMeta(i);\r\n\r\n\t\t\t\t\tif (imeta.bar &&\r\n\t\t\t\t\t\timeta.stack === stack &&\r\n\t\t\t\t\t\timeta.controller.getValueScaleId() === scale.id &&\r\n\t\t\t\t\t\tchart.isDatasetVisible(i)) {\r\n\r\n\t\t\t\t\t\tivalue = scale.getRightValue(datasets[i].data[index]);\r\n\t\t\t\t\t\tif ((value < 0 && ivalue < 0) || (value >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tbase = scale.getPixelForValue(start);\r\n\t\t\thead = scale.getPixelForValue(start + value);\r\n\t\t\tsize = (head - base) / 2;\r\n\r\n\t\t\treturn {\r\n\t\t\t\tsize: size,\r\n\t\t\t\tbase: base,\r\n\t\t\t\thead: head,\r\n\t\t\t\tcenter: head + size / 2\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tcalculateBarIndexPixels: function(datasetIndex, index, ruler) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = ruler.scale.options;\r\n\t\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\t\tvar size = Math.min(\r\n\t\t\t\thelpers.valueOrDefault(options.maxBarThickness, Infinity),\r\n\t\t\t\trange.chunk * range.ratio);\r\n\r\n\t\t\treturn {\r\n\t\t\t\tbase: center - size / 2,\r\n\t\t\t\thead: center + size / 2,\r\n\t\t\t\tcenter: center,\r\n\t\t\t\tsize: size\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\tdraw: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar scale = me.getValueScale();\r\n\t\t\tvar rects = me.getMeta().data;\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar ilen = rects.length;\r\n\t\t\tvar i = 0;\r\n\r\n\t\t\thelpers.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\t\tfor (; i < ilen; ++i) {\r\n\t\t\t\tif (!isNaN(scale.getRightValue(dataset.data[i]))) {\r\n\t\t\t\t\trects[i].draw();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\thelpers.canvas.unclipArea(chart.ctx);\r\n\t\t},\r\n\r\n\t\tsetHoverStyle: function(rectangle) {\r\n\t\t\tvar dataset = this.chart.data.datasets[rectangle._datasetIndex];\r\n\t\t\tvar index = rectangle._index;\r\n\t\t\tvar custom = rectangle.custom || {};\r\n\t\t\tvar model = rectangle._model;\r\n\r\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.valueAtIndexOrDefault(dataset.hoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\r\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.valueAtIndexOrDefault(dataset.hoverBorderColor, index, helpers.getHoverColor(model.borderColor));\r\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.valueAtIndexOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\r\n\t\t},\r\n\r\n\t\tremoveHoverStyle: function(rectangle) {\r\n\t\t\tvar dataset = this.chart.data.datasets[rectangle._datasetIndex];\r\n\t\t\tvar index = rectangle._index;\r\n\t\t\tvar custom = rectangle.custom || {};\r\n\t\t\tvar model = rectangle._model;\r\n\t\t\tvar rectangleElementOptions = this.chart.options.elements.rectangle;\r\n\r\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor);\r\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor);\r\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth);\r\n\t\t}\r\n\t});\r\n\r\n\tChart.controllers.horizontalBar = Chart.controllers.bar.extend({\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetValueScaleId: function() {\r\n\t\t\treturn this.getMeta().xAxisID;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetIndexScaleId: function() {\r\n\t\t\treturn this.getMeta().yAxisID;\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/controllers/controller.bar.js\n// module id = 828\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar elements = require('../elements/index');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.controllers.bubble = Chart.DatasetController.extend({\r\n\t\t/**\r\n\t\t * @protected\r\n\t\t */\r\n\t\tdataElementType: elements.Point,\r\n\r\n\t\t/**\r\n\t\t * @protected\r\n\t\t */\r\n\t\tupdate: function(reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar points = meta.data;\r\n\r\n\t\t\t// Update Points\r\n\t\t\thelpers.each(points, function(point, index) {\r\n\t\t\t\tme.updateElement(point, index, reset);\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @protected\r\n\t\t */\r\n\t\tupdateElement: function(point, index, reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\t\tvar options = me._resolveElementOptions(point, index);\r\n\t\t\tvar data = me.getDataset().data[index];\r\n\t\t\tvar dsIndex = me.index;\r\n\r\n\t\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\t\tpoint._xScale = xScale;\r\n\t\t\tpoint._yScale = yScale;\r\n\t\t\tpoint._options = options;\r\n\t\t\tpoint._datasetIndex = dsIndex;\r\n\t\t\tpoint._index = index;\r\n\t\t\tpoint._model = {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\thitRadius: options.hitRadius,\r\n\t\t\t\tpointStyle: options.pointStyle,\r\n\t\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y,\r\n\t\t\t};\r\n\r\n\t\t\tpoint.pivot();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @protected\r\n\t\t */\r\n\t\tsetHoverStyle: function(point) {\r\n\t\t\tvar model = point._model;\r\n\t\t\tvar options = point._options;\r\n\r\n\t\t\tmodel.backgroundColor = helpers.valueOrDefault(options.hoverBackgroundColor, helpers.getHoverColor(options.backgroundColor));\r\n\t\t\tmodel.borderColor = helpers.valueOrDefault(options.hoverBorderColor, helpers.getHoverColor(options.borderColor));\r\n\t\t\tmodel.borderWidth = helpers.valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @protected\r\n\t\t */\r\n\t\tremoveHoverStyle: function(point) {\r\n\t\t\tvar model = point._model;\r\n\t\t\tvar options = point._options;\r\n\r\n\t\t\tmodel.backgroundColor = options.backgroundColor;\r\n\t\t\tmodel.borderColor = options.borderColor;\r\n\t\t\tmodel.borderWidth = options.borderWidth;\r\n\t\t\tmodel.radius = options.radius;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\t_resolveElementOptions: function(point, index) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar datasets = chart.data.datasets;\r\n\t\t\tvar dataset = datasets[me.index];\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar options = chart.options.elements.point;\r\n\t\t\tvar resolve = helpers.options.resolve;\r\n\t\t\tvar data = dataset.data[index];\r\n\t\t\tvar values = {};\r\n\t\t\tvar i, ilen, key;\r\n\r\n\t\t\t// Scriptable options\r\n\t\t\tvar context = {\r\n\t\t\t\tchart: chart,\r\n\t\t\t\tdataIndex: index,\r\n\t\t\t\tdataset: dataset,\r\n\t\t\t\tdatasetIndex: me.index\r\n\t\t\t};\r\n\r\n\t\t\tvar keys = [\r\n\t\t\t\t'backgroundColor',\r\n\t\t\t\t'borderColor',\r\n\t\t\t\t'borderWidth',\r\n\t\t\t\t'hoverBackgroundColor',\r\n\t\t\t\t'hoverBorderColor',\r\n\t\t\t\t'hoverBorderWidth',\r\n\t\t\t\t'hoverRadius',\r\n\t\t\t\t'hitRadius',\r\n\t\t\t\t'pointStyle'\r\n\t\t\t];\r\n\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdataset[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index);\r\n\t\t\t}\r\n\r\n\t\t\t// Custom radius resolution\r\n\t\t\tvalues.radius = resolve([\r\n\t\t\t\tcustom.radius,\r\n\t\t\t\tdata ? data.r : undefined,\r\n\t\t\t\tdataset.radius,\r\n\t\t\t\toptions.radius\r\n\t\t\t], context, index);\r\n\r\n\t\t\treturn values;\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/controllers/controller.bubble.js\n// module id = 829\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar elements = require('../elements/index');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar text = [];\r\n\t\ttext.push('<ul class=\"' + chart.id + '-legend\">');\r\n\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (var i = 0; i < datasets[0].data.length; ++i) {\r\n\t\t\t\ttext.push('<li><span style=\"background-color:' + datasets[0].backgroundColor[i] + '\"></span>');\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\ttext.push(labels[i]);\r\n\t\t\t\t}\r\n\t\t\t\ttext.push('</li>');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttext.push('</ul>');\r\n\t\treturn text.join('');\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar ds = data.datasets[0];\r\n\t\t\t\t\t\tvar arc = meta.data[i];\r\n\t\t\t\t\t\tvar custom = arc && arc.custom || {};\r\n\t\t\t\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\r\n\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\r\n\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\r\n\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\r\n\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: fill,\r\n\t\t\t\t\t\t\tstrokeStyle: stroke,\r\n\t\t\t\t\t\t\tlineWidth: bw,\r\n\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: Math.PI * -0.5,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: Math.PI * 2.0,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ndefaults._set('pie', helpers.clone(defaults.doughnut));\r\ndefaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.controllers.doughnut = Chart.controllers.pie = Chart.DatasetController.extend({\r\n\r\n\t\tdataElementType: elements.Arc,\r\n\r\n\t\tlinkScales: helpers.noop,\r\n\r\n\t\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\t\tgetRingIndex: function(datasetIndex) {\r\n\t\t\tvar ringIndex = 0;\r\n\r\n\t\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t\t++ringIndex;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn ringIndex;\r\n\t\t},\r\n\r\n\t\tupdate: function(reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar chartArea = chart.chartArea;\r\n\t\t\tvar opts = chart.options;\r\n\t\t\tvar arcOpts = opts.elements.arc;\r\n\t\t\tvar availableWidth = chartArea.right - chartArea.left - arcOpts.borderWidth;\r\n\t\t\tvar availableHeight = chartArea.bottom - chartArea.top - arcOpts.borderWidth;\r\n\t\t\tvar minSize = Math.min(availableWidth, availableHeight);\r\n\t\t\tvar offset = {x: 0, y: 0};\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar cutoutPercentage = opts.cutoutPercentage;\r\n\t\t\tvar circumference = opts.circumference;\r\n\r\n\t\t\t// If the chart's circumference isn't a full circle, calculate minSize as a ratio of the width/height of the arc\r\n\t\t\tif (circumference < Math.PI * 2.0) {\r\n\t\t\t\tvar startAngle = opts.rotation % (Math.PI * 2.0);\r\n\t\t\t\tstartAngle += Math.PI * 2.0 * (startAngle >= Math.PI ? -1 : startAngle < -Math.PI ? 1 : 0);\r\n\t\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\t\tvar start = {x: Math.cos(startAngle), y: Math.sin(startAngle)};\r\n\t\t\t\tvar end = {x: Math.cos(endAngle), y: Math.sin(endAngle)};\r\n\t\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || (startAngle <= Math.PI * 2.0 && Math.PI * 2.0 <= endAngle);\r\n\t\t\t\tvar contains90 = (startAngle <= Math.PI * 0.5 && Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 2.5 && Math.PI * 2.5 <= endAngle);\r\n\t\t\t\tvar contains180 = (startAngle <= -Math.PI && -Math.PI <= endAngle) || (startAngle <= Math.PI && Math.PI <= endAngle);\r\n\t\t\t\tvar contains270 = (startAngle <= -Math.PI * 0.5 && -Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 1.5 && Math.PI * 1.5 <= endAngle);\r\n\t\t\t\tvar cutout = cutoutPercentage / 100.0;\r\n\t\t\t\tvar min = {x: contains180 ? -1 : Math.min(start.x * (start.x < 0 ? 1 : cutout), end.x * (end.x < 0 ? 1 : cutout)), y: contains270 ? -1 : Math.min(start.y * (start.y < 0 ? 1 : cutout), end.y * (end.y < 0 ? 1 : cutout))};\r\n\t\t\t\tvar max = {x: contains0 ? 1 : Math.max(start.x * (start.x > 0 ? 1 : cutout), end.x * (end.x > 0 ? 1 : cutout)), y: contains90 ? 1 : Math.max(start.y * (start.y > 0 ? 1 : cutout), end.y * (end.y > 0 ? 1 : cutout))};\r\n\t\t\t\tvar size = {width: (max.x - min.x) * 0.5, height: (max.y - min.y) * 0.5};\r\n\t\t\t\tminSize = Math.min(availableWidth / size.width, availableHeight / size.height);\r\n\t\t\t\toffset = {x: (max.x + min.x) * -0.5, y: (max.y + min.y) * -0.5};\r\n\t\t\t}\r\n\r\n\t\t\tchart.borderWidth = me.getMaxBorderWidth(meta.data);\r\n\t\t\tchart.outerRadius = Math.max((minSize - chart.borderWidth) / 2, 0);\r\n\t\t\tchart.innerRadius = Math.max(cutoutPercentage ? (chart.outerRadius / 100) * (cutoutPercentage) : 0, 0);\r\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\t\t\tchart.offsetX = offset.x * chart.outerRadius;\r\n\t\t\tchart.offsetY = offset.y * chart.outerRadius;\r\n\r\n\t\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.getRingIndex(me.index));\r\n\t\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength, 0);\r\n\r\n\t\t\thelpers.each(meta.data, function(arc, index) {\r\n\t\t\t\tme.updateElement(arc, index, reset);\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tupdateElement: function(arc, index, reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar chartArea = chart.chartArea;\r\n\t\t\tvar opts = chart.options;\r\n\t\t\tvar animationOpts = opts.animation;\r\n\t\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / (2.0 * Math.PI));\r\n\t\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\r\n\r\n\t\t\thelpers.extend(arc, {\r\n\t\t\t\t// Utility\r\n\t\t\t\t_datasetIndex: me.index,\r\n\t\t\t\t_index: index,\r\n\r\n\t\t\t\t// Desired view properties\r\n\t\t\t\t_model: {\r\n\t\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\t\tendAngle: endAngle,\r\n\t\t\t\t\tcircumference: circumference,\r\n\t\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\t\tlabel: valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvar model = arc._model;\r\n\t\t\t// Resets the visual styles\r\n\t\t\tthis.removeHoverStyle(arc);\r\n\r\n\t\t\t// Set correct angles if not resetting\r\n\t\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\t\tif (index === 0) {\r\n\t\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t\t}\r\n\r\n\t\t\tarc.pivot();\r\n\t\t},\r\n\r\n\t\tremoveHoverStyle: function(arc) {\r\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);\r\n\t\t},\r\n\r\n\t\tcalculateTotal: function() {\r\n\t\t\tvar dataset = this.getDataset();\r\n\t\t\tvar meta = this.getMeta();\r\n\t\t\tvar total = 0;\r\n\t\t\tvar value;\r\n\r\n\t\t\thelpers.each(meta.data, function(element, index) {\r\n\t\t\t\tvalue = dataset.data[index];\r\n\t\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t/* if (total === 0) {\r\n\t\t\t\ttotal = NaN;\r\n\t\t\t}*/\r\n\r\n\t\t\treturn total;\r\n\t\t},\r\n\r\n\t\tcalculateCircumference: function(value) {\r\n\t\t\tvar total = this.getMeta().total;\r\n\t\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\t\treturn (Math.PI * 2.0) * (Math.abs(value) / total);\r\n\t\t\t}\r\n\t\t\treturn 0;\r\n\t\t},\r\n\r\n\t\t// gets the max border or hover width to properly scale pie charts\r\n\t\tgetMaxBorderWidth: function(arcs) {\r\n\t\t\tvar max = 0;\r\n\t\t\tvar index = this.index;\r\n\t\t\tvar length = arcs.length;\r\n\t\t\tvar borderWidth;\r\n\t\t\tvar hoverWidth;\r\n\r\n\t\t\tfor (var i = 0; i < length; i++) {\r\n\t\t\t\tborderWidth = arcs[i]._model ? arcs[i]._model.borderWidth : 0;\r\n\t\t\t\thoverWidth = arcs[i]._chart ? arcs[i]._chart.config.data.datasets[index].hoverBorderWidth : 0;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t\treturn max;\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/controllers/controller.doughnut.js\n// module id = 830\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar elements = require('../elements/index');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tfunction lineEnabled(dataset, options) {\r\n\t\treturn helpers.valueOrDefault(dataset.showLine, options.showLines);\r\n\t}\r\n\r\n\tChart.controllers.line = Chart.DatasetController.extend({\r\n\r\n\t\tdatasetElementType: elements.Line,\r\n\r\n\t\tdataElementType: elements.Point,\r\n\r\n\t\tupdate: function(reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar line = meta.dataset;\r\n\t\t\tvar points = meta.data || [];\r\n\t\t\tvar options = me.chart.options;\r\n\t\t\tvar lineElementOptions = options.elements.line;\r\n\t\t\tvar scale = me.getScaleForId(meta.yAxisID);\r\n\t\t\tvar i, ilen, custom;\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar showLine = lineEnabled(dataset, options);\r\n\r\n\t\t\t// Update Line\r\n\t\t\tif (showLine) {\r\n\t\t\t\tcustom = line.custom || {};\r\n\r\n\t\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\t\tif ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {\r\n\t\t\t\t\tdataset.lineTension = dataset.tension;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Utility\r\n\t\t\t\tline._scale = scale;\r\n\t\t\t\tline._datasetIndex = me.index;\r\n\t\t\t\t// Data\r\n\t\t\t\tline._children = points;\r\n\t\t\t\t// Model\r\n\t\t\t\tline._model = {\r\n\t\t\t\t\t// Appearance\r\n\t\t\t\t\t// The default behavior of lines is to break at null values, according\r\n\t\t\t\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t\t\t\t// This option gives lines the ability to span gaps\r\n\t\t\t\t\tspanGaps: dataset.spanGaps ? dataset.spanGaps : options.spanGaps,\r\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),\r\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\r\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\r\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\r\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\r\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\r\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\r\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\r\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\r\n\t\t\t\t\tsteppedLine: custom.steppedLine ? custom.steppedLine : helpers.valueOrDefault(dataset.steppedLine, lineElementOptions.stepped),\r\n\t\t\t\t\tcubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.valueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),\r\n\t\t\t\t};\r\n\r\n\t\t\t\tline.pivot();\r\n\t\t\t}\r\n\r\n\t\t\t// Update Points\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t\t}\r\n\r\n\t\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\t\tme.updateBezierControlPoints();\r\n\t\t\t}\r\n\r\n\t\t\t// Now pivot the point for animation\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tpoints[i].pivot();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tgetPointBackgroundColor: function(point, index) {\r\n\t\t\tvar backgroundColor = this.chart.options.elements.point.backgroundColor;\r\n\t\t\tvar dataset = this.getDataset();\r\n\t\t\tvar custom = point.custom || {};\r\n\r\n\t\t\tif (custom.backgroundColor) {\r\n\t\t\t\tbackgroundColor = custom.backgroundColor;\r\n\t\t\t} else if (dataset.pointBackgroundColor) {\r\n\t\t\t\tbackgroundColor = helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);\r\n\t\t\t} else if (dataset.backgroundColor) {\r\n\t\t\t\tbackgroundColor = dataset.backgroundColor;\r\n\t\t\t}\r\n\r\n\t\t\treturn backgroundColor;\r\n\t\t},\r\n\r\n\t\tgetPointBorderColor: function(point, index) {\r\n\t\t\tvar borderColor = this.chart.options.elements.point.borderColor;\r\n\t\t\tvar dataset = this.getDataset();\r\n\t\t\tvar custom = point.custom || {};\r\n\r\n\t\t\tif (custom.borderColor) {\r\n\t\t\t\tborderColor = custom.borderColor;\r\n\t\t\t} else if (dataset.pointBorderColor) {\r\n\t\t\t\tborderColor = helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);\r\n\t\t\t} else if (dataset.borderColor) {\r\n\t\t\t\tborderColor = dataset.borderColor;\r\n\t\t\t}\r\n\r\n\t\t\treturn borderColor;\r\n\t\t},\r\n\r\n\t\tgetPointBorderWidth: function(point, index) {\r\n\t\t\tvar borderWidth = this.chart.options.elements.point.borderWidth;\r\n\t\t\tvar dataset = this.getDataset();\r\n\t\t\tvar custom = point.custom || {};\r\n\r\n\t\t\tif (!isNaN(custom.borderWidth)) {\r\n\t\t\t\tborderWidth = custom.borderWidth;\r\n\t\t\t} else if (!isNaN(dataset.pointBorderWidth) || helpers.isArray(dataset.pointBorderWidth)) {\r\n\t\t\t\tborderWidth = helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);\r\n\t\t\t} else if (!isNaN(dataset.borderWidth)) {\r\n\t\t\t\tborderWidth = dataset.borderWidth;\r\n\t\t\t}\r\n\r\n\t\t\treturn borderWidth;\r\n\t\t},\r\n\r\n\t\tupdateElement: function(point, index, reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar datasetIndex = me.index;\r\n\t\t\tvar value = dataset.data[index];\r\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\t\tvar pointOptions = me.chart.options.elements.point;\r\n\t\t\tvar x, y;\r\n\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\r\n\t\t\t\tdataset.pointRadius = dataset.radius;\r\n\t\t\t}\r\n\t\t\tif ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {\r\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\r\n\t\t\t}\r\n\r\n\t\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t\t// Utility\r\n\t\t\tpoint._xScale = xScale;\r\n\t\t\tpoint._yScale = yScale;\r\n\t\t\tpoint._datasetIndex = datasetIndex;\r\n\t\t\tpoint._index = index;\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\tpoint._model = {\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y,\r\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t\t// Appearance\r\n\t\t\t\tradius: custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),\r\n\t\t\t\tpointStyle: custom.pointStyle || helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),\r\n\t\t\t\tbackgroundColor: me.getPointBackgroundColor(point, index),\r\n\t\t\t\tborderColor: me.getPointBorderColor(point, index),\r\n\t\t\t\tborderWidth: me.getPointBorderWidth(point, index),\r\n\t\t\t\ttension: meta.dataset._model ? meta.dataset._model.tension : 0,\r\n\t\t\t\tsteppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,\r\n\t\t\t\t// Tooltip\r\n\t\t\t\thitRadius: custom.hitRadius || helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\t\tvar sumPos = 0;\r\n\t\t\tvar sumNeg = 0;\r\n\t\t\tvar i, ds, dsMeta;\r\n\r\n\t\t\tif (yScale.options.stacked) {\r\n\t\t\t\tfor (i = 0; i < datasetIndex; i++) {\r\n\t\t\t\t\tds = chart.data.datasets[i];\r\n\t\t\t\t\tdsMeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id && chart.isDatasetVisible(i)) {\r\n\t\t\t\t\t\tvar stackedRightValue = Number(yScale.getRightValue(ds.data[index]));\r\n\t\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar rightValue = Number(yScale.getRightValue(value));\r\n\t\t\t\tif (rightValue < 0) {\r\n\t\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t\t}\r\n\t\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t\t}\r\n\r\n\t\t\treturn yScale.getPixelForValue(value);\r\n\t\t},\r\n\r\n\t\tupdateBezierControlPoints: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar area = me.chart.chartArea;\r\n\t\t\tvar points = (meta.data || []);\r\n\t\t\tvar i, ilen, point, model, controlPoints;\r\n\r\n\t\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\t\treturn !pt._model.skip;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t\t}\r\n\r\n\t\t\tif (meta.dataset._model.cubicInterpolationMode === 'monotone') {\r\n\t\t\t\thelpers.splineCurveMonotone(points);\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\t\tpoint = points[i];\r\n\t\t\t\t\tmodel = point._model;\r\n\t\t\t\t\tcontrolPoints = helpers.splineCurve(\r\n\t\t\t\t\t\thelpers.previousItem(points, i)._model,\r\n\t\t\t\t\t\tmodel,\r\n\t\t\t\t\t\thelpers.nextItem(points, i)._model,\r\n\t\t\t\t\t\tmeta.dataset._model.tension\r\n\t\t\t\t\t);\r\n\t\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (me.chart.options.elements.line.capBezierPoints) {\r\n\t\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tdraw: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar points = meta.data || [];\r\n\t\t\tvar area = chart.chartArea;\r\n\t\t\tvar ilen = points.length;\r\n\t\t\tvar i = 0;\r\n\r\n\t\t\thelpers.canvas.clipArea(chart.ctx, area);\r\n\r\n\t\t\tif (lineEnabled(me.getDataset(), chart.options)) {\r\n\t\t\t\tmeta.dataset.draw();\r\n\t\t\t}\r\n\r\n\t\t\thelpers.canvas.unclipArea(chart.ctx);\r\n\r\n\t\t\t// Draw the points\r\n\t\t\tfor (; i < ilen; ++i) {\r\n\t\t\t\tpoints[i].draw(area);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tsetHoverStyle: function(point) {\r\n\t\t\t// Point\r\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\r\n\t\t\tvar index = point._index;\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar model = point._model;\r\n\r\n\t\t\tmodel.radius = custom.hoverRadius || helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\r\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\r\n\t\t\tmodel.borderColor = custom.hoverBorderColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\r\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\r\n\t\t},\r\n\r\n\t\tremoveHoverStyle: function(point) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar dataset = me.chart.data.datasets[point._datasetIndex];\r\n\t\t\tvar index = point._index;\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar model = point._model;\r\n\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\r\n\t\t\t\tdataset.pointRadius = dataset.radius;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.radius = custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, me.chart.options.elements.point.radius);\r\n\t\t\tmodel.backgroundColor = me.getPointBackgroundColor(point, index);\r\n\t\t\tmodel.borderColor = me.getPointBorderColor(point, index);\r\n\t\t\tmodel.borderWidth = me.getPointBorderWidth(point, index);\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/controllers/controller.line.js\n// module id = 831\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar elements = require('../elements/index');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar text = [];\r\n\t\ttext.push('<ul class=\"' + chart.id + '-legend\">');\r\n\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (var i = 0; i < datasets[0].data.length; ++i) {\r\n\t\t\t\ttext.push('<li><span style=\"background-color:' + datasets[0].backgroundColor[i] + '\"></span>');\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\ttext.push(labels[i]);\r\n\t\t\t\t}\r\n\t\t\t\ttext.push('</li>');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttext.push('</ul>');\r\n\t\treturn text.join('');\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar ds = data.datasets[0];\r\n\t\t\t\t\t\tvar arc = meta.data[i];\r\n\t\t\t\t\t\tvar custom = arc.custom || {};\r\n\t\t\t\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\r\n\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\r\n\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\r\n\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\r\n\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: fill,\r\n\t\t\t\t\t\t\tstrokeStyle: stroke,\r\n\t\t\t\t\t\t\tlineWidth: bw,\r\n\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.controllers.polarArea = Chart.DatasetController.extend({\r\n\r\n\t\tdataElementType: elements.Arc,\r\n\r\n\t\tlinkScales: helpers.noop,\r\n\r\n\t\tupdate: function(reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar chartArea = chart.chartArea;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar opts = chart.options;\r\n\t\t\tvar arcOpts = opts.elements.arc;\r\n\t\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\t\t\tchart.outerRadius = Math.max((minSize - arcOpts.borderWidth / 2) / 2, 0);\r\n\t\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\r\n\t\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\t\thelpers.each(meta.data, function(arc, index) {\r\n\t\t\t\tme.updateElement(arc, index, reset);\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tupdateElement: function(arc, index, reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar opts = chart.options;\r\n\t\t\tvar animationOpts = opts.animation;\r\n\t\t\tvar scale = chart.scale;\r\n\t\t\tvar labels = chart.data.labels;\r\n\r\n\t\t\tvar circumference = me.calculateCircumference(dataset.data[index]);\r\n\t\t\tvar centerX = scale.xCenter;\r\n\t\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t\t// If there is NaN data before us, we need to calculate the starting angle correctly.\r\n\t\t\t// We could be way more efficient here, but its unlikely that the polar area chart will have a lot of data\r\n\t\t\tvar visibleCount = 0;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tfor (var i = 0; i < index; ++i) {\r\n\t\t\t\tif (!isNaN(dataset.data[i]) && !meta.data[i].hidden) {\r\n\t\t\t\t\t++visibleCount;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\t\tvar startAngle = datasetStartAngle + (circumference * visibleCount);\r\n\t\t\tvar endAngle = startAngle + (arc.hidden ? 0 : circumference);\r\n\r\n\t\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\r\n\t\t\thelpers.extend(arc, {\r\n\t\t\t\t// Utility\r\n\t\t\t\t_datasetIndex: me.index,\r\n\t\t\t\t_index: index,\r\n\t\t\t\t_scale: scale,\r\n\r\n\t\t\t\t// Desired view properties\r\n\t\t\t\t_model: {\r\n\t\t\t\t\tx: centerX,\r\n\t\t\t\t\ty: centerY,\r\n\t\t\t\t\tinnerRadius: 0,\r\n\t\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\t\tlabel: helpers.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// Apply border and fill style\r\n\t\t\tme.removeHoverStyle(arc);\r\n\r\n\t\t\tarc.pivot();\r\n\t\t},\r\n\r\n\t\tremoveHoverStyle: function(arc) {\r\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);\r\n\t\t},\r\n\r\n\t\tcountVisibleElements: function() {\r\n\t\t\tvar dataset = this.getDataset();\r\n\t\t\tvar meta = this.getMeta();\r\n\t\t\tvar count = 0;\r\n\r\n\t\t\thelpers.each(meta.data, function(element, index) {\r\n\t\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\t\tcount++;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn count;\r\n\t\t},\r\n\r\n\t\tcalculateCircumference: function(value) {\r\n\t\t\tvar count = this.getMeta().count;\r\n\t\t\tif (count > 0 && !isNaN(value)) {\r\n\t\t\t\treturn (2 * Math.PI) / count;\r\n\t\t\t}\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/controllers/controller.polarArea.js\n// module id = 832\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar elements = require('../elements/index');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('radar', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.controllers.radar = Chart.DatasetController.extend({\r\n\r\n\t\tdatasetElementType: elements.Line,\r\n\r\n\t\tdataElementType: elements.Point,\r\n\r\n\t\tlinkScales: helpers.noop,\r\n\r\n\t\tupdate: function(reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar line = meta.dataset;\r\n\t\t\tvar points = meta.data;\r\n\t\t\tvar custom = line.custom || {};\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar lineElementOptions = me.chart.options.elements.line;\r\n\t\t\tvar scale = me.chart.scale;\r\n\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {\r\n\t\t\t\tdataset.lineTension = dataset.tension;\r\n\t\t\t}\r\n\r\n\t\t\thelpers.extend(meta.dataset, {\r\n\t\t\t\t// Utility\r\n\t\t\t\t_datasetIndex: me.index,\r\n\t\t\t\t_scale: scale,\r\n\t\t\t\t// Data\r\n\t\t\t\t_children: points,\r\n\t\t\t\t_loop: true,\r\n\t\t\t\t// Model\r\n\t\t\t\t_model: {\r\n\t\t\t\t\t// Appearance\r\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),\r\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\r\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\r\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\r\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\r\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\r\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\r\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\r\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.pivot();\r\n\r\n\t\t\t// Update Points\r\n\t\t\thelpers.each(points, function(point, index) {\r\n\t\t\t\tme.updateElement(point, index, reset);\r\n\t\t\t}, me);\r\n\r\n\t\t\t// Update bezier control points\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t},\r\n\t\tupdateElement: function(point, index, reset) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar scale = me.chart.scale;\r\n\t\t\tvar pointElementOptions = me.chart.options.elements.point;\r\n\t\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {\r\n\t\t\t\tdataset.pointRadius = dataset.radius;\r\n\t\t\t}\r\n\t\t\tif ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {\r\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\r\n\t\t\t}\r\n\r\n\t\t\thelpers.extend(point, {\r\n\t\t\t\t// Utility\r\n\t\t\t\t_datasetIndex: me.index,\r\n\t\t\t\t_index: index,\r\n\t\t\t\t_scale: scale,\r\n\r\n\t\t\t\t// Desired view properties\r\n\t\t\t\t_model: {\r\n\t\t\t\t\tx: reset ? scale.xCenter : pointPosition.x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\t\t\ty: reset ? scale.yCenter : pointPosition.y,\r\n\r\n\t\t\t\t\t// Appearance\r\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, me.chart.options.elements.line.tension),\r\n\t\t\t\t\tradius: custom.radius ? custom.radius : helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius),\r\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor),\r\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor),\r\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth),\r\n\t\t\t\t\tpointStyle: custom.pointStyle ? custom.pointStyle : helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointElementOptions.pointStyle),\r\n\r\n\t\t\t\t\t// Tooltip\r\n\t\t\t\t\thitRadius: custom.hitRadius ? custom.hitRadius : helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointElementOptions.hitRadius)\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tpoint._model.skip = custom.skip ? custom.skip : (isNaN(point._model.x) || isNaN(point._model.y));\r\n\t\t},\r\n\t\tupdateBezierControlPoints: function() {\r\n\t\t\tvar chartArea = this.chart.chartArea;\r\n\t\t\tvar meta = this.getMeta();\r\n\r\n\t\t\thelpers.each(meta.data, function(point, index) {\r\n\t\t\t\tvar model = point._model;\r\n\t\t\t\tvar controlPoints = helpers.splineCurve(\r\n\t\t\t\t\thelpers.previousItem(meta.data, index, true)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers.nextItem(meta.data, index, true)._model,\r\n\t\t\t\t\tmodel.tension\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\t\tmodel.controlPointPreviousX = Math.max(Math.min(controlPoints.previous.x, chartArea.right), chartArea.left);\r\n\t\t\t\tmodel.controlPointPreviousY = Math.max(Math.min(controlPoints.previous.y, chartArea.bottom), chartArea.top);\r\n\r\n\t\t\t\tmodel.controlPointNextX = Math.max(Math.min(controlPoints.next.x, chartArea.right), chartArea.left);\r\n\t\t\t\tmodel.controlPointNextY = Math.max(Math.min(controlPoints.next.y, chartArea.bottom), chartArea.top);\r\n\r\n\t\t\t\t// Now pivot the point for animation\r\n\t\t\t\tpoint.pivot();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tsetHoverStyle: function(point) {\r\n\t\t\t// Point\r\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar index = point._index;\r\n\t\t\tvar model = point._model;\r\n\r\n\t\t\tmodel.radius = custom.hoverRadius ? custom.hoverRadius : helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\r\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\r\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\r\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\r\n\t\t},\r\n\r\n\t\tremoveHoverStyle: function(point) {\r\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\r\n\t\t\tvar custom = point.custom || {};\r\n\t\t\tvar index = point._index;\r\n\t\t\tvar model = point._model;\r\n\t\t\tvar pointElementOptions = this.chart.options.elements.point;\r\n\r\n\t\t\tmodel.radius = custom.radius ? custom.radius : helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius);\r\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor);\r\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor);\r\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth);\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/controllers/controller.radar.js\n// module id = 833\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\n\r\ndefaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1',    // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear',    // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\tshowLines: false,\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';     // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\t// Scatter charts use line controllers\r\n\tChart.controllers.scatter = Chart.controllers.line;\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/controllers/controller.scatter.js\n// module id = 834\n// module chunks = 3","/* global window: false */\r\n'use strict';\r\n\r\nvar defaults = require('./core.defaults');\r\nvar Element = require('./core.element');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers.noop,\r\n\t\tonComplete: helpers.noop\r\n\t}\r\n});\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.Animation = Element.extend({\r\n\t\tchart: null, // the animation associated chart instance\r\n\t\tcurrentStep: 0, // the current animation step\r\n\t\tnumSteps: 60, // default number of steps\r\n\t\teasing: '', // the easing to use for this animation\r\n\t\trender: null, // render function used by the animation service\r\n\r\n\t\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\t\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n\t});\r\n\r\n\tChart.animationService = {\r\n\t\tframeDuration: 17,\r\n\t\tanimations: [],\r\n\t\tdropFrames: 0,\r\n\t\trequest: null,\r\n\r\n\t\t/**\r\n\t\t * @param {Chart} chart - The chart to animate.\r\n\t\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t\t * @param {Number} duration - The animation duration in ms.\r\n\t\t * @param {Boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t\t */\r\n\t\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\t\tvar animations = this.animations;\r\n\t\t\tvar i, ilen;\r\n\r\n\t\t\tanimation.chart = chart;\r\n\r\n\t\t\tif (!lazy) {\r\n\t\t\t\tchart.animating = true;\r\n\t\t\t}\r\n\r\n\t\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\t\tanimations[i] = animation;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tanimations.push(animation);\r\n\r\n\t\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\t\tif (animations.length === 1) {\r\n\t\t\t\tthis.requestAnimationFrame();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcancelAnimation: function(chart) {\r\n\t\t\tvar index = helpers.findIndex(this.animations, function(animation) {\r\n\t\t\t\treturn animation.chart === chart;\r\n\t\t\t});\r\n\r\n\t\t\tif (index !== -1) {\r\n\t\t\t\tthis.animations.splice(index, 1);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\trequestAnimationFrame: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tif (me.request === null) {\r\n\t\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\t\tme.request = helpers.requestAnimFrame.call(window, function() {\r\n\t\t\t\t\tme.request = null;\r\n\t\t\t\t\tme.startDigest();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tstartDigest: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar startTime = Date.now();\r\n\t\t\tvar framesToDrop = 0;\r\n\r\n\t\t\tif (me.dropFrames > 1) {\r\n\t\t\t\tframesToDrop = Math.floor(me.dropFrames);\r\n\t\t\t\tme.dropFrames = me.dropFrames % 1;\r\n\t\t\t}\r\n\r\n\t\t\tme.advance(1 + framesToDrop);\r\n\r\n\t\t\tvar endTime = Date.now();\r\n\r\n\t\t\tme.dropFrames += (endTime - startTime) / me.frameDuration;\r\n\r\n\t\t\t// Do we have more stuff to animate?\r\n\t\t\tif (me.animations.length > 0) {\r\n\t\t\t\tme.requestAnimationFrame();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tadvance: function(count) {\r\n\t\t\tvar animations = this.animations;\r\n\t\t\tvar animation, chart;\r\n\t\t\tvar i = 0;\r\n\r\n\t\t\twhile (i < animations.length) {\r\n\t\t\t\tanimation = animations[i];\r\n\t\t\t\tchart = animation.chart;\r\n\r\n\t\t\t\tanimation.currentStep = (animation.currentStep || 0) + count;\r\n\t\t\t\tanimation.currentStep = Math.min(animation.currentStep, animation.numSteps);\r\n\r\n\t\t\t\thelpers.callback(animation.render, [chart, animation], chart);\r\n\t\t\t\thelpers.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\t\tif (animation.currentStep >= animation.numSteps) {\r\n\t\t\t\t\thelpers.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\t\tchart.animating = false;\r\n\t\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t++i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, use Chart.Animation instead\r\n\t * @prop Chart.Animation#animationObject\r\n\t * @deprecated since version 2.6.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\tObject.defineProperty(Chart.Animation.prototype, 'animationObject', {\r\n\t\tget: function() {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t});\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, use Chart.Animation#chart instead\r\n\t * @prop Chart.Animation#chartInstance\r\n\t * @deprecated since version 2.6.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\tObject.defineProperty(Chart.Animation.prototype, 'chartInstance', {\r\n\t\tget: function() {\r\n\t\t\treturn this.chart;\r\n\t\t},\r\n\t\tset: function(value) {\r\n\t\t\tthis.chart = value;\r\n\t\t}\r\n\t});\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.animation.js\n// module id = 835\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('./core.defaults');\r\nvar helpers = require('../helpers/index');\r\nvar Interaction = require('./core.interaction');\r\nvar layouts = require('./core.layouts');\r\nvar platform = require('../platforms/platform');\r\nvar plugins = require('./core.plugins');\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\t// Create a dictionary of chart types, to allow for extension of existing types\r\n\tChart.types = {};\r\n\r\n\t// Store a reference to each instance - allowing us to globally resize chart instances on window resize.\r\n\t// Destroy method on the chart will remove the instance of the chart from this reference.\r\n\tChart.instances = {};\r\n\r\n\t// Controllers available for dataset visualization eg. bar, line, slice, etc.\r\n\tChart.controllers = {};\r\n\r\n\t/**\r\n\t * Initializes the given config with global and chart default values.\r\n\t */\r\n\tfunction initConfig(config) {\r\n\t\tconfig = config || {};\r\n\r\n\t\t// Do NOT use configMerge() for the data object because this method merges arrays\r\n\t\t// and so would change references to labels and datasets, preventing data updates.\r\n\t\tvar data = config.data = config.data || {};\r\n\t\tdata.datasets = data.datasets || [];\r\n\t\tdata.labels = data.labels || [];\r\n\r\n\t\tconfig.options = helpers.configMerge(\r\n\t\t\tdefaults.global,\r\n\t\t\tdefaults[config.type],\r\n\t\t\tconfig.options || {});\r\n\r\n\t\treturn config;\r\n\t}\r\n\r\n\t/**\r\n\t * Updates the config of the chart\r\n\t * @param chart {Chart} chart to update the options for\r\n\t */\r\n\tfunction updateConfig(chart) {\r\n\t\tvar newOptions = chart.options;\r\n\r\n\t\thelpers.each(chart.scales, function(scale) {\r\n\t\t\tlayouts.removeBox(chart, scale);\r\n\t\t});\r\n\r\n\t\tnewOptions = helpers.configMerge(\r\n\t\t\tChart.defaults.global,\r\n\t\t\tChart.defaults[chart.config.type],\r\n\t\t\tnewOptions);\r\n\r\n\t\tchart.options = chart.config.options = newOptions;\r\n\t\tchart.ensureScalesHaveIDs();\r\n\t\tchart.buildOrUpdateScales();\r\n\t\t// Tooltip\r\n\t\tchart.tooltip._options = newOptions.tooltips;\r\n\t\tchart.tooltip.initialize();\r\n\t}\r\n\r\n\tfunction positionIsHorizontal(position) {\r\n\t\treturn position === 'top' || position === 'bottom';\r\n\t}\r\n\r\n\thelpers.extend(Chart.prototype, /** @lends Chart */ {\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tconstruct: function(item, config) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tconfig = initConfig(config);\r\n\r\n\t\t\tvar context = platform.acquireContext(item, config);\r\n\t\t\tvar canvas = context && context.canvas;\r\n\t\t\tvar height = canvas && canvas.height;\r\n\t\t\tvar width = canvas && canvas.width;\r\n\r\n\t\t\tme.id = helpers.uid();\r\n\t\t\tme.ctx = context;\r\n\t\t\tme.canvas = canvas;\r\n\t\t\tme.config = config;\r\n\t\t\tme.width = width;\r\n\t\t\tme.height = height;\r\n\t\t\tme.aspectRatio = height ? width / height : null;\r\n\t\t\tme.options = config.options;\r\n\t\t\tme._bufferedRender = false;\r\n\r\n\t\t\t/**\r\n\t\t\t * Provided for backward compatibility, Chart and Chart.Controller have been merged,\r\n\t\t\t * the \"instance\" still need to be defined since it might be called from plugins.\r\n\t\t\t * @prop Chart#chart\r\n\t\t\t * @deprecated since version 2.6.0\r\n\t\t\t * @todo remove at version 3\r\n\t\t\t * @private\r\n\t\t\t */\r\n\t\t\tme.chart = me;\r\n\t\t\tme.controller = me; // chart.chart.controller #inception\r\n\r\n\t\t\t// Add the chart instance to the global namespace\r\n\t\t\tChart.instances[me.id] = me;\r\n\r\n\t\t\t// Define alias to the config data: `chart.data === chart.config.data`\r\n\t\t\tObject.defineProperty(me, 'data', {\r\n\t\t\t\tget: function() {\r\n\t\t\t\t\treturn me.config.data;\r\n\t\t\t\t},\r\n\t\t\t\tset: function(value) {\r\n\t\t\t\t\tme.config.data = value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (!context || !canvas) {\r\n\t\t\t\t// The given item is not a compatible context2d element, let's return before finalizing\r\n\t\t\t\t// the chart initialization but after setting basic chart / controller properties that\r\n\t\t\t\t// can help to figure out that the chart is not valid (e.g chart.canvas !== null);\r\n\t\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\t\t\tconsole.error(\"Failed to create chart: can't acquire context from the given item\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tme.initialize();\r\n\t\t\tme.update();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tinitialize: function() {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\t// Before init plugin notification\r\n\t\t\tplugins.notify(me, 'beforeInit');\r\n\r\n\t\t\thelpers.retinaScale(me, me.options.devicePixelRatio);\r\n\r\n\t\t\tme.bindEvents();\r\n\r\n\t\t\tif (me.options.responsive) {\r\n\t\t\t\t// Initial resize before chart draws (must be silent to preserve initial animations).\r\n\t\t\t\tme.resize(true);\r\n\t\t\t}\r\n\r\n\t\t\t// Make sure scales have IDs and are built before we build any controllers.\r\n\t\t\tme.ensureScalesHaveIDs();\r\n\t\t\tme.buildOrUpdateScales();\r\n\t\t\tme.initToolTip();\r\n\r\n\t\t\t// After init plugin notification\r\n\t\t\tplugins.notify(me, 'afterInit');\r\n\r\n\t\t\treturn me;\r\n\t\t},\r\n\r\n\t\tclear: function() {\r\n\t\t\thelpers.canvas.clear(this);\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tstop: function() {\r\n\t\t\t// Stops any current animation loop occurring\r\n\t\t\tChart.animationService.cancelAnimation(this);\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tresize: function(silent) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = me.options;\r\n\t\t\tvar canvas = me.canvas;\r\n\t\t\tvar aspectRatio = (options.maintainAspectRatio && me.aspectRatio) || null;\r\n\r\n\t\t\t// the canvas render width and height will be casted to integers so make sure that\r\n\t\t\t// the canvas display style uses the same integer values to avoid blurring effect.\r\n\r\n\t\t\t// Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collased\r\n\t\t\tvar newWidth = Math.max(0, Math.floor(helpers.getMaximumWidth(canvas)));\r\n\t\t\tvar newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers.getMaximumHeight(canvas)));\r\n\r\n\t\t\tif (me.width === newWidth && me.height === newHeight) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tcanvas.width = me.width = newWidth;\r\n\t\t\tcanvas.height = me.height = newHeight;\r\n\t\t\tcanvas.style.width = newWidth + 'px';\r\n\t\t\tcanvas.style.height = newHeight + 'px';\r\n\r\n\t\t\thelpers.retinaScale(me, options.devicePixelRatio);\r\n\r\n\t\t\tif (!silent) {\r\n\t\t\t\t// Notify any plugins about the resize\r\n\t\t\t\tvar newSize = {width: newWidth, height: newHeight};\r\n\t\t\t\tplugins.notify(me, 'resize', [newSize]);\r\n\r\n\t\t\t\t// Notify of resize\r\n\t\t\t\tif (me.options.onResize) {\r\n\t\t\t\t\tme.options.onResize(me, newSize);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tme.stop();\r\n\t\t\t\tme.update(me.options.responsiveAnimationDuration);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tensureScalesHaveIDs: function() {\r\n\t\t\tvar options = this.options;\r\n\t\t\tvar scalesOptions = options.scales || {};\r\n\t\t\tvar scaleOptions = options.scale;\r\n\r\n\t\t\thelpers.each(scalesOptions.xAxes, function(xAxisOptions, index) {\r\n\t\t\t\txAxisOptions.id = xAxisOptions.id || ('x-axis-' + index);\r\n\t\t\t});\r\n\r\n\t\t\thelpers.each(scalesOptions.yAxes, function(yAxisOptions, index) {\r\n\t\t\t\tyAxisOptions.id = yAxisOptions.id || ('y-axis-' + index);\r\n\t\t\t});\r\n\r\n\t\t\tif (scaleOptions) {\r\n\t\t\t\tscaleOptions.id = scaleOptions.id || 'scale';\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Builds a map of scale ID to scale object for future lookup.\r\n\t\t */\r\n\t\tbuildOrUpdateScales: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = me.options;\r\n\t\t\tvar scales = me.scales || {};\r\n\t\t\tvar items = [];\r\n\t\t\tvar updated = Object.keys(scales).reduce(function(obj, id) {\r\n\t\t\t\tobj[id] = false;\r\n\t\t\t\treturn obj;\r\n\t\t\t}, {});\r\n\r\n\t\t\tif (options.scales) {\r\n\t\t\t\titems = items.concat(\r\n\t\t\t\t\t(options.scales.xAxes || []).map(function(xAxisOptions) {\r\n\t\t\t\t\t\treturn {options: xAxisOptions, dtype: 'category', dposition: 'bottom'};\r\n\t\t\t\t\t}),\r\n\t\t\t\t\t(options.scales.yAxes || []).map(function(yAxisOptions) {\r\n\t\t\t\t\t\treturn {options: yAxisOptions, dtype: 'linear', dposition: 'left'};\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (options.scale) {\r\n\t\t\t\titems.push({\r\n\t\t\t\t\toptions: options.scale,\r\n\t\t\t\t\tdtype: 'radialLinear',\r\n\t\t\t\t\tisDefault: true,\r\n\t\t\t\t\tdposition: 'chartArea'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\thelpers.each(items, function(item) {\r\n\t\t\t\tvar scaleOptions = item.options;\r\n\t\t\t\tvar id = scaleOptions.id;\r\n\t\t\t\tvar scaleType = helpers.valueOrDefault(scaleOptions.type, item.dtype);\r\n\r\n\t\t\t\tif (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {\r\n\t\t\t\t\tscaleOptions.position = item.dposition;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tupdated[id] = true;\r\n\t\t\t\tvar scale = null;\r\n\t\t\t\tif (id in scales && scales[id].type === scaleType) {\r\n\t\t\t\t\tscale = scales[id];\r\n\t\t\t\t\tscale.options = scaleOptions;\r\n\t\t\t\t\tscale.ctx = me.ctx;\r\n\t\t\t\t\tscale.chart = me;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar scaleClass = Chart.scaleService.getScaleConstructor(scaleType);\r\n\t\t\t\t\tif (!scaleClass) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tscale = new scaleClass({\r\n\t\t\t\t\t\tid: id,\r\n\t\t\t\t\t\ttype: scaleType,\r\n\t\t\t\t\t\toptions: scaleOptions,\r\n\t\t\t\t\t\tctx: me.ctx,\r\n\t\t\t\t\t\tchart: me\r\n\t\t\t\t\t});\r\n\t\t\t\t\tscales[scale.id] = scale;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tscale.mergeTicksOptions();\r\n\r\n\t\t\t\t// TODO(SB): I think we should be able to remove this custom case (options.scale)\r\n\t\t\t\t// and consider it as a regular scale part of the \"scales\"\" map only! This would\r\n\t\t\t\t// make the logic easier and remove some useless? custom code.\r\n\t\t\t\tif (item.isDefault) {\r\n\t\t\t\t\tme.scale = scale;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t// clear up discarded scales\r\n\t\t\thelpers.each(updated, function(hasUpdated, id) {\r\n\t\t\t\tif (!hasUpdated) {\r\n\t\t\t\t\tdelete scales[id];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tme.scales = scales;\r\n\r\n\t\t\tChart.scaleService.addScalesToLayout(this);\r\n\t\t},\r\n\r\n\t\tbuildOrUpdateControllers: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar types = [];\r\n\t\t\tvar newControllers = [];\r\n\r\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\t\tvar meta = me.getDatasetMeta(datasetIndex);\r\n\t\t\t\tvar type = dataset.type || me.config.type;\r\n\r\n\t\t\t\tif (meta.type && meta.type !== type) {\r\n\t\t\t\t\tme.destroyDatasetMeta(datasetIndex);\r\n\t\t\t\t\tmeta = me.getDatasetMeta(datasetIndex);\r\n\t\t\t\t}\r\n\t\t\t\tmeta.type = type;\r\n\r\n\t\t\t\ttypes.push(meta.type);\r\n\r\n\t\t\t\tif (meta.controller) {\r\n\t\t\t\t\tmeta.controller.updateIndex(datasetIndex);\r\n\t\t\t\t\tmeta.controller.linkScales();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar ControllerClass = Chart.controllers[meta.type];\r\n\t\t\t\t\tif (ControllerClass === undefined) {\r\n\t\t\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmeta.controller = new ControllerClass(me, datasetIndex);\r\n\t\t\t\t\tnewControllers.push(meta.controller);\r\n\t\t\t\t}\r\n\t\t\t}, me);\r\n\r\n\t\t\treturn newControllers;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Reset the elements of all datasets\r\n\t\t * @private\r\n\t\t */\r\n\t\tresetElements: function() {\r\n\t\t\tvar me = this;\r\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.reset();\r\n\t\t\t}, me);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t* Resets the chart back to it's state before the initial animation\r\n\t\t*/\r\n\t\treset: function() {\r\n\t\t\tthis.resetElements();\r\n\t\t\tthis.tooltip.initialize();\r\n\t\t},\r\n\r\n\t\tupdate: function(config) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t\t// backwards compatibility\r\n\t\t\t\tconfig = {\r\n\t\t\t\t\tduration: config,\r\n\t\t\t\t\tlazy: arguments[1]\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tupdateConfig(me);\r\n\r\n\t\t\t// plugins options references might have change, let's invalidate the cache\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t\t\tplugins._invalidate(me);\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeUpdate') === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// In case the entire data object changed\r\n\t\t\tme.tooltip._data = me.data;\r\n\r\n\t\t\t// Make sure dataset controllers are updated and new controllers are reset\r\n\t\t\tvar newControllers = me.buildOrUpdateControllers();\r\n\r\n\t\t\t// Make sure all dataset controllers have correct meta data counts\r\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.buildOrUpdateElements();\r\n\t\t\t}, me);\r\n\r\n\t\t\tme.updateLayout();\r\n\r\n\t\t\t// Can only reset the new controllers after the scales have been updated\r\n\t\t\tif (me.options.animation && me.options.animation.duration) {\r\n\t\t\t\thelpers.each(newControllers, function(controller) {\r\n\t\t\t\t\tcontroller.reset();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tme.updateDatasets();\r\n\r\n\t\t\t// Need to reset tooltip in case it is displayed with elements that are removed\r\n\t\t\t// after update.\r\n\t\t\tme.tooltip.initialize();\r\n\r\n\t\t\t// Last active contains items that were previously in the tooltip.\r\n\t\t\t// When we reset the tooltip, we need to clear it\r\n\t\t\tme.lastActive = [];\r\n\r\n\t\t\t// Do this before render so that any plugins that need final scale updates can use it\r\n\t\t\tplugins.notify(me, 'afterUpdate');\r\n\r\n\t\t\tif (me._bufferedRender) {\r\n\t\t\t\tme._bufferedRequest = {\r\n\t\t\t\t\tduration: config.duration,\r\n\t\t\t\t\teasing: config.easing,\r\n\t\t\t\t\tlazy: config.lazy\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tme.render(config);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\r\n\t\t * hook, in which case, plugins will not be called on `afterLayout`.\r\n\t\t * @private\r\n\t\t */\r\n\t\tupdateLayout: function() {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeLayout') === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlayouts.update(this, this.width, this.height);\r\n\r\n\t\t\t/**\r\n\t\t\t * Provided for backward compatibility, use `afterLayout` instead.\r\n\t\t\t * @method IPlugin#afterScaleUpdate\r\n\t\t\t * @deprecated since version 2.5.0\r\n\t\t\t * @todo remove at version 3\r\n\t\t\t * @private\r\n\t\t\t */\r\n\t\t\tplugins.notify(me, 'afterScaleUpdate');\r\n\t\t\tplugins.notify(me, 'afterLayout');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\r\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\r\n\t\t * @private\r\n\t\t */\r\n\t\tupdateDatasets: function() {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeDatasetsUpdate') === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tfor (var i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tme.updateDataset(i);\r\n\t\t\t}\r\n\r\n\t\t\tplugins.notify(me, 'afterDatasetsUpdate');\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\r\n\t\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\r\n\t\t * @private\r\n\t\t */\r\n\t\tupdateDataset: function(index) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getDatasetMeta(index);\r\n\t\t\tvar args = {\r\n\t\t\t\tmeta: meta,\r\n\t\t\t\tindex: index\r\n\t\t\t};\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeDatasetUpdate', [args]) === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tmeta.controller.update();\r\n\r\n\t\t\tplugins.notify(me, 'afterDatasetUpdate', [args]);\r\n\t\t},\r\n\r\n\t\trender: function(config) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t\t// backwards compatibility\r\n\t\t\t\tconfig = {\r\n\t\t\t\t\tduration: config,\r\n\t\t\t\t\tlazy: arguments[1]\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tvar duration = config.duration;\r\n\t\t\tvar lazy = config.lazy;\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeRender') === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar animationOptions = me.options.animation;\r\n\t\t\tvar onComplete = function(animation) {\r\n\t\t\t\tplugins.notify(me, 'afterRender');\r\n\t\t\t\thelpers.callback(animationOptions && animationOptions.onComplete, [animation], me);\r\n\t\t\t};\r\n\r\n\t\t\tif (animationOptions && ((typeof duration !== 'undefined' && duration !== 0) || (typeof duration === 'undefined' && animationOptions.duration !== 0))) {\r\n\t\t\t\tvar animation = new Chart.Animation({\r\n\t\t\t\t\tnumSteps: (duration || animationOptions.duration) / 16.66, // 60 fps\r\n\t\t\t\t\teasing: config.easing || animationOptions.easing,\r\n\r\n\t\t\t\t\trender: function(chart, animationObject) {\r\n\t\t\t\t\t\tvar easingFunction = helpers.easing.effects[animationObject.easing];\r\n\t\t\t\t\t\tvar currentStep = animationObject.currentStep;\r\n\t\t\t\t\t\tvar stepDecimal = currentStep / animationObject.numSteps;\r\n\r\n\t\t\t\t\t\tchart.draw(easingFunction(stepDecimal), stepDecimal, currentStep);\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\tonAnimationProgress: animationOptions.onProgress,\r\n\t\t\t\t\tonAnimationComplete: onComplete\r\n\t\t\t\t});\r\n\r\n\t\t\t\tChart.animationService.addAnimation(me, animation, duration, lazy);\r\n\t\t\t} else {\r\n\t\t\t\tme.draw();\r\n\r\n\t\t\t\t// See https://github.com/chartjs/Chart.js/issues/3781\r\n\t\t\t\tonComplete(new Chart.Animation({numSteps: 0, chart: me}));\r\n\t\t\t}\r\n\r\n\t\t\treturn me;\r\n\t\t},\r\n\r\n\t\tdraw: function(easingValue) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tme.clear();\r\n\r\n\t\t\tif (helpers.isNullOrUndef(easingValue)) {\r\n\t\t\t\teasingValue = 1;\r\n\t\t\t}\r\n\r\n\t\t\tme.transition(easingValue);\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeDraw', [easingValue]) === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Draw all the scales\r\n\t\t\thelpers.each(me.boxes, function(box) {\r\n\t\t\t\tbox.draw(me.chartArea);\r\n\t\t\t}, me);\r\n\r\n\t\t\tif (me.scale) {\r\n\t\t\t\tme.scale.draw();\r\n\t\t\t}\r\n\r\n\t\t\tme.drawDatasets(easingValue);\r\n\t\t\tme._drawTooltip(easingValue);\r\n\r\n\t\t\tplugins.notify(me, 'afterDraw', [easingValue]);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\ttransition: function(easingValue) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tfor (var i = 0, ilen = (me.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tif (me.isDatasetVisible(i)) {\r\n\t\t\t\t\tme.getDatasetMeta(i).controller.transition(easingValue);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tme.tooltip.transition(easingValue);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\r\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\r\n\t\t * @private\r\n\t\t */\r\n\t\tdrawDatasets: function(easingValue) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeDatasetsDraw', [easingValue]) === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Draw datasets reversed to support proper line stacking\r\n\t\t\tfor (var i = (me.data.datasets || []).length - 1; i >= 0; --i) {\r\n\t\t\t\tif (me.isDatasetVisible(i)) {\r\n\t\t\t\t\tme.drawDataset(i, easingValue);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tplugins.notify(me, 'afterDatasetsDraw', [easingValue]);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\r\n\t\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\r\n\t\t * @private\r\n\t\t */\r\n\t\tdrawDataset: function(index, easingValue) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getDatasetMeta(index);\r\n\t\t\tvar args = {\r\n\t\t\t\tmeta: meta,\r\n\t\t\t\tindex: index,\r\n\t\t\t\teasingValue: easingValue\r\n\t\t\t};\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeDatasetDraw', [args]) === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tmeta.controller.draw(easingValue);\r\n\r\n\t\t\tplugins.notify(me, 'afterDatasetDraw', [args]);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Draws tooltip unless a plugin returns `false` to the `beforeTooltipDraw`\r\n\t\t * hook, in which case, plugins will not be called on `afterTooltipDraw`.\r\n\t\t * @private\r\n\t\t */\r\n\t\t_drawTooltip: function(easingValue) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar tooltip = me.tooltip;\r\n\t\t\tvar args = {\r\n\t\t\t\ttooltip: tooltip,\r\n\t\t\t\teasingValue: easingValue\r\n\t\t\t};\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeTooltipDraw', [args]) === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\ttooltip.draw();\r\n\r\n\t\t\tplugins.notify(me, 'afterTooltipDraw', [args]);\r\n\t\t},\r\n\r\n\t\t// Get the single element that was clicked on\r\n\t\t// @return : An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw\r\n\t\tgetElementAtEvent: function(e) {\r\n\t\t\treturn Interaction.modes.single(this, e);\r\n\t\t},\r\n\r\n\t\tgetElementsAtEvent: function(e) {\r\n\t\t\treturn Interaction.modes.label(this, e, {intersect: true});\r\n\t\t},\r\n\r\n\t\tgetElementsAtXAxis: function(e) {\r\n\t\t\treturn Interaction.modes['x-axis'](this, e, {intersect: true});\r\n\t\t},\r\n\r\n\t\tgetElementsAtEventForMode: function(e, mode, options) {\r\n\t\t\tvar method = Interaction.modes[mode];\r\n\t\t\tif (typeof method === 'function') {\r\n\t\t\t\treturn method(this, e, options);\r\n\t\t\t}\r\n\r\n\t\t\treturn [];\r\n\t\t},\r\n\r\n\t\tgetDatasetAtEvent: function(e) {\r\n\t\t\treturn Interaction.modes.dataset(this, e, {intersect: true});\r\n\t\t},\r\n\r\n\t\tgetDatasetMeta: function(datasetIndex) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar dataset = me.data.datasets[datasetIndex];\r\n\t\t\tif (!dataset._meta) {\r\n\t\t\t\tdataset._meta = {};\r\n\t\t\t}\r\n\r\n\t\t\tvar meta = dataset._meta[me.id];\r\n\t\t\tif (!meta) {\r\n\t\t\t\tmeta = dataset._meta[me.id] = {\r\n\t\t\t\t\ttype: null,\r\n\t\t\t\t\tdata: [],\r\n\t\t\t\t\tdataset: null,\r\n\t\t\t\t\tcontroller: null,\r\n\t\t\t\t\thidden: null,\t\t\t// See isDatasetVisible() comment\r\n\t\t\t\t\txAxisID: null,\r\n\t\t\t\t\tyAxisID: null\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn meta;\r\n\t\t},\r\n\r\n\t\tgetVisibleDatasetCount: function() {\r\n\t\t\tvar count = 0;\r\n\t\t\tfor (var i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (this.isDatasetVisible(i)) {\r\n\t\t\t\t\tcount++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn count;\r\n\t\t},\r\n\r\n\t\tisDatasetVisible: function(datasetIndex) {\r\n\t\t\tvar meta = this.getDatasetMeta(datasetIndex);\r\n\r\n\t\t\t// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\r\n\t\t\t// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\r\n\t\t\treturn typeof meta.hidden === 'boolean' ? !meta.hidden : !this.data.datasets[datasetIndex].hidden;\r\n\t\t},\r\n\r\n\t\tgenerateLegend: function() {\r\n\t\t\treturn this.options.legendCallback(this);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tdestroyDatasetMeta: function(datasetIndex) {\r\n\t\t\tvar id = this.id;\r\n\t\t\tvar dataset = this.data.datasets[datasetIndex];\r\n\t\t\tvar meta = dataset._meta && dataset._meta[id];\r\n\r\n\t\t\tif (meta) {\r\n\t\t\t\tmeta.controller.destroy();\r\n\t\t\t\tdelete dataset._meta[id];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tdestroy: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar canvas = me.canvas;\r\n\t\t\tvar i, ilen;\r\n\r\n\t\t\tme.stop();\r\n\r\n\t\t\t// dataset controllers need to cleanup associated data\r\n\t\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tme.destroyDatasetMeta(i);\r\n\t\t\t}\r\n\r\n\t\t\tif (canvas) {\r\n\t\t\t\tme.unbindEvents();\r\n\t\t\t\thelpers.canvas.clear(me);\r\n\t\t\t\tplatform.releaseContext(me.ctx);\r\n\t\t\t\tme.canvas = null;\r\n\t\t\t\tme.ctx = null;\r\n\t\t\t}\r\n\r\n\t\t\tplugins.notify(me, 'destroy');\r\n\r\n\t\t\tdelete Chart.instances[me.id];\r\n\t\t},\r\n\r\n\t\ttoBase64Image: function() {\r\n\t\t\treturn this.canvas.toDataURL.apply(this.canvas, arguments);\r\n\t\t},\r\n\r\n\t\tinitToolTip: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tme.tooltip = new Chart.Tooltip({\r\n\t\t\t\t_chart: me,\r\n\t\t\t\t_chartInstance: me, // deprecated, backward compatibility\r\n\t\t\t\t_data: me.data,\r\n\t\t\t\t_options: me.options.tooltips\r\n\t\t\t}, me);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tbindEvents: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar listeners = me._listeners = {};\r\n\t\t\tvar listener = function() {\r\n\t\t\t\tme.eventHandler.apply(me, arguments);\r\n\t\t\t};\r\n\r\n\t\t\thelpers.each(me.options.events, function(type) {\r\n\t\t\t\tplatform.addEventListener(me, type, listener);\r\n\t\t\t\tlisteners[type] = listener;\r\n\t\t\t});\r\n\r\n\t\t\t// Elements used to detect size change should not be injected for non responsive charts.\r\n\t\t\t// See https://github.com/chartjs/Chart.js/issues/2210\r\n\t\t\tif (me.options.responsive) {\r\n\t\t\t\tlistener = function() {\r\n\t\t\t\t\tme.resize();\r\n\t\t\t\t};\r\n\r\n\t\t\t\tplatform.addEventListener(me, 'resize', listener);\r\n\t\t\t\tlisteners.resize = listener;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tunbindEvents: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar listeners = me._listeners;\r\n\t\t\tif (!listeners) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tdelete me._listeners;\r\n\t\t\thelpers.each(listeners, function(listener, type) {\r\n\t\t\t\tplatform.removeEventListener(me, type, listener);\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tupdateHoverStyle: function(elements, mode, enabled) {\r\n\t\t\tvar method = enabled ? 'setHoverStyle' : 'removeHoverStyle';\r\n\t\t\tvar element, i, ilen;\r\n\r\n\t\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\r\n\t\t\t\telement = elements[i];\r\n\t\t\t\tif (element) {\r\n\t\t\t\t\tthis.getDatasetMeta(element._datasetIndex).controller[method](element);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\teventHandler: function(e) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar tooltip = me.tooltip;\r\n\r\n\t\t\tif (plugins.notify(me, 'beforeEvent', [e]) === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Buffer any update calls so that renders do not occur\r\n\t\t\tme._bufferedRender = true;\r\n\t\t\tme._bufferedRequest = null;\r\n\r\n\t\t\tvar changed = me.handleEvent(e);\r\n\t\t\t// for smooth tooltip animations issue #4989\r\n\t\t\t// the tooltip should be the source of change\r\n\t\t\t// Animation check workaround:\r\n\t\t\t// tooltip._start will be null when tooltip isn't animating\r\n\t\t\tif (tooltip) {\r\n\t\t\t\tchanged = tooltip._start\r\n\t\t\t\t\t? tooltip.handleEvent(e)\r\n\t\t\t\t\t: changed | tooltip.handleEvent(e);\r\n\t\t\t}\r\n\r\n\t\t\tplugins.notify(me, 'afterEvent', [e]);\r\n\r\n\t\t\tvar bufferedRequest = me._bufferedRequest;\r\n\t\t\tif (bufferedRequest) {\r\n\t\t\t\t// If we have an update that was triggered, we need to do a normal render\r\n\t\t\t\tme.render(bufferedRequest);\r\n\t\t\t} else if (changed && !me.animating) {\r\n\t\t\t\t// If entering, leaving, or changing elements, animate the change via pivot\r\n\t\t\t\tme.stop();\r\n\r\n\t\t\t\t// We only need to render at this point. Updating will cause scales to be\r\n\t\t\t\t// recomputed generating flicker & using more memory than necessary.\r\n\t\t\t\tme.render(me.options.hover.animationDuration, true);\r\n\t\t\t}\r\n\r\n\t\t\tme._bufferedRender = false;\r\n\t\t\tme._bufferedRequest = null;\r\n\r\n\t\t\treturn me;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Handle an event\r\n\t\t * @private\r\n\t\t * @param {IEvent} event the event to handle\r\n\t\t * @return {Boolean} true if the chart needs to re-render\r\n\t\t */\r\n\t\thandleEvent: function(e) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = me.options || {};\r\n\t\t\tvar hoverOptions = options.hover;\r\n\t\t\tvar changed = false;\r\n\r\n\t\t\tme.lastActive = me.lastActive || [];\r\n\r\n\t\t\t// Find Active Elements for hover and tooltips\r\n\t\t\tif (e.type === 'mouseout') {\r\n\t\t\t\tme.active = [];\r\n\t\t\t} else {\r\n\t\t\t\tme.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);\r\n\t\t\t}\r\n\r\n\t\t\t// Invoke onHover hook\r\n\t\t\t// Need to call with native event here to not break backwards compatibility\r\n\t\t\thelpers.callback(options.onHover || options.hover.onHover, [e.native, me.active], me);\r\n\r\n\t\t\tif (e.type === 'mouseup' || e.type === 'click') {\r\n\t\t\t\tif (options.onClick) {\r\n\t\t\t\t\t// Use e.native here for backwards compatibility\r\n\t\t\t\t\toptions.onClick.call(me, e.native, me.active);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Remove styling for last active (even if it may still be active)\r\n\t\t\tif (me.lastActive.length) {\r\n\t\t\t\tme.updateHoverStyle(me.lastActive, hoverOptions.mode, false);\r\n\t\t\t}\r\n\r\n\t\t\t// Built in hover styling\r\n\t\t\tif (me.active.length && hoverOptions.mode) {\r\n\t\t\t\tme.updateHoverStyle(me.active, hoverOptions.mode, true);\r\n\t\t\t}\r\n\r\n\t\t\tchanged = !helpers.arrayEquals(me.active, me.lastActive);\r\n\r\n\t\t\t// Remember Last Actives\r\n\t\t\tme.lastActive = me.active;\r\n\r\n\t\t\treturn changed;\r\n\t\t}\r\n\t});\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, use Chart instead.\r\n\t * @class Chart.Controller\r\n\t * @deprecated since version 2.6.0\r\n\t * @todo remove at version 3\r\n\t * @private\r\n\t */\r\n\tChart.Controller = Chart;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.controller.js\n// module id = 836\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n\t/**\r\n\t * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n\t * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n\t * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n\t */\r\n\tfunction listenArrayEvents(array, listener) {\r\n\t\tif (array._chartjs) {\r\n\t\t\tarray._chartjs.listeners.push(listener);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tObject.defineProperty(array, '_chartjs', {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: {\r\n\t\t\t\tlisteners: [listener]\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarrayEvents.forEach(function(key) {\r\n\t\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\t\tvar base = array[key];\r\n\r\n\t\t\tObject.defineProperty(array, key, {\r\n\t\t\t\tconfigurable: true,\r\n\t\t\t\tenumerable: false,\r\n\t\t\t\tvalue: function() {\r\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\t\thelpers.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\treturn res;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Removes the given array event listener and cleanup extra attached properties (such as\r\n\t * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n\t */\r\n\tfunction unlistenArrayEvents(array, listener) {\r\n\t\tvar stub = array._chartjs;\r\n\t\tif (!stub) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar listeners = stub.listeners;\r\n\t\tvar index = listeners.indexOf(listener);\r\n\t\tif (index !== -1) {\r\n\t\t\tlisteners.splice(index, 1);\r\n\t\t}\r\n\r\n\t\tif (listeners.length > 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tarrayEvents.forEach(function(key) {\r\n\t\t\tdelete array[key];\r\n\t\t});\r\n\r\n\t\tdelete array._chartjs;\r\n\t}\r\n\r\n\t// Base class for all dataset controllers (line, bar, etc)\r\n\tChart.DatasetController = function(chart, datasetIndex) {\r\n\t\tthis.initialize(chart, datasetIndex);\r\n\t};\r\n\r\n\thelpers.extend(Chart.DatasetController.prototype, {\r\n\r\n\t\t/**\r\n\t\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t\t * @type {Chart.core.element}\r\n\t\t */\r\n\t\tdatasetElementType: null,\r\n\r\n\t\t/**\r\n\t\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t\t * @type {Chart.core.element}\r\n\t\t */\r\n\t\tdataElementType: null,\r\n\r\n\t\tinitialize: function(chart, datasetIndex) {\r\n\t\t\tvar me = this;\r\n\t\t\tme.chart = chart;\r\n\t\t\tme.index = datasetIndex;\r\n\t\t\tme.linkScales();\r\n\t\t\tme.addElements();\r\n\t\t},\r\n\r\n\t\tupdateIndex: function(datasetIndex) {\r\n\t\t\tthis.index = datasetIndex;\r\n\t\t},\r\n\r\n\t\tlinkScales: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar dataset = me.getDataset();\r\n\r\n\t\t\tif (meta.xAxisID === null || !(meta.xAxisID in me.chart.scales)) {\r\n\t\t\t\tmeta.xAxisID = dataset.xAxisID || me.chart.options.scales.xAxes[0].id;\r\n\t\t\t}\r\n\t\t\tif (meta.yAxisID === null || !(meta.yAxisID in me.chart.scales)) {\r\n\t\t\t\tmeta.yAxisID = dataset.yAxisID || me.chart.options.scales.yAxes[0].id;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tgetDataset: function() {\r\n\t\t\treturn this.chart.data.datasets[this.index];\r\n\t\t},\r\n\r\n\t\tgetMeta: function() {\r\n\t\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t\t},\r\n\r\n\t\tgetScaleForId: function(scaleID) {\r\n\t\t\treturn this.chart.scales[scaleID];\r\n\t\t},\r\n\r\n\t\treset: function() {\r\n\t\t\tthis.update(true);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tdestroy: function() {\r\n\t\t\tif (this._data) {\r\n\t\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcreateMetaDataset: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar type = me.datasetElementType;\r\n\t\t\treturn type && new type({\r\n\t\t\t\t_chart: me.chart,\r\n\t\t\t\t_datasetIndex: me.index\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tcreateMetaData: function(index) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar type = me.dataElementType;\r\n\t\t\treturn type && new type({\r\n\t\t\t\t_chart: me.chart,\r\n\t\t\t\t_datasetIndex: me.index,\r\n\t\t\t\t_index: index\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\taddElements: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar data = me.getDataset().data || [];\r\n\t\t\tvar metaData = meta.data;\r\n\t\t\tvar i, ilen;\r\n\r\n\t\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t\t}\r\n\r\n\t\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t\t},\r\n\r\n\t\taddElementAndReset: function(index) {\r\n\t\t\tvar element = this.createMetaData(index);\r\n\t\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\t\tthis.updateElement(element, index, true);\r\n\t\t},\r\n\r\n\t\tbuildOrUpdateElements: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar dataset = me.getDataset();\r\n\t\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t\t// the internal meta data accordingly.\r\n\t\t\tif (me._data !== data) {\r\n\t\t\t\tif (me._data) {\r\n\t\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t\tme._data = data;\r\n\t\t\t}\r\n\r\n\t\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\t\tme.resyncElements();\r\n\t\t},\r\n\r\n\t\tupdate: helpers.noop,\r\n\r\n\t\ttransition: function(easingValue) {\r\n\t\t\tvar meta = this.getMeta();\r\n\t\t\tvar elements = meta.data || [];\r\n\t\t\tvar ilen = elements.length;\r\n\t\t\tvar i = 0;\r\n\r\n\t\t\tfor (; i < ilen; ++i) {\r\n\t\t\t\telements[i].transition(easingValue);\r\n\t\t\t}\r\n\r\n\t\t\tif (meta.dataset) {\r\n\t\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tdraw: function() {\r\n\t\t\tvar meta = this.getMeta();\r\n\t\t\tvar elements = meta.data || [];\r\n\t\t\tvar ilen = elements.length;\r\n\t\t\tvar i = 0;\r\n\r\n\t\t\tif (meta.dataset) {\r\n\t\t\t\tmeta.dataset.draw();\r\n\t\t\t}\r\n\r\n\t\t\tfor (; i < ilen; ++i) {\r\n\t\t\t\telements[i].draw();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tremoveHoverStyle: function(element, elementOpts) {\r\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\t\tvar index = element._index;\r\n\t\t\tvar custom = element.custom || {};\r\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\r\n\t\t\tvar model = element._model;\r\n\r\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);\r\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);\r\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);\r\n\t\t},\r\n\r\n\t\tsetHoverStyle: function(element) {\r\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\t\tvar index = element._index;\r\n\t\t\tvar custom = element.custom || {};\r\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\r\n\t\t\tvar getHoverColor = helpers.getHoverColor;\r\n\t\t\tvar model = element._model;\r\n\r\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : valueOrDefault(dataset.hoverBackgroundColor, index, getHoverColor(model.backgroundColor));\r\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : valueOrDefault(dataset.hoverBorderColor, index, getHoverColor(model.borderColor));\r\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : valueOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tresyncElements: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar meta = me.getMeta();\r\n\t\t\tvar data = me.getDataset().data;\r\n\t\t\tvar numMeta = meta.data.length;\r\n\t\t\tvar numData = data.length;\r\n\r\n\t\t\tif (numData < numMeta) {\r\n\t\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t\t} else if (numData > numMeta) {\r\n\t\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tinsertElements: function(start, count) {\r\n\t\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\t\tthis.addElementAndReset(start + i);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tonDataPush: function() {\r\n\t\t\tthis.insertElements(this.getDataset().data.length - 1, arguments.length);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tonDataPop: function() {\r\n\t\t\tthis.getMeta().data.pop();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tonDataShift: function() {\r\n\t\t\tthis.getMeta().data.shift();\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tonDataSplice: function(start, count) {\r\n\t\t\tthis.getMeta().data.splice(start, count);\r\n\t\t\tthis.insertElements(start, arguments.length - 2);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tonDataUnshift: function() {\r\n\t\t\tthis.insertElements(0, arguments.length);\r\n\t\t}\r\n\t});\r\n\r\n\tChart.DatasetController.extend = helpers.inherits;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.datasetController.js\n// module id = 837\n// module chunks = 3","/* global window: false */\r\n/* global document: false */\r\n'use strict';\r\n\r\nvar color = require('chartjs-color');\r\nvar defaults = require('./core.defaults');\r\nvar helpers = require('../helpers/index');\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\t// -- Basic js utility methods\r\n\r\n\thelpers.configMerge = function(/* objects ... */) {\r\n\t\treturn helpers.merge(helpers.clone(arguments[0]), [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, target, source, options) {\r\n\t\t\t\tvar tval = target[key] || {};\r\n\t\t\t\tvar sval = source[key];\r\n\r\n\t\t\t\tif (key === 'scales') {\r\n\t\t\t\t\t// scale config merging is complex. Add our own function here for that\r\n\t\t\t\t\ttarget[key] = helpers.scaleMerge(tval, sval);\r\n\t\t\t\t} else if (key === 'scale') {\r\n\t\t\t\t\t// used in polar area & radar charts since there is only one scale\r\n\t\t\t\t\ttarget[key] = helpers.merge(tval, [Chart.scaleService.getScaleDefaults(sval.type), sval]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\thelpers._merger(key, target, source, options);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\thelpers.scaleMerge = function(/* objects ... */) {\r\n\t\treturn helpers.merge(helpers.clone(arguments[0]), [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, target, source, options) {\r\n\t\t\t\tif (key === 'xAxes' || key === 'yAxes') {\r\n\t\t\t\t\tvar slen = source[key].length;\r\n\t\t\t\t\tvar i, type, scale;\r\n\r\n\t\t\t\t\tif (!target[key]) {\r\n\t\t\t\t\t\ttarget[key] = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor (i = 0; i < slen; ++i) {\r\n\t\t\t\t\t\tscale = source[key][i];\r\n\t\t\t\t\t\ttype = helpers.valueOrDefault(scale.type, key === 'xAxes' ? 'category' : 'linear');\r\n\r\n\t\t\t\t\t\tif (i >= target[key].length) {\r\n\t\t\t\t\t\t\ttarget[key].push({});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (!target[key][i].type || (scale.type && scale.type !== target[key][i].type)) {\r\n\t\t\t\t\t\t\t// new/untyped scale or type changed: let's apply the new defaults\r\n\t\t\t\t\t\t\t// then merge source scale to correctly overwrite the defaults.\r\n\t\t\t\t\t\t\thelpers.merge(target[key][i], [Chart.scaleService.getScaleDefaults(type), scale]);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// scales type are the same\r\n\t\t\t\t\t\t\thelpers.merge(target[key][i], scale);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\thelpers._merger(key, target, source, options);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\thelpers.where = function(collection, filterCallback) {\r\n\t\tif (helpers.isArray(collection) && Array.prototype.filter) {\r\n\t\t\treturn collection.filter(filterCallback);\r\n\t\t}\r\n\t\tvar filtered = [];\r\n\r\n\t\thelpers.each(collection, function(item) {\r\n\t\t\tif (filterCallback(item)) {\r\n\t\t\t\tfiltered.push(item);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn filtered;\r\n\t};\r\n\thelpers.findIndex = Array.prototype.findIndex ?\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\treturn array.findIndex(callback, scope);\r\n\t\t} :\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\tscope = scope === undefined ? array : scope;\r\n\t\t\tfor (var i = 0, ilen = array.length; i < ilen; ++i) {\r\n\t\t\t\tif (callback.call(scope, array[i], i, array)) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn -1;\r\n\t\t};\r\n\thelpers.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to start of the array\r\n\t\tif (helpers.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = -1;\r\n\t\t}\r\n\t\tfor (var i = startIndex + 1; i < arrayToSearch.length; i++) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to end of the array\r\n\t\tif (helpers.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = arrayToSearch.length;\r\n\t\t}\r\n\t\tfor (var i = startIndex - 1; i >= 0; i--) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// -- Math methods\r\n\thelpers.isNumber = function(n) {\r\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\r\n\t};\r\n\thelpers.almostEquals = function(x, y, epsilon) {\r\n\t\treturn Math.abs(x - y) < epsilon;\r\n\t};\r\n\thelpers.almostWhole = function(x, epsilon) {\r\n\t\tvar rounded = Math.round(x);\r\n\t\treturn (((rounded - epsilon) < x) && ((rounded + epsilon) > x));\r\n\t};\r\n\thelpers.max = function(array) {\r\n\t\treturn array.reduce(function(max, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.max(max, value);\r\n\t\t\t}\r\n\t\t\treturn max;\r\n\t\t}, Number.NEGATIVE_INFINITY);\r\n\t};\r\n\thelpers.min = function(array) {\r\n\t\treturn array.reduce(function(min, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.min(min, value);\r\n\t\t\t}\r\n\t\t\treturn min;\r\n\t\t}, Number.POSITIVE_INFINITY);\r\n\t};\r\n\thelpers.sign = Math.sign ?\r\n\t\tfunction(x) {\r\n\t\t\treturn Math.sign(x);\r\n\t\t} :\r\n\t\tfunction(x) {\r\n\t\t\tx = +x; // convert to a number\r\n\t\t\tif (x === 0 || isNaN(x)) {\r\n\t\t\t\treturn x;\r\n\t\t\t}\r\n\t\t\treturn x > 0 ? 1 : -1;\r\n\t\t};\r\n\thelpers.log10 = Math.log10 ?\r\n\t\tfunction(x) {\r\n\t\t\treturn Math.log10(x);\r\n\t\t} :\r\n\t\tfunction(x) {\r\n\t\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t\t// Check for whole powers of 10,\r\n\t\t\t// which due to floating point rounding error should be corrected.\r\n\t\t\tvar powerOf10 = Math.round(exponent);\r\n\t\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t\t};\r\n\thelpers.toRadians = function(degrees) {\r\n\t\treturn degrees * (Math.PI / 180);\r\n\t};\r\n\thelpers.toDegrees = function(radians) {\r\n\t\treturn radians * (180 / Math.PI);\r\n\t};\r\n\t// Gets the angle from vertical upright to the point about a centre.\r\n\thelpers.getAngleFromPoint = function(centrePoint, anglePoint) {\r\n\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x;\r\n\t\tvar distanceFromYCenter = anglePoint.y - centrePoint.y;\r\n\t\tvar radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\r\n\r\n\t\tvar angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\r\n\r\n\t\tif (angle < (-0.5 * Math.PI)) {\r\n\t\t\tangle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tangle: angle,\r\n\t\t\tdistance: radialDistanceFromCenter\r\n\t\t};\r\n\t};\r\n\thelpers.distanceBetweenPoints = function(pt1, pt2) {\r\n\t\treturn Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\r\n\t};\r\n\thelpers.aliasPixel = function(pixelWidth) {\r\n\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\r\n\t};\r\n\thelpers.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {\r\n\t\t// Props to Rob Spencer at scaled innovation for his post on splining between points\r\n\t\t// http://scaledinnovation.com/analytics/splines/aboutSplines.html\r\n\r\n\t\t// This function must also respect \"skipped\" points\r\n\r\n\t\tvar previous = firstPoint.skip ? middlePoint : firstPoint;\r\n\t\tvar current = middlePoint;\r\n\t\tvar next = afterPoint.skip ? middlePoint : afterPoint;\r\n\r\n\t\tvar d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));\r\n\t\tvar d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));\r\n\r\n\t\tvar s01 = d01 / (d01 + d12);\r\n\t\tvar s12 = d12 / (d01 + d12);\r\n\r\n\t\t// If all points are the same, s01 & s02 will be inf\r\n\t\ts01 = isNaN(s01) ? 0 : s01;\r\n\t\ts12 = isNaN(s12) ? 0 : s12;\r\n\r\n\t\tvar fa = t * s01; // scaling factor for triangle Ta\r\n\t\tvar fb = t * s12;\r\n\r\n\t\treturn {\r\n\t\t\tprevious: {\r\n\t\t\t\tx: current.x - fa * (next.x - previous.x),\r\n\t\t\t\ty: current.y - fa * (next.y - previous.y)\r\n\t\t\t},\r\n\t\t\tnext: {\r\n\t\t\t\tx: current.x + fb * (next.x - previous.x),\r\n\t\t\t\ty: current.y + fb * (next.y - previous.y)\r\n\t\t\t}\r\n\t\t};\r\n\t};\r\n\thelpers.EPSILON = Number.EPSILON || 1e-14;\r\n\thelpers.splineCurveMonotone = function(points) {\r\n\t\t// This function calculates Bézier control points in a similar way than |splineCurve|,\r\n\t\t// but preserves monotonicity of the provided data and ensures no local extremums are added\r\n\t\t// between the dataset discrete points due to the interpolation.\r\n\t\t// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\r\n\r\n\t\tvar pointsWithTangents = (points || []).map(function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tmodel: point._model,\r\n\t\t\t\tdeltaK: 0,\r\n\t\t\t\tmK: 0\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\t// Calculate slopes (deltaK) and initialize tangents (mK)\r\n\t\tvar pointsLen = pointsWithTangents.length;\r\n\t\tvar i, pointBefore, pointCurrent, pointAfter;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tvar slopeDeltaX = (pointAfter.model.x - pointCurrent.model.x);\r\n\r\n\t\t\t\t// In the case of two points that appear at the same x pixel, slopeDeltaX is 0\r\n\t\t\t\tpointCurrent.deltaK = slopeDeltaX !== 0 ? (pointAfter.model.y - pointCurrent.model.y) / slopeDeltaX : 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (!pointBefore || pointBefore.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointCurrent.deltaK;\r\n\t\t\t} else if (!pointAfter || pointAfter.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointBefore.deltaK;\r\n\t\t\t} else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {\r\n\t\t\t\tpointCurrent.mK = 0;\r\n\t\t\t} else {\r\n\t\t\t\tpointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Adjust tangents to ensure monotonic properties\r\n\t\tvar alphaK, betaK, tauK, squaredMagnitude;\r\n\t\tfor (i = 0; i < pointsLen - 1; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tpointAfter = pointsWithTangents[i + 1];\r\n\t\t\tif (pointCurrent.model.skip || pointAfter.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (helpers.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {\r\n\t\t\t\tpointCurrent.mK = pointAfter.mK = 0;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\talphaK = pointCurrent.mK / pointCurrent.deltaK;\r\n\t\t\tbetaK = pointAfter.mK / pointCurrent.deltaK;\r\n\t\t\tsquaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\r\n\t\t\tif (squaredMagnitude <= 9) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\ttauK = 3 / Math.sqrt(squaredMagnitude);\r\n\t\t\tpointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;\r\n\t\t\tpointAfter.mK = betaK * tauK * pointCurrent.deltaK;\r\n\t\t}\r\n\r\n\t\t// Compute control points\r\n\t\tvar deltaX;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointBefore && !pointBefore.model.skip) {\r\n\t\t\t\tdeltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tdeltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers.nextItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index >= collection.length - 1 ? collection[0] : collection[index + 1];\r\n\t\t}\r\n\t\treturn index >= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];\r\n\t};\r\n\thelpers.previousItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index <= 0 ? collection[collection.length - 1] : collection[index - 1];\r\n\t\t}\r\n\t\treturn index <= 0 ? collection[0] : collection[index - 1];\r\n\t};\r\n\t// Implementation of the nice number algorithm used in determining where axis labels will go\r\n\thelpers.niceNum = function(range, round) {\r\n\t\tvar exponent = Math.floor(helpers.log10(range));\r\n\t\tvar fraction = range / Math.pow(10, exponent);\r\n\t\tvar niceFraction;\r\n\r\n\t\tif (round) {\r\n\t\t\tif (fraction < 1.5) {\r\n\t\t\t\tniceFraction = 1;\r\n\t\t\t} else if (fraction < 3) {\r\n\t\t\t\tniceFraction = 2;\r\n\t\t\t} else if (fraction < 7) {\r\n\t\t\t\tniceFraction = 5;\r\n\t\t\t} else {\r\n\t\t\t\tniceFraction = 10;\r\n\t\t\t}\r\n\t\t} else if (fraction <= 1.0) {\r\n\t\t\tniceFraction = 1;\r\n\t\t} else if (fraction <= 2) {\r\n\t\t\tniceFraction = 2;\r\n\t\t} else if (fraction <= 5) {\r\n\t\t\tniceFraction = 5;\r\n\t\t} else {\r\n\t\t\tniceFraction = 10;\r\n\t\t}\r\n\r\n\t\treturn niceFraction * Math.pow(10, exponent);\r\n\t};\r\n\t// Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\thelpers.requestAnimFrame = (function() {\r\n\t\tif (typeof window === 'undefined') {\r\n\t\t\treturn function(callback) {\r\n\t\t\t\tcallback();\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn window.requestAnimationFrame ||\r\n\t\t\twindow.webkitRequestAnimationFrame ||\r\n\t\t\twindow.mozRequestAnimationFrame ||\r\n\t\t\twindow.oRequestAnimationFrame ||\r\n\t\t\twindow.msRequestAnimationFrame ||\r\n\t\t\tfunction(callback) {\r\n\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\r\n\t\t\t};\r\n\t}());\r\n\t// -- DOM methods\r\n\thelpers.getRelativePosition = function(evt, chart) {\r\n\t\tvar mouseX, mouseY;\r\n\t\tvar e = evt.originalEvent || evt;\r\n\t\tvar canvas = evt.currentTarget || evt.srcElement;\r\n\t\tvar boundingRect = canvas.getBoundingClientRect();\r\n\r\n\t\tvar touches = e.touches;\r\n\t\tif (touches && touches.length > 0) {\r\n\t\t\tmouseX = touches[0].clientX;\r\n\t\t\tmouseY = touches[0].clientY;\r\n\r\n\t\t} else {\r\n\t\t\tmouseX = e.clientX;\r\n\t\t\tmouseY = e.clientY;\r\n\t\t}\r\n\r\n\t\t// Scale mouse coordinates into canvas coordinates\r\n\t\t// by following the pattern laid out by 'jerryj' in the comments of\r\n\t\t// http://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/\r\n\t\tvar paddingLeft = parseFloat(helpers.getStyle(canvas, 'padding-left'));\r\n\t\tvar paddingTop = parseFloat(helpers.getStyle(canvas, 'padding-top'));\r\n\t\tvar paddingRight = parseFloat(helpers.getStyle(canvas, 'padding-right'));\r\n\t\tvar paddingBottom = parseFloat(helpers.getStyle(canvas, 'padding-bottom'));\r\n\t\tvar width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;\r\n\t\tvar height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;\r\n\r\n\t\t// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However\r\n\t\t// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here\r\n\t\tmouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);\r\n\t\tmouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);\r\n\r\n\t\treturn {\r\n\t\t\tx: mouseX,\r\n\t\t\ty: mouseY\r\n\t\t};\r\n\r\n\t};\r\n\r\n\t// Private helper function to convert max-width/max-height values that may be percentages into a number\r\n\tfunction parseMaxStyle(styleValue, node, parentProperty) {\r\n\t\tvar valueInPixels;\r\n\t\tif (typeof styleValue === 'string') {\r\n\t\t\tvalueInPixels = parseInt(styleValue, 10);\r\n\r\n\t\t\tif (styleValue.indexOf('%') !== -1) {\r\n\t\t\t\t// percentage * size in dimension\r\n\t\t\t\tvalueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalueInPixels = styleValue;\r\n\t\t}\r\n\r\n\t\treturn valueInPixels;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns if the given value contains an effective constraint.\r\n\t * @private\r\n\t */\r\n\tfunction isConstrainedValue(value) {\r\n\t\treturn value !== undefined && value !== null && value !== 'none';\r\n\t}\r\n\r\n\t// Private helper to get a constraint dimension\r\n\t// @param domNode : the node to check the constraint on\r\n\t// @param maxStyle : the style that defines the maximum for the direction we are using (maxWidth / maxHeight)\r\n\t// @param percentageProperty : property of parent to use when calculating width as a percentage\r\n\t// @see http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser\r\n\tfunction getConstraintDimension(domNode, maxStyle, percentageProperty) {\r\n\t\tvar view = document.defaultView;\r\n\t\tvar parentNode = domNode.parentNode;\r\n\t\tvar constrainedNode = view.getComputedStyle(domNode)[maxStyle];\r\n\t\tvar constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];\r\n\t\tvar hasCNode = isConstrainedValue(constrainedNode);\r\n\t\tvar hasCContainer = isConstrainedValue(constrainedContainer);\r\n\t\tvar infinity = Number.POSITIVE_INFINITY;\r\n\r\n\t\tif (hasCNode || hasCContainer) {\r\n\t\t\treturn Math.min(\r\n\t\t\t\thasCNode ? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,\r\n\t\t\t\thasCContainer ? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);\r\n\t\t}\r\n\r\n\t\treturn 'none';\r\n\t}\r\n\t// returns Number or undefined if no constraint\r\n\thelpers.getConstraintWidth = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-width', 'clientWidth');\r\n\t};\r\n\t// returns Number or undefined if no constraint\r\n\thelpers.getConstraintHeight = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-height', 'clientHeight');\r\n\t};\r\n\thelpers.getMaximumWidth = function(domNode) {\r\n\t\tvar container = domNode.parentNode;\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientWidth;\r\n\t\t}\r\n\r\n\t\tvar paddingLeft = parseInt(helpers.getStyle(container, 'padding-left'), 10);\r\n\t\tvar paddingRight = parseInt(helpers.getStyle(container, 'padding-right'), 10);\r\n\t\tvar w = container.clientWidth - paddingLeft - paddingRight;\r\n\t\tvar cw = helpers.getConstraintWidth(domNode);\r\n\t\treturn isNaN(cw) ? w : Math.min(w, cw);\r\n\t};\r\n\thelpers.getMaximumHeight = function(domNode) {\r\n\t\tvar container = domNode.parentNode;\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientHeight;\r\n\t\t}\r\n\r\n\t\tvar paddingTop = parseInt(helpers.getStyle(container, 'padding-top'), 10);\r\n\t\tvar paddingBottom = parseInt(helpers.getStyle(container, 'padding-bottom'), 10);\r\n\t\tvar h = container.clientHeight - paddingTop - paddingBottom;\r\n\t\tvar ch = helpers.getConstraintHeight(domNode);\r\n\t\treturn isNaN(ch) ? h : Math.min(h, ch);\r\n\t};\r\n\thelpers.getStyle = function(el, property) {\r\n\t\treturn el.currentStyle ?\r\n\t\t\tel.currentStyle[property] :\r\n\t\t\tdocument.defaultView.getComputedStyle(el, null).getPropertyValue(property);\r\n\t};\r\n\thelpers.retinaScale = function(chart, forceRatio) {\r\n\t\tvar pixelRatio = chart.currentDevicePixelRatio = forceRatio || window.devicePixelRatio || 1;\r\n\t\tif (pixelRatio === 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar height = chart.height;\r\n\t\tvar width = chart.width;\r\n\r\n\t\tcanvas.height = height * pixelRatio;\r\n\t\tcanvas.width = width * pixelRatio;\r\n\t\tchart.ctx.scale(pixelRatio, pixelRatio);\r\n\r\n\t\t// If no style has been set on the canvas, the render size is used as display size,\r\n\t\t// making the chart visually bigger, so let's enforce it to the \"correct\" values.\r\n\t\t// See https://github.com/chartjs/Chart.js/issues/3575\r\n\t\tif (!canvas.style.height && !canvas.style.width) {\r\n\t\t\tcanvas.style.height = height + 'px';\r\n\t\t\tcanvas.style.width = width + 'px';\r\n\t\t}\r\n\t};\r\n\t// -- Canvas methods\r\n\thelpers.fontString = function(pixelSize, fontStyle, fontFamily) {\r\n\t\treturn fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\r\n\t};\r\n\thelpers.longestText = function(ctx, font, arrayOfThings, cache) {\r\n\t\tcache = cache || {};\r\n\t\tvar data = cache.data = cache.data || {};\r\n\t\tvar gc = cache.garbageCollect = cache.garbageCollect || [];\r\n\r\n\t\tif (cache.font !== font) {\r\n\t\t\tdata = cache.data = {};\r\n\t\t\tgc = cache.garbageCollect = [];\r\n\t\t\tcache.font = font;\r\n\t\t}\r\n\r\n\t\tctx.font = font;\r\n\t\tvar longest = 0;\r\n\t\thelpers.each(arrayOfThings, function(thing) {\r\n\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\tif (thing !== undefined && thing !== null && helpers.isArray(thing) !== true) {\r\n\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, thing);\r\n\t\t\t} else if (helpers.isArray(thing)) {\r\n\t\t\t\t// if it is an array lets measure each element\r\n\t\t\t\t// to do maybe simplify this function a bit so we can do this more recursively?\r\n\t\t\t\thelpers.each(thing, function(nestedThing) {\r\n\t\t\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\t\t\tif (nestedThing !== undefined && nestedThing !== null && !helpers.isArray(nestedThing)) {\r\n\t\t\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, nestedThing);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar gcLen = gc.length / 2;\r\n\t\tif (gcLen > arrayOfThings.length) {\r\n\t\t\tfor (var i = 0; i < gcLen; i++) {\r\n\t\t\t\tdelete data[gc[i]];\r\n\t\t\t}\r\n\t\t\tgc.splice(0, gcLen);\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\thelpers.measureText = function(ctx, data, gc, longest, string) {\r\n\t\tvar textWidth = data[string];\r\n\t\tif (!textWidth) {\r\n\t\t\ttextWidth = data[string] = ctx.measureText(string).width;\r\n\t\t\tgc.push(string);\r\n\t\t}\r\n\t\tif (textWidth > longest) {\r\n\t\t\tlongest = textWidth;\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\thelpers.numberOfLabelLines = function(arrayOfThings) {\r\n\t\tvar numberOfLines = 1;\r\n\t\thelpers.each(arrayOfThings, function(thing) {\r\n\t\t\tif (helpers.isArray(thing)) {\r\n\t\t\t\tif (thing.length > numberOfLines) {\r\n\t\t\t\t\tnumberOfLines = thing.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn numberOfLines;\r\n\t};\r\n\r\n\thelpers.color = !color ?\r\n\t\tfunction(value) {\r\n\t\t\tconsole.error('Color.js not found!');\r\n\t\t\treturn value;\r\n\t\t} :\r\n\t\tfunction(value) {\r\n\t\t\t/* global CanvasGradient */\r\n\t\t\tif (value instanceof CanvasGradient) {\r\n\t\t\t\tvalue = defaults.global.defaultColor;\r\n\t\t\t}\r\n\r\n\t\t\treturn color(value);\r\n\t\t};\r\n\r\n\thelpers.getHoverColor = function(colorValue) {\r\n\t\t/* global CanvasPattern */\r\n\t\treturn (colorValue instanceof CanvasPattern) ?\r\n\t\t\tcolorValue :\r\n\t\t\thelpers.color(colorValue).saturate(0.5).darken(0.1).rgbString();\r\n\t};\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.helpers.js\n// module id = 838\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('./core.defaults');\r\n\r\ndefaults._set('global', {\r\n\tresponsive: true,\r\n\tresponsiveAnimationDuration: 0,\r\n\tmaintainAspectRatio: true,\r\n\tevents: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],\r\n\thover: {\r\n\t\tonHover: null,\r\n\t\tmode: 'nearest',\r\n\t\tintersect: true,\r\n\t\tanimationDuration: 400\r\n\t},\r\n\tonClick: null,\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tshowLines: true,\r\n\r\n\t// Element defaults defined in element extensions\r\n\telements: {},\r\n\r\n\t// Layout options such as padding\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = function() {\r\n\r\n\t// Occupy the global variable of Chart, and create a simple base class\r\n\tvar Chart = function(item, config) {\r\n\t\tthis.construct(item, config);\r\n\t\treturn this;\r\n\t};\r\n\r\n\tChart.Chart = Chart;\r\n\r\n\treturn Chart;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.js\n// module id = 839\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('./core.defaults');\r\nvar Element = require('./core.element');\r\nvar helpers = require('../helpers/index');\r\nvar Ticks = require('./core.ticks');\r\n\r\ndefaults._set('scale', {\r\n\tdisplay: true,\r\n\tposition: 'left',\r\n\toffset: false,\r\n\r\n\t// grid line settings\r\n\tgridLines: {\r\n\t\tdisplay: true,\r\n\t\tcolor: 'rgba(0, 0, 0, 0.1)',\r\n\t\tlineWidth: 1,\r\n\t\tdrawBorder: true,\r\n\t\tdrawOnChartArea: true,\r\n\t\tdrawTicks: true,\r\n\t\ttickMarkLength: 10,\r\n\t\tzeroLineWidth: 1,\r\n\t\tzeroLineColor: 'rgba(0,0,0,0.25)',\r\n\t\tzeroLineBorderDash: [],\r\n\t\tzeroLineBorderDashOffset: 0.0,\r\n\t\toffsetGridLines: false,\r\n\t\tborderDash: [],\r\n\t\tborderDashOffset: 0.0\r\n\t},\r\n\r\n\t// scale label\r\n\tscaleLabel: {\r\n\t\t// display property\r\n\t\tdisplay: false,\r\n\r\n\t\t// actual label\r\n\t\tlabelString: '',\r\n\r\n\t\t// line height\r\n\t\tlineHeight: 1.2,\r\n\r\n\t\t// top/bottom padding\r\n\t\tpadding: {\r\n\t\t\ttop: 4,\r\n\t\t\tbottom: 4\r\n\t\t}\r\n\t},\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\tbeginAtZero: false,\r\n\t\tminRotation: 0,\r\n\t\tmaxRotation: 50,\r\n\t\tmirror: false,\r\n\t\tpadding: 0,\r\n\t\treverse: false,\r\n\t\tdisplay: true,\r\n\t\tautoSkip: true,\r\n\t\tautoSkipPadding: 0,\r\n\t\tlabelOffset: 0,\r\n\t\t// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\r\n\t\tcallback: Ticks.formatters.values,\r\n\t\tminor: {},\r\n\t\tmajor: {}\r\n\t}\r\n});\r\n\r\nfunction labelsFromTicks(ticks) {\r\n\tvar labels = [];\r\n\tvar i, ilen;\r\n\r\n\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\tlabels.push(ticks[i].label);\r\n\t}\r\n\r\n\treturn labels;\r\n}\r\n\r\nfunction getLineValue(scale, index, offsetGridLines) {\r\n\tvar lineValue = scale.getPixelForTick(index);\r\n\r\n\tif (offsetGridLines) {\r\n\t\tif (index === 0) {\r\n\t\t\tlineValue -= (scale.getPixelForTick(1) - lineValue) / 2;\r\n\t\t} else {\r\n\t\t\tlineValue -= (lineValue - scale.getPixelForTick(index - 1)) / 2;\r\n\t\t}\r\n\t}\r\n\treturn lineValue;\r\n}\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tfunction computeTextSize(context, tick, font) {\r\n\t\treturn helpers.isArray(tick) ?\r\n\t\t\thelpers.longestText(context, font, tick) :\r\n\t\t\tcontext.measureText(tick).width;\r\n\t}\r\n\r\n\tfunction parseFontOptions(options) {\r\n\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\t\tvar globalDefaults = defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar style = valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle);\r\n\t\tvar family = valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily);\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tstyle: style,\r\n\t\t\tfamily: family,\r\n\t\t\tfont: helpers.fontString(size, style, family)\r\n\t\t};\r\n\t}\r\n\r\n\tfunction parseLineHeight(options) {\r\n\t\treturn helpers.options.toLineHeight(\r\n\t\t\thelpers.valueOrDefault(options.lineHeight, 1.2),\r\n\t\t\thelpers.valueOrDefault(options.fontSize, defaults.global.defaultFontSize));\r\n\t}\r\n\r\n\tChart.Scale = Element.extend({\r\n\t\t/**\r\n\t\t * Get the padding needed for the scale\r\n\t\t * @method getPadding\r\n\t\t * @private\r\n\t\t * @returns {Padding} the necessary padding\r\n\t\t */\r\n\t\tgetPadding: function() {\r\n\t\t\tvar me = this;\r\n\t\t\treturn {\r\n\t\t\t\tleft: me.paddingLeft || 0,\r\n\t\t\t\ttop: me.paddingTop || 0,\r\n\t\t\t\tright: me.paddingRight || 0,\r\n\t\t\t\tbottom: me.paddingBottom || 0\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns the scale tick objects ({label, major})\r\n\t\t * @since 2.7\r\n\t\t */\r\n\t\tgetTicks: function() {\r\n\t\t\treturn this._ticks;\r\n\t\t},\r\n\r\n\t\t// These methods are ordered by lifecyle. Utilities then follow.\r\n\t\t// Any function defined here is inherited by all scale types.\r\n\t\t// Any function can be extended by the scale type\r\n\r\n\t\tmergeTicksOptions: function() {\r\n\t\t\tvar ticks = this.options.ticks;\r\n\t\t\tif (ticks.minor === false) {\r\n\t\t\t\tticks.minor = {\r\n\t\t\t\t\tdisplay: false\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (ticks.major === false) {\r\n\t\t\t\tticks.major = {\r\n\t\t\t\t\tdisplay: false\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tfor (var key in ticks) {\r\n\t\t\t\tif (key !== 'major' && key !== 'minor') {\r\n\t\t\t\t\tif (typeof ticks.minor[key] === 'undefined') {\r\n\t\t\t\t\t\tticks.minor[key] = ticks[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (typeof ticks.major[key] === 'undefined') {\r\n\t\t\t\t\t\tticks.major[key] = ticks[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tbeforeUpdate: function() {\r\n\t\t\thelpers.callback(this.options.beforeUpdate, [this]);\r\n\t\t},\r\n\t\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar i, ilen, labels, label, ticks, tick;\r\n\r\n\t\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\t\tme.beforeUpdate();\r\n\r\n\t\t\t// Absorb the master measurements\r\n\t\t\tme.maxWidth = maxWidth;\r\n\t\t\tme.maxHeight = maxHeight;\r\n\t\t\tme.margins = helpers.extend({\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tright: 0,\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tbottom: 0\r\n\t\t\t}, margins);\r\n\t\t\tme.longestTextCache = me.longestTextCache || {};\r\n\r\n\t\t\t// Dimensions\r\n\t\t\tme.beforeSetDimensions();\r\n\t\t\tme.setDimensions();\r\n\t\t\tme.afterSetDimensions();\r\n\r\n\t\t\t// Data min/max\r\n\t\t\tme.beforeDataLimits();\r\n\t\t\tme.determineDataLimits();\r\n\t\t\tme.afterDataLimits();\r\n\r\n\t\t\t// Ticks - `this.ticks` is now DEPRECATED!\r\n\t\t\t// Internal ticks are now stored as objects in the PRIVATE `this._ticks` member\r\n\t\t\t// and must not be accessed directly from outside this class. `this.ticks` being\r\n\t\t\t// around for long time and not marked as private, we can't change its structure\r\n\t\t\t// without unexpected breaking changes. If you need to access the scale ticks,\r\n\t\t\t// use scale.getTicks() instead.\r\n\r\n\t\t\tme.beforeBuildTicks();\r\n\r\n\t\t\t// New implementations should return an array of objects but for BACKWARD COMPAT,\r\n\t\t\t// we still support no return (`this.ticks` internally set by calling this method).\r\n\t\t\tticks = me.buildTicks() || [];\r\n\r\n\t\t\tme.afterBuildTicks();\r\n\r\n\t\t\tme.beforeTickToLabelConversion();\r\n\r\n\t\t\t// New implementations should return the formatted tick labels but for BACKWARD\r\n\t\t\t// COMPAT, we still support no return (`this.ticks` internally changed by calling\r\n\t\t\t// this method and supposed to contain only string values).\r\n\t\t\tlabels = me.convertTicksToLabels(ticks) || me.ticks;\r\n\r\n\t\t\tme.afterTickToLabelConversion();\r\n\r\n\t\t\tme.ticks = labels;   // BACKWARD COMPATIBILITY\r\n\r\n\t\t\t// IMPORTANT: from this point, we consider that `this.ticks` will NEVER change!\r\n\r\n\t\t\t// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)\r\n\t\t\tfor (i = 0, ilen = labels.length; i < ilen; ++i) {\r\n\t\t\t\tlabel = labels[i];\r\n\t\t\t\ttick = ticks[i];\r\n\t\t\t\tif (!tick) {\r\n\t\t\t\t\tticks.push(tick = {\r\n\t\t\t\t\t\tlabel: label,\r\n\t\t\t\t\t\tmajor: false\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttick.label = label;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tme._ticks = ticks;\r\n\r\n\t\t\t// Tick Rotation\r\n\t\t\tme.beforeCalculateTickRotation();\r\n\t\t\tme.calculateTickRotation();\r\n\t\t\tme.afterCalculateTickRotation();\r\n\t\t\t// Fit\r\n\t\t\tme.beforeFit();\r\n\t\t\tme.fit();\r\n\t\t\tme.afterFit();\r\n\t\t\t//\r\n\t\t\tme.afterUpdate();\r\n\r\n\t\t\treturn me.minSize;\r\n\r\n\t\t},\r\n\t\tafterUpdate: function() {\r\n\t\t\thelpers.callback(this.options.afterUpdate, [this]);\r\n\t\t},\r\n\r\n\t\t//\r\n\r\n\t\tbeforeSetDimensions: function() {\r\n\t\t\thelpers.callback(this.options.beforeSetDimensions, [this]);\r\n\t\t},\r\n\t\tsetDimensions: function() {\r\n\t\t\tvar me = this;\r\n\t\t\t// Set the unconstrained dimension before label rotation\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\t// Reset position before calculating rotation\r\n\t\t\t\tme.width = me.maxWidth;\r\n\t\t\t\tme.left = 0;\r\n\t\t\t\tme.right = me.width;\r\n\t\t\t} else {\r\n\t\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t\t// Reset position before calculating rotation\r\n\t\t\t\tme.top = 0;\r\n\t\t\t\tme.bottom = me.height;\r\n\t\t\t}\r\n\r\n\t\t\t// Reset padding\r\n\t\t\tme.paddingLeft = 0;\r\n\t\t\tme.paddingTop = 0;\r\n\t\t\tme.paddingRight = 0;\r\n\t\t\tme.paddingBottom = 0;\r\n\t\t},\r\n\t\tafterSetDimensions: function() {\r\n\t\t\thelpers.callback(this.options.afterSetDimensions, [this]);\r\n\t\t},\r\n\r\n\t\t// Data limits\r\n\t\tbeforeDataLimits: function() {\r\n\t\t\thelpers.callback(this.options.beforeDataLimits, [this]);\r\n\t\t},\r\n\t\tdetermineDataLimits: helpers.noop,\r\n\t\tafterDataLimits: function() {\r\n\t\t\thelpers.callback(this.options.afterDataLimits, [this]);\r\n\t\t},\r\n\r\n\t\t//\r\n\t\tbeforeBuildTicks: function() {\r\n\t\t\thelpers.callback(this.options.beforeBuildTicks, [this]);\r\n\t\t},\r\n\t\tbuildTicks: helpers.noop,\r\n\t\tafterBuildTicks: function() {\r\n\t\t\thelpers.callback(this.options.afterBuildTicks, [this]);\r\n\t\t},\r\n\r\n\t\tbeforeTickToLabelConversion: function() {\r\n\t\t\thelpers.callback(this.options.beforeTickToLabelConversion, [this]);\r\n\t\t},\r\n\t\tconvertTicksToLabels: function() {\r\n\t\t\tvar me = this;\r\n\t\t\t// Convert ticks to strings\r\n\t\t\tvar tickOpts = me.options.ticks;\r\n\t\t\tme.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback, this);\r\n\t\t},\r\n\t\tafterTickToLabelConversion: function() {\r\n\t\t\thelpers.callback(this.options.afterTickToLabelConversion, [this]);\r\n\t\t},\r\n\r\n\t\t//\r\n\r\n\t\tbeforeCalculateTickRotation: function() {\r\n\t\t\thelpers.callback(this.options.beforeCalculateTickRotation, [this]);\r\n\t\t},\r\n\t\tcalculateTickRotation: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar context = me.ctx;\r\n\t\t\tvar tickOpts = me.options.ticks;\r\n\t\t\tvar labels = labelsFromTicks(me._ticks);\r\n\r\n\t\t\t// Get the width of each grid by calculating the difference\r\n\t\t\t// between x offsets between 0 and 1.\r\n\t\t\tvar tickFont = parseFontOptions(tickOpts);\r\n\t\t\tcontext.font = tickFont.font;\r\n\r\n\t\t\tvar labelRotation = tickOpts.minRotation || 0;\r\n\r\n\t\t\tif (labels.length && me.options.display && me.isHorizontal()) {\r\n\t\t\t\tvar originalLabelWidth = helpers.longestText(context, tickFont.font, labels, me.longestTextCache);\r\n\t\t\t\tvar labelWidth = originalLabelWidth;\r\n\t\t\t\tvar cosRotation, sinRotation;\r\n\r\n\t\t\t\t// Allow 3 pixels x2 padding either side for label readability\r\n\t\t\t\tvar tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;\r\n\r\n\t\t\t\t// Max label rotation can be set or default to 90 - also act as a loop counter\r\n\t\t\t\twhile (labelWidth > tickWidth && labelRotation < tickOpts.maxRotation) {\r\n\t\t\t\t\tvar angleRadians = helpers.toRadians(labelRotation);\r\n\t\t\t\t\tcosRotation = Math.cos(angleRadians);\r\n\t\t\t\t\tsinRotation = Math.sin(angleRadians);\r\n\r\n\t\t\t\t\tif (sinRotation * originalLabelWidth > me.maxHeight) {\r\n\t\t\t\t\t\t// go back one step\r\n\t\t\t\t\t\tlabelRotation--;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlabelRotation++;\r\n\t\t\t\t\tlabelWidth = cosRotation * originalLabelWidth;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tme.labelRotation = labelRotation;\r\n\t\t},\r\n\t\tafterCalculateTickRotation: function() {\r\n\t\t\thelpers.callback(this.options.afterCalculateTickRotation, [this]);\r\n\t\t},\r\n\r\n\t\t//\r\n\r\n\t\tbeforeFit: function() {\r\n\t\t\thelpers.callback(this.options.beforeFit, [this]);\r\n\t\t},\r\n\t\tfit: function() {\r\n\t\t\tvar me = this;\r\n\t\t\t// Reset\r\n\t\t\tvar minSize = me.minSize = {\r\n\t\t\t\twidth: 0,\r\n\t\t\t\theight: 0\r\n\t\t\t};\r\n\r\n\t\t\tvar labels = labelsFromTicks(me._ticks);\r\n\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar tickOpts = opts.ticks;\r\n\t\t\tvar scaleLabelOpts = opts.scaleLabel;\r\n\t\t\tvar gridLineOpts = opts.gridLines;\r\n\t\t\tvar display = opts.display;\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\t\tvar tickFont = parseFontOptions(tickOpts);\r\n\t\t\tvar tickMarkLength = opts.gridLines.tickMarkLength;\r\n\r\n\t\t\t// Width\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\t// subtract the margins to line up with the chartArea if we are a full width scale\r\n\t\t\t\tminSize.width = me.isFullWidth() ? me.maxWidth - me.margins.left - me.margins.right : me.maxWidth;\r\n\t\t\t} else {\r\n\t\t\t\tminSize.width = display && gridLineOpts.drawTicks ? tickMarkLength : 0;\r\n\t\t\t}\r\n\r\n\t\t\t// height\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tminSize.height = display && gridLineOpts.drawTicks ? tickMarkLength : 0;\r\n\t\t\t} else {\r\n\t\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t\t}\r\n\r\n\t\t\t// Are we showing a title for the scale?\r\n\t\t\tif (scaleLabelOpts.display && display) {\r\n\t\t\t\tvar scaleLabelLineHeight = parseLineHeight(scaleLabelOpts);\r\n\t\t\t\tvar scaleLabelPadding = helpers.options.toPadding(scaleLabelOpts.padding);\r\n\t\t\t\tvar deltaHeight = scaleLabelLineHeight + scaleLabelPadding.height;\r\n\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\tminSize.height += deltaHeight;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tminSize.width += deltaHeight;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Don't bother fitting the ticks if we are not showing them\r\n\t\t\tif (tickOpts.display && display) {\r\n\t\t\t\tvar largestTextWidth = helpers.longestText(me.ctx, tickFont.font, labels, me.longestTextCache);\r\n\t\t\t\tvar tallestLabelHeightInLines = helpers.numberOfLabelLines(labels);\r\n\t\t\t\tvar lineSpace = tickFont.size * 0.5;\r\n\t\t\t\tvar tickPadding = me.options.ticks.padding;\r\n\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\t// A horizontal axis is more constrained by the height.\r\n\t\t\t\t\tme.longestLabelWidth = largestTextWidth;\r\n\r\n\t\t\t\t\tvar angleRadians = helpers.toRadians(me.labelRotation);\r\n\t\t\t\t\tvar cosRotation = Math.cos(angleRadians);\r\n\t\t\t\t\tvar sinRotation = Math.sin(angleRadians);\r\n\r\n\t\t\t\t\t// TODO - improve this calculation\r\n\t\t\t\t\tvar labelHeight = (sinRotation * largestTextWidth)\r\n\t\t\t\t\t\t+ (tickFont.size * tallestLabelHeightInLines)\r\n\t\t\t\t\t\t+ (lineSpace * (tallestLabelHeightInLines - 1))\r\n\t\t\t\t\t\t+ lineSpace; // padding\r\n\r\n\t\t\t\t\tminSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\r\n\r\n\t\t\t\t\tme.ctx.font = tickFont.font;\r\n\t\t\t\t\tvar firstLabelWidth = computeTextSize(me.ctx, labels[0], tickFont.font);\r\n\t\t\t\t\tvar lastLabelWidth = computeTextSize(me.ctx, labels[labels.length - 1], tickFont.font);\r\n\r\n\t\t\t\t\t// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\r\n\t\t\t\t\t// which means that the right padding is dominated by the font height\r\n\t\t\t\t\tif (me.labelRotation !== 0) {\r\n\t\t\t\t\t\tme.paddingLeft = opts.position === 'bottom' ? (cosRotation * firstLabelWidth) + 3 : (cosRotation * lineSpace) + 3; // add 3 px to move away from canvas edges\r\n\t\t\t\t\t\tme.paddingRight = opts.position === 'bottom' ? (cosRotation * lineSpace) + 3 : (cosRotation * lastLabelWidth) + 3;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tme.paddingLeft = firstLabelWidth / 2 + 3; // add 3 px to move away from canvas edges\r\n\t\t\t\t\t\tme.paddingRight = lastLabelWidth / 2 + 3;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// A vertical axis is more constrained by the width. Labels are the\r\n\t\t\t\t\t// dominant factor here, so get that length first and account for padding\r\n\t\t\t\t\tif (tickOpts.mirror) {\r\n\t\t\t\t\t\tlargestTextWidth = 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// use lineSpace for consistency with horizontal axis\r\n\t\t\t\t\t\t// tickPadding is not implemented for horizontal\r\n\t\t\t\t\t\tlargestTextWidth += tickPadding + lineSpace;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tminSize.width = Math.min(me.maxWidth, minSize.width + largestTextWidth);\r\n\r\n\t\t\t\t\tme.paddingTop = tickFont.size / 2;\r\n\t\t\t\t\tme.paddingBottom = tickFont.size / 2;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tme.handleMargins();\r\n\r\n\t\t\tme.width = minSize.width;\r\n\t\t\tme.height = minSize.height;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Handle margins and padding interactions\r\n\t\t * @private\r\n\t\t */\r\n\t\thandleMargins: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tif (me.margins) {\r\n\t\t\t\tme.paddingLeft = Math.max(me.paddingLeft - me.margins.left, 0);\r\n\t\t\t\tme.paddingTop = Math.max(me.paddingTop - me.margins.top, 0);\r\n\t\t\t\tme.paddingRight = Math.max(me.paddingRight - me.margins.right, 0);\r\n\t\t\t\tme.paddingBottom = Math.max(me.paddingBottom - me.margins.bottom, 0);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tafterFit: function() {\r\n\t\t\thelpers.callback(this.options.afterFit, [this]);\r\n\t\t},\r\n\r\n\t\t// Shared Methods\r\n\t\tisHorizontal: function() {\r\n\t\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\r\n\t\t},\r\n\t\tisFullWidth: function() {\r\n\t\t\treturn (this.options.fullWidth);\r\n\t\t},\r\n\r\n\t\t// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not\r\n\t\tgetRightValue: function(rawValue) {\r\n\t\t\t// Null and undefined values first\r\n\t\t\tif (helpers.isNullOrUndef(rawValue)) {\r\n\t\t\t\treturn NaN;\r\n\t\t\t}\r\n\t\t\t// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values\r\n\t\t\tif (typeof rawValue === 'number' && !isFinite(rawValue)) {\r\n\t\t\t\treturn NaN;\r\n\t\t\t}\r\n\t\t\t// If it is in fact an object, dive in one more level\r\n\t\t\tif (rawValue) {\r\n\t\t\t\tif (this.isHorizontal()) {\r\n\t\t\t\t\tif (rawValue.x !== undefined) {\r\n\t\t\t\t\t\treturn this.getRightValue(rawValue.x);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (rawValue.y !== undefined) {\r\n\t\t\t\t\treturn this.getRightValue(rawValue.y);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Value is good, return it\r\n\t\t\treturn rawValue;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Used to get the value to display in the tooltip for the data at the given index\r\n\t\t * @param index\r\n\t\t * @param datasetIndex\r\n\t\t */\r\n\t\tgetLabelForIndex: helpers.noop,\r\n\r\n\t\t/**\r\n\t\t * Returns the location of the given data point. Value can either be an index or a numerical value\r\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t\t * @param value\r\n\t\t * @param index\r\n\t\t * @param datasetIndex\r\n\t\t */\r\n\t\tgetPixelForValue: helpers.noop,\r\n\r\n\t\t/**\r\n\t\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\r\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t\t * @param pixel\r\n\t\t */\r\n\t\tgetValueForPixel: helpers.noop,\r\n\r\n\t\t/**\r\n\t\t * Returns the location of the tick at the given index\r\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t\t */\r\n\t\tgetPixelForTick: function(index) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar offset = me.options.offset;\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\r\n\t\t\t\tvar tickWidth = innerWidth / Math.max((me._ticks.length - (offset ? 0 : 1)), 1);\r\n\t\t\t\tvar pixel = (tickWidth * index) + me.paddingLeft;\r\n\r\n\t\t\t\tif (offset) {\r\n\t\t\t\t\tpixel += tickWidth / 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar finalVal = me.left + Math.round(pixel);\r\n\t\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\r\n\t\t\t\treturn finalVal;\r\n\t\t\t}\r\n\t\t\tvar innerHeight = me.height - (me.paddingTop + me.paddingBottom);\r\n\t\t\treturn me.top + (index * (innerHeight / (me._ticks.length - 1)));\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Utility for getting the pixel location of a percentage of scale\r\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t\t */\r\n\t\tgetPixelForDecimal: function(decimal) {\r\n\t\t\tvar me = this;\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\r\n\t\t\t\tvar valueOffset = (innerWidth * decimal) + me.paddingLeft;\r\n\r\n\t\t\t\tvar finalVal = me.left + Math.round(valueOffset);\r\n\t\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\r\n\t\t\t\treturn finalVal;\r\n\t\t\t}\r\n\t\t\treturn me.top + (decimal * me.height);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns the pixel for the minimum chart value\r\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t\t */\r\n\t\tgetBasePixel: function() {\r\n\t\t\treturn this.getPixelForValue(this.getBaseValue());\r\n\t\t},\r\n\r\n\t\tgetBaseValue: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar min = me.min;\r\n\t\t\tvar max = me.max;\r\n\r\n\t\t\treturn me.beginAtZero ? 0 :\r\n\t\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t\t0;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Returns a subset of ticks to be plotted to avoid overlapping labels.\r\n\t\t * @private\r\n\t\t */\r\n\t\t_autoSkip: function(ticks) {\r\n\t\t\tvar skipRatio;\r\n\t\t\tvar me = this;\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\t\t\tvar optionTicks = me.options.ticks.minor;\r\n\t\t\tvar tickCount = ticks.length;\r\n\t\t\tvar labelRotationRadians = helpers.toRadians(me.labelRotation);\r\n\t\t\tvar cosRotation = Math.cos(labelRotationRadians);\r\n\t\t\tvar longestRotatedLabel = me.longestLabelWidth * cosRotation;\r\n\t\t\tvar result = [];\r\n\t\t\tvar i, tick, shouldSkip;\r\n\r\n\t\t\t// figure out the maximum number of gridlines to show\r\n\t\t\tvar maxTicks;\r\n\t\t\tif (optionTicks.maxTicksLimit) {\r\n\t\t\t\tmaxTicks = optionTicks.maxTicksLimit;\r\n\t\t\t}\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tskipRatio = false;\r\n\r\n\t\t\t\tif ((longestRotatedLabel + optionTicks.autoSkipPadding) * tickCount > (me.width - (me.paddingLeft + me.paddingRight))) {\r\n\t\t\t\t\tskipRatio = 1 + Math.floor(((longestRotatedLabel + optionTicks.autoSkipPadding) * tickCount) / (me.width - (me.paddingLeft + me.paddingRight)));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if they defined a max number of optionTicks,\r\n\t\t\t\t// increase skipRatio until that number is met\r\n\t\t\t\tif (maxTicks && tickCount > maxTicks) {\r\n\t\t\t\t\tskipRatio = Math.max(skipRatio, Math.floor(tickCount / maxTicks));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor (i = 0; i < tickCount; i++) {\r\n\t\t\t\ttick = ticks[i];\r\n\r\n\t\t\t\t// Since we always show the last tick,we need may need to hide the last shown one before\r\n\t\t\t\tshouldSkip = (skipRatio > 1 && i % skipRatio > 0) || (i % skipRatio === 0 && i + skipRatio >= tickCount);\r\n\t\t\t\tif (shouldSkip && i !== tickCount - 1) {\r\n\t\t\t\t\t// leave tick in place but make sure it's not displayed (#4635)\r\n\t\t\t\t\tdelete tick.label;\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(tick);\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t},\r\n\r\n\t\t// Actually draw the scale on the canvas\r\n\t\t// @param {rectangle} chartArea : the area of the chart to draw full grid lines on\r\n\t\tdraw: function(chartArea) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = me.options;\r\n\t\t\tif (!options.display) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar context = me.ctx;\r\n\t\t\tvar globalDefaults = defaults.global;\r\n\t\t\tvar optionTicks = options.ticks.minor;\r\n\t\t\tvar optionMajorTicks = options.ticks.major || optionTicks;\r\n\t\t\tvar gridLines = options.gridLines;\r\n\t\t\tvar scaleLabel = options.scaleLabel;\r\n\r\n\t\t\tvar isRotated = me.labelRotation !== 0;\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\t\tvar ticks = optionTicks.autoSkip ? me._autoSkip(me.getTicks()) : me.getTicks();\r\n\t\t\tvar tickFontColor = helpers.valueOrDefault(optionTicks.fontColor, globalDefaults.defaultFontColor);\r\n\t\t\tvar tickFont = parseFontOptions(optionTicks);\r\n\t\t\tvar majorTickFontColor = helpers.valueOrDefault(optionMajorTicks.fontColor, globalDefaults.defaultFontColor);\r\n\t\t\tvar majorTickFont = parseFontOptions(optionMajorTicks);\r\n\r\n\t\t\tvar tl = gridLines.drawTicks ? gridLines.tickMarkLength : 0;\r\n\r\n\t\t\tvar scaleLabelFontColor = helpers.valueOrDefault(scaleLabel.fontColor, globalDefaults.defaultFontColor);\r\n\t\t\tvar scaleLabelFont = parseFontOptions(scaleLabel);\r\n\t\t\tvar scaleLabelPadding = helpers.options.toPadding(scaleLabel.padding);\r\n\t\t\tvar labelRotationRadians = helpers.toRadians(me.labelRotation);\r\n\r\n\t\t\tvar itemsToDraw = [];\r\n\r\n\t\t\tvar axisWidth = me.options.gridLines.lineWidth;\r\n\t\t\tvar xTickStart = options.position === 'right' ? me.right : me.right - axisWidth - tl;\r\n\t\t\tvar xTickEnd = options.position === 'right' ? me.right + tl : me.right;\r\n\t\t\tvar yTickStart = options.position === 'bottom' ? me.top + axisWidth : me.bottom - tl - axisWidth;\r\n\t\t\tvar yTickEnd = options.position === 'bottom' ? me.top + axisWidth + tl : me.bottom + axisWidth;\r\n\r\n\t\t\thelpers.each(ticks, function(tick, index) {\r\n\t\t\t\t// autoskipper skipped this tick (#4635)\r\n\t\t\t\tif (helpers.isNullOrUndef(tick.label)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar label = tick.label;\r\n\t\t\t\tvar lineWidth, lineColor, borderDash, borderDashOffset;\r\n\t\t\t\tif (index === me.zeroLineIndex && options.offset === gridLines.offsetGridLines) {\r\n\t\t\t\t\t// Draw the first index specially\r\n\t\t\t\t\tlineWidth = gridLines.zeroLineWidth;\r\n\t\t\t\t\tlineColor = gridLines.zeroLineColor;\r\n\t\t\t\t\tborderDash = gridLines.zeroLineBorderDash;\r\n\t\t\t\t\tborderDashOffset = gridLines.zeroLineBorderDashOffset;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, index);\r\n\t\t\t\t\tlineColor = helpers.valueAtIndexOrDefault(gridLines.color, index);\r\n\t\t\t\t\tborderDash = helpers.valueOrDefault(gridLines.borderDash, globalDefaults.borderDash);\r\n\t\t\t\t\tborderDashOffset = helpers.valueOrDefault(gridLines.borderDashOffset, globalDefaults.borderDashOffset);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Common properties\r\n\t\t\t\tvar tx1, ty1, tx2, ty2, x1, y1, x2, y2, labelX, labelY;\r\n\t\t\t\tvar textAlign = 'middle';\r\n\t\t\t\tvar textBaseline = 'middle';\r\n\t\t\t\tvar tickPadding = optionTicks.padding;\r\n\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\tvar labelYOffset = tl + tickPadding;\r\n\r\n\t\t\t\t\tif (options.position === 'bottom') {\r\n\t\t\t\t\t\t// bottom\r\n\t\t\t\t\t\ttextBaseline = !isRotated ? 'top' : 'middle';\r\n\t\t\t\t\t\ttextAlign = !isRotated ? 'center' : 'right';\r\n\t\t\t\t\t\tlabelY = me.top + labelYOffset;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// top\r\n\t\t\t\t\t\ttextBaseline = !isRotated ? 'bottom' : 'middle';\r\n\t\t\t\t\t\ttextAlign = !isRotated ? 'center' : 'left';\r\n\t\t\t\t\t\tlabelY = me.bottom - labelYOffset;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar xLineValue = getLineValue(me, index, gridLines.offsetGridLines && ticks.length > 1);\r\n\t\t\t\t\tif (xLineValue < me.left) {\r\n\t\t\t\t\t\tlineColor = 'rgba(0,0,0,0)';\r\n\t\t\t\t\t}\r\n\t\t\t\t\txLineValue += helpers.aliasPixel(lineWidth);\r\n\r\n\t\t\t\t\tlabelX = me.getPixelForTick(index) + optionTicks.labelOffset; // x values for optionTicks (need to consider offsetLabel option)\r\n\r\n\t\t\t\t\ttx1 = tx2 = x1 = x2 = xLineValue;\r\n\t\t\t\t\tty1 = yTickStart;\r\n\t\t\t\t\tty2 = yTickEnd;\r\n\t\t\t\t\ty1 = chartArea.top;\r\n\t\t\t\t\ty2 = chartArea.bottom + axisWidth;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar isLeft = options.position === 'left';\r\n\t\t\t\t\tvar labelXOffset;\r\n\r\n\t\t\t\t\tif (optionTicks.mirror) {\r\n\t\t\t\t\t\ttextAlign = isLeft ? 'left' : 'right';\r\n\t\t\t\t\t\tlabelXOffset = tickPadding;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttextAlign = isLeft ? 'right' : 'left';\r\n\t\t\t\t\t\tlabelXOffset = tl + tickPadding;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlabelX = isLeft ? me.right - labelXOffset : me.left + labelXOffset;\r\n\r\n\t\t\t\t\tvar yLineValue = getLineValue(me, index, gridLines.offsetGridLines && ticks.length > 1);\r\n\t\t\t\t\tif (yLineValue < me.top) {\r\n\t\t\t\t\t\tlineColor = 'rgba(0,0,0,0)';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tyLineValue += helpers.aliasPixel(lineWidth);\r\n\r\n\t\t\t\t\tlabelY = me.getPixelForTick(index) + optionTicks.labelOffset;\r\n\r\n\t\t\t\t\ttx1 = xTickStart;\r\n\t\t\t\t\ttx2 = xTickEnd;\r\n\t\t\t\t\tx1 = chartArea.left;\r\n\t\t\t\t\tx2 = chartArea.right + axisWidth;\r\n\t\t\t\t\tty1 = ty2 = y1 = y2 = yLineValue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\titemsToDraw.push({\r\n\t\t\t\t\ttx1: tx1,\r\n\t\t\t\t\tty1: ty1,\r\n\t\t\t\t\ttx2: tx2,\r\n\t\t\t\t\tty2: ty2,\r\n\t\t\t\t\tx1: x1,\r\n\t\t\t\t\ty1: y1,\r\n\t\t\t\t\tx2: x2,\r\n\t\t\t\t\ty2: y2,\r\n\t\t\t\t\tlabelX: labelX,\r\n\t\t\t\t\tlabelY: labelY,\r\n\t\t\t\t\tglWidth: lineWidth,\r\n\t\t\t\t\tglColor: lineColor,\r\n\t\t\t\t\tglBorderDash: borderDash,\r\n\t\t\t\t\tglBorderDashOffset: borderDashOffset,\r\n\t\t\t\t\trotation: -1 * labelRotationRadians,\r\n\t\t\t\t\tlabel: label,\r\n\t\t\t\t\tmajor: tick.major,\r\n\t\t\t\t\ttextBaseline: textBaseline,\r\n\t\t\t\t\ttextAlign: textAlign\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t// Draw all of the tick labels, tick marks, and grid lines at the correct places\r\n\t\t\thelpers.each(itemsToDraw, function(itemToDraw) {\r\n\t\t\t\tif (gridLines.display) {\r\n\t\t\t\t\tcontext.save();\r\n\t\t\t\t\tcontext.lineWidth = itemToDraw.glWidth;\r\n\t\t\t\t\tcontext.strokeStyle = itemToDraw.glColor;\r\n\t\t\t\t\tif (context.setLineDash) {\r\n\t\t\t\t\t\tcontext.setLineDash(itemToDraw.glBorderDash);\r\n\t\t\t\t\t\tcontext.lineDashOffset = itemToDraw.glBorderDashOffset;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcontext.beginPath();\r\n\r\n\t\t\t\t\tif (gridLines.drawTicks) {\r\n\t\t\t\t\t\tcontext.moveTo(itemToDraw.tx1, itemToDraw.ty1);\r\n\t\t\t\t\t\tcontext.lineTo(itemToDraw.tx2, itemToDraw.ty2);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (gridLines.drawOnChartArea) {\r\n\t\t\t\t\t\tcontext.moveTo(itemToDraw.x1, itemToDraw.y1);\r\n\t\t\t\t\t\tcontext.lineTo(itemToDraw.x2, itemToDraw.y2);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcontext.stroke();\r\n\t\t\t\t\tcontext.restore();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (optionTicks.display) {\r\n\t\t\t\t\t// Make sure we draw text in the correct color and font\r\n\t\t\t\t\tcontext.save();\r\n\t\t\t\t\tcontext.translate(itemToDraw.labelX, itemToDraw.labelY);\r\n\t\t\t\t\tcontext.rotate(itemToDraw.rotation);\r\n\t\t\t\t\tcontext.font = itemToDraw.major ? majorTickFont.font : tickFont.font;\r\n\t\t\t\t\tcontext.fillStyle = itemToDraw.major ? majorTickFontColor : tickFontColor;\r\n\t\t\t\t\tcontext.textBaseline = itemToDraw.textBaseline;\r\n\t\t\t\t\tcontext.textAlign = itemToDraw.textAlign;\r\n\r\n\t\t\t\t\tvar label = itemToDraw.label;\r\n\t\t\t\t\tif (helpers.isArray(label)) {\r\n\t\t\t\t\t\tvar lineCount = label.length;\r\n\t\t\t\t\t\tvar lineHeight = tickFont.size * 1.5;\r\n\t\t\t\t\t\tvar y = me.isHorizontal() ? 0 : -lineHeight * (lineCount - 1) / 2;\r\n\r\n\t\t\t\t\t\tfor (var i = 0; i < lineCount; ++i) {\r\n\t\t\t\t\t\t\t// We just make sure the multiline element is a string here..\r\n\t\t\t\t\t\t\tcontext.fillText('' + label[i], 0, y);\r\n\t\t\t\t\t\t\t// apply same lineSpacing as calculated @ L#320\r\n\t\t\t\t\t\t\ty += lineHeight;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcontext.fillText(label, 0, 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcontext.restore();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (scaleLabel.display) {\r\n\t\t\t\t// Draw the scale label\r\n\t\t\t\tvar scaleLabelX;\r\n\t\t\t\tvar scaleLabelY;\r\n\t\t\t\tvar rotation = 0;\r\n\t\t\t\tvar halfLineHeight = parseLineHeight(scaleLabel) / 2;\r\n\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\tscaleLabelX = me.left + ((me.right - me.left) / 2); // midpoint of the width\r\n\t\t\t\t\tscaleLabelY = options.position === 'bottom'\r\n\t\t\t\t\t\t? me.bottom - halfLineHeight - scaleLabelPadding.bottom\r\n\t\t\t\t\t\t: me.top + halfLineHeight + scaleLabelPadding.top;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar isLeft = options.position === 'left';\r\n\t\t\t\t\tscaleLabelX = isLeft\r\n\t\t\t\t\t\t? me.left + halfLineHeight + scaleLabelPadding.top\r\n\t\t\t\t\t\t: me.right - halfLineHeight - scaleLabelPadding.top;\r\n\t\t\t\t\tscaleLabelY = me.top + ((me.bottom - me.top) / 2);\r\n\t\t\t\t\trotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcontext.save();\r\n\t\t\t\tcontext.translate(scaleLabelX, scaleLabelY);\r\n\t\t\t\tcontext.rotate(rotation);\r\n\t\t\t\tcontext.textAlign = 'center';\r\n\t\t\t\tcontext.textBaseline = 'middle';\r\n\t\t\t\tcontext.fillStyle = scaleLabelFontColor; // render in correct colour\r\n\t\t\t\tcontext.font = scaleLabelFont.font;\r\n\t\t\t\tcontext.fillText(scaleLabel.labelString, 0, 0);\r\n\t\t\t\tcontext.restore();\r\n\t\t\t}\r\n\r\n\t\t\tif (gridLines.drawBorder) {\r\n\t\t\t\t// Draw the line at the edge of the axis\r\n\t\t\t\tcontext.lineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, 0);\r\n\t\t\t\tcontext.strokeStyle = helpers.valueAtIndexOrDefault(gridLines.color, 0);\r\n\t\t\t\tvar x1 = me.left;\r\n\t\t\t\tvar x2 = me.right + axisWidth;\r\n\t\t\t\tvar y1 = me.top;\r\n\t\t\t\tvar y2 = me.bottom + axisWidth;\r\n\r\n\t\t\t\tvar aliasPixel = helpers.aliasPixel(context.lineWidth);\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\ty1 = y2 = options.position === 'top' ? me.bottom : me.top;\r\n\t\t\t\t\ty1 += aliasPixel;\r\n\t\t\t\t\ty2 += aliasPixel;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tx1 = x2 = options.position === 'left' ? me.right : me.left;\r\n\t\t\t\t\tx1 += aliasPixel;\r\n\t\t\t\t\tx2 += aliasPixel;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcontext.beginPath();\r\n\t\t\t\tcontext.moveTo(x1, y1);\r\n\t\t\t\tcontext.lineTo(x2, y2);\r\n\t\t\t\tcontext.stroke();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.scale.js\n// module id = 840\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('./core.defaults');\r\nvar helpers = require('../helpers/index');\r\nvar layouts = require('./core.layouts');\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tChart.scaleService = {\r\n\t\t// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then\r\n\t\t// use the new chart options to grab the correct scale\r\n\t\tconstructors: {},\r\n\t\t// Use a registration function so that we can move to an ES6 map when we no longer need to support\r\n\t\t// old browsers\r\n\r\n\t\t// Scale config defaults\r\n\t\tdefaults: {},\r\n\t\tregisterScaleType: function(type, scaleConstructor, scaleDefaults) {\r\n\t\t\tthis.constructors[type] = scaleConstructor;\r\n\t\t\tthis.defaults[type] = helpers.clone(scaleDefaults);\r\n\t\t},\r\n\t\tgetScaleConstructor: function(type) {\r\n\t\t\treturn this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;\r\n\t\t},\r\n\t\tgetScaleDefaults: function(type) {\r\n\t\t\t// Return the scale defaults merged with the global settings so that we always use the latest ones\r\n\t\t\treturn this.defaults.hasOwnProperty(type) ? helpers.merge({}, [defaults.scale, this.defaults[type]]) : {};\r\n\t\t},\r\n\t\tupdateScaleDefaults: function(type, additions) {\r\n\t\t\tvar me = this;\r\n\t\t\tif (me.defaults.hasOwnProperty(type)) {\r\n\t\t\t\tme.defaults[type] = helpers.extend(me.defaults[type], additions);\r\n\t\t\t}\r\n\t\t},\r\n\t\taddScalesToLayout: function(chart) {\r\n\t\t\t// Adds each scale to the chart.boxes array to be sized accordingly\r\n\t\t\thelpers.each(chart.scales, function(scale) {\r\n\t\t\t\t// Set ILayoutItem parameters for backwards compatibility\r\n\t\t\t\tscale.fullWidth = scale.options.fullWidth;\r\n\t\t\t\tscale.position = scale.options.position;\r\n\t\t\t\tscale.weight = scale.options.weight;\r\n\t\t\t\tlayouts.addBox(chart, scale);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.scaleService.js\n// module id = 841\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('./core.defaults');\r\nvar Element = require('./core.element');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('global', {\r\n\ttooltips: {\r\n\t\tenabled: true,\r\n\t\tcustom: null,\r\n\t\tmode: 'nearest',\r\n\t\tposition: 'average',\r\n\t\tintersect: true,\r\n\t\tbackgroundColor: 'rgba(0,0,0,0.8)',\r\n\t\ttitleFontStyle: 'bold',\r\n\t\ttitleSpacing: 2,\r\n\t\ttitleMarginBottom: 6,\r\n\t\ttitleFontColor: '#fff',\r\n\t\ttitleAlign: 'left',\r\n\t\tbodySpacing: 2,\r\n\t\tbodyFontColor: '#fff',\r\n\t\tbodyAlign: 'left',\r\n\t\tfooterFontStyle: 'bold',\r\n\t\tfooterSpacing: 2,\r\n\t\tfooterMarginTop: 6,\r\n\t\tfooterFontColor: '#fff',\r\n\t\tfooterAlign: 'left',\r\n\t\tyPadding: 6,\r\n\t\txPadding: 6,\r\n\t\tcaretPadding: 2,\r\n\t\tcaretSize: 5,\r\n\t\tcornerRadius: 6,\r\n\t\tmultiKeyBackground: '#fff',\r\n\t\tdisplayColors: true,\r\n\t\tborderColor: 'rgba(0,0,0,0)',\r\n\t\tborderWidth: 0,\r\n\t\tcallbacks: {\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeTitle: helpers.noop,\r\n\t\t\ttitle: function(tooltipItems, data) {\r\n\t\t\t\t// Pick first xLabel for now\r\n\t\t\t\tvar title = '';\r\n\t\t\t\tvar labels = data.labels;\r\n\t\t\t\tvar labelCount = labels ? labels.length : 0;\r\n\r\n\t\t\t\tif (tooltipItems.length > 0) {\r\n\t\t\t\t\tvar item = tooltipItems[0];\r\n\r\n\t\t\t\t\tif (item.xLabel) {\r\n\t\t\t\t\t\ttitle = item.xLabel;\r\n\t\t\t\t\t} else if (labelCount > 0 && item.index < labelCount) {\r\n\t\t\t\t\t\ttitle = labels[item.index];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn title;\r\n\t\t\t},\r\n\t\t\tafterTitle: helpers.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeBody: helpers.noop,\r\n\r\n\t\t\t// Args are: (tooltipItem, data)\r\n\t\t\tbeforeLabel: helpers.noop,\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar label = data.datasets[tooltipItem.datasetIndex].label || '';\r\n\r\n\t\t\t\tif (label) {\r\n\t\t\t\t\tlabel += ': ';\r\n\t\t\t\t}\r\n\t\t\t\tlabel += tooltipItem.yLabel;\r\n\t\t\t\treturn label;\r\n\t\t\t},\r\n\t\t\tlabelColor: function(tooltipItem, chart) {\r\n\t\t\t\tvar meta = chart.getDatasetMeta(tooltipItem.datasetIndex);\r\n\t\t\t\tvar activeElement = meta.data[tooltipItem.index];\r\n\t\t\t\tvar view = activeElement._view;\r\n\t\t\t\treturn {\r\n\t\t\t\t\tborderColor: view.borderColor,\r\n\t\t\t\t\tbackgroundColor: view.backgroundColor\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\tlabelTextColor: function() {\r\n\t\t\t\treturn this._options.bodyFontColor;\r\n\t\t\t},\r\n\t\t\tafterLabel: helpers.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tafterBody: helpers.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeFooter: helpers.noop,\r\n\t\t\tfooter: helpers.noop,\r\n\t\t\tafterFooter: helpers.noop\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\t/**\r\n \t * Helper method to merge the opacity into a color\r\n \t */\r\n\tfunction mergeOpacity(colorString, opacity) {\r\n\t\tvar color = helpers.color(colorString);\r\n\t\treturn color.alpha(opacity * color.alpha()).rgbaString();\r\n\t}\r\n\r\n\t// Helper to push or concat based on if the 2nd parameter is an array or not\r\n\tfunction pushOrConcat(base, toPush) {\r\n\t\tif (toPush) {\r\n\t\t\tif (helpers.isArray(toPush)) {\r\n\t\t\t\t// base = base.concat(toPush);\r\n\t\t\t\tArray.prototype.push.apply(base, toPush);\r\n\t\t\t} else {\r\n\t\t\t\tbase.push(toPush);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn base;\r\n\t}\r\n\r\n\t// Private helper to create a tooltip item model\r\n\t// @param element : the chart element (point, arc, bar) to create the tooltip item for\r\n\t// @return : new tooltip item\r\n\tfunction createTooltipItem(element) {\r\n\t\tvar xScale = element._xScale;\r\n\t\tvar yScale = element._yScale || element._scale; // handle radar || polarArea charts\r\n\t\tvar index = element._index;\r\n\t\tvar datasetIndex = element._datasetIndex;\r\n\r\n\t\treturn {\r\n\t\t\txLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\t\tyLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\t\tindex: index,\r\n\t\t\tdatasetIndex: datasetIndex,\r\n\t\t\tx: element._model.x,\r\n\t\t\ty: element._model.y\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Helper to get the reset model for the tooltip\r\n\t * @param tooltipOpts {Object} the tooltip options\r\n\t */\r\n\tfunction getBaseModel(tooltipOpts) {\r\n\t\tvar globalDefaults = defaults.global;\r\n\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\r\n\t\treturn {\r\n\t\t\t// Positioning\r\n\t\t\txPadding: tooltipOpts.xPadding,\r\n\t\t\tyPadding: tooltipOpts.yPadding,\r\n\t\t\txAlign: tooltipOpts.xAlign,\r\n\t\t\tyAlign: tooltipOpts.yAlign,\r\n\r\n\t\t\t// Body\r\n\t\t\tbodyFontColor: tooltipOpts.bodyFontColor,\r\n\t\t\t_bodyFontFamily: valueOrDefault(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\t_bodyFontStyle: valueOrDefault(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\t_bodyAlign: tooltipOpts.bodyAlign,\r\n\t\t\tbodyFontSize: valueOrDefault(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),\r\n\t\t\tbodySpacing: tooltipOpts.bodySpacing,\r\n\r\n\t\t\t// Title\r\n\t\t\ttitleFontColor: tooltipOpts.titleFontColor,\r\n\t\t\t_titleFontFamily: valueOrDefault(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\t_titleFontStyle: valueOrDefault(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\ttitleFontSize: valueOrDefault(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),\r\n\t\t\t_titleAlign: tooltipOpts.titleAlign,\r\n\t\t\ttitleSpacing: tooltipOpts.titleSpacing,\r\n\t\t\ttitleMarginBottom: tooltipOpts.titleMarginBottom,\r\n\r\n\t\t\t// Footer\r\n\t\t\tfooterFontColor: tooltipOpts.footerFontColor,\r\n\t\t\t_footerFontFamily: valueOrDefault(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\t_footerFontStyle: valueOrDefault(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tfooterFontSize: valueOrDefault(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),\r\n\t\t\t_footerAlign: tooltipOpts.footerAlign,\r\n\t\t\tfooterSpacing: tooltipOpts.footerSpacing,\r\n\t\t\tfooterMarginTop: tooltipOpts.footerMarginTop,\r\n\r\n\t\t\t// Appearance\r\n\t\t\tcaretSize: tooltipOpts.caretSize,\r\n\t\t\tcornerRadius: tooltipOpts.cornerRadius,\r\n\t\t\tbackgroundColor: tooltipOpts.backgroundColor,\r\n\t\t\topacity: 0,\r\n\t\t\tlegendColorBackground: tooltipOpts.multiKeyBackground,\r\n\t\t\tdisplayColors: tooltipOpts.displayColors,\r\n\t\t\tborderColor: tooltipOpts.borderColor,\r\n\t\t\tborderWidth: tooltipOpts.borderWidth\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Get the size of the tooltip\r\n\t */\r\n\tfunction getTooltipSize(tooltip, model) {\r\n\t\tvar ctx = tooltip._chart.ctx;\r\n\r\n\t\tvar height = model.yPadding * 2; // Tooltip Padding\r\n\t\tvar width = 0;\r\n\r\n\t\t// Count of all lines in the body\r\n\t\tvar body = model.body;\r\n\t\tvar combinedBodyLength = body.reduce(function(count, bodyItem) {\r\n\t\t\treturn count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;\r\n\t\t}, 0);\r\n\t\tcombinedBodyLength += model.beforeBody.length + model.afterBody.length;\r\n\r\n\t\tvar titleLineCount = model.title.length;\r\n\t\tvar footerLineCount = model.footer.length;\r\n\t\tvar titleFontSize = model.titleFontSize;\r\n\t\tvar bodyFontSize = model.bodyFontSize;\r\n\t\tvar footerFontSize = model.footerFontSize;\r\n\r\n\t\theight += titleLineCount * titleFontSize; // Title Lines\r\n\t\theight += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing\r\n\t\theight += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin\r\n\t\theight += combinedBodyLength * bodyFontSize; // Body Lines\r\n\t\theight += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing\r\n\t\theight += footerLineCount ? model.footerMarginTop : 0; // Footer Margin\r\n\t\theight += footerLineCount * (footerFontSize); // Footer Lines\r\n\t\theight += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing\r\n\r\n\t\t// Title width\r\n\t\tvar widthPadding = 0;\r\n\t\tvar maxLineWidth = function(line) {\r\n\t\t\twidth = Math.max(width, ctx.measureText(line).width + widthPadding);\r\n\t\t};\r\n\r\n\t\tctx.font = helpers.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);\r\n\t\thelpers.each(model.title, maxLineWidth);\r\n\r\n\t\t// Body width\r\n\t\tctx.font = helpers.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);\r\n\t\thelpers.each(model.beforeBody.concat(model.afterBody), maxLineWidth);\r\n\r\n\t\t// Body lines may include some extra width due to the color box\r\n\t\twidthPadding = model.displayColors ? (bodyFontSize + 2) : 0;\r\n\t\thelpers.each(body, function(bodyItem) {\r\n\t\t\thelpers.each(bodyItem.before, maxLineWidth);\r\n\t\t\thelpers.each(bodyItem.lines, maxLineWidth);\r\n\t\t\thelpers.each(bodyItem.after, maxLineWidth);\r\n\t\t});\r\n\r\n\t\t// Reset back to 0\r\n\t\twidthPadding = 0;\r\n\r\n\t\t// Footer width\r\n\t\tctx.font = helpers.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);\r\n\t\thelpers.each(model.footer, maxLineWidth);\r\n\r\n\t\t// Add padding\r\n\t\twidth += 2 * model.xPadding;\r\n\r\n\t\treturn {\r\n\t\t\twidth: width,\r\n\t\t\theight: height\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Helper to get the alignment of a tooltip given the size\r\n\t */\r\n\tfunction determineAlignment(tooltip, size) {\r\n\t\tvar model = tooltip._model;\r\n\t\tvar chart = tooltip._chart;\r\n\t\tvar chartArea = tooltip._chart.chartArea;\r\n\t\tvar xAlign = 'center';\r\n\t\tvar yAlign = 'center';\r\n\r\n\t\tif (model.y < size.height) {\r\n\t\t\tyAlign = 'top';\r\n\t\t} else if (model.y > (chart.height - size.height)) {\r\n\t\t\tyAlign = 'bottom';\r\n\t\t}\r\n\r\n\t\tvar lf, rf; // functions to determine left, right alignment\r\n\t\tvar olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart\r\n\t\tvar yf; // function to get the y alignment if the tooltip goes outside of the left or right edges\r\n\t\tvar midX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar midY = (chartArea.top + chartArea.bottom) / 2;\r\n\r\n\t\tif (yAlign === 'center') {\r\n\t\t\tlf = function(x) {\r\n\t\t\t\treturn x <= midX;\r\n\t\t\t};\r\n\t\t\trf = function(x) {\r\n\t\t\t\treturn x > midX;\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tlf = function(x) {\r\n\t\t\t\treturn x <= (size.width / 2);\r\n\t\t\t};\r\n\t\t\trf = function(x) {\r\n\t\t\t\treturn x >= (chart.width - (size.width / 2));\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tolf = function(x) {\r\n\t\t\treturn x + size.width + model.caretSize + model.caretPadding > chart.width;\r\n\t\t};\r\n\t\torf = function(x) {\r\n\t\t\treturn x - size.width - model.caretSize - model.caretPadding < 0;\r\n\t\t};\r\n\t\tyf = function(y) {\r\n\t\t\treturn y <= midY ? 'top' : 'bottom';\r\n\t\t};\r\n\r\n\t\tif (lf(model.x)) {\r\n\t\t\txAlign = 'left';\r\n\r\n\t\t\t// Is tooltip too wide and goes over the right side of the chart.?\r\n\t\t\tif (olf(model.x)) {\r\n\t\t\t\txAlign = 'center';\r\n\t\t\t\tyAlign = yf(model.y);\r\n\t\t\t}\r\n\t\t} else if (rf(model.x)) {\r\n\t\t\txAlign = 'right';\r\n\r\n\t\t\t// Is tooltip too wide and goes outside left edge of canvas?\r\n\t\t\tif (orf(model.x)) {\r\n\t\t\t\txAlign = 'center';\r\n\t\t\t\tyAlign = yf(model.y);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar opts = tooltip._options;\r\n\t\treturn {\r\n\t\t\txAlign: opts.xAlign ? opts.xAlign : xAlign,\r\n\t\t\tyAlign: opts.yAlign ? opts.yAlign : yAlign\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * @Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\r\n\t */\r\n\tfunction getBackgroundPoint(vm, size, alignment, chart) {\r\n\t\t// Background Position\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\r\n\t\tvar caretSize = vm.caretSize;\r\n\t\tvar caretPadding = vm.caretPadding;\r\n\t\tvar cornerRadius = vm.cornerRadius;\r\n\t\tvar xAlign = alignment.xAlign;\r\n\t\tvar yAlign = alignment.yAlign;\r\n\t\tvar paddingAndSize = caretSize + caretPadding;\r\n\t\tvar radiusAndPadding = cornerRadius + caretPadding;\r\n\r\n\t\tif (xAlign === 'right') {\r\n\t\t\tx -= size.width;\r\n\t\t} else if (xAlign === 'center') {\r\n\t\t\tx -= (size.width / 2);\r\n\t\t\tif (x + size.width > chart.width) {\r\n\t\t\t\tx = chart.width - size.width;\r\n\t\t\t}\r\n\t\t\tif (x < 0) {\r\n\t\t\t\tx = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (yAlign === 'top') {\r\n\t\t\ty += paddingAndSize;\r\n\t\t} else if (yAlign === 'bottom') {\r\n\t\t\ty -= size.height + paddingAndSize;\r\n\t\t} else {\r\n\t\t\ty -= (size.height / 2);\r\n\t\t}\r\n\r\n\t\tif (yAlign === 'center') {\r\n\t\t\tif (xAlign === 'left') {\r\n\t\t\t\tx += paddingAndSize;\r\n\t\t\t} else if (xAlign === 'right') {\r\n\t\t\t\tx -= paddingAndSize;\r\n\t\t\t}\r\n\t\t} else if (xAlign === 'left') {\r\n\t\t\tx -= radiusAndPadding;\r\n\t\t} else if (xAlign === 'right') {\r\n\t\t\tx += radiusAndPadding;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x,\r\n\t\t\ty: y\r\n\t\t};\r\n\t}\r\n\r\n\tChart.Tooltip = Element.extend({\r\n\t\tinitialize: function() {\r\n\t\t\tthis._model = getBaseModel(this._options);\r\n\t\t\tthis._lastActive = [];\r\n\t\t},\r\n\r\n\t\t// Get the title\r\n\t\t// Args are: (tooltipItem, data)\r\n\t\tgetTitle: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me._options;\r\n\t\t\tvar callbacks = opts.callbacks;\r\n\r\n\t\t\tvar beforeTitle = callbacks.beforeTitle.apply(me, arguments);\r\n\t\t\tvar title = callbacks.title.apply(me, arguments);\r\n\t\t\tvar afterTitle = callbacks.afterTitle.apply(me, arguments);\r\n\r\n\t\t\tvar lines = [];\r\n\t\t\tlines = pushOrConcat(lines, beforeTitle);\r\n\t\t\tlines = pushOrConcat(lines, title);\r\n\t\t\tlines = pushOrConcat(lines, afterTitle);\r\n\r\n\t\t\treturn lines;\r\n\t\t},\r\n\r\n\t\t// Args are: (tooltipItem, data)\r\n\t\tgetBeforeBody: function() {\r\n\t\t\tvar lines = this._options.callbacks.beforeBody.apply(this, arguments);\r\n\t\t\treturn helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];\r\n\t\t},\r\n\r\n\t\t// Args are: (tooltipItem, data)\r\n\t\tgetBody: function(tooltipItems, data) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar callbacks = me._options.callbacks;\r\n\t\t\tvar bodyItems = [];\r\n\r\n\t\t\thelpers.each(tooltipItems, function(tooltipItem) {\r\n\t\t\t\tvar bodyItem = {\r\n\t\t\t\t\tbefore: [],\r\n\t\t\t\t\tlines: [],\r\n\t\t\t\t\tafter: []\r\n\t\t\t\t};\r\n\t\t\t\tpushOrConcat(bodyItem.before, callbacks.beforeLabel.call(me, tooltipItem, data));\r\n\t\t\t\tpushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));\r\n\t\t\t\tpushOrConcat(bodyItem.after, callbacks.afterLabel.call(me, tooltipItem, data));\r\n\r\n\t\t\t\tbodyItems.push(bodyItem);\r\n\t\t\t});\r\n\r\n\t\t\treturn bodyItems;\r\n\t\t},\r\n\r\n\t\t// Args are: (tooltipItem, data)\r\n\t\tgetAfterBody: function() {\r\n\t\t\tvar lines = this._options.callbacks.afterBody.apply(this, arguments);\r\n\t\t\treturn helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];\r\n\t\t},\r\n\r\n\t\t// Get the footer and beforeFooter and afterFooter lines\r\n\t\t// Args are: (tooltipItem, data)\r\n\t\tgetFooter: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar callbacks = me._options.callbacks;\r\n\r\n\t\t\tvar beforeFooter = callbacks.beforeFooter.apply(me, arguments);\r\n\t\t\tvar footer = callbacks.footer.apply(me, arguments);\r\n\t\t\tvar afterFooter = callbacks.afterFooter.apply(me, arguments);\r\n\r\n\t\t\tvar lines = [];\r\n\t\t\tlines = pushOrConcat(lines, beforeFooter);\r\n\t\t\tlines = pushOrConcat(lines, footer);\r\n\t\t\tlines = pushOrConcat(lines, afterFooter);\r\n\r\n\t\t\treturn lines;\r\n\t\t},\r\n\r\n\t\tupdate: function(changed) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me._options;\r\n\r\n\t\t\t// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition\r\n\t\t\t// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time\r\n\t\t\t// which breaks any animations.\r\n\t\t\tvar existingModel = me._model;\r\n\t\t\tvar model = me._model = getBaseModel(opts);\r\n\t\t\tvar active = me._active;\r\n\r\n\t\t\tvar data = me._data;\r\n\r\n\t\t\t// In the case where active.length === 0 we need to keep these at existing values for good animations\r\n\t\t\tvar alignment = {\r\n\t\t\t\txAlign: existingModel.xAlign,\r\n\t\t\t\tyAlign: existingModel.yAlign\r\n\t\t\t};\r\n\t\t\tvar backgroundPoint = {\r\n\t\t\t\tx: existingModel.x,\r\n\t\t\t\ty: existingModel.y\r\n\t\t\t};\r\n\t\t\tvar tooltipSize = {\r\n\t\t\t\twidth: existingModel.width,\r\n\t\t\t\theight: existingModel.height\r\n\t\t\t};\r\n\t\t\tvar tooltipPosition = {\r\n\t\t\t\tx: existingModel.caretX,\r\n\t\t\t\ty: existingModel.caretY\r\n\t\t\t};\r\n\r\n\t\t\tvar i, len;\r\n\r\n\t\t\tif (active.length) {\r\n\t\t\t\tmodel.opacity = 1;\r\n\r\n\t\t\t\tvar labelColors = [];\r\n\t\t\t\tvar labelTextColors = [];\r\n\t\t\t\ttooltipPosition = Chart.Tooltip.positioners[opts.position].call(me, active, me._eventPosition);\r\n\r\n\t\t\t\tvar tooltipItems = [];\r\n\t\t\t\tfor (i = 0, len = active.length; i < len; ++i) {\r\n\t\t\t\t\ttooltipItems.push(createTooltipItem(active[i]));\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If the user provided a filter function, use it to modify the tooltip items\r\n\t\t\t\tif (opts.filter) {\r\n\t\t\t\t\ttooltipItems = tooltipItems.filter(function(a) {\r\n\t\t\t\t\t\treturn opts.filter(a, data);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If the user provided a sorting function, use it to modify the tooltip items\r\n\t\t\t\tif (opts.itemSort) {\r\n\t\t\t\t\ttooltipItems = tooltipItems.sort(function(a, b) {\r\n\t\t\t\t\t\treturn opts.itemSort(a, b, data);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Determine colors for boxes\r\n\t\t\t\thelpers.each(tooltipItems, function(tooltipItem) {\r\n\t\t\t\t\tlabelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, me._chart));\r\n\t\t\t\t\tlabelTextColors.push(opts.callbacks.labelTextColor.call(me, tooltipItem, me._chart));\r\n\t\t\t\t});\r\n\r\n\r\n\t\t\t\t// Build the Text Lines\r\n\t\t\t\tmodel.title = me.getTitle(tooltipItems, data);\r\n\t\t\t\tmodel.beforeBody = me.getBeforeBody(tooltipItems, data);\r\n\t\t\t\tmodel.body = me.getBody(tooltipItems, data);\r\n\t\t\t\tmodel.afterBody = me.getAfterBody(tooltipItems, data);\r\n\t\t\t\tmodel.footer = me.getFooter(tooltipItems, data);\r\n\r\n\t\t\t\t// Initial positioning and colors\r\n\t\t\t\tmodel.x = Math.round(tooltipPosition.x);\r\n\t\t\t\tmodel.y = Math.round(tooltipPosition.y);\r\n\t\t\t\tmodel.caretPadding = opts.caretPadding;\r\n\t\t\t\tmodel.labelColors = labelColors;\r\n\t\t\t\tmodel.labelTextColors = labelTextColors;\r\n\r\n\t\t\t\t// data points\r\n\t\t\t\tmodel.dataPoints = tooltipItems;\r\n\r\n\t\t\t\t// We need to determine alignment of the tooltip\r\n\t\t\t\ttooltipSize = getTooltipSize(this, model);\r\n\t\t\t\talignment = determineAlignment(this, tooltipSize);\r\n\t\t\t\t// Final Size and Position\r\n\t\t\t\tbackgroundPoint = getBackgroundPoint(model, tooltipSize, alignment, me._chart);\r\n\t\t\t} else {\r\n\t\t\t\tmodel.opacity = 0;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.xAlign = alignment.xAlign;\r\n\t\t\tmodel.yAlign = alignment.yAlign;\r\n\t\t\tmodel.x = backgroundPoint.x;\r\n\t\t\tmodel.y = backgroundPoint.y;\r\n\t\t\tmodel.width = tooltipSize.width;\r\n\t\t\tmodel.height = tooltipSize.height;\r\n\r\n\t\t\t// Point where the caret on the tooltip points to\r\n\t\t\tmodel.caretX = tooltipPosition.x;\r\n\t\t\tmodel.caretY = tooltipPosition.y;\r\n\r\n\t\t\tme._model = model;\r\n\r\n\t\t\tif (changed && opts.custom) {\r\n\t\t\t\topts.custom.call(me, model);\r\n\t\t\t}\r\n\r\n\t\t\treturn me;\r\n\t\t},\r\n\t\tdrawCaret: function(tooltipPoint, size) {\r\n\t\t\tvar ctx = this._chart.ctx;\r\n\t\t\tvar vm = this._view;\r\n\t\t\tvar caretPosition = this.getCaretPosition(tooltipPoint, size, vm);\r\n\r\n\t\t\tctx.lineTo(caretPosition.x1, caretPosition.y1);\r\n\t\t\tctx.lineTo(caretPosition.x2, caretPosition.y2);\r\n\t\t\tctx.lineTo(caretPosition.x3, caretPosition.y3);\r\n\t\t},\r\n\t\tgetCaretPosition: function(tooltipPoint, size, vm) {\r\n\t\t\tvar x1, x2, x3, y1, y2, y3;\r\n\t\t\tvar caretSize = vm.caretSize;\r\n\t\t\tvar cornerRadius = vm.cornerRadius;\r\n\t\t\tvar xAlign = vm.xAlign;\r\n\t\t\tvar yAlign = vm.yAlign;\r\n\t\t\tvar ptX = tooltipPoint.x;\r\n\t\t\tvar ptY = tooltipPoint.y;\r\n\t\t\tvar width = size.width;\r\n\t\t\tvar height = size.height;\r\n\r\n\t\t\tif (yAlign === 'center') {\r\n\t\t\t\ty2 = ptY + (height / 2);\r\n\r\n\t\t\t\tif (xAlign === 'left') {\r\n\t\t\t\t\tx1 = ptX;\r\n\t\t\t\t\tx2 = x1 - caretSize;\r\n\t\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\t\ty1 = y2 + caretSize;\r\n\t\t\t\t\ty3 = y2 - caretSize;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tx1 = ptX + width;\r\n\t\t\t\t\tx2 = x1 + caretSize;\r\n\t\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\t\ty1 = y2 - caretSize;\r\n\t\t\t\t\ty3 = y2 + caretSize;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (xAlign === 'left') {\r\n\t\t\t\t\tx2 = ptX + cornerRadius + (caretSize);\r\n\t\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t\t} else if (xAlign === 'right') {\r\n\t\t\t\t\tx2 = ptX + width - cornerRadius - caretSize;\r\n\t\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tx2 = vm.caretX;\r\n\t\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t\t}\r\n\t\t\t\tif (yAlign === 'top') {\r\n\t\t\t\t\ty1 = ptY;\r\n\t\t\t\t\ty2 = y1 - caretSize;\r\n\t\t\t\t\ty3 = y1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\ty1 = ptY + height;\r\n\t\t\t\t\ty2 = y1 + caretSize;\r\n\t\t\t\t\ty3 = y1;\r\n\t\t\t\t\t// invert drawing order\r\n\t\t\t\t\tvar tmp = x3;\r\n\t\t\t\t\tx3 = x1;\r\n\t\t\t\t\tx1 = tmp;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {x1: x1, x2: x2, x3: x3, y1: y1, y2: y2, y3: y3};\r\n\t\t},\r\n\t\tdrawTitle: function(pt, vm, ctx, opacity) {\r\n\t\t\tvar title = vm.title;\r\n\r\n\t\t\tif (title.length) {\r\n\t\t\t\tctx.textAlign = vm._titleAlign;\r\n\t\t\t\tctx.textBaseline = 'top';\r\n\r\n\t\t\t\tvar titleFontSize = vm.titleFontSize;\r\n\t\t\t\tvar titleSpacing = vm.titleSpacing;\r\n\r\n\t\t\t\tctx.fillStyle = mergeOpacity(vm.titleFontColor, opacity);\r\n\t\t\t\tctx.font = helpers.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);\r\n\r\n\t\t\t\tvar i, len;\r\n\t\t\t\tfor (i = 0, len = title.length; i < len; ++i) {\r\n\t\t\t\t\tctx.fillText(title[i], pt.x, pt.y);\r\n\t\t\t\t\tpt.y += titleFontSize + titleSpacing; // Line Height and spacing\r\n\r\n\t\t\t\t\tif (i + 1 === title.length) {\r\n\t\t\t\t\t\tpt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tdrawBody: function(pt, vm, ctx, opacity) {\r\n\t\t\tvar bodyFontSize = vm.bodyFontSize;\r\n\t\t\tvar bodySpacing = vm.bodySpacing;\r\n\t\t\tvar body = vm.body;\r\n\r\n\t\t\tctx.textAlign = vm._bodyAlign;\r\n\t\t\tctx.textBaseline = 'top';\r\n\t\t\tctx.font = helpers.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);\r\n\r\n\t\t\t// Before Body\r\n\t\t\tvar xLinePadding = 0;\r\n\t\t\tvar fillLineOfText = function(line) {\r\n\t\t\t\tctx.fillText(line, pt.x + xLinePadding, pt.y);\r\n\t\t\t\tpt.y += bodyFontSize + bodySpacing;\r\n\t\t\t};\r\n\r\n\t\t\t// Before body lines\r\n\t\t\tctx.fillStyle = mergeOpacity(vm.bodyFontColor, opacity);\r\n\t\t\thelpers.each(vm.beforeBody, fillLineOfText);\r\n\r\n\t\t\tvar drawColorBoxes = vm.displayColors;\r\n\t\t\txLinePadding = drawColorBoxes ? (bodyFontSize + 2) : 0;\r\n\r\n\t\t\t// Draw body lines now\r\n\t\t\thelpers.each(body, function(bodyItem, i) {\r\n\t\t\t\tvar textColor = mergeOpacity(vm.labelTextColors[i], opacity);\r\n\t\t\t\tctx.fillStyle = textColor;\r\n\t\t\t\thelpers.each(bodyItem.before, fillLineOfText);\r\n\r\n\t\t\t\thelpers.each(bodyItem.lines, function(line) {\r\n\t\t\t\t\t// Draw Legend-like boxes if needed\r\n\t\t\t\t\tif (drawColorBoxes) {\r\n\t\t\t\t\t\t// Fill a white rect so that colours merge nicely if the opacity is < 1\r\n\t\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.legendColorBackground, opacity);\r\n\t\t\t\t\t\tctx.fillRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t\t// Border\r\n\t\t\t\t\t\tctx.lineWidth = 1;\r\n\t\t\t\t\t\tctx.strokeStyle = mergeOpacity(vm.labelColors[i].borderColor, opacity);\r\n\t\t\t\t\t\tctx.strokeRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t\t// Inner square\r\n\t\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.labelColors[i].backgroundColor, opacity);\r\n\t\t\t\t\t\tctx.fillRect(pt.x + 1, pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);\r\n\t\t\t\t\t\tctx.fillStyle = textColor;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfillLineOfText(line);\r\n\t\t\t\t});\r\n\r\n\t\t\t\thelpers.each(bodyItem.after, fillLineOfText);\r\n\t\t\t});\r\n\r\n\t\t\t// Reset back to 0 for after body\r\n\t\t\txLinePadding = 0;\r\n\r\n\t\t\t// After body lines\r\n\t\t\thelpers.each(vm.afterBody, fillLineOfText);\r\n\t\t\tpt.y -= bodySpacing; // Remove last body spacing\r\n\t\t},\r\n\t\tdrawFooter: function(pt, vm, ctx, opacity) {\r\n\t\t\tvar footer = vm.footer;\r\n\r\n\t\t\tif (footer.length) {\r\n\t\t\t\tpt.y += vm.footerMarginTop;\r\n\r\n\t\t\t\tctx.textAlign = vm._footerAlign;\r\n\t\t\t\tctx.textBaseline = 'top';\r\n\r\n\t\t\t\tctx.fillStyle = mergeOpacity(vm.footerFontColor, opacity);\r\n\t\t\t\tctx.font = helpers.fontString(vm.footerFontSize, vm._footerFontStyle, vm._footerFontFamily);\r\n\r\n\t\t\t\thelpers.each(footer, function(line) {\r\n\t\t\t\t\tctx.fillText(line, pt.x, pt.y);\r\n\t\t\t\t\tpt.y += vm.footerFontSize + vm.footerSpacing;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tdrawBackground: function(pt, vm, ctx, tooltipSize, opacity) {\r\n\t\t\tctx.fillStyle = mergeOpacity(vm.backgroundColor, opacity);\r\n\t\t\tctx.strokeStyle = mergeOpacity(vm.borderColor, opacity);\r\n\t\t\tctx.lineWidth = vm.borderWidth;\r\n\t\t\tvar xAlign = vm.xAlign;\r\n\t\t\tvar yAlign = vm.yAlign;\r\n\t\t\tvar x = pt.x;\r\n\t\t\tvar y = pt.y;\r\n\t\t\tvar width = tooltipSize.width;\r\n\t\t\tvar height = tooltipSize.height;\r\n\t\t\tvar radius = vm.cornerRadius;\r\n\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x + radius, y);\r\n\t\t\tif (yAlign === 'top') {\r\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(x + width - radius, y);\r\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n\t\t\tif (yAlign === 'center' && xAlign === 'right') {\r\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(x + width, y + height - radius);\r\n\t\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\r\n\t\t\tif (yAlign === 'bottom') {\r\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(x + radius, y + height);\r\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n\t\t\tif (yAlign === 'center' && xAlign === 'left') {\r\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(x, y + radius);\r\n\t\t\tctx.quadraticCurveTo(x, y, x + radius, y);\r\n\t\t\tctx.closePath();\r\n\r\n\t\t\tctx.fill();\r\n\r\n\t\t\tif (vm.borderWidth > 0) {\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\t\t},\r\n\t\tdraw: function() {\r\n\t\t\tvar ctx = this._chart.ctx;\r\n\t\t\tvar vm = this._view;\r\n\r\n\t\t\tif (vm.opacity === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar tooltipSize = {\r\n\t\t\t\twidth: vm.width,\r\n\t\t\t\theight: vm.height\r\n\t\t\t};\r\n\t\t\tvar pt = {\r\n\t\t\t\tx: vm.x,\r\n\t\t\t\ty: vm.y\r\n\t\t\t};\r\n\r\n\t\t\t// IE11/Edge does not like very small opacities, so snap to 0\r\n\t\t\tvar opacity = Math.abs(vm.opacity < 1e-3) ? 0 : vm.opacity;\r\n\r\n\t\t\t// Truthy/falsey value for empty tooltip\r\n\t\t\tvar hasTooltipContent = vm.title.length || vm.beforeBody.length || vm.body.length || vm.afterBody.length || vm.footer.length;\r\n\r\n\t\t\tif (this._options.enabled && hasTooltipContent) {\r\n\t\t\t\t// Draw Background\r\n\t\t\t\tthis.drawBackground(pt, vm, ctx, tooltipSize, opacity);\r\n\r\n\t\t\t\t// Draw Title, Body, and Footer\r\n\t\t\t\tpt.x += vm.xPadding;\r\n\t\t\t\tpt.y += vm.yPadding;\r\n\r\n\t\t\t\t// Titles\r\n\t\t\t\tthis.drawTitle(pt, vm, ctx, opacity);\r\n\r\n\t\t\t\t// Body\r\n\t\t\t\tthis.drawBody(pt, vm, ctx, opacity);\r\n\r\n\t\t\t\t// Footer\r\n\t\t\t\tthis.drawFooter(pt, vm, ctx, opacity);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Handle an event\r\n\t\t * @private\r\n\t\t * @param {IEvent} event - The event to handle\r\n\t\t * @returns {Boolean} true if the tooltip changed\r\n\t\t */\r\n\t\thandleEvent: function(e) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = me._options;\r\n\t\t\tvar changed = false;\r\n\r\n\t\t\tme._lastActive = me._lastActive || [];\r\n\r\n\t\t\t// Find Active Elements for tooltips\r\n\t\t\tif (e.type === 'mouseout') {\r\n\t\t\t\tme._active = [];\r\n\t\t\t} else {\r\n\t\t\t\tme._active = me._chart.getElementsAtEventForMode(e, options.mode, options);\r\n\t\t\t}\r\n\r\n\t\t\t// Remember Last Actives\r\n\t\t\tchanged = !helpers.arrayEquals(me._active, me._lastActive);\r\n\r\n\t\t\t// Only handle target event on tooltip change\r\n\t\t\tif (changed) {\r\n\t\t\t\tme._lastActive = me._active;\r\n\r\n\t\t\t\tif (options.enabled || options.custom) {\r\n\t\t\t\t\tme._eventPosition = {\r\n\t\t\t\t\t\tx: e.x,\r\n\t\t\t\t\t\ty: e.y\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tme.update(true);\r\n\t\t\t\t\tme.pivot();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn changed;\r\n\t\t}\r\n\t});\r\n\r\n\t/**\r\n\t * @namespace Chart.Tooltip.positioners\r\n\t */\r\n\tChart.Tooltip.positioners = {\r\n\t\t/**\r\n\t\t * Average mode places the tooltip at the average position of the elements shown\r\n\t\t * @function Chart.Tooltip.positioners.average\r\n\t\t * @param elements {ChartElement[]} the elements being displayed in the tooltip\r\n\t\t * @returns {Point} tooltip position\r\n\t\t */\r\n\t\taverage: function(elements) {\r\n\t\t\tif (!elements.length) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tvar i, len;\r\n\t\t\tvar x = 0;\r\n\t\t\tvar y = 0;\r\n\t\t\tvar count = 0;\r\n\r\n\t\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\t\tvar el = elements[i];\r\n\t\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\t\tvar pos = el.tooltipPosition();\r\n\t\t\t\t\tx += pos.x;\r\n\t\t\t\t\ty += pos.y;\r\n\t\t\t\t\t++count;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tx: Math.round(x / count),\r\n\t\t\t\ty: Math.round(y / count)\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Gets the tooltip position nearest of the item nearest to the event position\r\n\t\t * @function Chart.Tooltip.positioners.nearest\r\n\t\t * @param elements {Chart.Element[]} the tooltip elements\r\n\t\t * @param eventPosition {Point} the position of the event in canvas coordinates\r\n\t\t * @returns {Point} the tooltip position\r\n\t\t */\r\n\t\tnearest: function(elements, eventPosition) {\r\n\t\t\tvar x = eventPosition.x;\r\n\t\t\tvar y = eventPosition.y;\r\n\t\t\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\t\t\tvar i, len, nearestElement;\r\n\r\n\t\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\t\tvar el = elements[i];\r\n\t\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\t\tvar center = el.getCenterPoint();\r\n\t\t\t\t\tvar d = helpers.distanceBetweenPoints(eventPosition, center);\r\n\r\n\t\t\t\t\tif (d < minDistance) {\r\n\t\t\t\t\t\tminDistance = d;\r\n\t\t\t\t\t\tnearestElement = el;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (nearestElement) {\r\n\t\t\t\tvar tp = nearestElement.tooltipPosition();\r\n\t\t\t\tx = tp.x;\r\n\t\t\t\ty = tp.y;\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y\r\n\t\t\t};\r\n\t\t}\r\n\t};\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/core/core.tooltip.js\n// module id = 842\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar Element = require('../core/core.element');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = Element.extend({\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar\tangle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += 2.0 * Math.PI;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= 2.0 * Math.PI;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += 2.0 * Math.PI;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar sA = vm.startAngle;\r\n\t\tvar eA = vm.endAngle;\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tctx.arc(vm.x, vm.y, vm.outerRadius, sA, eA);\r\n\t\tctx.arc(vm.x, vm.y, vm.innerRadius, eA, sA, true);\r\n\r\n\t\tctx.closePath();\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\r\n\t\tctx.fill();\r\n\t\tctx.lineJoin = 'bevel';\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t}\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/elements/element.arc.js\n// module id = 843\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar Element = require('../core/core.element');\r\nvar helpers = require('../helpers/index');\r\n\r\nvar globalDefaults = defaults.global;\r\n\r\ndefaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: globalDefaults.defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: globalDefaults.defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = Element.extend({\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar index, current, previous, currentVM;\r\n\r\n\t\t// If we are looping, adding the first point again\r\n\t\tif (me._loop && points.length) {\r\n\t\t\tpoints.push(points[0]);\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = vm.borderDashOffset || globalOptionLineElements.borderDashOffset;\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = vm.borderWidth || globalOptionLineElements.borderWidth;\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\t\tlastDrawnIndex = -1;\r\n\r\n\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\tcurrent = points[index];\r\n\t\t\tprevious = helpers.previousItem(points, index);\r\n\t\t\tcurrentVM = current._view;\r\n\r\n\t\t\t// First point moves to it's starting position no matter what\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tif (!currentVM.skip) {\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tprevious = lastDrawnIndex === -1 ? previous : points[lastDrawnIndex];\r\n\r\n\t\t\t\tif (!currentVM.skip) {\r\n\t\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Line to next point\r\n\t\t\t\t\t\thelpers.canvas.lineTo(ctx, previous._view, current._view);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/elements/element.line.js\n// module id = 844\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar Element = require('../core/core.element');\r\nvar helpers = require('../helpers/index');\r\n\r\nvar defaultColor = defaults.global.defaultColor;\r\n\r\ndefaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nmodule.exports = Element.extend({\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar model = this._model;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar color = helpers.color;\r\n\t\tvar errMargin = 1.01; // 1.01 is margin for Accumulated error. (Especially Edge, IE.)\r\n\t\tvar ratio = 0;\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\tctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth);\r\n\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\r\n\t\t// Cliping for Points.\r\n\t\t// going out from inner charArea?\r\n\t\tif ((chartArea !== undefined) && ((model.x < chartArea.left) || (chartArea.right * errMargin < model.x) || (model.y < chartArea.top) || (chartArea.bottom * errMargin < model.y))) {\r\n\t\t\t// Point fade out\r\n\t\t\tif (model.x < chartArea.left) {\r\n\t\t\t\tratio = (x - model.x) / (chartArea.left - model.x);\r\n\t\t\t} else if (chartArea.right * errMargin < model.x) {\r\n\t\t\t\tratio = (model.x - x) / (model.x - chartArea.right);\r\n\t\t\t} else if (model.y < chartArea.top) {\r\n\t\t\t\tratio = (y - model.y) / (chartArea.top - model.y);\r\n\t\t\t} else if (chartArea.bottom * errMargin < model.y) {\r\n\t\t\t\tratio = (model.y - y) / (model.y - chartArea.bottom);\r\n\t\t\t}\r\n\t\t\tratio = Math.round(ratio * 100) / 100;\r\n\t\t\tctx.strokeStyle = color(ctx.strokeStyle).alpha(ratio).rgbString();\r\n\t\t\tctx.fillStyle = color(ctx.fillStyle).alpha(ratio).rgbString();\r\n\t\t}\r\n\r\n\t\thelpers.canvas.drawPoint(ctx, pointStyle, radius, x, y);\r\n\t}\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/elements/element.point.js\n// module id = 845\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar Element = require('../core/core.element');\r\n\r\ndefaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaults.global.defaultColor,\r\n\t\t\tborderColor: defaults.global.defaultColor,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(bar) {\r\n\treturn bar._view.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(bar) {\r\n\tvar vm = bar._view;\r\n\tvar x1, x2, y1, y2;\r\n\r\n\tif (isVertical(bar)) {\r\n\t\t// vertical\r\n\t\tvar halfWidth = vm.width / 2;\r\n\t\tx1 = vm.x - halfWidth;\r\n\t\tx2 = vm.x + halfWidth;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\t// horizontal bar\r\n\t\tvar halfHeight = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - halfHeight;\r\n\t\ty2 = vm.y + halfHeight;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nmodule.exports = Element.extend({\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar left, right, top, bottom, signX, signY, borderSkipped;\r\n\t\tvar borderWidth = vm.borderWidth;\r\n\r\n\t\tif (!vm.horizontal) {\r\n\t\t\t// bar\r\n\t\t\tleft = vm.x - vm.width / 2;\r\n\t\t\tright = vm.x + vm.width / 2;\r\n\t\t\ttop = vm.y;\r\n\t\t\tbottom = vm.base;\r\n\t\t\tsignX = 1;\r\n\t\t\tsignY = bottom > top ? 1 : -1;\r\n\t\t\tborderSkipped = vm.borderSkipped || 'bottom';\r\n\t\t} else {\r\n\t\t\t// horizontal bar\r\n\t\t\tleft = vm.base;\r\n\t\t\tright = vm.x;\r\n\t\t\ttop = vm.y - vm.height / 2;\r\n\t\t\tbottom = vm.y + vm.height / 2;\r\n\t\t\tsignX = right > left ? 1 : -1;\r\n\t\t\tsignY = 1;\r\n\t\t\tborderSkipped = vm.borderSkipped || 'left';\r\n\t\t}\r\n\r\n\t\t// Canvas doesn't allow us to stroke inside the width so we can\r\n\t\t// adjust the sizes to fit if we're setting a stroke on the line\r\n\t\tif (borderWidth) {\r\n\t\t\t// borderWidth shold be less than bar width and bar height.\r\n\t\t\tvar barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\r\n\t\t\tborderWidth = borderWidth > barSize ? barSize : borderWidth;\r\n\t\t\tvar halfStroke = borderWidth / 2;\r\n\t\t\t// Adjust borderWidth when bar top position is near vm.base(zero).\r\n\t\t\tvar borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\r\n\t\t\tvar borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\r\n\t\t\tvar borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\r\n\t\t\tvar borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\r\n\t\t\t// not become a vertical line?\r\n\t\t\tif (borderLeft !== borderRight) {\r\n\t\t\t\ttop = borderTop;\r\n\t\t\t\tbottom = borderBottom;\r\n\t\t\t}\r\n\t\t\t// not become a horizontal line?\r\n\t\t\tif (borderTop !== borderBottom) {\r\n\t\t\t\tleft = borderLeft;\r\n\t\t\t\tright = borderRight;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\t\tctx.lineWidth = borderWidth;\r\n\r\n\t\t// Corner points, from bottom-left to bottom-right clockwise\r\n\t\t// | 1 2 |\r\n\t\t// | 0 3 |\r\n\t\tvar corners = [\r\n\t\t\t[left, bottom],\r\n\t\t\t[left, top],\r\n\t\t\t[right, top],\r\n\t\t\t[right, bottom]\r\n\t\t];\r\n\r\n\t\t// Find first (starting) corner with fallback to 'bottom'\r\n\t\tvar borders = ['bottom', 'left', 'top', 'right'];\r\n\t\tvar startCorner = borders.indexOf(borderSkipped, 0);\r\n\t\tif (startCorner === -1) {\r\n\t\t\tstartCorner = 0;\r\n\t\t}\r\n\r\n\t\tfunction cornerAt(index) {\r\n\t\t\treturn corners[(startCorner + index) % 4];\r\n\t\t}\r\n\r\n\t\t// Draw rectangle from 'startCorner'\r\n\t\tvar corner = cornerAt(0);\r\n\t\tctx.moveTo(corner[0], corner[1]);\r\n\r\n\t\tfor (var i = 1; i < 4; i++) {\r\n\t\t\tcorner = cornerAt(i);\r\n\t\t\tctx.lineTo(corner[0], corner[1]);\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tif (borderWidth) {\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar inRange = false;\r\n\r\n\t\tif (this._view) {\r\n\t\t\tvar bounds = getBarBounds(this);\r\n\t\t\tinRange = mouseX >= bounds.left && mouseX <= bounds.right && mouseY >= bounds.top && mouseY <= bounds.bottom;\r\n\t\t}\r\n\r\n\t\treturn inRange;\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar inRange = false;\r\n\t\tvar bounds = getBarBounds(me);\r\n\r\n\t\tif (isVertical(me)) {\r\n\t\t\tinRange = mouseX >= bounds.left && mouseX <= bounds.right;\r\n\t\t} else {\r\n\t\t\tinRange = mouseY >= bounds.top && mouseY <= bounds.bottom;\r\n\t\t}\r\n\r\n\t\treturn inRange;\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\tvar bounds = getBarBounds(this);\r\n\t\treturn mouseX >= bounds.left && mouseX <= bounds.right;\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\tvar bounds = getBarBounds(this);\r\n\t\treturn mouseY >= bounds.top && mouseY <= bounds.bottom;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(this)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.width * Math.abs(vm.y - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/elements/element.rectangle.js\n// module id = 846\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('./helpers.core');\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports = module.exports = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {Number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {Number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {Number} width - The rectangle's width.\r\n\t * @param {Number} height - The rectangle's height.\r\n\t * @param {Number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar rx = Math.min(radius, width / 2);\r\n\t\t\tvar ry = Math.min(radius, height / 2);\r\n\r\n\t\t\tctx.moveTo(x + rx, y);\r\n\t\t\tctx.lineTo(x + width - rx, y);\r\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + ry);\r\n\t\t\tctx.lineTo(x + width, y + height - ry);\r\n\t\t\tctx.quadraticCurveTo(x + width, y + height, x + width - rx, y + height);\r\n\t\t\tctx.lineTo(x + rx, y + height);\r\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - ry);\r\n\t\t\tctx.lineTo(x, y + ry);\r\n\t\t\tctx.quadraticCurveTo(x, y, x + rx, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y) {\r\n\t\tvar type, edgeLength, xOffset, yOffset, height, size;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.drawImage(style, x - style.width / 2, y - style.height / 2, style.width, style.height);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(x, y, radius, 0, Math.PI * 2);\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.fill();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.beginPath();\r\n\t\t\tedgeLength = 3 * radius / Math.sqrt(3);\r\n\t\t\theight = edgeLength * Math.sqrt(3) / 2;\r\n\t\t\tctx.moveTo(x - edgeLength / 2, y + height / 3);\r\n\t\t\tctx.lineTo(x + edgeLength / 2, y + height / 3);\r\n\t\t\tctx.lineTo(x, y - 2 * height / 3);\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.fill();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tsize = 1 / Math.SQRT2 * radius;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.fillRect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\tctx.strokeRect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\tvar offset = radius / Math.SQRT2;\r\n\t\t\tvar leftX = x - offset;\r\n\t\t\tvar topY = y - offset;\r\n\t\t\tvar sideSize = Math.SQRT2 * radius;\r\n\t\t\tctx.beginPath();\r\n\t\t\tthis.roundedRect(ctx, leftX, topY, sideSize, sideSize, radius / 2);\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.fill();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRot':\r\n\t\t\tsize = 1 / Math.SQRT2 * radius;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x - size, y);\r\n\t\t\tctx.lineTo(x, y + size);\r\n\t\t\tctx.lineTo(x + size, y);\r\n\t\t\tctx.lineTo(x, y - size);\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.fill();\r\n\t\t\tbreak;\r\n\t\tcase 'cross':\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x, y + radius);\r\n\t\t\tctx.lineTo(x, y - radius);\r\n\t\t\tctx.moveTo(x - radius, y);\r\n\t\t\tctx.lineTo(x + radius, y);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\tctx.beginPath();\r\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\r\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x - xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y - yOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x, y + radius);\r\n\t\t\tctx.lineTo(x, y - radius);\r\n\t\t\tctx.moveTo(x - radius, y);\r\n\t\t\tctx.lineTo(x + radius, y);\r\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\r\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x - xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y - yOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x - radius, y);\r\n\t\t\tctx.lineTo(x + radius, y);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + radius, y);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tif (target.steppedLine) {\r\n\t\t\tif ((target.steppedLine === 'after' && !flip) || (target.steppedLine !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.clear = exports.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports.roundedRect.apply(exports, arguments);\r\n\tctx.closePath();\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/helpers/helpers.canvas.js\n// module id = 847\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('./helpers.core');\r\n\r\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nmodule.exports = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.easingEffects = effects;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/helpers/helpers.easing.js\n// module id = 848\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('./helpers.core');\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nmodule.exports = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {Number|String} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {Number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {Number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {Number|Object} value - If a number, set the value to all TRBL component,\r\n\t *  else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {Object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array[]} inputs - An array of values, falling back to the last value.\r\n\t * @param {Object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {Number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index) {\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/helpers/helpers.options.js\n// module id = 849\n// module chunks = 3","/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nmodule.exports = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/platforms/platform.basic.js\n// module id = 850\n// module chunks = 3","/**\r\n * Chart.Platform implementation for targeting a web browser\r\n */\r\n\r\n'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\n\r\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {Number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addEventListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeEventListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar resizer = document.createElement('div');\r\n\tvar cls = CSS_PREFIX + 'size-monitor';\r\n\tvar maxSize = 1000000;\r\n\tvar style =\r\n\t\t'position:absolute;' +\r\n\t\t'left:0;' +\r\n\t\t'top:0;' +\r\n\t\t'right:0;' +\r\n\t\t'bottom:0;' +\r\n\t\t'overflow:hidden;' +\r\n\t\t'pointer-events:none;' +\r\n\t\t'visibility:hidden;' +\r\n\t\t'z-index:-1;';\r\n\r\n\tresizer.style.cssText = style;\r\n\tresizer.className = cls;\r\n\tresizer.innerHTML =\r\n\t\t'<div class=\"' + cls + '-expand\" style=\"' + style + '\">' +\r\n\t\t\t'<div style=\"' +\r\n\t\t\t\t'position:absolute;' +\r\n\t\t\t\t'width:' + maxSize + 'px;' +\r\n\t\t\t\t'height:' + maxSize + 'px;' +\r\n\t\t\t\t'left:0;' +\r\n\t\t\t\t'top:0\">' +\r\n\t\t\t'</div>' +\r\n\t\t'</div>' +\r\n\t\t'<div class=\"' + cls + '-shrink\" style=\"' + style + '\">' +\r\n\t\t\t'<div style=\"' +\r\n\t\t\t\t'position:absolute;' +\r\n\t\t\t\t'width:200%;' +\r\n\t\t\t\t'height:200%;' +\r\n\t\t\t\t'left:0; ' +\r\n\t\t\t\t'top:0\">' +\r\n\t\t\t'</div>' +\r\n\t\t'</div>';\r\n\r\n\tvar expand = resizer.childNodes[0];\r\n\tvar shrink = resizer.childNodes[1];\r\n\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddEventListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddEventListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddEventListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveEventListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\treturn listener(createEvent('resize', chart));\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\nfunction injectCSS(platform, css) {\r\n\t// http://stackoverflow.com/q/3922139\r\n\tvar style = platform._style || document.createElement('style');\r\n\tif (!platform._style) {\r\n\t\tplatform._style = style;\r\n\t\tcss = '/* Chart.js */\\n' + css;\r\n\t\tstyle.setAttribute('type', 'text/css');\r\n\t\tdocument.getElementsByTagName('head')[0].appendChild(style);\r\n\t}\r\n\r\n\tstyle.appendChild(document.createTextNode(css));\r\n}\r\n\r\nmodule.exports = {\r\n\t/**\r\n\t * This property holds whether this platform is enabled for the current environment.\r\n\t * Currently used by platform.js to select the proper implementation.\r\n\t * @private\r\n\t */\r\n\t_enabled: typeof window !== 'undefined' && typeof document !== 'undefined',\r\n\r\n\tinitialize: function() {\r\n\t\tvar keyframes = 'from{opacity:0.99}to{opacity:1}';\r\n\r\n\t\tinjectCSS(this,\r\n\t\t\t// DOM rendering detection\r\n\t\t\t// https://davidwalsh.name/detect-node-insertion\r\n\t\t\t'@-webkit-keyframes ' + CSS_RENDER_ANIMATION + '{' + keyframes + '}' +\r\n\t\t\t'@keyframes ' + CSS_RENDER_ANIMATION + '{' + keyframes + '}' +\r\n\t\t\t'.' + CSS_RENDER_MONITOR + '{' +\r\n\t\t\t\t'-webkit-animation:' + CSS_RENDER_ANIMATION + ' 0.001s;' +\r\n\t\t\t\t'animation:' + CSS_RENDER_ANIMATION + ' 0.001s;' +\r\n\t\t\t'}'\r\n\t\t);\r\n\t},\r\n\r\n\tacquireContext: function(item, config) {\r\n\t\tif (typeof item === 'string') {\r\n\t\t\titem = document.getElementById(item);\r\n\t\t} else if (item.length) {\r\n\t\t\t// Support for array based queries (such as jQuery)\r\n\t\t\titem = item[0];\r\n\t\t}\r\n\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\t// To prevent canvas fingerprinting, some add-ons undefine the getContext\r\n\t\t// method, for example: https://github.com/kkapsner/CanvasBlocker\r\n\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\tvar context = item && item.getContext && item.getContext('2d');\r\n\r\n\t\t// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is\r\n\t\t// inside an iframe or when running in a protected environment. We could guess the\r\n\t\t// types from their toString() value but let's keep things flexible and assume it's\r\n\t\t// a sufficient condition if the item has a context2D which has item as `canvas`.\r\n\t\t// https://github.com/chartjs/Chart.js/issues/3887\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4102\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4152\r\n\t\tif (context && context.canvas === item) {\r\n\t\t\tinitCanvas(item, config);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\treleaseContext: function(context) {\r\n\t\tvar canvas = context.canvas;\r\n\t\tif (!canvas[EXPANDO_KEY]) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar initial = canvas[EXPANDO_KEY].initial;\r\n\t\t['height', 'width'].forEach(function(prop) {\r\n\t\t\tvar value = initial[prop];\r\n\t\t\tif (helpers.isNullOrUndef(value)) {\r\n\t\t\t\tcanvas.removeAttribute(prop);\r\n\t\t\t} else {\r\n\t\t\t\tcanvas.setAttribute(prop, value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers.each(initial.style || {}, function(value, key) {\r\n\t\t\tcanvas.style[key] = value;\r\n\t\t});\r\n\r\n\t\t// The canvas render size might have been changed (and thus the state stack discarded),\r\n\t\t// we can't use save() and restore() to restore the initial state. So make sure that at\r\n\t\t// least the canvas context is reset to the default state by setting the canvas width.\r\n\t\t// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\r\n\t\tcanvas.width = canvas.width;\r\n\r\n\t\tdelete canvas[EXPANDO_KEY];\r\n\t},\r\n\r\n\taddEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\taddResizeListener(canvas, listener, chart);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || (listener[EXPANDO_KEY] = {});\r\n\t\tvar proxies = expando.proxies || (expando.proxies = {});\r\n\t\tvar proxy = proxies[chart.id + '_' + type] = function(event) {\r\n\t\t\tlistener(fromNativeEvent(event, chart));\r\n\t\t};\r\n\r\n\t\taddEventListener(canvas, type, proxy);\r\n\t},\r\n\r\n\tremoveEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\tremoveResizeListener(canvas, listener);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || {};\r\n\t\tvar proxies = expando.proxies || {};\r\n\t\tvar proxy = proxies[chart.id + '_' + type];\r\n\t\tif (!proxy) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tremoveEventListener(canvas, type, proxy);\r\n\t}\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.addEventListener instead.\r\n * EventTarget.addEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\r\n * @function Chart.helpers.addEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.addEvent = addEventListener;\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.removeEventListener instead.\r\n * EventTarget.removeEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener\r\n * @function Chart.helpers.removeEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.removeEvent = removeEventListener;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/platforms/platform.dom.js\n// module id = 851\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = {};\r\nmodule.exports.filler = require('./plugin.filler');\r\nmodule.exports.legend = require('./plugin.legend');\r\nmodule.exports.title = require('./plugin.title');\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/plugins/index.js\n// module id = 852\n// module chunks = 3","/**\r\n * Plugin based on discussion from the following Chart.js issues:\r\n * @see https://github.com/chartjs/Chart.js/issues/2380#issuecomment-279961569\r\n * @see https://github.com/chartjs/Chart.js/issues/2440#issuecomment-256461897\r\n */\r\n\r\n'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar elements = require('../elements/index');\r\nvar helpers = require('../helpers/index');\r\n\r\ndefaults._set('global', {\r\n\tplugins: {\r\n\t\tfiller: {\r\n\t\t\tpropagate: true\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar mappers = {\r\n\tdataset: function(source) {\r\n\t\tvar index = source.fill;\r\n\t\tvar chart = source.chart;\r\n\t\tvar meta = chart.getDatasetMeta(index);\r\n\t\tvar visible = meta && chart.isDatasetVisible(index);\r\n\t\tvar points = (visible && meta.dataset._children) || [];\r\n\t\tvar length = points.length || 0;\r\n\r\n\t\treturn !length ? null : function(point, i) {\r\n\t\t\treturn (i < length && points[i]._view) || null;\r\n\t\t};\r\n\t},\r\n\r\n\tboundary: function(source) {\r\n\t\tvar boundary = source.boundary;\r\n\t\tvar x = boundary ? boundary.x : null;\r\n\t\tvar y = boundary ? boundary.y : null;\r\n\r\n\t\treturn function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tx: x === null ? point.x : x,\r\n\t\t\t\ty: y === null ? point.y : y,\r\n\t\t\t};\r\n\t\t};\r\n\t}\r\n};\r\n\r\n// @todo if (fill[0] === '#')\r\nfunction decodeFill(el, index, count) {\r\n\tvar model = el._model || {};\r\n\tvar fill = model.fill;\r\n\tvar target;\r\n\r\n\tif (fill === undefined) {\r\n\t\tfill = !!model.backgroundColor;\r\n\t}\r\n\r\n\tif (fill === false || fill === null) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (fill === true) {\r\n\t\treturn 'origin';\r\n\t}\r\n\r\n\ttarget = parseFloat(fill, 10);\r\n\tif (isFinite(target) && Math.floor(target) === target) {\r\n\t\tif (fill[0] === '-' || fill[0] === '+') {\r\n\t\t\ttarget = index + target;\r\n\t\t}\r\n\r\n\t\tif (target === index || target < 0 || target >= count) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t}\r\n\r\n\tswitch (fill) {\r\n\t// compatibility\r\n\tcase 'bottom':\r\n\t\treturn 'start';\r\n\tcase 'top':\r\n\t\treturn 'end';\r\n\tcase 'zero':\r\n\t\treturn 'origin';\r\n\t// supported boundaries\r\n\tcase 'origin':\r\n\tcase 'start':\r\n\tcase 'end':\r\n\t\treturn fill;\r\n\t// invalid fill values\r\n\tdefault:\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction computeBoundary(source) {\r\n\tvar model = source.el._model || {};\r\n\tvar scale = source.el._scale || {};\r\n\tvar fill = source.fill;\r\n\tvar target = null;\r\n\tvar horizontal;\r\n\r\n\tif (isFinite(fill)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t// Backward compatibility: until v3, we still need to support boundary values set on\r\n\t// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and\r\n\t// controllers might still use it (e.g. the Smith chart).\r\n\r\n\tif (fill === 'start') {\r\n\t\ttarget = model.scaleBottom === undefined ? scale.bottom : model.scaleBottom;\r\n\t} else if (fill === 'end') {\r\n\t\ttarget = model.scaleTop === undefined ? scale.top : model.scaleTop;\r\n\t} else if (model.scaleZero !== undefined) {\r\n\t\ttarget = model.scaleZero;\r\n\t} else if (scale.getBasePosition) {\r\n\t\ttarget = scale.getBasePosition();\r\n\t} else if (scale.getBasePixel) {\r\n\t\ttarget = scale.getBasePixel();\r\n\t}\r\n\r\n\tif (target !== undefined && target !== null) {\r\n\t\tif (target.x !== undefined && target.y !== undefined) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\tif (typeof target === 'number' && isFinite(target)) {\r\n\t\t\thorizontal = scale.isHorizontal();\r\n\t\t\treturn {\r\n\t\t\t\tx: horizontal ? target : null,\r\n\t\t\t\ty: horizontal ? null : target\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\treturn null;\r\n}\r\n\r\nfunction resolveTarget(sources, index, propagate) {\r\n\tvar source = sources[index];\r\n\tvar fill = source.fill;\r\n\tvar visited = [index];\r\n\tvar target;\r\n\r\n\tif (!propagate) {\r\n\t\treturn fill;\r\n\t}\r\n\r\n\twhile (fill !== false && visited.indexOf(fill) === -1) {\r\n\t\tif (!isFinite(fill)) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\ttarget = sources[fill];\r\n\t\tif (!target) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (target.visible) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\tvisited.push(fill);\r\n\t\tfill = target.fill;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\nfunction createMapper(source) {\r\n\tvar fill = source.fill;\r\n\tvar type = 'dataset';\r\n\r\n\tif (fill === false) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (!isFinite(fill)) {\r\n\t\ttype = 'boundary';\r\n\t}\r\n\r\n\treturn mappers[type](source);\r\n}\r\n\r\nfunction isDrawable(point) {\r\n\treturn point && !point.skip;\r\n}\r\n\r\nfunction drawArea(ctx, curve0, curve1, len0, len1) {\r\n\tvar i;\r\n\r\n\tif (!len0 || !len1) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// building first area curve (normal)\r\n\tctx.moveTo(curve0[0].x, curve0[0].y);\r\n\tfor (i = 1; i < len0; ++i) {\r\n\t\thelpers.canvas.lineTo(ctx, curve0[i - 1], curve0[i]);\r\n\t}\r\n\r\n\t// joining the two area curves\r\n\tctx.lineTo(curve1[len1 - 1].x, curve1[len1 - 1].y);\r\n\r\n\t// building opposite area curve (reverse)\r\n\tfor (i = len1 - 1; i > 0; --i) {\r\n\t\thelpers.canvas.lineTo(ctx, curve1[i], curve1[i - 1], true);\r\n\t}\r\n}\r\n\r\nfunction doFill(ctx, points, mapper, view, color, loop) {\r\n\tvar count = points.length;\r\n\tvar span = view.spanGaps;\r\n\tvar curve0 = [];\r\n\tvar curve1 = [];\r\n\tvar len0 = 0;\r\n\tvar len1 = 0;\r\n\tvar i, ilen, index, p0, p1, d0, d1;\r\n\r\n\tctx.beginPath();\r\n\r\n\tfor (i = 0, ilen = (count + !!loop); i < ilen; ++i) {\r\n\t\tindex = i % count;\r\n\t\tp0 = points[index]._view;\r\n\t\tp1 = mapper(p0, index, view);\r\n\t\td0 = isDrawable(p0);\r\n\t\td1 = isDrawable(p1);\r\n\r\n\t\tif (d0 && d1) {\r\n\t\t\tlen0 = curve0.push(p0);\r\n\t\t\tlen1 = curve1.push(p1);\r\n\t\t} else if (len0 && len1) {\r\n\t\t\tif (!span) {\r\n\t\t\t\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\t\t\t\tlen0 = len1 = 0;\r\n\t\t\t\tcurve0 = [];\r\n\t\t\t\tcurve1 = [];\r\n\t\t\t} else {\r\n\t\t\t\tif (d0) {\r\n\t\t\t\t\tcurve0.push(p0);\r\n\t\t\t\t}\r\n\t\t\t\tif (d1) {\r\n\t\t\t\t\tcurve1.push(p1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\r\n\tctx.closePath();\r\n\tctx.fillStyle = color;\r\n\tctx.fill();\r\n}\r\n\r\nmodule.exports = {\r\n\tid: 'filler',\r\n\r\n\tafterDatasetsUpdate: function(chart, options) {\r\n\t\tvar count = (chart.data.datasets || []).length;\r\n\t\tvar propagate = options.propagate;\r\n\t\tvar sources = [];\r\n\t\tvar meta, i, el, source;\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\tel = meta.dataset;\r\n\t\t\tsource = null;\r\n\r\n\t\t\tif (el && el._model && el instanceof elements.Line) {\r\n\t\t\t\tsource = {\r\n\t\t\t\t\tvisible: chart.isDatasetVisible(i),\r\n\t\t\t\t\tfill: decodeFill(el, i, count),\r\n\t\t\t\t\tchart: chart,\r\n\t\t\t\t\tel: el\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tmeta.$filler = source;\r\n\t\t\tsources.push(source);\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!source) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tsource.fill = resolveTarget(sources, i, propagate);\r\n\t\t\tsource.boundary = computeBoundary(source);\r\n\t\t\tsource.mapper = createMapper(source);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeDatasetDraw: function(chart, args) {\r\n\t\tvar meta = args.meta.$filler;\r\n\t\tif (!meta) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ctx = chart.ctx;\r\n\t\tvar el = meta.el;\r\n\t\tvar view = el._view;\r\n\t\tvar points = el._children || [];\r\n\t\tvar mapper = meta.mapper;\r\n\t\tvar color = view.backgroundColor || defaults.global.defaultColor;\r\n\r\n\t\tif (mapper && color && points.length) {\r\n\t\t\thelpers.canvas.clipArea(ctx, chart.chartArea);\r\n\t\t\tdoFill(ctx, points, mapper, view, color, el._loop);\r\n\t\t\thelpers.canvas.unclipArea(ctx);\r\n\t\t}\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/plugins/plugin.filler.js\n// module id = 853\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar Element = require('../core/core.element');\r\nvar helpers = require('../helpers/index');\r\nvar layouts = require('../core/core.layouts');\r\n\r\nvar noop = helpers.noop;\r\n\r\ndefaults._set('global', {\r\n\tlegend: {\r\n\t\tdisplay: true,\r\n\t\tposition: 'top',\r\n\t\tfullWidth: true,\r\n\t\treverse: false,\r\n\t\tweight: 1000,\r\n\r\n\t\t// a callback that will handle\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.datasetIndex;\r\n\t\t\tvar ci = this.chart;\r\n\t\t\tvar meta = ci.getDatasetMeta(index);\r\n\r\n\t\t\t// See controller.isDatasetVisible comment\r\n\t\t\tmeta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;\r\n\r\n\t\t\t// We hid a dataset ... rerender the chart\r\n\t\t\tci.update();\r\n\t\t},\r\n\r\n\t\tonHover: null,\r\n\r\n\t\tlabels: {\r\n\t\t\tboxWidth: 40,\r\n\t\t\tpadding: 10,\r\n\t\t\t// Generates labels shown in the legend\r\n\t\t\t// Valid properties to return:\r\n\t\t\t// text : text to display\r\n\t\t\t// fillStyle : fill of coloured box\r\n\t\t\t// strokeStyle: stroke of coloured box\r\n\t\t\t// hidden : if this legend item refers to a hidden item\r\n\t\t\t// lineCap : cap style for line\r\n\t\t\t// lineDash\r\n\t\t\t// lineDashOffset :\r\n\t\t\t// lineJoin :\r\n\t\t\t// lineWidth :\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\treturn helpers.isArray(data.datasets) ? data.datasets.map(function(dataset, i) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\ttext: dataset.label,\r\n\t\t\t\t\t\tfillStyle: (!helpers.isArray(dataset.backgroundColor) ? dataset.backgroundColor : dataset.backgroundColor[0]),\r\n\t\t\t\t\t\thidden: !chart.isDatasetVisible(i),\r\n\t\t\t\t\t\tlineCap: dataset.borderCapStyle,\r\n\t\t\t\t\t\tlineDash: dataset.borderDash,\r\n\t\t\t\t\t\tlineDashOffset: dataset.borderDashOffset,\r\n\t\t\t\t\t\tlineJoin: dataset.borderJoinStyle,\r\n\t\t\t\t\t\tlineWidth: dataset.borderWidth,\r\n\t\t\t\t\t\tstrokeStyle: dataset.borderColor,\r\n\t\t\t\t\t\tpointStyle: dataset.pointStyle,\r\n\r\n\t\t\t\t\t\t// Below is extra data used for toggling the datasets\r\n\t\t\t\t\t\tdatasetIndex: i\r\n\t\t\t\t\t};\r\n\t\t\t\t}, this) : [];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tlegendCallback: function(chart) {\r\n\t\tvar text = [];\r\n\t\ttext.push('<ul class=\"' + chart.id + '-legend\">');\r\n\t\tfor (var i = 0; i < chart.data.datasets.length; i++) {\r\n\t\t\ttext.push('<li><span style=\"background-color:' + chart.data.datasets[i].backgroundColor + '\"></span>');\r\n\t\t\tif (chart.data.datasets[i].label) {\r\n\t\t\t\ttext.push(chart.data.datasets[i].label);\r\n\t\t\t}\r\n\t\t\ttext.push('</li>');\r\n\t\t}\r\n\t\ttext.push('</ul>');\r\n\t\treturn text.join('');\r\n\t}\r\n});\r\n\r\n/**\r\n * Helper function to get the box width based on the usePointStyle option\r\n * @param labelopts {Object} the label options on the legend\r\n * @param fontSize {Number} the label font size\r\n * @return {Number} width of the color box area\r\n */\r\nfunction getBoxWidth(labelOpts, fontSize) {\r\n\treturn labelOpts.usePointStyle ?\r\n\t\tfontSize * Math.SQRT2 :\r\n\t\tlabelOpts.boxWidth;\r\n}\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Legend = Element.extend({\r\n\r\n\tinitialize: function(config) {\r\n\t\thelpers.extend(this, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tthis.legendHitBoxes = [];\r\n\r\n\t\t// Are we in doughnut mode which has a different data type\r\n\t\tthis.doughnutMode = false;\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\t// Any function defined here is inherited by all legend types.\r\n\t// Any function can be extended by the legend type\r\n\r\n\tbeforeUpdate: noop,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\t},\r\n\tafterUpdate: noop,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop,\r\n\tbuildLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar labelOpts = me.options.labels || {};\r\n\t\tvar legendItems = helpers.callback(labelOpts.generateLabels, [me.chart], me) || [];\r\n\r\n\t\tif (labelOpts.filter) {\r\n\t\t\tlegendItems = legendItems.filter(function(item) {\r\n\t\t\t\treturn labelOpts.filter(item, me.chart.data);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (me.options.reverse) {\r\n\t\t\tlegendItems.reverse();\r\n\t\t}\r\n\r\n\t\tme.legendItems = legendItems;\r\n\t},\r\n\tafterBuildLabels: noop,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar display = opts.display;\r\n\r\n\t\tvar ctx = me.ctx;\r\n\r\n\t\tvar globalDefault = defaults.global;\r\n\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\t\tvar fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize);\r\n\t\tvar fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle);\r\n\t\tvar fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily);\r\n\t\tvar labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\r\n\r\n\t\t// Reset hit boxes\r\n\t\tvar hitboxes = me.legendHitBoxes = [];\r\n\r\n\t\tvar minSize = me.minSize;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\tminSize.width = me.maxWidth; // fill all the width\r\n\t\t\tminSize.height = display ? 10 : 0;\r\n\t\t} else {\r\n\t\t\tminSize.width = display ? 10 : 0;\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t}\r\n\r\n\t\t// Increase sizes here\r\n\t\tif (display) {\r\n\t\t\tctx.font = labelFont;\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\t// Labels\r\n\r\n\t\t\t\t// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\r\n\t\t\t\tvar lineWidths = me.lineWidths = [0];\r\n\t\t\t\tvar totalHeight = me.legendItems.length ? fontSize + (labelOpts.padding) : 0;\r\n\r\n\t\t\t\tctx.textAlign = 'left';\r\n\t\t\t\tctx.textBaseline = 'top';\r\n\r\n\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\t\tvar width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\t\tif (lineWidths[lineWidths.length - 1] + width + labelOpts.padding >= me.width) {\r\n\t\t\t\t\t\ttotalHeight += fontSize + (labelOpts.padding);\r\n\t\t\t\t\t\tlineWidths[lineWidths.length] = me.left;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\twidth: width,\r\n\t\t\t\t\t\theight: fontSize\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tlineWidths[lineWidths.length - 1] += width + labelOpts.padding;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tminSize.height += totalHeight;\r\n\r\n\t\t\t} else {\r\n\t\t\t\tvar vPadding = labelOpts.padding;\r\n\t\t\t\tvar columnWidths = me.columnWidths = [];\r\n\t\t\t\tvar totalWidth = labelOpts.padding;\r\n\t\t\t\tvar currentColWidth = 0;\r\n\t\t\t\tvar currentColHeight = 0;\r\n\t\t\t\tvar itemHeight = fontSize + vPadding;\r\n\r\n\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\t\tvar itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\t\t// If too tall, go to new column\r\n\t\t\t\t\tif (currentColHeight + itemHeight > minSize.height) {\r\n\t\t\t\t\t\ttotalWidth += currentColWidth + labelOpts.padding;\r\n\t\t\t\t\t\tcolumnWidths.push(currentColWidth); // previous column width\r\n\r\n\t\t\t\t\t\tcurrentColWidth = 0;\r\n\t\t\t\t\t\tcurrentColHeight = 0;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Get max width\r\n\t\t\t\t\tcurrentColWidth = Math.max(currentColWidth, itemWidth);\r\n\t\t\t\t\tcurrentColHeight += itemHeight;\r\n\r\n\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\twidth: itemWidth,\r\n\t\t\t\t\t\theight: fontSize\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\r\n\t\t\t\ttotalWidth += currentColWidth;\r\n\t\t\t\tcolumnWidths.push(currentColWidth);\r\n\t\t\t\tminSize.width += totalWidth;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.width = minSize.width;\r\n\t\tme.height = minSize.height;\r\n\t},\r\n\tafterFit: noop,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the legend on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar globalDefault = defaults.global;\r\n\t\tvar lineDefault = globalDefault.elements.line;\r\n\t\tvar legendWidth = me.width;\r\n\t\tvar lineWidths = me.lineWidths;\r\n\r\n\t\tif (opts.display) {\r\n\t\t\tvar ctx = me.ctx;\r\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\t\t\tvar fontColor = valueOrDefault(labelOpts.fontColor, globalDefault.defaultFontColor);\r\n\t\t\tvar fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize);\r\n\t\t\tvar fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle);\r\n\t\t\tvar fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily);\r\n\t\t\tvar labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\r\n\t\t\tvar cursor;\r\n\r\n\t\t\t// Canvas setup\r\n\t\t\tctx.textAlign = 'left';\r\n\t\t\tctx.textBaseline = 'middle';\r\n\t\t\tctx.lineWidth = 0.5;\r\n\t\t\tctx.strokeStyle = fontColor; // for strikethrough effect\r\n\t\t\tctx.fillStyle = fontColor; // render in correct colour\r\n\t\t\tctx.font = labelFont;\r\n\r\n\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\tvar hitboxes = me.legendHitBoxes;\r\n\r\n\t\t\t// current position\r\n\t\t\tvar drawLegendBox = function(x, y, legendItem) {\r\n\t\t\t\tif (isNaN(boxWidth) || boxWidth <= 0) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Set the ctx for the box\r\n\t\t\t\tctx.save();\r\n\r\n\t\t\t\tctx.fillStyle = valueOrDefault(legendItem.fillStyle, globalDefault.defaultColor);\r\n\t\t\t\tctx.lineCap = valueOrDefault(legendItem.lineCap, lineDefault.borderCapStyle);\r\n\t\t\t\tctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, lineDefault.borderDashOffset);\r\n\t\t\t\tctx.lineJoin = valueOrDefault(legendItem.lineJoin, lineDefault.borderJoinStyle);\r\n\t\t\t\tctx.lineWidth = valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth);\r\n\t\t\t\tctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, globalDefault.defaultColor);\r\n\t\t\t\tvar isLineWidthZero = (valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth) === 0);\r\n\r\n\t\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\t\t// IE 9 and 10 do not support line dash\r\n\t\t\t\t\tctx.setLineDash(valueOrDefault(legendItem.lineDash, lineDefault.borderDash));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (opts.labels && opts.labels.usePointStyle) {\r\n\t\t\t\t\t// Recalculate x and y for drawPoint() because its expecting\r\n\t\t\t\t\t// x and y to be center of figure (instead of top left)\r\n\t\t\t\t\tvar radius = fontSize * Math.SQRT2 / 2;\r\n\t\t\t\t\tvar offSet = radius / Math.SQRT2;\r\n\t\t\t\t\tvar centerX = x + offSet;\r\n\t\t\t\t\tvar centerY = y + offSet;\r\n\r\n\t\t\t\t\t// Draw pointStyle as legend symbol\r\n\t\t\t\t\thelpers.canvas.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Draw box as legend symbol\r\n\t\t\t\t\tif (!isLineWidthZero) {\r\n\t\t\t\t\t\tctx.strokeRect(x, y, boxWidth, fontSize);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tctx.fillRect(x, y, boxWidth, fontSize);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tctx.restore();\r\n\t\t\t};\r\n\t\t\tvar fillText = function(x, y, legendItem, textWidth) {\r\n\t\t\t\tvar halfFontSize = fontSize / 2;\r\n\t\t\t\tvar xLeft = boxWidth + halfFontSize + x;\r\n\t\t\t\tvar yMiddle = y + halfFontSize;\r\n\r\n\t\t\t\tctx.fillText(legendItem.text, xLeft, yMiddle);\r\n\r\n\t\t\t\tif (legendItem.hidden) {\r\n\t\t\t\t\t// Strikethrough the text if hidden\r\n\t\t\t\t\tctx.beginPath();\r\n\t\t\t\t\tctx.lineWidth = 2;\r\n\t\t\t\t\tctx.moveTo(xLeft, yMiddle);\r\n\t\t\t\t\tctx.lineTo(xLeft + textWidth, yMiddle);\r\n\t\t\t\t\tctx.stroke();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t// Horizontal\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tcursor = {\r\n\t\t\t\t\tx: me.left + ((legendWidth - lineWidths[0]) / 2),\r\n\t\t\t\t\ty: me.top + labelOpts.padding,\r\n\t\t\t\t\tline: 0\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tcursor = {\r\n\t\t\t\t\tx: me.left + labelOpts.padding,\r\n\t\t\t\t\ty: me.top + labelOpts.padding,\r\n\t\t\t\t\tline: 0\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tvar itemHeight = fontSize + labelOpts.padding;\r\n\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\tvar textWidth = ctx.measureText(legendItem.text).width;\r\n\t\t\t\tvar width = boxWidth + (fontSize / 2) + textWidth;\r\n\t\t\t\tvar x = cursor.x;\r\n\t\t\t\tvar y = cursor.y;\r\n\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\tif (x + width >= legendWidth) {\r\n\t\t\t\t\t\ty = cursor.y += itemHeight;\r\n\t\t\t\t\t\tcursor.line++;\r\n\t\t\t\t\t\tx = cursor.x = me.left + ((legendWidth - lineWidths[cursor.line]) / 2);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (y + itemHeight > me.bottom) {\r\n\t\t\t\t\tx = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;\r\n\t\t\t\t\ty = cursor.y = me.top + labelOpts.padding;\r\n\t\t\t\t\tcursor.line++;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdrawLegendBox(x, y, legendItem);\r\n\r\n\t\t\t\thitboxes[i].left = x;\r\n\t\t\t\thitboxes[i].top = y;\r\n\r\n\t\t\t\t// Fill the actual label\r\n\t\t\t\tfillText(x, y, legendItem, textWidth);\r\n\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\tcursor.x += width + (labelOpts.padding);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcursor.y += itemHeight;\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event - The event to handle\r\n\t * @return {Boolean} true if a change occured\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar type = e.type === 'mouseup' ? 'click' : e.type;\r\n\t\tvar changed = false;\r\n\r\n\t\tif (type === 'mousemove') {\r\n\t\t\tif (!opts.onHover) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else if (type === 'click') {\r\n\t\t\tif (!opts.onClick) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Chart event already has relative position in it\r\n\t\tvar x = e.x;\r\n\t\tvar y = e.y;\r\n\r\n\t\tif (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\r\n\t\t\t// See if we are touching one of the dataset boxes\r\n\t\t\tvar lh = me.legendHitBoxes;\r\n\t\t\tfor (var i = 0; i < lh.length; ++i) {\r\n\t\t\t\tvar hitBox = lh[i];\r\n\r\n\t\t\t\tif (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\r\n\t\t\t\t\t// Touching an element\r\n\t\t\t\t\tif (type === 'click') {\r\n\t\t\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\t\t\topts.onClick.call(me, e.native, me.legendItems[i]);\r\n\t\t\t\t\t\tchanged = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t} else if (type === 'mousemove') {\r\n\t\t\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\t\t\topts.onHover.call(me, e.native, me.legendItems[i]);\r\n\t\t\t\t\t\tchanged = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn changed;\r\n\t}\r\n});\r\n\r\nfunction createNewLegendAndAttach(chart, legendOpts) {\r\n\tvar legend = new Legend({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: legendOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tlayouts.configure(chart, legend, legendOpts);\r\n\tlayouts.addBox(chart, legend);\r\n\tchart.legend = legend;\r\n}\r\n\r\nmodule.exports = {\r\n\tid: 'legend',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the legend is registered as a plugin, making\r\n\t * Chart.Legend obsolete. To avoid a breaking change, we export the Legend as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Legend,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\t\tvar legend = chart.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\thelpers.mergeIf(legendOpts, defaults.global.legend);\r\n\r\n\t\t\tif (legend) {\r\n\t\t\t\tlayouts.configure(chart, legend, legendOpts);\r\n\t\t\t\tlegend.options = legendOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t\t}\r\n\t\t} else if (legend) {\r\n\t\t\tlayouts.removeBox(chart, legend);\r\n\t\t\tdelete chart.legend;\r\n\t\t}\r\n\t},\r\n\r\n\tafterEvent: function(chart, e) {\r\n\t\tvar legend = chart.legend;\r\n\t\tif (legend) {\r\n\t\t\tlegend.handleEvent(e);\r\n\t\t}\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/plugins/plugin.legend.js\n// module id = 854\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar Element = require('../core/core.element');\r\nvar helpers = require('../helpers/index');\r\nvar layouts = require('../core/core.layouts');\r\n\r\nvar noop = helpers.noop;\r\n\r\ndefaults._set('global', {\r\n\ttitle: {\r\n\t\tdisplay: false,\r\n\t\tfontStyle: 'bold',\r\n\t\tfullWidth: true,\r\n\t\tlineHeight: 1.2,\r\n\t\tpadding: 10,\r\n\t\tposition: 'top',\r\n\t\ttext: '',\r\n\t\tweight: 2000         // by default greater than legend (1000) to be above\r\n\t}\r\n});\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Title = Element.extend({\r\n\tinitialize: function(config) {\r\n\t\tvar me = this;\r\n\t\thelpers.extend(me, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tme.legendHitBoxes = [];\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\r\n\tbeforeUpdate: noop,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\r\n\t},\r\n\tafterUpdate: noop,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop,\r\n\tbuildLabels: noop,\r\n\tafterBuildLabels: noop,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\t\tvar opts = me.options;\r\n\t\tvar display = opts.display;\r\n\t\tvar fontSize = valueOrDefault(opts.fontSize, defaults.global.defaultFontSize);\r\n\t\tvar minSize = me.minSize;\r\n\t\tvar lineCount = helpers.isArray(opts.text) ? opts.text.length : 1;\r\n\t\tvar lineHeight = helpers.options.toLineHeight(opts.lineHeight, fontSize);\r\n\t\tvar textSize = display ? (lineCount * lineHeight) + (opts.padding * 2) : 0;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\tminSize.width = me.maxWidth; // fill all the width\r\n\t\t\tminSize.height = textSize;\r\n\t\t} else {\r\n\t\t\tminSize.width = textSize;\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t}\r\n\r\n\t\tme.width = minSize.width;\r\n\t\tme.height = minSize.height;\r\n\r\n\t},\r\n\tafterFit: noop,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\tvar pos = this.options.position;\r\n\t\treturn pos === 'top' || pos === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the title block on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\t\tvar opts = me.options;\r\n\t\tvar globalDefaults = defaults.global;\r\n\r\n\t\tif (opts.display) {\r\n\t\t\tvar fontSize = valueOrDefault(opts.fontSize, globalDefaults.defaultFontSize);\r\n\t\t\tvar fontStyle = valueOrDefault(opts.fontStyle, globalDefaults.defaultFontStyle);\r\n\t\t\tvar fontFamily = valueOrDefault(opts.fontFamily, globalDefaults.defaultFontFamily);\r\n\t\t\tvar titleFont = helpers.fontString(fontSize, fontStyle, fontFamily);\r\n\t\t\tvar lineHeight = helpers.options.toLineHeight(opts.lineHeight, fontSize);\r\n\t\t\tvar offset = lineHeight / 2 + opts.padding;\r\n\t\t\tvar rotation = 0;\r\n\t\t\tvar top = me.top;\r\n\t\t\tvar left = me.left;\r\n\t\t\tvar bottom = me.bottom;\r\n\t\t\tvar right = me.right;\r\n\t\t\tvar maxWidth, titleX, titleY;\r\n\r\n\t\t\tctx.fillStyle = valueOrDefault(opts.fontColor, globalDefaults.defaultFontColor); // render in correct colour\r\n\t\t\tctx.font = titleFont;\r\n\r\n\t\t\t// Horizontal\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\ttitleX = left + ((right - left) / 2); // midpoint of the width\r\n\t\t\t\ttitleY = top + offset;\r\n\t\t\t\tmaxWidth = right - left;\r\n\t\t\t} else {\r\n\t\t\t\ttitleX = opts.position === 'left' ? left + offset : right - offset;\r\n\t\t\t\ttitleY = top + ((bottom - top) / 2);\r\n\t\t\t\tmaxWidth = bottom - top;\r\n\t\t\t\trotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);\r\n\t\t\t}\r\n\r\n\t\t\tctx.save();\r\n\t\t\tctx.translate(titleX, titleY);\r\n\t\t\tctx.rotate(rotation);\r\n\t\t\tctx.textAlign = 'center';\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\tvar text = opts.text;\r\n\t\t\tif (helpers.isArray(text)) {\r\n\t\t\t\tvar y = 0;\r\n\t\t\t\tfor (var i = 0; i < text.length; ++i) {\r\n\t\t\t\t\tctx.fillText(text[i], 0, y, maxWidth);\r\n\t\t\t\t\ty += lineHeight;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tctx.fillText(text, 0, 0, maxWidth);\r\n\t\t\t}\r\n\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction createNewTitleBlockAndAttach(chart, titleOpts) {\r\n\tvar title = new Title({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: titleOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tlayouts.configure(chart, title, titleOpts);\r\n\tlayouts.addBox(chart, title);\r\n\tchart.titleBlock = title;\r\n}\r\n\r\nmodule.exports = {\r\n\tid: 'title',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the title is registered as a plugin, making\r\n\t * Chart.Title obsolete. To avoid a breaking change, we export the Title as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Title,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\t\tvar titleBlock = chart.titleBlock;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\thelpers.mergeIf(titleOpts, defaults.global.title);\r\n\r\n\t\t\tif (titleBlock) {\r\n\t\t\t\tlayouts.configure(chart, titleBlock, titleOpts);\r\n\t\t\t\ttitleBlock.options = titleOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t\t}\r\n\t\t} else if (titleBlock) {\r\n\t\t\tlayouts.removeBox(chart, titleBlock);\r\n\t\t\tdelete chart.titleBlock;\r\n\t\t}\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/plugins/plugin.title.js\n// module id = 855\n// module chunks = 3","'use strict';\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\t// Default config for a category scale\r\n\tvar defaultConfig = {\r\n\t\tposition: 'bottom'\r\n\t};\r\n\r\n\tvar DatasetScale = Chart.Scale.extend({\r\n\t\t/**\r\n\t\t* Internal function to get the correct labels. If data.xLabels or data.yLabels are defined, use those\r\n\t\t* else fall back to data.labels\r\n\t\t* @private\r\n\t\t*/\r\n\t\tgetLabels: function() {\r\n\t\t\tvar data = this.chart.data;\r\n\t\t\treturn this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels;\r\n\t\t},\r\n\r\n\t\tdetermineDataLimits: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar labels = me.getLabels();\r\n\t\t\tme.minIndex = 0;\r\n\t\t\tme.maxIndex = labels.length - 1;\r\n\t\t\tvar findIndex;\r\n\r\n\t\t\tif (me.options.ticks.min !== undefined) {\r\n\t\t\t\t// user specified min value\r\n\t\t\t\tfindIndex = labels.indexOf(me.options.ticks.min);\r\n\t\t\t\tme.minIndex = findIndex !== -1 ? findIndex : me.minIndex;\r\n\t\t\t}\r\n\r\n\t\t\tif (me.options.ticks.max !== undefined) {\r\n\t\t\t\t// user specified max value\r\n\t\t\t\tfindIndex = labels.indexOf(me.options.ticks.max);\r\n\t\t\t\tme.maxIndex = findIndex !== -1 ? findIndex : me.maxIndex;\r\n\t\t\t}\r\n\r\n\t\t\tme.min = labels[me.minIndex];\r\n\t\t\tme.max = labels[me.maxIndex];\r\n\t\t},\r\n\r\n\t\tbuildTicks: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar labels = me.getLabels();\r\n\t\t\t// If we are viewing some subset of labels, slice the original array\r\n\t\t\tme.ticks = (me.minIndex === 0 && me.maxIndex === labels.length - 1) ? labels : labels.slice(me.minIndex, me.maxIndex + 1);\r\n\t\t},\r\n\r\n\t\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar data = me.chart.data;\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\t\tif (data.yLabels && !isHorizontal) {\r\n\t\t\t\treturn me.getRightValue(data.datasets[datasetIndex].data[index]);\r\n\t\t\t}\r\n\t\t\treturn me.ticks[index - me.minIndex];\r\n\t\t},\r\n\r\n\t\t// Used to get data value locations.  Value can either be an index or a numerical value\r\n\t\tgetPixelForValue: function(value, index) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar offset = me.options.offset;\r\n\t\t\t// 1 is added because we need the length but we have the indexes\r\n\t\t\tvar offsetAmt = Math.max((me.maxIndex + 1 - me.minIndex - (offset ? 0 : 1)), 1);\r\n\r\n\t\t\t// If value is a data object, then index is the index in the data array,\r\n\t\t\t// not the index of the scale. We need to change that.\r\n\t\t\tvar valueCategory;\r\n\t\t\tif (value !== undefined && value !== null) {\r\n\t\t\t\tvalueCategory = me.isHorizontal() ? value.x : value.y;\r\n\t\t\t}\r\n\t\t\tif (valueCategory !== undefined || (value !== undefined && isNaN(index))) {\r\n\t\t\t\tvar labels = me.getLabels();\r\n\t\t\t\tvalue = valueCategory || value;\r\n\t\t\t\tvar idx = labels.indexOf(value);\r\n\t\t\t\tindex = idx !== -1 ? idx : index;\r\n\t\t\t}\r\n\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tvar valueWidth = me.width / offsetAmt;\r\n\t\t\t\tvar widthOffset = (valueWidth * (index - me.minIndex));\r\n\r\n\t\t\t\tif (offset) {\r\n\t\t\t\t\twidthOffset += (valueWidth / 2);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn me.left + Math.round(widthOffset);\r\n\t\t\t}\r\n\t\t\tvar valueHeight = me.height / offsetAmt;\r\n\t\t\tvar heightOffset = (valueHeight * (index - me.minIndex));\r\n\r\n\t\t\tif (offset) {\r\n\t\t\t\theightOffset += (valueHeight / 2);\r\n\t\t\t}\r\n\r\n\t\t\treturn me.top + Math.round(heightOffset);\r\n\t\t},\r\n\t\tgetPixelForTick: function(index) {\r\n\t\t\treturn this.getPixelForValue(this.ticks[index], index + this.minIndex, null);\r\n\t\t},\r\n\t\tgetValueForPixel: function(pixel) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar offset = me.options.offset;\r\n\t\t\tvar value;\r\n\t\t\tvar offsetAmt = Math.max((me._ticks.length - (offset ? 0 : 1)), 1);\r\n\t\t\tvar horz = me.isHorizontal();\r\n\t\t\tvar valueDimension = (horz ? me.width : me.height) / offsetAmt;\r\n\r\n\t\t\tpixel -= horz ? me.left : me.top;\r\n\r\n\t\t\tif (offset) {\r\n\t\t\t\tpixel -= (valueDimension / 2);\r\n\t\t\t}\r\n\r\n\t\t\tif (pixel <= 0) {\r\n\t\t\t\tvalue = 0;\r\n\t\t\t} else {\r\n\t\t\t\tvalue = Math.round(pixel / valueDimension);\r\n\t\t\t}\r\n\r\n\t\t\treturn value + me.minIndex;\r\n\t\t},\r\n\t\tgetBasePixel: function() {\r\n\t\t\treturn this.bottom;\r\n\t\t}\r\n\t});\r\n\r\n\tChart.scaleService.registerScaleType('category', DatasetScale, defaultConfig);\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/scales/scale.category.js\n// module id = 856\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar helpers = require('../helpers/index');\r\nvar Ticks = require('../core/core.ticks');\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tvar defaultConfig = {\r\n\t\tposition: 'left',\r\n\t\tticks: {\r\n\t\t\tcallback: Ticks.formatters.linear\r\n\t\t}\r\n\t};\r\n\r\n\tvar LinearScale = Chart.LinearScaleBase.extend({\r\n\r\n\t\tdetermineDataLimits: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar data = chart.data;\r\n\t\t\tvar datasets = data.datasets;\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\t\t\tvar DEFAULT_MIN = 0;\r\n\t\t\tvar DEFAULT_MAX = 1;\r\n\r\n\t\t\tfunction IDMatches(meta) {\r\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\r\n\t\t\t}\r\n\r\n\t\t\t// First Calculate the range\r\n\t\t\tme.min = null;\r\n\t\t\tme.max = null;\r\n\r\n\t\t\tvar hasStacks = opts.stacked;\r\n\t\t\tif (hasStacks === undefined) {\r\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\r\n\t\t\t\t\tif (hasStacks) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\r\n\t\t\t\t\t\tmeta.stack !== undefined) {\r\n\t\t\t\t\t\thasStacks = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (opts.stacked || hasStacks) {\r\n\t\t\t\tvar valuesPerStack = {};\r\n\r\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\r\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\t\tvar key = [\r\n\t\t\t\t\t\tmeta.type,\r\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\r\n\t\t\t\t\t\tmeta.stack\r\n\t\t\t\t\t].join('.');\r\n\r\n\t\t\t\t\tif (valuesPerStack[key] === undefined) {\r\n\t\t\t\t\t\tvaluesPerStack[key] = {\r\n\t\t\t\t\t\t\tpositiveValues: [],\r\n\t\t\t\t\t\t\tnegativeValues: []\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Store these per type\r\n\t\t\t\t\tvar positiveValues = valuesPerStack[key].positiveValues;\r\n\t\t\t\t\tvar negativeValues = valuesPerStack[key].negativeValues;\r\n\r\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tpositiveValues[index] = positiveValues[index] || 0;\r\n\t\t\t\t\t\t\tnegativeValues[index] = negativeValues[index] || 0;\r\n\r\n\t\t\t\t\t\t\tif (opts.relativePoints) {\r\n\t\t\t\t\t\t\t\tpositiveValues[index] = 100;\r\n\t\t\t\t\t\t\t} else if (value < 0) {\r\n\t\t\t\t\t\t\t\tnegativeValues[index] += value;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tpositiveValues[index] += value;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\r\n\t\t\t\t\tvar values = valuesForType.positiveValues.concat(valuesForType.negativeValues);\r\n\t\t\t\t\tvar minVal = helpers.min(values);\r\n\t\t\t\t\tvar maxVal = helpers.max(values);\r\n\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\r\n\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\r\n\t\t\t\t});\r\n\r\n\t\t\t} else {\r\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\r\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (me.min === null) {\r\n\t\t\t\t\t\t\t\tme.min = value;\r\n\t\t\t\t\t\t\t} else if (value < me.min) {\r\n\t\t\t\t\t\t\t\tme.min = value;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (me.max === null) {\r\n\t\t\t\t\t\t\t\tme.max = value;\r\n\t\t\t\t\t\t\t} else if (value > me.max) {\r\n\t\t\t\t\t\t\t\tme.max = value;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tme.min = isFinite(me.min) && !isNaN(me.min) ? me.min : DEFAULT_MIN;\r\n\t\t\tme.max = isFinite(me.max) && !isNaN(me.max) ? me.max : DEFAULT_MAX;\r\n\r\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\t\tthis.handleTickRangeOptions();\r\n\t\t},\r\n\t\tgetTickLimit: function() {\r\n\t\t\tvar maxTicks;\r\n\t\t\tvar me = this;\r\n\t\t\tvar tickOpts = me.options.ticks;\r\n\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.width / 50));\r\n\t\t\t} else {\r\n\t\t\t\t// The factor of 2 used to scale the font size has been experimentally determined.\r\n\t\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize);\r\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.height / (2 * tickFontSize)));\r\n\t\t\t}\r\n\r\n\t\t\treturn maxTicks;\r\n\t\t},\r\n\t\t// Called after the ticks are built. We need\r\n\t\thandleDirectionalChanges: function() {\r\n\t\t\tif (!this.isHorizontal()) {\r\n\t\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\r\n\t\t\t\tthis.ticks.reverse();\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t\t},\r\n\t\t// Utils\r\n\t\tgetPixelForValue: function(value) {\r\n\t\t\t// This must be called after fit has been run so that\r\n\t\t\t// this.left, this.top, this.right, and this.bottom have been defined\r\n\t\t\tvar me = this;\r\n\t\t\tvar start = me.start;\r\n\r\n\t\t\tvar rightValue = +me.getRightValue(value);\r\n\t\t\tvar pixel;\r\n\t\t\tvar range = me.end - start;\r\n\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tpixel = me.left + (me.width / range * (rightValue - start));\r\n\t\t\t} else {\r\n\t\t\t\tpixel = me.bottom - (me.height / range * (rightValue - start));\r\n\t\t\t}\r\n\t\t\treturn pixel;\r\n\t\t},\r\n\t\tgetValueForPixel: function(pixel) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\t\t\tvar innerDimension = isHorizontal ? me.width : me.height;\r\n\t\t\tvar offset = (isHorizontal ? pixel - me.left : me.bottom - pixel) / innerDimension;\r\n\t\t\treturn me.start + ((me.end - me.start) * offset);\r\n\t\t},\r\n\t\tgetPixelForTick: function(index) {\r\n\t\t\treturn this.getPixelForValue(this.ticksAsNumbers[index]);\r\n\t\t}\r\n\t});\r\n\tChart.scaleService.registerScaleType('linear', LinearScale, defaultConfig);\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/scales/scale.linear.js\n// module id = 857\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\n\r\n/**\r\n * Generate a set of linear ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {Array<Number>} array of tick values\r\n */\r\nfunction generateTicks(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\t// To get a \"nice\" value for the tick spacing, we will use the appropriately named\r\n\t// \"nice number\" algorithm. See http://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\r\n\t// for details.\r\n\r\n\tvar spacing;\r\n\tif (generationOptions.stepSize && generationOptions.stepSize > 0) {\r\n\t\tspacing = generationOptions.stepSize;\r\n\t} else {\r\n\t\tvar niceRange = helpers.niceNum(dataRange.max - dataRange.min, false);\r\n\t\tspacing = helpers.niceNum(niceRange / (generationOptions.maxTicks - 1), true);\r\n\t}\r\n\tvar niceMin = Math.floor(dataRange.min / spacing) * spacing;\r\n\tvar niceMax = Math.ceil(dataRange.max / spacing) * spacing;\r\n\r\n\t// If min, max and stepSize is set and they make an evenly spaced scale use it.\r\n\tif (generationOptions.min && generationOptions.max && generationOptions.stepSize) {\r\n\t\t// If very close to our whole number, use it.\r\n\t\tif (helpers.almostWhole((generationOptions.max - generationOptions.min) / generationOptions.stepSize, spacing / 1000)) {\r\n\t\t\tniceMin = generationOptions.min;\r\n\t\t\tniceMax = generationOptions.max;\r\n\t\t}\r\n\t}\r\n\r\n\tvar numSpaces = (niceMax - niceMin) / spacing;\r\n\t// If very close to our rounded value, use it.\r\n\tif (helpers.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\r\n\t\tnumSpaces = Math.round(numSpaces);\r\n\t} else {\r\n\t\tnumSpaces = Math.ceil(numSpaces);\r\n\t}\r\n\r\n\tvar precision = 1;\r\n\tif (spacing < 1) {\r\n\t\tprecision = Math.pow(10, spacing.toString().length - 2);\r\n\t\tniceMin = Math.round(niceMin * precision) / precision;\r\n\t\tniceMax = Math.round(niceMax * precision) / precision;\r\n\t}\r\n\tticks.push(generationOptions.min !== undefined ? generationOptions.min : niceMin);\r\n\tfor (var j = 1; j < numSpaces; ++j) {\r\n\t\tticks.push(Math.round((niceMin + j * spacing) * precision) / precision);\r\n\t}\r\n\tticks.push(generationOptions.max !== undefined ? generationOptions.max : niceMax);\r\n\r\n\treturn ticks;\r\n}\r\n\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tvar noop = helpers.noop;\r\n\r\n\tChart.LinearScaleBase = Chart.Scale.extend({\r\n\t\tgetRightValue: function(value) {\r\n\t\t\tif (typeof value === 'string') {\r\n\t\t\t\treturn +value;\r\n\t\t\t}\r\n\t\t\treturn Chart.Scale.prototype.getRightValue.call(this, value);\r\n\t\t},\r\n\r\n\t\thandleTickRangeOptions: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t\t// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,\r\n\t\t\t// do nothing since that would make the chart weird. If the user really wants a weird chart\r\n\t\t\t// axis, they can manually override it\r\n\t\t\tif (tickOpts.beginAtZero) {\r\n\t\t\t\tvar minSign = helpers.sign(me.min);\r\n\t\t\t\tvar maxSign = helpers.sign(me.max);\r\n\r\n\t\t\t\tif (minSign < 0 && maxSign < 0) {\r\n\t\t\t\t\t// move the top up to 0\r\n\t\t\t\t\tme.max = 0;\r\n\t\t\t\t} else if (minSign > 0 && maxSign > 0) {\r\n\t\t\t\t\t// move the bottom down to 0\r\n\t\t\t\t\tme.min = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar setMin = tickOpts.min !== undefined || tickOpts.suggestedMin !== undefined;\r\n\t\t\tvar setMax = tickOpts.max !== undefined || tickOpts.suggestedMax !== undefined;\r\n\r\n\t\t\tif (tickOpts.min !== undefined) {\r\n\t\t\t\tme.min = tickOpts.min;\r\n\t\t\t} else if (tickOpts.suggestedMin !== undefined) {\r\n\t\t\t\tif (me.min === null) {\r\n\t\t\t\t\tme.min = tickOpts.suggestedMin;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tme.min = Math.min(me.min, tickOpts.suggestedMin);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (tickOpts.max !== undefined) {\r\n\t\t\t\tme.max = tickOpts.max;\r\n\t\t\t} else if (tickOpts.suggestedMax !== undefined) {\r\n\t\t\t\tif (me.max === null) {\r\n\t\t\t\t\tme.max = tickOpts.suggestedMax;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tme.max = Math.max(me.max, tickOpts.suggestedMax);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (setMin !== setMax) {\r\n\t\t\t\t// We set the min or the max but not both.\r\n\t\t\t\t// So ensure that our range is good\r\n\t\t\t\t// Inverted or 0 length range can happen when\r\n\t\t\t\t// ticks.min is set, and no datasets are visible\r\n\t\t\t\tif (me.min >= me.max) {\r\n\t\t\t\t\tif (setMin) {\r\n\t\t\t\t\t\tme.max = me.min + 1;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tme.min = me.max - 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (me.min === me.max) {\r\n\t\t\t\tme.max++;\r\n\r\n\t\t\t\tif (!tickOpts.beginAtZero) {\r\n\t\t\t\t\tme.min--;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetTickLimit: noop,\r\n\t\thandleDirectionalChanges: noop,\r\n\r\n\t\tbuildTicks: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t\t// Figure out what the max number of ticks we can support it is based on the size of\r\n\t\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\r\n\t\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\r\n\t\t\t// the graph. Make sure we always have at least 2 ticks\r\n\t\t\tvar maxTicks = me.getTickLimit();\r\n\t\t\tmaxTicks = Math.max(2, maxTicks);\r\n\r\n\t\t\tvar numericGeneratorOptions = {\r\n\t\t\t\tmaxTicks: maxTicks,\r\n\t\t\t\tmin: tickOpts.min,\r\n\t\t\t\tmax: tickOpts.max,\r\n\t\t\t\tstepSize: helpers.valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)\r\n\t\t\t};\r\n\t\t\tvar ticks = me.ticks = generateTicks(numericGeneratorOptions, me);\r\n\r\n\t\t\tme.handleDirectionalChanges();\r\n\r\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t\t// range of the scale\r\n\t\t\tme.max = helpers.max(ticks);\r\n\t\t\tme.min = helpers.min(ticks);\r\n\r\n\t\t\tif (tickOpts.reverse) {\r\n\t\t\t\tticks.reverse();\r\n\r\n\t\t\t\tme.start = me.max;\r\n\t\t\t\tme.end = me.min;\r\n\t\t\t} else {\r\n\t\t\t\tme.start = me.min;\r\n\t\t\t\tme.end = me.max;\r\n\t\t\t}\r\n\t\t},\r\n\t\tconvertTicksToLabels: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tme.ticksAsNumbers = me.ticks.slice();\r\n\t\t\tme.zeroLineIndex = me.ticks.indexOf(0);\r\n\r\n\t\t\tChart.Scale.prototype.convertTicksToLabels.call(me);\r\n\t\t}\r\n\t});\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/scales/scale.linearbase.js\n// module id = 858\n// module chunks = 3","'use strict';\r\n\r\nvar helpers = require('../helpers/index');\r\nvar Ticks = require('../core/core.ticks');\r\n\r\n/**\r\n * Generate a set of logarithmic ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {Array<Number>} array of tick values\r\n */\r\nfunction generateTicks(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\tvar valueOrDefault = helpers.valueOrDefault;\r\n\r\n\t// Figure out what the max number of ticks we can support it is based on the size of\r\n\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\r\n\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\r\n\t// the graph\r\n\tvar tickVal = valueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));\r\n\r\n\tvar endExp = Math.floor(helpers.log10(dataRange.max));\r\n\tvar endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\r\n\tvar exp, significand;\r\n\r\n\tif (tickVal === 0) {\r\n\t\texp = Math.floor(helpers.log10(dataRange.minNotZero));\r\n\t\tsignificand = Math.floor(dataRange.minNotZero / Math.pow(10, exp));\r\n\r\n\t\tticks.push(tickVal);\r\n\t\ttickVal = significand * Math.pow(10, exp);\r\n\t} else {\r\n\t\texp = Math.floor(helpers.log10(tickVal));\r\n\t\tsignificand = Math.floor(tickVal / Math.pow(10, exp));\r\n\t}\r\n\tvar precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\r\n\r\n\tdo {\r\n\t\tticks.push(tickVal);\r\n\r\n\t\t++significand;\r\n\t\tif (significand === 10) {\r\n\t\t\tsignificand = 1;\r\n\t\t\t++exp;\r\n\t\t\tprecision = exp >= 0 ? 1 : precision;\r\n\t\t}\r\n\r\n\t\ttickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\r\n\t} while (exp < endExp || (exp === endExp && significand < endSignificand));\r\n\r\n\tvar lastTick = valueOrDefault(generationOptions.max, tickVal);\r\n\tticks.push(lastTick);\r\n\r\n\treturn ticks;\r\n}\r\n\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tvar defaultConfig = {\r\n\t\tposition: 'left',\r\n\r\n\t\t// label settings\r\n\t\tticks: {\r\n\t\t\tcallback: Ticks.formatters.logarithmic\r\n\t\t}\r\n\t};\r\n\r\n\tvar LogarithmicScale = Chart.Scale.extend({\r\n\t\tdetermineDataLimits: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar data = chart.data;\r\n\t\t\tvar datasets = data.datasets;\r\n\t\t\tvar isHorizontal = me.isHorizontal();\r\n\t\t\tfunction IDMatches(meta) {\r\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\r\n\t\t\t}\r\n\r\n\t\t\t// Calculate Range\r\n\t\t\tme.min = null;\r\n\t\t\tme.max = null;\r\n\t\t\tme.minNotZero = null;\r\n\r\n\t\t\tvar hasStacks = opts.stacked;\r\n\t\t\tif (hasStacks === undefined) {\r\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\r\n\t\t\t\t\tif (hasStacks) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\r\n\t\t\t\t\t\tmeta.stack !== undefined) {\r\n\t\t\t\t\t\thasStacks = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (opts.stacked || hasStacks) {\r\n\t\t\t\tvar valuesPerStack = {};\r\n\r\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\r\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\t\tvar key = [\r\n\t\t\t\t\t\tmeta.type,\r\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\r\n\t\t\t\t\t\tmeta.stack\r\n\t\t\t\t\t].join('.');\r\n\r\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\t\tif (valuesPerStack[key] === undefined) {\r\n\t\t\t\t\t\t\tvaluesPerStack[key] = [];\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\t\t\tvar values = valuesPerStack[key];\r\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden || value < 0) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvalues[index] = values[index] || 0;\r\n\t\t\t\t\t\t\tvalues[index] += value;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\r\n\t\t\t\t\tif (valuesForType.length > 0) {\r\n\t\t\t\t\t\tvar minVal = helpers.min(valuesForType);\r\n\t\t\t\t\t\tvar maxVal = helpers.max(valuesForType);\r\n\t\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\r\n\t\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t} else {\r\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\r\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden || value < 0) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (me.min === null) {\r\n\t\t\t\t\t\t\t\tme.min = value;\r\n\t\t\t\t\t\t\t} else if (value < me.min) {\r\n\t\t\t\t\t\t\t\tme.min = value;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (me.max === null) {\r\n\t\t\t\t\t\t\t\tme.max = value;\r\n\t\t\t\t\t\t\t} else if (value > me.max) {\r\n\t\t\t\t\t\t\t\tme.max = value;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (value !== 0 && (me.minNotZero === null || value < me.minNotZero)) {\r\n\t\t\t\t\t\t\t\tme.minNotZero = value;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Common base implementation to handle ticks.min, ticks.max\r\n\t\t\tthis.handleTickRangeOptions();\r\n\t\t},\r\n\t\thandleTickRangeOptions: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar tickOpts = opts.ticks;\r\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\t\t\tvar DEFAULT_MIN = 1;\r\n\t\t\tvar DEFAULT_MAX = 10;\r\n\r\n\t\t\tme.min = valueOrDefault(tickOpts.min, me.min);\r\n\t\t\tme.max = valueOrDefault(tickOpts.max, me.max);\r\n\r\n\t\t\tif (me.min === me.max) {\r\n\t\t\t\tif (me.min !== 0 && me.min !== null) {\r\n\t\t\t\t\tme.min = Math.pow(10, Math.floor(helpers.log10(me.min)) - 1);\r\n\t\t\t\t\tme.max = Math.pow(10, Math.floor(helpers.log10(me.max)) + 1);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tme.min = DEFAULT_MIN;\r\n\t\t\t\t\tme.max = DEFAULT_MAX;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (me.min === null) {\r\n\t\t\t\tme.min = Math.pow(10, Math.floor(helpers.log10(me.max)) - 1);\r\n\t\t\t}\r\n\t\t\tif (me.max === null) {\r\n\t\t\t\tme.max = me.min !== 0\r\n\t\t\t\t\t? Math.pow(10, Math.floor(helpers.log10(me.min)) + 1)\r\n\t\t\t\t\t: DEFAULT_MAX;\r\n\t\t\t}\r\n\t\t\tif (me.minNotZero === null) {\r\n\t\t\t\tif (me.min > 0) {\r\n\t\t\t\t\tme.minNotZero = me.min;\r\n\t\t\t\t} else if (me.max < 1) {\r\n\t\t\t\t\tme.minNotZero = Math.pow(10, Math.floor(helpers.log10(me.max)));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tme.minNotZero = DEFAULT_MIN;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tbuildTicks: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar tickOpts = opts.ticks;\r\n\t\t\tvar reverse = !me.isHorizontal();\r\n\r\n\t\t\tvar generationOptions = {\r\n\t\t\t\tmin: tickOpts.min,\r\n\t\t\t\tmax: tickOpts.max\r\n\t\t\t};\r\n\t\t\tvar ticks = me.ticks = generateTicks(generationOptions, me);\r\n\r\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t\t// range of the scale\r\n\t\t\tme.max = helpers.max(ticks);\r\n\t\t\tme.min = helpers.min(ticks);\r\n\r\n\t\t\tif (tickOpts.reverse) {\r\n\t\t\t\treverse = !reverse;\r\n\t\t\t\tme.start = me.max;\r\n\t\t\t\tme.end = me.min;\r\n\t\t\t} else {\r\n\t\t\t\tme.start = me.min;\r\n\t\t\t\tme.end = me.max;\r\n\t\t\t}\r\n\t\t\tif (reverse) {\r\n\t\t\t\tticks.reverse();\r\n\t\t\t}\r\n\t\t},\r\n\t\tconvertTicksToLabels: function() {\r\n\t\t\tthis.tickValues = this.ticks.slice();\r\n\r\n\t\t\tChart.Scale.prototype.convertTicksToLabels.call(this);\r\n\t\t},\r\n\t\t// Get the correct tooltip label\r\n\t\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t\t},\r\n\t\tgetPixelForTick: function(index) {\r\n\t\t\treturn this.getPixelForValue(this.tickValues[index]);\r\n\t\t},\r\n\t\t/**\r\n\t\t * Returns the value of the first tick.\r\n\t\t * @param {Number} value - The minimum not zero value.\r\n\t\t * @return {Number} The first tick value.\r\n\t\t * @private\r\n\t\t */\r\n\t\t_getFirstTickValue: function(value) {\r\n\t\t\tvar exp = Math.floor(helpers.log10(value));\r\n\t\t\tvar significand = Math.floor(value / Math.pow(10, exp));\r\n\r\n\t\t\treturn significand * Math.pow(10, exp);\r\n\t\t},\r\n\t\tgetPixelForValue: function(value) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar reverse = me.options.ticks.reverse;\r\n\t\t\tvar log10 = helpers.log10;\r\n\t\t\tvar firstTickValue = me._getFirstTickValue(me.minNotZero);\r\n\t\t\tvar offset = 0;\r\n\t\t\tvar innerDimension, pixel, start, end, sign;\r\n\r\n\t\t\tvalue = +me.getRightValue(value);\r\n\t\t\tif (reverse) {\r\n\t\t\t\tstart = me.end;\r\n\t\t\t\tend = me.start;\r\n\t\t\t\tsign = -1;\r\n\t\t\t} else {\r\n\t\t\t\tstart = me.start;\r\n\t\t\t\tend = me.end;\r\n\t\t\t\tsign = 1;\r\n\t\t\t}\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tinnerDimension = me.width;\r\n\t\t\t\tpixel = reverse ? me.right : me.left;\r\n\t\t\t} else {\r\n\t\t\t\tinnerDimension = me.height;\r\n\t\t\t\tsign *= -1; // invert, since the upper-left corner of the canvas is at pixel (0, 0)\r\n\t\t\t\tpixel = reverse ? me.top : me.bottom;\r\n\t\t\t}\r\n\t\t\tif (value !== start) {\r\n\t\t\t\tif (start === 0) { // include zero tick\r\n\t\t\t\t\toffset = helpers.getValueOrDefault(\r\n\t\t\t\t\t\tme.options.ticks.fontSize,\r\n\t\t\t\t\t\tChart.defaults.global.defaultFontSize\r\n\t\t\t\t\t);\r\n\t\t\t\t\tinnerDimension -= offset;\r\n\t\t\t\t\tstart = firstTickValue;\r\n\t\t\t\t}\r\n\t\t\t\tif (value !== 0) {\r\n\t\t\t\t\toffset += innerDimension / (log10(end) - log10(start)) * (log10(value) - log10(start));\r\n\t\t\t\t}\r\n\t\t\t\tpixel += sign * offset;\r\n\t\t\t}\r\n\t\t\treturn pixel;\r\n\t\t},\r\n\t\tgetValueForPixel: function(pixel) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar reverse = me.options.ticks.reverse;\r\n\t\t\tvar log10 = helpers.log10;\r\n\t\t\tvar firstTickValue = me._getFirstTickValue(me.minNotZero);\r\n\t\t\tvar innerDimension, start, end, value;\r\n\r\n\t\t\tif (reverse) {\r\n\t\t\t\tstart = me.end;\r\n\t\t\t\tend = me.start;\r\n\t\t\t} else {\r\n\t\t\t\tstart = me.start;\r\n\t\t\t\tend = me.end;\r\n\t\t\t}\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tinnerDimension = me.width;\r\n\t\t\t\tvalue = reverse ? me.right - pixel : pixel - me.left;\r\n\t\t\t} else {\r\n\t\t\t\tinnerDimension = me.height;\r\n\t\t\t\tvalue = reverse ? pixel - me.top : me.bottom - pixel;\r\n\t\t\t}\r\n\t\t\tif (value !== start) {\r\n\t\t\t\tif (start === 0) { // include zero tick\r\n\t\t\t\t\tvar offset = helpers.getValueOrDefault(\r\n\t\t\t\t\t\tme.options.ticks.fontSize,\r\n\t\t\t\t\t\tChart.defaults.global.defaultFontSize\r\n\t\t\t\t\t);\r\n\t\t\t\t\tvalue -= offset;\r\n\t\t\t\t\tinnerDimension -= offset;\r\n\t\t\t\t\tstart = firstTickValue;\r\n\t\t\t\t}\r\n\t\t\t\tvalue *= log10(end) - log10(start);\r\n\t\t\t\tvalue /= innerDimension;\r\n\t\t\t\tvalue = Math.pow(10, log10(start) + value);\r\n\t\t\t}\r\n\t\t\treturn value;\r\n\t\t}\r\n\t});\r\n\tChart.scaleService.registerScaleType('logarithmic', LogarithmicScale, defaultConfig);\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/scales/scale.logarithmic.js\n// module id = 859\n// module chunks = 3","'use strict';\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar helpers = require('../helpers/index');\r\nvar Ticks = require('../core/core.ticks');\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tvar globalDefaults = defaults.global;\r\n\r\n\tvar defaultConfig = {\r\n\t\tdisplay: true,\r\n\r\n\t\t// Boolean - Whether to animate scaling the chart from the centre\r\n\t\tanimate: true,\r\n\t\tposition: 'chartArea',\r\n\r\n\t\tangleLines: {\r\n\t\t\tdisplay: true,\r\n\t\t\tcolor: 'rgba(0, 0, 0, 0.1)',\r\n\t\t\tlineWidth: 1\r\n\t\t},\r\n\r\n\t\tgridLines: {\r\n\t\t\tcircular: false\r\n\t\t},\r\n\r\n\t\t// label settings\r\n\t\tticks: {\r\n\t\t\t// Boolean - Show a backdrop to the scale label\r\n\t\t\tshowLabelBackdrop: true,\r\n\r\n\t\t\t// String - The colour of the label backdrop\r\n\t\t\tbackdropColor: 'rgba(255,255,255,0.75)',\r\n\r\n\t\t\t// Number - The backdrop padding above & below the label in pixels\r\n\t\t\tbackdropPaddingY: 2,\r\n\r\n\t\t\t// Number - The backdrop padding to the side of the label in pixels\r\n\t\t\tbackdropPaddingX: 2,\r\n\r\n\t\t\tcallback: Ticks.formatters.linear\r\n\t\t},\r\n\r\n\t\tpointLabels: {\r\n\t\t\t// Boolean - if true, show point labels\r\n\t\t\tdisplay: true,\r\n\r\n\t\t\t// Number - Point label font size in pixels\r\n\t\t\tfontSize: 10,\r\n\r\n\t\t\t// Function - Used to convert point labels\r\n\t\t\tcallback: function(label) {\r\n\t\t\t\treturn label;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfunction getValueCount(scale) {\r\n\t\tvar opts = scale.options;\r\n\t\treturn opts.angleLines.display || opts.pointLabels.display ? scale.chart.data.labels.length : 0;\r\n\t}\r\n\r\n\tfunction getPointLabelFontOptions(scale) {\r\n\t\tvar pointLabelOptions = scale.options.pointLabels;\r\n\t\tvar fontSize = helpers.valueOrDefault(pointLabelOptions.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar fontStyle = helpers.valueOrDefault(pointLabelOptions.fontStyle, globalDefaults.defaultFontStyle);\r\n\t\tvar fontFamily = helpers.valueOrDefault(pointLabelOptions.fontFamily, globalDefaults.defaultFontFamily);\r\n\t\tvar font = helpers.fontString(fontSize, fontStyle, fontFamily);\r\n\r\n\t\treturn {\r\n\t\t\tsize: fontSize,\r\n\t\t\tstyle: fontStyle,\r\n\t\t\tfamily: fontFamily,\r\n\t\t\tfont: font\r\n\t\t};\r\n\t}\r\n\r\n\tfunction measureLabelSize(ctx, fontSize, label) {\r\n\t\tif (helpers.isArray(label)) {\r\n\t\t\treturn {\r\n\t\t\t\tw: helpers.longestText(ctx, ctx.font, label),\r\n\t\t\t\th: (label.length * fontSize) + ((label.length - 1) * 1.5 * fontSize)\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tw: ctx.measureText(label).width,\r\n\t\t\th: fontSize\r\n\t\t};\r\n\t}\r\n\r\n\tfunction determineLimits(angle, pos, size, min, max) {\r\n\t\tif (angle === min || angle === max) {\r\n\t\t\treturn {\r\n\t\t\t\tstart: pos - (size / 2),\r\n\t\t\t\tend: pos + (size / 2)\r\n\t\t\t};\r\n\t\t} else if (angle < min || angle > max) {\r\n\t\t\treturn {\r\n\t\t\t\tstart: pos - size - 5,\r\n\t\t\t\tend: pos\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tstart: pos,\r\n\t\t\tend: pos + size + 5\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Helper function to fit a radial linear scale with point labels\r\n\t */\r\n\tfunction fitWithPointLabels(scale) {\r\n\t\t/*\r\n\t\t * Right, this is really confusing and there is a lot of maths going on here\r\n\t\t * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\r\n\t\t *\r\n\t\t * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\r\n\t\t *\r\n\t\t * Solution:\r\n\t\t *\r\n\t\t * We assume the radius of the polygon is half the size of the canvas at first\r\n\t\t * at each index we check if the text overlaps.\r\n\t\t *\r\n\t\t * Where it does, we store that angle and that index.\r\n\t\t *\r\n\t\t * After finding the largest index and angle we calculate how much we need to remove\r\n\t\t * from the shape radius to move the point inwards by that x.\r\n\t\t *\r\n\t\t * We average the left and right distances to get the maximum shape radius that can fit in the box\r\n\t\t * along with labels.\r\n\t\t *\r\n\t\t * Once we have that, we can find the centre point for the chart, by taking the x text protrusion\r\n\t\t * on each side, removing that from the size, halving it and adding the left x protrusion width.\r\n\t\t *\r\n\t\t * This will mean we have a shape fitted to the canvas, as large as it can be with the labels\r\n\t\t * and position it in the most space efficient manner\r\n\t\t *\r\n\t\t * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\r\n\t\t */\r\n\r\n\t\tvar plFont = getPointLabelFontOptions(scale);\r\n\r\n\t\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\r\n\t\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\r\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\r\n\t\tvar furthestLimits = {\r\n\t\t\tr: scale.width,\r\n\t\t\tl: 0,\r\n\t\t\tt: scale.height,\r\n\t\t\tb: 0\r\n\t\t};\r\n\t\tvar furthestAngles = {};\r\n\t\tvar i, textSize, pointPosition;\r\n\r\n\t\tscale.ctx.font = plFont.font;\r\n\t\tscale._pointLabelSizes = [];\r\n\r\n\t\tvar valueCount = getValueCount(scale);\r\n\t\tfor (i = 0; i < valueCount; i++) {\r\n\t\t\tpointPosition = scale.getPointPosition(i, largestPossibleRadius);\r\n\t\t\ttextSize = measureLabelSize(scale.ctx, plFont.size, scale.pointLabels[i] || '');\r\n\t\t\tscale._pointLabelSizes[i] = textSize;\r\n\r\n\t\t\t// Add quarter circle to make degree 0 mean top of circle\r\n\t\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\t\tvar angle = helpers.toDegrees(angleRadians) % 360;\r\n\t\t\tvar hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\r\n\t\t\tvar vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\r\n\r\n\t\t\tif (hLimits.start < furthestLimits.l) {\r\n\t\t\t\tfurthestLimits.l = hLimits.start;\r\n\t\t\t\tfurthestAngles.l = angleRadians;\r\n\t\t\t}\r\n\r\n\t\t\tif (hLimits.end > furthestLimits.r) {\r\n\t\t\t\tfurthestLimits.r = hLimits.end;\r\n\t\t\t\tfurthestAngles.r = angleRadians;\r\n\t\t\t}\r\n\r\n\t\t\tif (vLimits.start < furthestLimits.t) {\r\n\t\t\t\tfurthestLimits.t = vLimits.start;\r\n\t\t\t\tfurthestAngles.t = angleRadians;\r\n\t\t\t}\r\n\r\n\t\t\tif (vLimits.end > furthestLimits.b) {\r\n\t\t\t\tfurthestLimits.b = vLimits.end;\r\n\t\t\t\tfurthestAngles.b = angleRadians;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tscale.setReductions(largestPossibleRadius, furthestLimits, furthestAngles);\r\n\t}\r\n\r\n\t/**\r\n\t * Helper function to fit a radial linear scale with no point labels\r\n\t */\r\n\tfunction fit(scale) {\r\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\r\n\t\tscale.drawingArea = Math.round(largestPossibleRadius);\r\n\t\tscale.setCenterPoint(0, 0, 0, 0);\r\n\t}\r\n\r\n\tfunction getTextAlignForAngle(angle) {\r\n\t\tif (angle === 0 || angle === 180) {\r\n\t\t\treturn 'center';\r\n\t\t} else if (angle < 180) {\r\n\t\t\treturn 'left';\r\n\t\t}\r\n\r\n\t\treturn 'right';\r\n\t}\r\n\r\n\tfunction fillText(ctx, text, position, fontSize) {\r\n\t\tif (helpers.isArray(text)) {\r\n\t\t\tvar y = position.y;\r\n\t\t\tvar spacing = 1.5 * fontSize;\r\n\r\n\t\t\tfor (var i = 0; i < text.length; ++i) {\r\n\t\t\t\tctx.fillText(text[i], position.x, y);\r\n\t\t\t\ty += spacing;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tctx.fillText(text, position.x, position.y);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction adjustPointPositionForLabelHeight(angle, textSize, position) {\r\n\t\tif (angle === 90 || angle === 270) {\r\n\t\t\tposition.y -= (textSize.h / 2);\r\n\t\t} else if (angle > 270 || angle < 90) {\r\n\t\t\tposition.y -= textSize.h;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction drawPointLabels(scale) {\r\n\t\tvar ctx = scale.ctx;\r\n\t\tvar opts = scale.options;\r\n\t\tvar angleLineOpts = opts.angleLines;\r\n\t\tvar pointLabelOpts = opts.pointLabels;\r\n\r\n\t\tctx.lineWidth = angleLineOpts.lineWidth;\r\n\t\tctx.strokeStyle = angleLineOpts.color;\r\n\r\n\t\tvar outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\r\n\r\n\t\t// Point Label Font\r\n\t\tvar plFont = getPointLabelFontOptions(scale);\r\n\r\n\t\tctx.textBaseline = 'top';\r\n\r\n\t\tfor (var i = getValueCount(scale) - 1; i >= 0; i--) {\r\n\t\t\tif (angleLineOpts.display) {\r\n\t\t\t\tvar outerPosition = scale.getPointPosition(i, outerDistance);\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.moveTo(scale.xCenter, scale.yCenter);\r\n\t\t\t\tctx.lineTo(outerPosition.x, outerPosition.y);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t\tctx.closePath();\r\n\t\t\t}\r\n\r\n\t\t\tif (pointLabelOpts.display) {\r\n\t\t\t\t// Extra 3px out for some label spacing\r\n\t\t\t\tvar pointLabelPosition = scale.getPointPosition(i, outerDistance + 5);\r\n\r\n\t\t\t\t// Keep this in loop since we may support array properties here\r\n\t\t\t\tvar pointLabelFontColor = helpers.valueAtIndexOrDefault(pointLabelOpts.fontColor, i, globalDefaults.defaultFontColor);\r\n\t\t\t\tctx.font = plFont.font;\r\n\t\t\t\tctx.fillStyle = pointLabelFontColor;\r\n\r\n\t\t\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\t\t\tvar angle = helpers.toDegrees(angleRadians);\r\n\t\t\t\tctx.textAlign = getTextAlignForAngle(angle);\r\n\t\t\t\tadjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);\r\n\t\t\t\tfillText(ctx, scale.pointLabels[i] || '', pointLabelPosition, plFont.size);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction drawRadiusLine(scale, gridLineOpts, radius, index) {\r\n\t\tvar ctx = scale.ctx;\r\n\t\tctx.strokeStyle = helpers.valueAtIndexOrDefault(gridLineOpts.color, index - 1);\r\n\t\tctx.lineWidth = helpers.valueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);\r\n\r\n\t\tif (scale.options.gridLines.circular) {\r\n\t\t\t// Draw circular arcs between the points\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(scale.xCenter, scale.yCenter, radius, 0, Math.PI * 2);\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.stroke();\r\n\t\t} else {\r\n\t\t\t// Draw straight lines connecting each index\r\n\t\t\tvar valueCount = getValueCount(scale);\r\n\r\n\t\t\tif (valueCount === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tctx.beginPath();\r\n\t\t\tvar pointPosition = scale.getPointPosition(0, radius);\r\n\t\t\tctx.moveTo(pointPosition.x, pointPosition.y);\r\n\r\n\t\t\tfor (var i = 1; i < valueCount; i++) {\r\n\t\t\t\tpointPosition = scale.getPointPosition(i, radius);\r\n\t\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\r\n\t\t\t}\r\n\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction numberOrZero(param) {\r\n\t\treturn helpers.isNumber(param) ? param : 0;\r\n\t}\r\n\r\n\tvar LinearRadialScale = Chart.LinearScaleBase.extend({\r\n\t\tsetDimensions: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar tickOpts = opts.ticks;\r\n\t\t\t// Set the unconstrained dimension before label rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.height = me.maxHeight;\r\n\t\t\tme.xCenter = Math.round(me.width / 2);\r\n\t\t\tme.yCenter = Math.round(me.height / 2);\r\n\r\n\t\t\tvar minSize = helpers.min([me.height, me.width]);\r\n\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\r\n\t\t\tme.drawingArea = opts.display ? (minSize / 2) - (tickFontSize / 2 + tickOpts.backdropPaddingY) : (minSize / 2);\r\n\t\t},\r\n\t\tdetermineDataLimits: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar min = Number.POSITIVE_INFINITY;\r\n\t\t\tvar max = Number.NEGATIVE_INFINITY;\r\n\r\n\t\t\thelpers.each(chart.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\r\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\r\n\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tmin = Math.min(value, min);\r\n\t\t\t\t\t\tmax = Math.max(value, max);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tme.min = (min === Number.POSITIVE_INFINITY ? 0 : min);\r\n\t\t\tme.max = (max === Number.NEGATIVE_INFINITY ? 0 : max);\r\n\r\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\t\tme.handleTickRangeOptions();\r\n\t\t},\r\n\t\tgetTickLimit: function() {\r\n\t\t\tvar tickOpts = this.options.ticks;\r\n\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\r\n\t\t\treturn Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(this.drawingArea / (1.5 * tickFontSize)));\r\n\t\t},\r\n\t\tconvertTicksToLabels: function() {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tChart.LinearScaleBase.prototype.convertTicksToLabels.call(me);\r\n\r\n\t\t\t// Point labels\r\n\t\t\tme.pointLabels = me.chart.data.labels.map(me.options.pointLabels.callback, me);\r\n\t\t},\r\n\t\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t\t},\r\n\t\tfit: function() {\r\n\t\t\tif (this.options.pointLabels.display) {\r\n\t\t\t\tfitWithPointLabels(this);\r\n\t\t\t} else {\r\n\t\t\t\tfit(this);\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * Set radius reductions and determine new radius and center point\r\n\t\t * @private\r\n\t\t */\r\n\t\tsetReductions: function(largestPossibleRadius, furthestLimits, furthestAngles) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\r\n\t\t\tvar radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\r\n\t\t\tvar radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\r\n\t\t\tvar radiusReductionBottom = -Math.max(furthestLimits.b - me.height, 0) / Math.cos(furthestAngles.b);\r\n\r\n\t\t\tradiusReductionLeft = numberOrZero(radiusReductionLeft);\r\n\t\t\tradiusReductionRight = numberOrZero(radiusReductionRight);\r\n\t\t\tradiusReductionTop = numberOrZero(radiusReductionTop);\r\n\t\t\tradiusReductionBottom = numberOrZero(radiusReductionBottom);\r\n\r\n\t\t\tme.drawingArea = Math.min(\r\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\r\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));\r\n\t\t\tme.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\r\n\t\t},\r\n\t\tsetCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar maxRight = me.width - rightMovement - me.drawingArea;\r\n\t\t\tvar maxLeft = leftMovement + me.drawingArea;\r\n\t\t\tvar maxTop = topMovement + me.drawingArea;\r\n\t\t\tvar maxBottom = me.height - bottomMovement - me.drawingArea;\r\n\r\n\t\t\tme.xCenter = Math.round(((maxLeft + maxRight) / 2) + me.left);\r\n\t\t\tme.yCenter = Math.round(((maxTop + maxBottom) / 2) + me.top);\r\n\t\t},\r\n\r\n\t\tgetIndexAngle: function(index) {\r\n\t\t\tvar angleMultiplier = (Math.PI * 2) / getValueCount(this);\r\n\t\t\tvar startAngle = this.chart.options && this.chart.options.startAngle ?\r\n\t\t\t\tthis.chart.options.startAngle :\r\n\t\t\t\t0;\r\n\r\n\t\t\tvar startAngleRadians = startAngle * Math.PI * 2 / 360;\r\n\r\n\t\t\t// Start from the top instead of right, so remove a quarter of the circle\r\n\t\t\treturn index * angleMultiplier + startAngleRadians;\r\n\t\t},\r\n\t\tgetDistanceFromCenterForValue: function(value) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tif (value === null) {\r\n\t\t\t\treturn 0; // null always in center\r\n\t\t\t}\r\n\r\n\t\t\t// Take into account half font size + the yPadding of the top value\r\n\t\t\tvar scalingFactor = me.drawingArea / (me.max - me.min);\r\n\t\t\tif (me.options.ticks.reverse) {\r\n\t\t\t\treturn (me.max - value) * scalingFactor;\r\n\t\t\t}\r\n\t\t\treturn (value - me.min) * scalingFactor;\r\n\t\t},\r\n\t\tgetPointPosition: function(index, distanceFromCenter) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar thisAngle = me.getIndexAngle(index) - (Math.PI / 2);\r\n\t\t\treturn {\r\n\t\t\t\tx: Math.round(Math.cos(thisAngle) * distanceFromCenter) + me.xCenter,\r\n\t\t\t\ty: Math.round(Math.sin(thisAngle) * distanceFromCenter) + me.yCenter\r\n\t\t\t};\r\n\t\t},\r\n\t\tgetPointPositionForValue: function(index, value) {\r\n\t\t\treturn this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\r\n\t\t},\r\n\r\n\t\tgetBasePosition: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar min = me.min;\r\n\t\t\tvar max = me.max;\r\n\r\n\t\t\treturn me.getPointPositionForValue(0,\r\n\t\t\t\tme.beginAtZero ? 0 :\r\n\t\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t\t0);\r\n\t\t},\r\n\r\n\t\tdraw: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar opts = me.options;\r\n\t\t\tvar gridLineOpts = opts.gridLines;\r\n\t\t\tvar tickOpts = opts.ticks;\r\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\r\n\r\n\t\t\tif (opts.display) {\r\n\t\t\t\tvar ctx = me.ctx;\r\n\t\t\t\tvar startAngle = this.getIndexAngle(0);\r\n\r\n\t\t\t\t// Tick Font\r\n\t\t\t\tvar tickFontSize = valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\r\n\t\t\t\tvar tickFontStyle = valueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);\r\n\t\t\t\tvar tickFontFamily = valueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);\r\n\t\t\t\tvar tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);\r\n\r\n\t\t\t\thelpers.each(me.ticks, function(label, index) {\r\n\t\t\t\t\t// Don't draw a centre value (if it is minimum)\r\n\t\t\t\t\tif (index > 0 || tickOpts.reverse) {\r\n\t\t\t\t\t\tvar yCenterOffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\r\n\r\n\t\t\t\t\t\t// Draw circular lines around the scale\r\n\t\t\t\t\t\tif (gridLineOpts.display && index !== 0) {\r\n\t\t\t\t\t\t\tdrawRadiusLine(me, gridLineOpts, yCenterOffset, index);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (tickOpts.display) {\r\n\t\t\t\t\t\t\tvar tickFontColor = valueOrDefault(tickOpts.fontColor, globalDefaults.defaultFontColor);\r\n\t\t\t\t\t\t\tctx.font = tickLabelFont;\r\n\r\n\t\t\t\t\t\t\tctx.save();\r\n\t\t\t\t\t\t\tctx.translate(me.xCenter, me.yCenter);\r\n\t\t\t\t\t\t\tctx.rotate(startAngle);\r\n\r\n\t\t\t\t\t\t\tif (tickOpts.showLabelBackdrop) {\r\n\t\t\t\t\t\t\t\tvar labelWidth = ctx.measureText(label).width;\r\n\t\t\t\t\t\t\t\tctx.fillStyle = tickOpts.backdropColor;\r\n\t\t\t\t\t\t\t\tctx.fillRect(\r\n\t\t\t\t\t\t\t\t\t-labelWidth / 2 - tickOpts.backdropPaddingX,\r\n\t\t\t\t\t\t\t\t\t-yCenterOffset - tickFontSize / 2 - tickOpts.backdropPaddingY,\r\n\t\t\t\t\t\t\t\t\tlabelWidth + tickOpts.backdropPaddingX * 2,\r\n\t\t\t\t\t\t\t\t\ttickFontSize + tickOpts.backdropPaddingY * 2\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tctx.textAlign = 'center';\r\n\t\t\t\t\t\t\tctx.textBaseline = 'middle';\r\n\t\t\t\t\t\t\tctx.fillStyle = tickFontColor;\r\n\t\t\t\t\t\t\tctx.fillText(label, 0, -yCenterOffset);\r\n\t\t\t\t\t\t\tctx.restore();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (opts.angleLines.display || opts.pointLabels.display) {\r\n\t\t\t\t\tdrawPointLabels(me);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\tChart.scaleService.registerScaleType('radialLinear', LinearRadialScale, defaultConfig);\r\n\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/scales/scale.radialLinear.js\n// module id = 860\n// module chunks = 3","/* global window: false */\r\n'use strict';\r\n\r\nvar moment = require('moment');\r\nmoment = typeof moment === 'function' ? moment : window.moment;\r\n\r\nvar defaults = require('../core/core.defaults');\r\nvar helpers = require('../helpers/index');\r\n\r\n// Integer constants are from the ES6 spec.\r\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\r\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\n\r\nvar INTERVALS = {\r\n\tmillisecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1,\r\n\t\tsteps: [1, 2, 5, 10, 20, 50, 100, 250, 500]\r\n\t},\r\n\tsecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1000,\r\n\t\tsteps: [1, 2, 5, 10, 30]\r\n\t},\r\n\tminute: {\r\n\t\tcommon: true,\r\n\t\tsize: 60000,\r\n\t\tsteps: [1, 2, 5, 10, 30]\r\n\t},\r\n\thour: {\r\n\t\tcommon: true,\r\n\t\tsize: 3600000,\r\n\t\tsteps: [1, 2, 3, 6, 12]\r\n\t},\r\n\tday: {\r\n\t\tcommon: true,\r\n\t\tsize: 86400000,\r\n\t\tsteps: [1, 2, 5]\r\n\t},\r\n\tweek: {\r\n\t\tcommon: false,\r\n\t\tsize: 604800000,\r\n\t\tsteps: [1, 2, 3, 4]\r\n\t},\r\n\tmonth: {\r\n\t\tcommon: true,\r\n\t\tsize: 2.628e9,\r\n\t\tsteps: [1, 2, 3]\r\n\t},\r\n\tquarter: {\r\n\t\tcommon: false,\r\n\t\tsize: 7.884e9,\r\n\t\tsteps: [1, 2, 3, 4]\r\n\t},\r\n\tyear: {\r\n\t\tcommon: true,\r\n\t\tsize: 3.154e10\r\n\t}\r\n};\r\n\r\nvar UNITS = Object.keys(INTERVALS);\r\n\r\nfunction sorter(a, b) {\r\n\treturn a - b;\r\n}\r\n\r\nfunction arrayUnique(items) {\r\n\tvar hash = {};\r\n\tvar out = [];\r\n\tvar i, ilen, item;\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\titem = items[i];\r\n\t\tif (!hash[item]) {\r\n\t\t\thash[item] = true;\r\n\t\t\tout.push(item);\r\n\t\t}\r\n\t}\r\n\r\n\treturn out;\r\n}\r\n\r\n/**\r\n * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\r\n * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\r\n * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\r\n * extremity (left + width or top + height). Note that it would be more optimized to directly\r\n * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\r\n * to create the lookup table. The table ALWAYS contains at least two items: min and max.\r\n *\r\n * @param {Number[]} timestamps - timestamps sorted from lowest to highest.\r\n * @param {String} distribution - If 'linear', timestamps will be spread linearly along the min\r\n * and max range, so basically, the table will contains only two items: {min, 0} and {max, 1}.\r\n * If 'series', timestamps will be positioned at the same distance from each other. In this\r\n * case, only timestamps that break the time linearity are registered, meaning that in the\r\n * best case, all timestamps are linear, the table contains only min and max.\r\n */\r\nfunction buildLookupTable(timestamps, min, max, distribution) {\r\n\tif (distribution === 'linear' || !timestamps.length) {\r\n\t\treturn [\r\n\t\t\t{time: min, pos: 0},\r\n\t\t\t{time: max, pos: 1}\r\n\t\t];\r\n\t}\r\n\r\n\tvar table = [];\r\n\tvar items = [min];\r\n\tvar i, ilen, prev, curr, next;\r\n\r\n\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\tcurr = timestamps[i];\r\n\t\tif (curr > min && curr < max) {\r\n\t\t\titems.push(curr);\r\n\t\t}\r\n\t}\r\n\r\n\titems.push(max);\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\tnext = items[i + 1];\r\n\t\tprev = items[i - 1];\r\n\t\tcurr = items[i];\r\n\r\n\t\t// only add points that breaks the scale linearity\r\n\t\tif (prev === undefined || next === undefined || Math.round((next + prev) / 2) !== curr) {\r\n\t\t\ttable.push({time: curr, pos: i / (ilen - 1)});\r\n\t\t}\r\n\t}\r\n\r\n\treturn table;\r\n}\r\n\r\n// @see adapted from http://www.anujgakhar.com/2014/03/01/binary-search-in-javascript/\r\nfunction lookup(table, key, value) {\r\n\tvar lo = 0;\r\n\tvar hi = table.length - 1;\r\n\tvar mid, i0, i1;\r\n\r\n\twhile (lo >= 0 && lo <= hi) {\r\n\t\tmid = (lo + hi) >> 1;\r\n\t\ti0 = table[mid - 1] || null;\r\n\t\ti1 = table[mid];\r\n\r\n\t\tif (!i0) {\r\n\t\t\t// given value is outside table (before first item)\r\n\t\t\treturn {lo: null, hi: i1};\r\n\t\t} else if (i1[key] < value) {\r\n\t\t\tlo = mid + 1;\r\n\t\t} else if (i0[key] > value) {\r\n\t\t\thi = mid - 1;\r\n\t\t} else {\r\n\t\t\treturn {lo: i0, hi: i1};\r\n\t\t}\r\n\t}\r\n\r\n\t// given value is outside table (after last item)\r\n\treturn {lo: i1, hi: null};\r\n}\r\n\r\n/**\r\n * Linearly interpolates the given source `value` using the table items `skey` values and\r\n * returns the associated `tkey` value. For example, interpolate(table, 'time', 42, 'pos')\r\n * returns the position for a timestamp equal to 42. If value is out of bounds, values at\r\n * index [0, 1] or [n - 1, n] are used for the interpolation.\r\n */\r\nfunction interpolate(table, skey, sval, tkey) {\r\n\tvar range = lookup(table, skey, sval);\r\n\r\n\t// Note: the lookup table ALWAYS contains at least 2 items (min and max)\r\n\tvar prev = !range.lo ? table[0] : !range.hi ? table[table.length - 2] : range.lo;\r\n\tvar next = !range.lo ? table[1] : !range.hi ? table[table.length - 1] : range.hi;\r\n\r\n\tvar span = next[skey] - prev[skey];\r\n\tvar ratio = span ? (sval - prev[skey]) / span : 0;\r\n\tvar offset = (next[tkey] - prev[tkey]) * ratio;\r\n\r\n\treturn prev[tkey] + offset;\r\n}\r\n\r\n/**\r\n * Convert the given value to a moment object using the given time options.\r\n * @see http://momentjs.com/docs/#/parsing/\r\n */\r\nfunction momentify(value, options) {\r\n\tvar parser = options.parser;\r\n\tvar format = options.parser || options.format;\r\n\r\n\tif (typeof parser === 'function') {\r\n\t\treturn parser(value);\r\n\t}\r\n\r\n\tif (typeof value === 'string' && typeof format === 'string') {\r\n\t\treturn moment(value, format);\r\n\t}\r\n\r\n\tif (!(value instanceof moment)) {\r\n\t\tvalue = moment(value);\r\n\t}\r\n\r\n\tif (value.isValid()) {\r\n\t\treturn value;\r\n\t}\r\n\r\n\t// Labels are in an incompatible moment format and no `parser` has been provided.\r\n\t// The user might still use the deprecated `format` option to convert his inputs.\r\n\tif (typeof format === 'function') {\r\n\t\treturn format(value);\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\nfunction parse(input, scale) {\r\n\tif (helpers.isNullOrUndef(input)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar options = scale.options.time;\r\n\tvar value = momentify(scale.getRightValue(input), options);\r\n\tif (!value.isValid()) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (options.round) {\r\n\t\tvalue.startOf(options.round);\r\n\t}\r\n\r\n\treturn value.valueOf();\r\n}\r\n\r\n/**\r\n * Returns the number of unit to skip to be able to display up to `capacity` number of ticks\r\n * in `unit` for the given `min` / `max` range and respecting the interval steps constraints.\r\n */\r\nfunction determineStepSize(min, max, unit, capacity) {\r\n\tvar range = max - min;\r\n\tvar interval = INTERVALS[unit];\r\n\tvar milliseconds = interval.size;\r\n\tvar steps = interval.steps;\r\n\tvar i, ilen, factor;\r\n\r\n\tif (!steps) {\r\n\t\treturn Math.ceil(range / (capacity * milliseconds));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = steps.length; i < ilen; ++i) {\r\n\t\tfactor = steps[i];\r\n\t\tif (Math.ceil(range / (milliseconds * factor)) <= capacity) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\treturn factor;\r\n}\r\n\r\n/**\r\n * Figures out what unit results in an appropriate number of auto-generated ticks\r\n */\r\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\r\n\tvar ilen = UNITS.length;\r\n\tvar i, interval, factor;\r\n\r\n\tfor (i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\r\n\t\tinterval = INTERVALS[UNITS[i]];\r\n\t\tfactor = interval.steps ? interval.steps[interval.steps.length - 1] : MAX_INTEGER;\r\n\r\n\t\tif (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[ilen - 1];\r\n}\r\n\r\n/**\r\n * Figures out what unit to format a set of ticks with\r\n */\r\nfunction determineUnitForFormatting(ticks, minUnit, min, max) {\r\n\tvar duration = moment.duration(moment(max).diff(moment(min)));\r\n\tvar ilen = UNITS.length;\r\n\tvar i, unit;\r\n\r\n\tfor (i = ilen - 1; i >= UNITS.indexOf(minUnit); i--) {\r\n\t\tunit = UNITS[i];\r\n\t\tif (INTERVALS[unit].common && duration.as(unit) >= ticks.length) {\r\n\t\t\treturn unit;\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\r\n}\r\n\r\nfunction determineMajorUnit(unit) {\r\n\tfor (var i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\r\n\t\tif (INTERVALS[UNITS[i]].common) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Generates a maximum of `capacity` timestamps between min and max, rounded to the\r\n * `minor` unit, aligned on the `major` unit and using the given scale time `options`.\r\n * Important: this method can return ticks outside the min and max range, it's the\r\n * responsibility of the calling code to clamp values if needed.\r\n */\r\nfunction generate(min, max, capacity, options) {\r\n\tvar timeOpts = options.time;\r\n\tvar minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, capacity);\r\n\tvar major = determineMajorUnit(minor);\r\n\tvar stepSize = helpers.valueOrDefault(timeOpts.stepSize, timeOpts.unitStepSize);\r\n\tvar weekday = minor === 'week' ? timeOpts.isoWeekday : false;\r\n\tvar majorTicksEnabled = options.ticks.major.enabled;\r\n\tvar interval = INTERVALS[minor];\r\n\tvar first = moment(min);\r\n\tvar last = moment(max);\r\n\tvar ticks = [];\r\n\tvar time;\r\n\r\n\tif (!stepSize) {\r\n\t\tstepSize = determineStepSize(min, max, minor, capacity);\r\n\t}\r\n\r\n\t// For 'week' unit, handle the first day of week option\r\n\tif (weekday) {\r\n\t\tfirst = first.isoWeekday(weekday);\r\n\t\tlast = last.isoWeekday(weekday);\r\n\t}\r\n\r\n\t// Align first/last ticks on unit\r\n\tfirst = first.startOf(weekday ? 'day' : minor);\r\n\tlast = last.startOf(weekday ? 'day' : minor);\r\n\r\n\t// Make sure that the last tick include max\r\n\tif (last < max) {\r\n\t\tlast.add(1, minor);\r\n\t}\r\n\r\n\ttime = moment(first);\r\n\r\n\tif (majorTicksEnabled && major && !weekday && !timeOpts.round) {\r\n\t\t// Align the first tick on the previous `minor` unit aligned on the `major` unit:\r\n\t\t// we first aligned time on the previous `major` unit then add the number of full\r\n\t\t// stepSize there is between first and the previous major time.\r\n\t\ttime.startOf(major);\r\n\t\ttime.add(~~((first - time) / (interval.size * stepSize)) * stepSize, minor);\r\n\t}\r\n\r\n\tfor (; time < last; time.add(stepSize, minor)) {\r\n\t\tticks.push(+time);\r\n\t}\r\n\r\n\tticks.push(+time);\r\n\r\n\treturn ticks;\r\n}\r\n\r\n/**\r\n * Returns the right and left offsets from edges in the form of {left, right}.\r\n * Offsets are added when the `offset` option is true.\r\n */\r\nfunction computeOffsets(table, ticks, min, max, options) {\r\n\tvar left = 0;\r\n\tvar right = 0;\r\n\tvar upper, lower;\r\n\r\n\tif (options.offset && ticks.length) {\r\n\t\tif (!options.time.min) {\r\n\t\t\tupper = ticks.length > 1 ? ticks[1] : max;\r\n\t\t\tlower = ticks[0];\r\n\t\t\tleft = (\r\n\t\t\t\tinterpolate(table, 'time', upper, 'pos') -\r\n\t\t\t\tinterpolate(table, 'time', lower, 'pos')\r\n\t\t\t) / 2;\r\n\t\t}\r\n\t\tif (!options.time.max) {\r\n\t\t\tupper = ticks[ticks.length - 1];\r\n\t\t\tlower = ticks.length > 1 ? ticks[ticks.length - 2] : min;\r\n\t\t\tright = (\r\n\t\t\t\tinterpolate(table, 'time', upper, 'pos') -\r\n\t\t\t\tinterpolate(table, 'time', lower, 'pos')\r\n\t\t\t) / 2;\r\n\t\t}\r\n\t}\r\n\r\n\treturn {left: left, right: right};\r\n}\r\n\r\nfunction ticksFromTimestamps(values, majorUnit) {\r\n\tvar ticks = [];\r\n\tvar i, ilen, value, major;\r\n\r\n\tfor (i = 0, ilen = values.length; i < ilen; ++i) {\r\n\t\tvalue = values[i];\r\n\t\tmajor = majorUnit ? value === +moment(value).startOf(majorUnit) : false;\r\n\r\n\t\tticks.push({\r\n\t\t\tvalue: value,\r\n\t\t\tmajor: major\r\n\t\t});\r\n\t}\r\n\r\n\treturn ticks;\r\n}\r\n\r\nfunction determineLabelFormat(data, timeOpts) {\r\n\tvar i, momentDate, hasTime;\r\n\tvar ilen = data.length;\r\n\r\n\t// find the label with the most parts (milliseconds, minutes, etc.)\r\n\t// format all labels with the same level of detail as the most specific label\r\n\tfor (i = 0; i < ilen; i++) {\r\n\t\tmomentDate = momentify(data[i], timeOpts);\r\n\t\tif (momentDate.millisecond() !== 0) {\r\n\t\t\treturn 'MMM D, YYYY h:mm:ss.SSS a';\r\n\t\t}\r\n\t\tif (momentDate.second() !== 0 || momentDate.minute() !== 0 || momentDate.hour() !== 0) {\r\n\t\t\thasTime = true;\r\n\t\t}\r\n\t}\r\n\tif (hasTime) {\r\n\t\treturn 'MMM D, YYYY h:mm:ss a';\r\n\t}\r\n\treturn 'MMM D, YYYY';\r\n}\r\n\r\nmodule.exports = function(Chart) {\r\n\r\n\tvar defaultConfig = {\r\n\t\tposition: 'bottom',\r\n\r\n\t\t/**\r\n\t\t * Data distribution along the scale:\r\n\t\t * - 'linear': data are spread according to their time (distances can vary),\r\n\t\t * - 'series': data are spread at the same distance from each other.\r\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t\t * @since 2.7.0\r\n\t\t */\r\n\t\tdistribution: 'linear',\r\n\r\n\t\t/**\r\n\t\t * Scale boundary strategy (bypassed by min/max time options)\r\n\t\t * - `data`: make sure data are fully visible, ticks outside are removed\r\n\t\t * - `ticks`: make sure ticks are fully visible, data outside are truncated\r\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4556\r\n\t\t * @since 2.7.0\r\n\t\t */\r\n\t\tbounds: 'data',\r\n\r\n\t\ttime: {\r\n\t\t\tparser: false, // false == a pattern string from http://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment\r\n\t\t\tformat: false, // DEPRECATED false == date objects, moment object, callback or a pattern string from http://momentjs.com/docs/#/parsing/string-format/\r\n\t\t\tunit: false, // false == automatic or override with week, month, year, etc.\r\n\t\t\tround: false, // none, or override with week, month, year, etc.\r\n\t\t\tdisplayFormat: false, // DEPRECATED\r\n\t\t\tisoWeekday: false, // override week start day - see http://momentjs.com/docs/#/get-set/iso-weekday/\r\n\t\t\tminUnit: 'millisecond',\r\n\r\n\t\t\t// defaults to unit's corresponding unitFormat below or override using pattern string from http://momentjs.com/docs/#/displaying/format/\r\n\t\t\tdisplayFormats: {\r\n\t\t\t\tmillisecond: 'h:mm:ss.SSS a', // 11:20:01.123 AM,\r\n\t\t\t\tsecond: 'h:mm:ss a', // 11:20:01 AM\r\n\t\t\t\tminute: 'h:mm a', // 11:20 AM\r\n\t\t\t\thour: 'hA', // 5PM\r\n\t\t\t\tday: 'MMM D', // Sep 4\r\n\t\t\t\tweek: 'll', // Week 46, or maybe \"[W]WW - YYYY\" ?\r\n\t\t\t\tmonth: 'MMM YYYY', // Sept 2015\r\n\t\t\t\tquarter: '[Q]Q - YYYY', // Q3\r\n\t\t\t\tyear: 'YYYY' // 2015\r\n\t\t\t},\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tautoSkip: false,\r\n\r\n\t\t\t/**\r\n\t\t\t * Ticks generation input values:\r\n\t\t\t * - 'auto': generates \"optimal\" ticks based on scale size and time options.\r\n\t\t\t * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\r\n\t\t\t * - 'labels': generates ticks from user given `data.labels` values ONLY.\r\n\t\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t\t\t * @since 2.7.0\r\n\t\t\t */\r\n\t\t\tsource: 'auto',\r\n\r\n\t\t\tmajor: {\r\n\t\t\t\tenabled: false\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar TimeScale = Chart.Scale.extend({\r\n\t\tinitialize: function() {\r\n\t\t\tif (!moment) {\r\n\t\t\t\tthrow new Error('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com');\r\n\t\t\t}\r\n\r\n\t\t\tthis.mergeTicksOptions();\r\n\r\n\t\t\tChart.Scale.prototype.initialize.call(this);\r\n\t\t},\r\n\r\n\t\tupdate: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = me.options;\r\n\r\n\t\t\t// DEPRECATIONS: output a message only one time per update\r\n\t\t\tif (options.time && options.time.format) {\r\n\t\t\t\tconsole.warn('options.time.format is deprecated and replaced by options.time.parser.');\r\n\t\t\t}\r\n\r\n\t\t\treturn Chart.Scale.prototype.update.apply(me, arguments);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Allows data to be referenced via 't' attribute\r\n\t\t */\r\n\t\tgetRightValue: function(rawValue) {\r\n\t\t\tif (rawValue && rawValue.t !== undefined) {\r\n\t\t\t\trawValue = rawValue.t;\r\n\t\t\t}\r\n\t\t\treturn Chart.Scale.prototype.getRightValue.call(this, rawValue);\r\n\t\t},\r\n\r\n\t\tdetermineDataLimits: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar chart = me.chart;\r\n\t\t\tvar timeOpts = me.options.time;\r\n\t\t\tvar unit = timeOpts.unit || 'day';\r\n\t\t\tvar min = MAX_INTEGER;\r\n\t\t\tvar max = MIN_INTEGER;\r\n\t\t\tvar timestamps = [];\r\n\t\t\tvar datasets = [];\r\n\t\t\tvar labels = [];\r\n\t\t\tvar i, j, ilen, jlen, data, timestamp;\r\n\r\n\t\t\t// Convert labels to timestamps\r\n\t\t\tfor (i = 0, ilen = chart.data.labels.length; i < ilen; ++i) {\r\n\t\t\t\tlabels.push(parse(chart.data.labels[i], me));\r\n\t\t\t}\r\n\r\n\t\t\t// Convert data to timestamps\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tdata = chart.data.datasets[i].data;\r\n\r\n\t\t\t\t\t// Let's consider that all data have the same format.\r\n\t\t\t\t\tif (helpers.isObject(data[0])) {\r\n\t\t\t\t\t\tdatasets[i] = [];\r\n\r\n\t\t\t\t\t\tfor (j = 0, jlen = data.length; j < jlen; ++j) {\r\n\t\t\t\t\t\t\ttimestamp = parse(data[j], me);\r\n\t\t\t\t\t\t\ttimestamps.push(timestamp);\r\n\t\t\t\t\t\t\tdatasets[i][j] = timestamp;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttimestamps.push.apply(timestamps, labels);\r\n\t\t\t\t\t\tdatasets[i] = labels.slice(0);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdatasets[i] = [];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (labels.length) {\r\n\t\t\t\t// Sort labels **after** data have been converted\r\n\t\t\t\tlabels = arrayUnique(labels).sort(sorter);\r\n\t\t\t\tmin = Math.min(min, labels[0]);\r\n\t\t\t\tmax = Math.max(max, labels[labels.length - 1]);\r\n\t\t\t}\r\n\r\n\t\t\tif (timestamps.length) {\r\n\t\t\t\ttimestamps = arrayUnique(timestamps).sort(sorter);\r\n\t\t\t\tmin = Math.min(min, timestamps[0]);\r\n\t\t\t\tmax = Math.max(max, timestamps[timestamps.length - 1]);\r\n\t\t\t}\r\n\r\n\t\t\tmin = parse(timeOpts.min, me) || min;\r\n\t\t\tmax = parse(timeOpts.max, me) || max;\r\n\r\n\t\t\t// In case there is no valid min/max, set limits based on unit time option\r\n\t\t\tmin = min === MAX_INTEGER ? +moment().startOf(unit) : min;\r\n\t\t\tmax = max === MIN_INTEGER ? +moment().endOf(unit) + 1 : max;\r\n\r\n\t\t\t// Make sure that max is strictly higher than min (required by the lookup table)\r\n\t\t\tme.min = Math.min(min, max);\r\n\t\t\tme.max = Math.max(min + 1, max);\r\n\r\n\t\t\t// PRIVATE\r\n\t\t\tme._horizontal = me.isHorizontal();\r\n\t\t\tme._table = [];\r\n\t\t\tme._timestamps = {\r\n\t\t\t\tdata: timestamps,\r\n\t\t\t\tdatasets: datasets,\r\n\t\t\t\tlabels: labels\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\tbuildTicks: function() {\r\n\t\t\tvar me = this;\r\n\t\t\tvar min = me.min;\r\n\t\t\tvar max = me.max;\r\n\t\t\tvar options = me.options;\r\n\t\t\tvar timeOpts = options.time;\r\n\t\t\tvar timestamps = [];\r\n\t\t\tvar ticks = [];\r\n\t\t\tvar i, ilen, timestamp;\r\n\r\n\t\t\tswitch (options.ticks.source) {\r\n\t\t\tcase 'data':\r\n\t\t\t\ttimestamps = me._timestamps.data;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'labels':\r\n\t\t\t\ttimestamps = me._timestamps.labels;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'auto':\r\n\t\t\tdefault:\r\n\t\t\t\ttimestamps = generate(min, max, me.getLabelCapacity(min), options);\r\n\t\t\t}\r\n\r\n\t\t\tif (options.bounds === 'ticks' && timestamps.length) {\r\n\t\t\t\tmin = timestamps[0];\r\n\t\t\t\tmax = timestamps[timestamps.length - 1];\r\n\t\t\t}\r\n\r\n\t\t\t// Enforce limits with user min/max options\r\n\t\t\tmin = parse(timeOpts.min, me) || min;\r\n\t\t\tmax = parse(timeOpts.max, me) || max;\r\n\r\n\t\t\t// Remove ticks outside the min/max range\r\n\t\t\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\t\t\ttimestamp = timestamps[i];\r\n\t\t\t\tif (timestamp >= min && timestamp <= max) {\r\n\t\t\t\t\tticks.push(timestamp);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tme.min = min;\r\n\t\t\tme.max = max;\r\n\r\n\t\t\t// PRIVATE\r\n\t\t\tme._unit = timeOpts.unit || determineUnitForFormatting(ticks, timeOpts.minUnit, me.min, me.max);\r\n\t\t\tme._majorUnit = determineMajorUnit(me._unit);\r\n\t\t\tme._table = buildLookupTable(me._timestamps.data, min, max, options.distribution);\r\n\t\t\tme._offsets = computeOffsets(me._table, ticks, min, max, options);\r\n\t\t\tme._labelFormat = determineLabelFormat(me._timestamps.data, timeOpts);\r\n\r\n\t\t\treturn ticksFromTimestamps(ticks, me._majorUnit);\r\n\t\t},\r\n\r\n\t\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar data = me.chart.data;\r\n\t\t\tvar timeOpts = me.options.time;\r\n\t\t\tvar label = data.labels && index < data.labels.length ? data.labels[index] : '';\r\n\t\t\tvar value = data.datasets[datasetIndex].data[index];\r\n\r\n\t\t\tif (helpers.isObject(value)) {\r\n\t\t\t\tlabel = me.getRightValue(value);\r\n\t\t\t}\r\n\t\t\tif (timeOpts.tooltipFormat) {\r\n\t\t\t\treturn momentify(label, timeOpts).format(timeOpts.tooltipFormat);\r\n\t\t\t}\r\n\t\t\tif (typeof label === 'string') {\r\n\t\t\t\treturn label;\r\n\t\t\t}\r\n\r\n\t\t\treturn momentify(label, timeOpts).format(me._labelFormat);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Function to format an individual tick mark\r\n\t\t * @private\r\n\t\t */\r\n\t\ttickFormatFunction: function(tick, index, ticks, formatOverride) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar options = me.options;\r\n\t\t\tvar time = tick.valueOf();\r\n\t\t\tvar formats = options.time.displayFormats;\r\n\t\t\tvar minorFormat = formats[me._unit];\r\n\t\t\tvar majorUnit = me._majorUnit;\r\n\t\t\tvar majorFormat = formats[majorUnit];\r\n\t\t\tvar majorTime = tick.clone().startOf(majorUnit).valueOf();\r\n\t\t\tvar majorTickOpts = options.ticks.major;\r\n\t\t\tvar major = majorTickOpts.enabled && majorUnit && majorFormat && time === majorTime;\r\n\t\t\tvar label = tick.format(formatOverride ? formatOverride : major ? majorFormat : minorFormat);\r\n\t\t\tvar tickOpts = major ? majorTickOpts : options.ticks.minor;\r\n\t\t\tvar formatter = helpers.valueOrDefault(tickOpts.callback, tickOpts.userCallback);\r\n\r\n\t\t\treturn formatter ? formatter(label, index, ticks) : label;\r\n\t\t},\r\n\r\n\t\tconvertTicksToLabels: function(ticks) {\r\n\t\t\tvar labels = [];\r\n\t\t\tvar i, ilen;\r\n\r\n\t\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\t\tlabels.push(this.tickFormatFunction(moment(ticks[i].value), i, ticks));\r\n\t\t\t}\r\n\r\n\t\t\treturn labels;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetPixelForOffset: function(time) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar size = me._horizontal ? me.width : me.height;\r\n\t\t\tvar start = me._horizontal ? me.left : me.top;\r\n\t\t\tvar pos = interpolate(me._table, 'time', time, 'pos');\r\n\r\n\t\t\treturn start + size * (me._offsets.left + pos) / (me._offsets.left + 1 + me._offsets.right);\r\n\t\t},\r\n\r\n\t\tgetPixelForValue: function(value, index, datasetIndex) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar time = null;\r\n\r\n\t\t\tif (index !== undefined && datasetIndex !== undefined) {\r\n\t\t\t\ttime = me._timestamps.datasets[datasetIndex][index];\r\n\t\t\t}\r\n\r\n\t\t\tif (time === null) {\r\n\t\t\t\ttime = parse(value, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (time !== null) {\r\n\t\t\t\treturn me.getPixelForOffset(time);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tgetPixelForTick: function(index) {\r\n\t\t\tvar ticks = this.getTicks();\r\n\t\t\treturn index >= 0 && index < ticks.length ?\r\n\t\t\t\tthis.getPixelForOffset(ticks[index].value) :\r\n\t\t\t\tnull;\r\n\t\t},\r\n\r\n\t\tgetValueForPixel: function(pixel) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar size = me._horizontal ? me.width : me.height;\r\n\t\t\tvar start = me._horizontal ? me.left : me.top;\r\n\t\t\tvar pos = (size ? (pixel - start) / size : 0) * (me._offsets.left + 1 + me._offsets.left) - me._offsets.right;\r\n\t\t\tvar time = interpolate(me._table, 'pos', pos, 'time');\r\n\r\n\t\t\treturn moment(time);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Crude approximation of what the label width might be\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetLabelWidth: function(label) {\r\n\t\t\tvar me = this;\r\n\t\t\tvar ticksOpts = me.options.ticks;\r\n\t\t\tvar tickLabelWidth = me.ctx.measureText(label).width;\r\n\t\t\tvar angle = helpers.toRadians(ticksOpts.maxRotation);\r\n\t\t\tvar cosRotation = Math.cos(angle);\r\n\t\t\tvar sinRotation = Math.sin(angle);\r\n\t\t\tvar tickFontSize = helpers.valueOrDefault(ticksOpts.fontSize, defaults.global.defaultFontSize);\r\n\r\n\t\t\treturn (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @private\r\n\t\t */\r\n\t\tgetLabelCapacity: function(exampleTime) {\r\n\t\t\tvar me = this;\r\n\r\n\t\t\tvar formatOverride = me.options.time.displayFormats.millisecond;\t// Pick the longest format for guestimation\r\n\r\n\t\t\tvar exampleLabel = me.tickFormatFunction(moment(exampleTime), 0, [], formatOverride);\r\n\t\t\tvar tickLabelWidth = me.getLabelWidth(exampleLabel);\r\n\t\t\tvar innerWidth = me.isHorizontal() ? me.width : me.height;\r\n\r\n\t\t\tvar capacity = Math.floor(innerWidth / tickLabelWidth);\r\n\t\t\treturn capacity > 0 ? capacity : 1;\r\n\t\t}\r\n\t});\r\n\r\n\tChart.scaleService.registerScaleType('time', TimeScale, defaultConfig);\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chart.js/src/scales/scale.time.js\n// module id = 861\n// module chunks = 3","/* MIT license */\r\nvar colorNames = require('color-name');\r\n\r\nmodule.exports = {\r\n   getRgba: getRgba,\r\n   getHsla: getHsla,\r\n   getRgb: getRgb,\r\n   getHsl: getHsl,\r\n   getHwb: getHwb,\r\n   getAlpha: getAlpha,\r\n\r\n   hexString: hexString,\r\n   rgbString: rgbString,\r\n   rgbaString: rgbaString,\r\n   percentString: percentString,\r\n   percentaString: percentaString,\r\n   hslString: hslString,\r\n   hslaString: hslaString,\r\n   hwbString: hwbString,\r\n   keyword: keyword\r\n}\r\n\r\nfunction getRgba(string) {\r\n   if (!string) {\r\n      return;\r\n   }\r\n   var abbr =  /^#([a-fA-F0-9]{3})$/i,\r\n       hex =  /^#([a-fA-F0-9]{6})$/i,\r\n       rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\r\n       per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\r\n       keyword = /(\\w+)/;\r\n\r\n   var rgb = [0, 0, 0],\r\n       a = 1,\r\n       match = string.match(abbr);\r\n   if (match) {\r\n      match = match[1];\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = parseInt(match[i] + match[i], 16);\r\n      }\r\n   }\r\n   else if (match = string.match(hex)) {\r\n      match = match[1];\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\r\n      }\r\n   }\r\n   else if (match = string.match(rgba)) {\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = parseInt(match[i + 1]);\r\n      }\r\n      a = parseFloat(match[4]);\r\n   }\r\n   else if (match = string.match(per)) {\r\n      for (var i = 0; i < rgb.length; i++) {\r\n         rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\r\n      }\r\n      a = parseFloat(match[4]);\r\n   }\r\n   else if (match = string.match(keyword)) {\r\n      if (match[1] == \"transparent\") {\r\n         return [0, 0, 0, 0];\r\n      }\r\n      rgb = colorNames[match[1]];\r\n      if (!rgb) {\r\n         return;\r\n      }\r\n   }\r\n\r\n   for (var i = 0; i < rgb.length; i++) {\r\n      rgb[i] = scale(rgb[i], 0, 255);\r\n   }\r\n   if (!a && a != 0) {\r\n      a = 1;\r\n   }\r\n   else {\r\n      a = scale(a, 0, 1);\r\n   }\r\n   rgb[3] = a;\r\n   return rgb;\r\n}\r\n\r\nfunction getHsla(string) {\r\n   if (!string) {\r\n      return;\r\n   }\r\n   var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\r\n   var match = string.match(hsl);\r\n   if (match) {\r\n      var alpha = parseFloat(match[4]);\r\n      var h = scale(parseInt(match[1]), 0, 360),\r\n          s = scale(parseFloat(match[2]), 0, 100),\r\n          l = scale(parseFloat(match[3]), 0, 100),\r\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\r\n      return [h, s, l, a];\r\n   }\r\n}\r\n\r\nfunction getHwb(string) {\r\n   if (!string) {\r\n      return;\r\n   }\r\n   var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\r\n   var match = string.match(hwb);\r\n   if (match) {\r\n    var alpha = parseFloat(match[4]);\r\n      var h = scale(parseInt(match[1]), 0, 360),\r\n          w = scale(parseFloat(match[2]), 0, 100),\r\n          b = scale(parseFloat(match[3]), 0, 100),\r\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\r\n      return [h, w, b, a];\r\n   }\r\n}\r\n\r\nfunction getRgb(string) {\r\n   var rgba = getRgba(string);\r\n   return rgba && rgba.slice(0, 3);\r\n}\r\n\r\nfunction getHsl(string) {\r\n  var hsla = getHsla(string);\r\n  return hsla && hsla.slice(0, 3);\r\n}\r\n\r\nfunction getAlpha(string) {\r\n   var vals = getRgba(string);\r\n   if (vals) {\r\n      return vals[3];\r\n   }\r\n   else if (vals = getHsla(string)) {\r\n      return vals[3];\r\n   }\r\n   else if (vals = getHwb(string)) {\r\n      return vals[3];\r\n   }\r\n}\r\n\r\n// generators\r\nfunction hexString(rgb) {\r\n   return \"#\" + hexDouble(rgb[0]) + hexDouble(rgb[1])\r\n              + hexDouble(rgb[2]);\r\n}\r\n\r\nfunction rgbString(rgba, alpha) {\r\n   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\r\n      return rgbaString(rgba, alpha);\r\n   }\r\n   return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\r\n}\r\n\r\nfunction rgbaString(rgba, alpha) {\r\n   if (alpha === undefined) {\r\n      alpha = (rgba[3] !== undefined ? rgba[3] : 1);\r\n   }\r\n   return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\r\n           + \", \" + alpha + \")\";\r\n}\r\n\r\nfunction percentString(rgba, alpha) {\r\n   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\r\n      return percentaString(rgba, alpha);\r\n   }\r\n   var r = Math.round(rgba[0]/255 * 100),\r\n       g = Math.round(rgba[1]/255 * 100),\r\n       b = Math.round(rgba[2]/255 * 100);\r\n\r\n   return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\r\n}\r\n\r\nfunction percentaString(rgba, alpha) {\r\n   var r = Math.round(rgba[0]/255 * 100),\r\n       g = Math.round(rgba[1]/255 * 100),\r\n       b = Math.round(rgba[2]/255 * 100);\r\n   return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\r\n}\r\n\r\nfunction hslString(hsla, alpha) {\r\n   if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\r\n      return hslaString(hsla, alpha);\r\n   }\r\n   return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\r\n}\r\n\r\nfunction hslaString(hsla, alpha) {\r\n   if (alpha === undefined) {\r\n      alpha = (hsla[3] !== undefined ? hsla[3] : 1);\r\n   }\r\n   return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\r\n           + alpha + \")\";\r\n}\r\n\r\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\r\n// (hwb have alpha optional & 1 is default value)\r\nfunction hwbString(hwb, alpha) {\r\n   if (alpha === undefined) {\r\n      alpha = (hwb[3] !== undefined ? hwb[3] : 1);\r\n   }\r\n   return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\r\n           + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\r\n}\r\n\r\nfunction keyword(rgb) {\r\n  return reverseNames[rgb.slice(0, 3)];\r\n}\r\n\r\n// helpers\r\nfunction scale(num, min, max) {\r\n   return Math.min(Math.max(min, num), max);\r\n}\r\n\r\nfunction hexDouble(num) {\r\n  var str = num.toString(16).toUpperCase();\r\n  return (str.length < 2) ? \"0\" + str : str;\r\n}\r\n\r\n\r\n//create a list of reverse color names\r\nvar reverseNames = {};\r\nfor (var name in colorNames) {\r\n   reverseNames[colorNames[name]] = name;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/chartjs-color-string/color-string.js\n// module id = 862\n// module chunks = 3","var conversions = require('./conversions');\r\nvar route = require('./route');\r\n\r\nvar convert = {};\r\n\r\nvar models = Object.keys(conversions);\r\n\r\nfunction wrapRaw(fn) {\r\n\tvar wrappedFn = function (args) {\r\n\t\tif (args === undefined || args === null) {\r\n\t\t\treturn args;\r\n\t\t}\r\n\r\n\t\tif (arguments.length > 1) {\r\n\t\t\targs = Array.prototype.slice.call(arguments);\r\n\t\t}\r\n\r\n\t\treturn fn(args);\r\n\t};\r\n\r\n\t// preserve .conversion property if there is one\r\n\tif ('conversion' in fn) {\r\n\t\twrappedFn.conversion = fn.conversion;\r\n\t}\r\n\r\n\treturn wrappedFn;\r\n}\r\n\r\nfunction wrapRounded(fn) {\r\n\tvar wrappedFn = function (args) {\r\n\t\tif (args === undefined || args === null) {\r\n\t\t\treturn args;\r\n\t\t}\r\n\r\n\t\tif (arguments.length > 1) {\r\n\t\t\targs = Array.prototype.slice.call(arguments);\r\n\t\t}\r\n\r\n\t\tvar result = fn(args);\r\n\r\n\t\t// we're assuming the result is an array here.\r\n\t\t// see notice in conversions.js; don't use box types\r\n\t\t// in conversion functions.\r\n\t\tif (typeof result === 'object') {\r\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\r\n\t\t\t\tresult[i] = Math.round(result[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t};\r\n\r\n\t// preserve .conversion property if there is one\r\n\tif ('conversion' in fn) {\r\n\t\twrappedFn.conversion = fn.conversion;\r\n\t}\r\n\r\n\treturn wrappedFn;\r\n}\r\n\r\nmodels.forEach(function (fromModel) {\r\n\tconvert[fromModel] = {};\r\n\r\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\r\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\r\n\r\n\tvar routes = route(fromModel);\r\n\tvar routeModels = Object.keys(routes);\r\n\r\n\trouteModels.forEach(function (toModel) {\r\n\t\tvar fn = routes[toModel];\r\n\r\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\r\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\r\n\t});\r\n});\r\n\r\nmodule.exports = convert;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/color-convert/index.js\n// module id = 863\n// module chunks = 3","var conversions = require('./conversions');\r\n\r\n/*\r\n\tthis function routes a model to all other models.\r\n\r\n\tall functions that are routed have a property `.conversion` attached\r\n\tto the returned synthetic function. This property is an array\r\n\tof strings, each with the steps in between the 'from' and 'to'\r\n\tcolor models (inclusive).\r\n\r\n\tconversions that are not possible simply are not included.\r\n*/\r\n\r\n// https://jsperf.com/object-keys-vs-for-in-with-closure/3\r\nvar models = Object.keys(conversions);\r\n\r\nfunction buildGraph() {\r\n\tvar graph = {};\r\n\r\n\tfor (var len = models.length, i = 0; i < len; i++) {\r\n\t\tgraph[models[i]] = {\r\n\t\t\t// http://jsperf.com/1-vs-infinity\r\n\t\t\t// micro-opt, but this is simple.\r\n\t\t\tdistance: -1,\r\n\t\t\tparent: null\r\n\t\t};\r\n\t}\r\n\r\n\treturn graph;\r\n}\r\n\r\n// https://en.wikipedia.org/wiki/Breadth-first_search\r\nfunction deriveBFS(fromModel) {\r\n\tvar graph = buildGraph();\r\n\tvar queue = [fromModel]; // unshift -> queue -> pop\r\n\r\n\tgraph[fromModel].distance = 0;\r\n\r\n\twhile (queue.length) {\r\n\t\tvar current = queue.pop();\r\n\t\tvar adjacents = Object.keys(conversions[current]);\r\n\r\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\r\n\t\t\tvar adjacent = adjacents[i];\r\n\t\t\tvar node = graph[adjacent];\r\n\r\n\t\t\tif (node.distance === -1) {\r\n\t\t\t\tnode.distance = graph[current].distance + 1;\r\n\t\t\t\tnode.parent = current;\r\n\t\t\t\tqueue.unshift(adjacent);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn graph;\r\n}\r\n\r\nfunction link(from, to) {\r\n\treturn function (args) {\r\n\t\treturn to(from(args));\r\n\t};\r\n}\r\n\r\nfunction wrapConversion(toModel, graph) {\r\n\tvar path = [graph[toModel].parent, toModel];\r\n\tvar fn = conversions[graph[toModel].parent][toModel];\r\n\r\n\tvar cur = graph[toModel].parent;\r\n\twhile (graph[cur].parent) {\r\n\t\tpath.unshift(graph[cur].parent);\r\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\r\n\t\tcur = graph[cur].parent;\r\n\t}\r\n\r\n\tfn.conversion = path;\r\n\treturn fn;\r\n}\r\n\r\nmodule.exports = function (fromModel) {\r\n\tvar graph = deriveBFS(fromModel);\r\n\tvar conversion = {};\r\n\r\n\tvar models = Object.keys(graph);\r\n\tfor (var len = models.length, i = 0; i < len; i++) {\r\n\t\tvar toModel = models[i];\r\n\t\tvar node = graph[toModel];\r\n\r\n\t\tif (node.parent === null) {\r\n\t\t\t// no possible conversion, or this node is the source model.\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\r\n\t}\r\n\r\n\treturn conversion;\r\n};\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/color-convert/route.js\n// module id = 864\n// module chunks = 3","require('../modules/web.dom.iterable');\r\nrequire('../modules/es6.string.iterator');\r\nmodule.exports = require('../modules/core.get-iterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/get-iterator.js\n// module id = 865\n// module chunks = 3","require('../../modules/es6.object.assign');\r\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 866\n// module chunks = 3","require('../../modules/es6.object.define-property');\r\nvar $Object = require('../../modules/_core').Object;\r\nmodule.exports = function defineProperty(it, key, desc){\r\n  return $Object.defineProperty(it, key, desc);\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/define-property.js\n// module id = 867\n// module chunks = 3","module.exports = function(it){\r\n  if(typeof it != 'function')throw TypeError(it + ' is not a function!');\r\n  return it;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 868\n// module chunks = 3","module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_add-to-unscopables.js\n// module id = 869\n// module chunks = 3","// false -> Array#indexOf\r\n// true  -> Array#includes\r\nvar toIObject = require('./_to-iobject')\r\n  , toLength  = require('./_to-length')\r\n  , toIndex   = require('./_to-index');\r\nmodule.exports = function(IS_INCLUDES){\r\n  return function($this, el, fromIndex){\r\n    var O      = toIObject($this)\r\n      , length = toLength(O.length)\r\n      , index  = toIndex(fromIndex, length)\r\n      , value;\r\n    // Array#includes uses SameValueZero equality algorithm\r\n    if(IS_INCLUDES && el != el)while(length > index){\r\n      value = O[index++];\r\n      if(value != value)return true;\r\n    // Array#toIndex ignores holes, Array#includes - not\r\n    } else for(;length > index; index++)if(IS_INCLUDES || index in O){\r\n      if(O[index] === el)return IS_INCLUDES || index || 0;\r\n    } return !IS_INCLUDES && -1;\r\n  };\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 870\n// module chunks = 3","// getting tag from 19.1.3.6 Object.prototype.toString()\r\nvar cof = require('./_cof')\r\n  , TAG = require('./_wks')('toStringTag')\r\n  // ES3 wrong here\r\n  , ARG = cof(function(){ return arguments; }()) == 'Arguments';\r\n\r\n// fallback for IE11 Script Access Denied error\r\nvar tryGet = function(it, key){\r\n  try {\r\n    return it[key];\r\n  } catch(e){ /* empty */ }\r\n};\r\n\r\nmodule.exports = function(it){\r\n  var O, T, B;\r\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\r\n    // @@toStringTag case\r\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\r\n    // builtinTag case\r\n    : ARG ? cof(O)\r\n    // ES3 arguments fallback\r\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_classof.js\n// module id = 871\n// module chunks = 3","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\r\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\r\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 872\n// module chunks = 3","'use strict';\r\nvar create         = require('./_object-create')\r\n  , descriptor     = require('./_property-desc')\r\n  , setToStringTag = require('./_set-to-string-tag')\r\n  , IteratorPrototype = {};\r\n\r\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\r\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\r\n\r\nmodule.exports = function(Constructor, NAME, next){\r\n  Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\r\n  setToStringTag(Constructor, NAME + ' Iterator');\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 873\n// module chunks = 3","module.exports = function(done, value){\r\n  return {value: value, done: !!done};\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-step.js\n// module id = 874\n// module chunks = 3","module.exports = true;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 875\n// module chunks = 3","'use strict';\r\n// 19.1.2.1 Object.assign(target, source, ...)\r\nvar getKeys  = require('./_object-keys')\r\n  , gOPS     = require('./_object-gops')\r\n  , pIE      = require('./_object-pie')\r\n  , toObject = require('./_to-object')\r\n  , IObject  = require('./_iobject')\r\n  , $assign  = Object.assign;\r\n\r\n// should work with symbols and should have deterministic property order (V8 bug)\r\nmodule.exports = !$assign || require('./_fails')(function(){\r\n  var A = {}\r\n    , B = {}\r\n    , S = Symbol()\r\n    , K = 'abcdefghijklmnopqrst';\r\n  A[S] = 7;\r\n  K.split('').forEach(function(k){ B[k] = k; });\r\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\r\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\r\n  var T     = toObject(target)\r\n    , aLen  = arguments.length\r\n    , index = 1\r\n    , getSymbols = gOPS.f\r\n    , isEnum     = pIE.f;\r\n  while(aLen > index){\r\n    var S      = IObject(arguments[index++])\r\n      , keys   = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\r\n      , length = keys.length\r\n      , j      = 0\r\n      , key;\r\n    while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\r\n  } return T;\r\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 876\n// module chunks = 3","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\r\nvar anObject    = require('./_an-object')\r\n  , dPs         = require('./_object-dps')\r\n  , enumBugKeys = require('./_enum-bug-keys')\r\n  , IE_PROTO    = require('./_shared-key')('IE_PROTO')\r\n  , Empty       = function(){ /* empty */ }\r\n  , PROTOTYPE   = 'prototype';\r\n\r\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\r\nvar createDict = function(){\r\n  // Thrash, waste and sodomy: IE GC bug\r\n  var iframe = require('./_dom-create')('iframe')\r\n    , i      = enumBugKeys.length\r\n    , lt     = '<'\r\n    , gt     = '>'\r\n    , iframeDocument;\r\n  iframe.style.display = 'none';\r\n  require('./_html').appendChild(iframe);\r\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\r\n  // createDict = iframe.contentWindow.Object;\r\n  // html.removeChild(iframe);\r\n  iframeDocument = iframe.contentWindow.document;\r\n  iframeDocument.open();\r\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\r\n  iframeDocument.close();\r\n  createDict = iframeDocument.F;\r\n  while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\r\n  return createDict();\r\n};\r\n\r\nmodule.exports = Object.create || function create(O, Properties){\r\n  var result;\r\n  if(O !== null){\r\n    Empty[PROTOTYPE] = anObject(O);\r\n    result = new Empty;\r\n    Empty[PROTOTYPE] = null;\r\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\r\n    result[IE_PROTO] = O;\r\n  } else result = createDict();\r\n  return Properties === undefined ? result : dPs(result, Properties);\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 877\n// module chunks = 3","var dP       = require('./_object-dp')\r\n  , anObject = require('./_an-object')\r\n  , getKeys  = require('./_object-keys');\r\n\r\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\r\n  anObject(O);\r\n  var keys   = getKeys(Properties)\r\n    , length = keys.length\r\n    , i = 0\r\n    , P;\r\n  while(length > i)dP.f(O, P = keys[i++], Properties[P]);\r\n  return O;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 878\n// module chunks = 3","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 879\n// module chunks = 3","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\r\nvar has         = require('./_has')\r\n  , toObject    = require('./_to-object')\r\n  , IE_PROTO    = require('./_shared-key')('IE_PROTO')\r\n  , ObjectProto = Object.prototype;\r\n\r\nmodule.exports = Object.getPrototypeOf || function(O){\r\n  O = toObject(O);\r\n  if(has(O, IE_PROTO))return O[IE_PROTO];\r\n  if(typeof O.constructor == 'function' && O instanceof O.constructor){\r\n    return O.constructor.prototype;\r\n  } return O instanceof Object ? ObjectProto : null;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 880\n// module chunks = 3","var has          = require('./_has')\r\n  , toIObject    = require('./_to-iobject')\r\n  , arrayIndexOf = require('./_array-includes')(false)\r\n  , IE_PROTO     = require('./_shared-key')('IE_PROTO');\r\n\r\nmodule.exports = function(object, names){\r\n  var O      = toIObject(object)\r\n    , i      = 0\r\n    , result = []\r\n    , key;\r\n  for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\r\n  // Don't enum bug & hidden keys\r\n  while(names.length > i)if(has(O, key = names[i++])){\r\n    ~arrayIndexOf(result, key) || result.push(key);\r\n  }\r\n  return result;\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 881\n// module chunks = 3","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 882\n// module chunks = 3","module.exports = require('./_hide');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_redefine.js\n// module id = 883\n// module chunks = 3","var toInteger = require('./_to-integer')\r\n  , defined   = require('./_defined');\r\n// true  -> String#at\r\n// false -> String#codePointAt\r\nmodule.exports = function(TO_STRING){\r\n  return function(that, pos){\r\n    var s = String(defined(that))\r\n      , i = toInteger(pos)\r\n      , l = s.length\r\n      , a, b;\r\n    if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\r\n    a = s.charCodeAt(i);\r\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\r\n      ? TO_STRING ? s.charAt(i) : a\r\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\r\n  };\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 884\n// module chunks = 3","var toInteger = require('./_to-integer')\r\n  , max       = Math.max\r\n  , min       = Math.min;\r\nmodule.exports = function(index, length){\r\n  index = toInteger(index);\r\n  return index < 0 ? max(index + length, 0) : min(index, length);\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 885\n// module chunks = 3","// 7.1.15 ToLength\r\nvar toInteger = require('./_to-integer')\r\n  , min       = Math.min;\r\nmodule.exports = function(it){\r\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 886\n// module chunks = 3","// 7.1.1 ToPrimitive(input [, PreferredType])\r\nvar isObject = require('./_is-object');\r\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\r\n// and the second argument - flag - preferred type is a string\r\nmodule.exports = function(it, S){\r\n  if(!isObject(it))return it;\r\n  var fn, val;\r\n  if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\r\n  if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\r\n  if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\r\n  throw TypeError(\"Can't convert object to primitive value\");\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 887\n// module chunks = 3","var classof   = require('./_classof')\r\n  , ITERATOR  = require('./_wks')('iterator')\r\n  , Iterators = require('./_iterators');\r\nmodule.exports = require('./_core').getIteratorMethod = function(it){\r\n  if(it != undefined)return it[ITERATOR]\r\n    || it['@@iterator']\r\n    || Iterators[classof(it)];\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator-method.js\n// module id = 888\n// module chunks = 3","var anObject = require('./_an-object')\r\n  , get      = require('./core.get-iterator-method');\r\nmodule.exports = require('./_core').getIterator = function(it){\r\n  var iterFn = get(it);\r\n  if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\r\n  return anObject(iterFn.call(it));\r\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator.js\n// module id = 889\n// module chunks = 3","'use strict';\r\nvar addToUnscopables = require('./_add-to-unscopables')\r\n  , step             = require('./_iter-step')\r\n  , Iterators        = require('./_iterators')\r\n  , toIObject        = require('./_to-iobject');\r\n\r\n// 22.1.3.4 Array.prototype.entries()\r\n// 22.1.3.13 Array.prototype.keys()\r\n// 22.1.3.29 Array.prototype.values()\r\n// 22.1.3.30 Array.prototype[@@iterator]()\r\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\r\n  this._t = toIObject(iterated); // target\r\n  this._i = 0;                   // next index\r\n  this._k = kind;                // kind\r\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\r\n}, function(){\r\n  var O     = this._t\r\n    , kind  = this._k\r\n    , index = this._i++;\r\n  if(!O || index >= O.length){\r\n    this._t = undefined;\r\n    return step(1);\r\n  }\r\n  if(kind == 'keys'  )return step(0, index);\r\n  if(kind == 'values')return step(0, O[index]);\r\n  return step(0, [index, O[index]]);\r\n}, 'values');\r\n\r\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\r\nIterators.Arguments = Iterators.Array;\r\n\r\naddToUnscopables('keys');\r\naddToUnscopables('values');\r\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.iterator.js\n// module id = 890\n// module chunks = 3","// 19.1.3.1 Object.assign(target, source)\r\nvar $export = require('./_export');\r\n\r\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 891\n// module chunks = 3","var $export = require('./_export');\r\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\r\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.define-property.js\n// module id = 892\n// module chunks = 3","'use strict';\r\nvar $at  = require('./_string-at')(true);\r\n\r\n// 21.1.3.27 String.prototype[@@iterator]()\r\nrequire('./_iter-define')(String, 'String', function(iterated){\r\n  this._t = String(iterated); // target\r\n  this._i = 0;                // next index\r\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\r\n}, function(){\r\n  var O     = this._t\r\n    , index = this._i\r\n    , point;\r\n  if(index >= O.length)return {value: undefined, done: true};\r\n  point = $at(O, index);\r\n  this._i += point.length;\r\n  return {value: point, done: false};\r\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.string.iterator.js\n// module id = 893\n// module chunks = 3","require('./es6.array.iterator');\r\nvar global        = require('./_global')\r\n  , hide          = require('./_hide')\r\n  , Iterators     = require('./_iterators')\r\n  , TO_STRING_TAG = require('./_wks')('toStringTag');\r\n\r\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\r\n  var NAME       = collections[i]\r\n    , Collection = global[NAME]\r\n    , proto      = Collection && Collection.prototype;\r\n  if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\r\n  Iterators[NAME] = Iterators.Array;\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/web.dom.iterable.js\n// module id = 894\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * SmartWizard v4.3.x\\r\\n * jQuery Wizard Plugin\\r\\n * http://www.techlaboratory.net/smartwizard\\r\\n *\\r\\n * Created by Dipu Raj\\r\\n * http://dipuraj.me\\r\\n *\\r\\n * Licensed under the terms of MIT License\\r\\n * https://github.com/techlab/SmartWizard/blob/master/LICENSE\\r\\n */.sw-main{position:relative;display:block;margin:0;padding:0;border-radius:.25rem!important}.sw-main .sw-container{display:block;margin:0;padding:0;position:relative}.sw-main .step-content{display:none;position:relative;margin:0}.sw-main .sw-toolbar{margin-left:0}.sw-theme-default{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.sw-theme-default .sw-container{min-height:250px}.sw-theme-default .step-content{padding:10px;border:0 solid #d4d4d4;background-color:#fff;text-align:left}.sw-theme-default .sw-toolbar{background:#f9f9f9;border-radius:0!important;padding-left:10px;padding-right:10px;padding:10px;margin-bottom:0!important}.sw-theme-default .sw-toolbar-top{border-bottom-color:#ddd!important}.sw-theme-default .sw-toolbar-bottom{border-top-color:#ddd!important}.sw-theme-default>ul.step-anchor>li{position:relative;margin-right:2px}.sw-theme-default>ul.step-anchor>li>a,.sw-theme-default>ul.step-anchor>li>a:hover{border:none!important;color:#bbb;text-decoration:none;outline-style:none;background:0 0!important;border:none!important;cursor:not-allowed}.sw-theme-default>ul.step-anchor>li.clickable>a:hover{color:#4285f4!important;background:0 0!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li>a::after{content:\\\"\\\";background:#4285f4;height:2px;position:absolute;width:100%;left:0;bottom:0;-webkit-transition:all 250ms ease 0s;transition:all 250ms ease 0s;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.sw-theme-default>ul.step-anchor>li.active>a{border:none!important;color:#4285f4!important;background:0 0!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li.active>a::after{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.sw-theme-default>ul.step-anchor>li.done>a{border:none!important;color:#000!important;background:0 0!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li.done>a::after{background:#5cb85c;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.sw-theme-default>ul.step-anchor>li.danger>a{border:none!important;color:#d9534f!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li.danger>a::after{background:#d9534f;border-left-color:#f8d7da;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.sw-theme-default>ul.step-anchor>li.disabled>a,.sw-theme-default>ul.step-anchor>li.disabled>a:hover{color:#eee!important;cursor:not-allowed}@media screen and (max-width:768px){.sw-theme-default>.nav-tabs>li{float:none!important}}.sw-loading::after{position:absolute;display:block;opacity:1;content:\\\"\\\";top:0;left:0;height:100%;width:100%;background:rgba(255,255,255,.7);-webkit-transition:all .2s ease;transition:all .2s ease;z-index:2}.sw-loading::before{content:'';display:inline-block;position:absolute;top:50%;left:50%;z-index:10;border:10px solid #f3f3f3;border-radius:50%;border-top:10px solid #3498db;width:80px;height:80px;margin-top:-40px;margin-left:-40px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./src/assets/steps/smart_wizard.min.css\n// module id = 1037\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * SmartWizard v4.3.x\\r\\n * jQuery Wizard Plugin\\r\\n * http://www.techlaboratory.net/smartwizard\\r\\n *\\r\\n * Created by Dipu Raj\\r\\n * http://dipuraj.me\\r\\n *\\r\\n * Licensed under the terms of MIT License\\r\\n * https://github.com/techlab/SmartWizard/blob/master/LICENSE\\r\\n */.sw-theme-arrows{border-radius:5px;border:1px solid #ddd}.sw-theme-arrows>.sw-container{min-height:200px}.sw-theme-arrows .step-content{padding:0 10px;border:0 solid #d4d4d4;background-color:#fff;text-align:left}.sw-theme-arrows .sw-toolbar{padding:10px;margin-bottom:0!important}.sw-theme-arrows>ul.step-anchor{border:0;border-bottom:1px solid #ddd;padding:0;background:#f5f5f5;border-radius:0;border-top-right-radius:5px;list-style:none;overflow:hidden}.sw-theme-arrows>ul.step-anchor li+li:before{padding:0}.sw-theme-arrows>ul.step-anchor>li>a,.sw-theme-arrows>ul.step-anchor>li>a:hover{color:#bbb;text-decoration:none;padding:10px 0 10px 45px;position:relative;display:block;border:0!important;border-radius:0;outline-style:none;background:#f5f5f5}.sw-theme-arrows>ul.step-anchor>li>a:after{content:\\\" \\\";display:block;width:0;height:0;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #f5f5f5;position:absolute;top:50%;margin-top:-50px;left:100%;z-index:2}.sw-theme-arrows>ul.step-anchor>li>a:before{content:\\\" \\\";display:block;width:0;height:0;border-top:50px solid transparent;border-bottom:50px solid transparent;border-left:30px solid #ddd;position:absolute;top:50%;margin-top:-50px;margin-left:1px;left:100%;z-index:1}.sw-theme-arrows>ul.step-anchor>li:first-child>a{padding-left:15px}.sw-theme-arrows>ul.step-anchor>li>a:hover{color:#bbb;text-decoration:none;outline-style:none;background:#f5f5f5;border-color:#f5f5f5}.sw-theme-arrows>ul.step-anchor>li>a:hover:after{border-left-color:#f5f5f5}.sw-theme-arrows>ul.step-anchor>li.clickable>a:hover{color:#4285f4!important;background:#46b8da!important}.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#5cb85c!important;color:#fff!important;background:#5cb85c!important}.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left:30px solid #5cb85c!important}.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#b1dfbb!important;color:#fff!important;background:#b1dfbb!important}.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left:30px solid #b1dfbb}.sw-theme-arrows>ul.step-anchor>li.danger>a{border-color:#d9534f!important;color:#fff!important;background:#d9534f!important}.sw-theme-arrows>ul.step-anchor>li.danger>a:after{border-left:30px solid #d9534f!important}.sw-theme-arrows>ul.step-anchor>li.disabled>a,.sw-theme-arrows>ul.step-anchor>li.disabled>a:hover{color:#eee!important}@media screen and (max-width:768px){.sw-theme-arrows>ul.step-anchor{border:0;background:#ddd!important}.sw-theme-arrows>.nav-tabs>li{float:none!important;margin-bottom:0}.sw-theme-arrows>ul.step-anchor>li>a,.sw-theme-arrows>ul.step-anchor>li>a:hover{padding-left:15px;margin-right:0;margin-bottom:1px}.sw-theme-arrows>ul.step-anchor>li>a:after,.sw-theme-arrows>ul.step-anchor>li>a:before{display:none}}.sw-theme-arrows::before{border:10px solid #f3f3f3;border-top:10px solid #5cb85c}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./src/assets/steps/smart_wizard_theme_arrows.min.css\n// module id = 1038\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * SmartWizard v4.3.x\\r\\n * jQuery Wizard Plugin\\r\\n * http://www.techlaboratory.net/smartwizard\\r\\n *\\r\\n * Created by Dipu Raj\\r\\n * http://dipuraj.me\\r\\n *\\r\\n * Licensed under the terms of MIT License\\r\\n * https://github.com/techlab/SmartWizard/blob/master/LICENSE\\r\\n */.sw-theme-circles .sw-container{min-height:300px}.sw-theme-circles .step-content{padding:10px 0;background-color:#fff;text-align:left}.sw-theme-circles .sw-toolbar{background:#fff;padding-left:10px;padding-right:10px;margin-bottom:0!important}.sw-theme-circles .sw-toolbar-bottom{border-top-color:#ddd!important;border-bottom-color:#ddd!important}.sw-theme-circles>ul.step-anchor{position:relative;background:#fff;border:none;list-style:none;margin-bottom:40px}.sw-theme-circles>ul.step-anchor:before{content:\\\" \\\";position:absolute;top:50%;bottom:0;width:100%;height:5px;background-color:#f5f5f5;border-radius:3px;z-index:0}.sw-theme-circles>ul.step-anchor>li{border:none;margin-left:40px;z-index:98}.sw-theme-circles>ul.step-anchor>li>a{border:2px solid #f5f5f5;background:#f5f5f5;width:75px;height:75px;text-align:center;padding:25px 0;border-radius:50%;-webkit-box-shadow:inset 0 0 0 3px #fff!important;box-shadow:inset 0 0 0 3px #fff!important;text-decoration:none;outline-style:none;z-index:99;color:#bbb;background:#f5f5f5;line-height:1}.sw-theme-circles>ul.step-anchor>li>a:hover{color:#bbb;background:#f5f5f5;border-width:2px}.sw-theme-circles>ul.step-anchor>li>a>small{position:relative;bottom:-40px;color:#ccc}.sw-theme-circles>ul.step-anchor>li.clickable>a:hover{color:#4285f4!important}.sw-theme-circles>ul.step-anchor>li.active>a{border-color:#5bc0de;color:#fff;background:#5bc0de}.sw-theme-circles>ul.step-anchor>li.active>a>small{color:#5bc0de}.sw-theme-circles>ul.step-anchor>li.done>a{border-color:#5cb85c;color:#fff;background:#5cb85c}.sw-theme-circles>ul.step-anchor>li.done>a>small{color:#5cb85c}.sw-theme-circles>ul.step-anchor>li.danger>a{border-color:#d9534f;color:#d9534f;background:#fff}.sw-theme-circles>ul.step-anchor>li.danger>a>small{color:#d9534f}.sw-theme-circles>ul.step-anchor>li.disabled>a,.sw-theme-circles>ul.step-anchor>li.disabled>a:hover{color:#eee!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./src/assets/steps/smart_wizard_theme_circles.min.css\n// module id = 1039\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * SmartWizard v4.3.x\\r\\n * jQuery Wizard Plugin\\r\\n * http://www.techlaboratory.net/smartwizard\\r\\n *\\r\\n * Created by Dipu Raj\\r\\n * http://dipuraj.me\\r\\n *\\r\\n * Licensed under the terms of MIT License\\r\\n * https://github.com/techlab/SmartWizard/blob/master/LICENSE\\r\\n */.sw-theme-dots .sw-container{min-height:300px}.sw-theme-dots .step-content{padding:10px 0;border:none;background-color:#fff;text-align:left}.sw-theme-dots .sw-toolbar{background:#fff;border-radius:0!important;padding-left:10px;padding-right:10px;margin-bottom:0!important}.sw-theme-dots .sw-toolbar-top{border-bottom-color:#ddd!important}.sw-theme-dots .sw-toolbar-bottom{border-top-color:#ddd!important;border-bottom-color:#ddd!important}.sw-theme-dots>ul.step-anchor{position:relative;background:#fff;border:0 solid #ccc!important;list-style:none}.sw-theme-dots>ul.step-anchor:before{content:\\\" \\\";position:absolute;top:70px;bottom:0;width:100%;height:5px;background-color:#f5f5f5;border-radius:3px;z-order:0;z-index:95}.sw-theme-dots>ul.step-anchor>li{border:none}.sw-theme-dots>ul.step-anchor>li>a{position:relative;text-align:center;font-weight:700;background:0 0;border:none;color:#ccc;text-decoration:none;outline-style:none;z-index:96;display:block}.sw-theme-dots>ul.step-anchor>li>a:before{content:' ';position:absolute;bottom:2px;left:40%;margin-top:10px;display:block;border-radius:50%;color:#428bca;background:#f5f5f5;border:none;width:30px;height:30px;text-decoration:none;z-index:98}.sw-theme-dots>ul.step-anchor>li>a:after{content:' ';position:relative;left:43%;bottom:2px;margin-top:10px;display:block;width:15px;height:15px;background:#f5f5f5;border-radius:50%;z-index:99}.sw-theme-dots>ul.step-anchor>li>a:hover{color:#ccc;background:0 0}.sw-theme-dots>ul.step-anchor>li>a:focus{color:#ccc;border:none}.sw-theme-dots>ul.step-anchor>li.clickable>a:hover{color:#999}.sw-theme-dots>ul.step-anchor>li.active>a{color:#5bc0de}.sw-theme-dots>ul.step-anchor>li.active>a:hover{border:none}.sw-theme-dots>ul.step-anchor>li.active>a:after{background:#5bc0de}.sw-theme-dots>ul.step-anchor>li.done>a{color:#5cb85c}.sw-theme-dots>ul.step-anchor>li.done>a:after{background:#5cb85c}.sw-theme-dots>ul.step-anchor>li.danger>a{color:#d9534f}.sw-theme-dots>ul.step-anchor>li.danger>a:after{background:#d9534f}.sw-theme-dots>ul.step-anchor>li.disabled>a,.sw-theme-dots>ul.step-anchor>li.disabled>a:hover{color:#eee!important}.sw-theme-dots>ul.step-anchor>li.disabled>a:after{background:#eee}@media screen and (max-width:768px){.sw-theme-dots>ul.step-anchor:before{top:0;bottom:0;left:10px;width:5px;height:100%;background-color:#f5f5f5;display:block;margin-right:10px}.sw-theme-dots>ul.step-anchor>li{margin-left:20px;display:block;clear:both}.sw-theme-dots>ul.step-anchor>li>a{text-align:left;margin-left:0;display:block}.sw-theme-dots>ul.step-anchor>li>a:before{top:5px;left:-23px;margin-right:10px;display:block}.sw-theme-dots>ul.step-anchor>li>a:after{top:-38px;left:-31px;margin-right:10px;display:block}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./src/assets/steps/smart_wizard_theme_dots.min.css\n// module id = 1040\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function addUTCMinutes (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var amount = Number(dirtyAmount)\r\n  date.setUTCMinutes(date.getUTCMinutes() + amount)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/addUTCMinutes/index.js\n// module id = 1041\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\n\r\nvar MILLISECONDS_IN_DAY = 86400000\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function getUTCDayOfYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var timestamp = date.getTime()\r\n  date.setUTCMonth(0, 1)\r\n  date.setUTCHours(0, 0, 0, 0)\r\n  var startOfYearTimestamp = date.getTime()\r\n  var difference = timestamp - startOfYearTimestamp\r\n  return Math.floor(difference / MILLISECONDS_IN_DAY) + 1\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/getUTCDayOfYear/index.js\n// module id = 1042\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function setUTCDay (dirtyDate, dirtyDay, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n  var locale = options.locale\r\n  var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn\r\n  var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn)\r\n  var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn)\r\n\r\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\r\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\r\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\r\n  }\r\n\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var day = Number(dirtyDay)\r\n\r\n  var currentDay = date.getUTCDay()\r\n\r\n  var remainder = day % 7\r\n  var dayIndex = (remainder + 7) % 7\r\n\r\n  var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay\r\n\r\n  date.setUTCDate(date.getUTCDate() + diff)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/setUTCDay/index.js\n// module id = 1043\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function setUTCISODay (dirtyDate, dirtyDay, dirtyOptions) {\r\n  var day = Number(dirtyDay)\r\n\r\n  if (day % 7 === 0) {\r\n    day = day - 7\r\n  }\r\n\r\n  var weekStartsOn = 1\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var currentDay = date.getUTCDay()\r\n\r\n  var remainder = day % 7\r\n  var dayIndex = (remainder + 7) % 7\r\n\r\n  var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay\r\n\r\n  date.setUTCDate(date.getUTCDate() + diff)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/setUTCISODay/index.js\n// module id = 1044\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\nimport startOfUTCISOWeekYear from '../startOfUTCISOWeekYear/index.js'\r\n\r\nvar MILLISECONDS_IN_DAY = 86400000\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function setUTCISOWeekYear (dirtyDate, dirtyISOYear, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var isoYear = Number(dirtyISOYear)\r\n  var dateStartOfYear = startOfUTCISOWeekYear(date, dirtyOptions)\r\n  var diff = Math.floor((date.getTime() - dateStartOfYear.getTime()) / MILLISECONDS_IN_DAY)\r\n  var fourthOfJanuary = new Date(0)\r\n  fourthOfJanuary.setUTCFullYear(isoYear, 0, 4)\r\n  fourthOfJanuary.setUTCHours(0, 0, 0, 0)\r\n  date = startOfUTCISOWeekYear(fourthOfJanuary, dirtyOptions)\r\n  date.setUTCDate(date.getUTCDate() + diff)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/setUTCISOWeekYear/index.js\n// module id = 1045\n// module chunks = 3","import toDate from '../../toDate/index.js'\r\nimport getUTCISOWeek from '../getUTCISOWeek/index.js'\r\n\r\n// This function will be a part of public API when UTC function will be implemented.\r\n// See issue: https://github.com/date-fns/date-fns/issues/376\r\nexport default function setUTCISOWeek (dirtyDate, dirtyISOWeek, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var isoWeek = Number(dirtyISOWeek)\r\n  var diff = getUTCISOWeek(date, dirtyOptions) - isoWeek\r\n  date.setUTCDate(date.getUTCDate() - diff * 7)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/_lib/setUTCISOWeek/index.js\n// module id = 1046\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name areIntervalsOverlapping\r\n * @category Interval Helpers\r\n * @summary Is the given time interval overlapping with another time interval?\r\n *\r\n * @description\r\n * Is the given time interval overlapping with another time interval?\r\n *\r\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/types/Interval}\r\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/types/Interval}\r\n * @param {Options} [options] - the object with options. See [Options]{@link docs/types/Options}\r\n * @returns {Boolean} whether the time intervals are overlapping\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} The start of an interval cannot be after its end\r\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\r\n *\r\n * @example\r\n * // For overlapping time intervals:\r\n * areIntervalsOverlapping(\r\n *   {start: new Date(2014, 0, 10), end: new Date(2014, 0, 20)},\r\n *   {start: new Date(2014, 0, 17), end: new Date(2014, 0, 21)}\r\n * )\r\n * //=> true\r\n *\r\n * @example\r\n * // For non-overlapping time intervals:\r\n * areIntervalsOverlapping(\r\n *   {start: new Date(2014, 0, 10), end: new Date(2014, 0, 20)},\r\n *   {start: new Date(2014, 0, 21), end: new Date(2014, 0, 22)}\r\n * )\r\n * //=> false\r\n */\r\nexport default function areIntervalsOverlapping (dirtyIntervalLeft, dirtyIntervalRight, dirtyOptions) {\r\n  var intervalLeft = dirtyIntervalLeft || {}\r\n  var intervalRight = dirtyIntervalRight || {}\r\n  var leftStartTime = toDate(intervalLeft.start, dirtyOptions).getTime()\r\n  var leftEndTime = toDate(intervalLeft.end, dirtyOptions).getTime()\r\n  var rightStartTime = toDate(intervalRight.start, dirtyOptions).getTime()\r\n  var rightEndTime = toDate(intervalRight.end, dirtyOptions).getTime()\r\n\r\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\r\n  if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\r\n    throw new RangeError('Invalid interval')\r\n  }\r\n\r\n  return leftStartTime < rightEndTime && rightStartTime < leftEndTime\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/areIntervalsOverlapping/index.js\n// module id = 1047\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name closestIndexTo\r\n * @category Common Helpers\r\n * @summary Return an index of the closest date from the array comparing to the given date.\r\n *\r\n * @description\r\n * Return an index of the closest date from the array comparing to the given date.\r\n *\r\n * @param {Date|String|Number} dateToCompare - the date to compare with\r\n * @param {Date[]|String[]|Number[]} datesArray - the array to search\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} an index of the date closest to the given date\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which date is closer to 6 September 2015?\r\n * var dateToCompare = new Date(2015, 8, 6)\r\n * var datesArray = [\r\n *   new Date(2015, 0, 1),\r\n *   new Date(2016, 0, 1),\r\n *   new Date(2017, 0, 1)\r\n * ]\r\n * var result = closestIndexTo(dateToCompare, datesArray)\r\n * //=> 1\r\n */\r\nexport default function closestIndexTo (dirtyDateToCompare, dirtyDatesArray, dirtyOptions) {\r\n  var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions)\r\n\r\n  if (isNaN(dateToCompare)) {\r\n    return NaN\r\n  }\r\n\r\n  var timeToCompare = dateToCompare.getTime()\r\n\r\n  var datesArray\r\n  // `dirtyDatesArray` is undefined or null\r\n  if (dirtyDatesArray == null) {\r\n    datesArray = []\r\n\r\n  // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\r\n  } else if (typeof dirtyDatesArray.forEach === 'function') {\r\n    datesArray = dirtyDatesArray\r\n\r\n  // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\r\n  } else {\r\n    datesArray = Array.prototype.slice.call(dirtyDatesArray)\r\n  }\r\n\r\n  var result\r\n  var minDistance\r\n  datesArray.forEach(function (dirtyDate, index) {\r\n    var currentDate = toDate(dirtyDate, dirtyOptions)\r\n\r\n    if (isNaN(currentDate)) {\r\n      result = NaN\r\n      minDistance = NaN\r\n      return\r\n    }\r\n\r\n    var distance = Math.abs(timeToCompare - currentDate.getTime())\r\n    if (result === undefined || distance < minDistance) {\r\n      result = index\r\n      minDistance = distance\r\n    }\r\n  })\r\n\r\n  return result\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/closestIndexTo/index.js\n// module id = 1048\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name closestTo\r\n * @category Common Helpers\r\n * @summary Return a date from the array closest to the given date.\r\n *\r\n * @description\r\n * Return a date from the array closest to the given date.\r\n *\r\n * @param {Date|String|Number} dateToCompare - the date to compare with\r\n * @param {Date[]|String[]|Number[]} datesArray - the array to search\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the date from the array closest to the given date\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which date is closer to 6 September 2015: 1 January 2000 or 1 January 2030?\r\n * var dateToCompare = new Date(2015, 8, 6)\r\n * var result = closestTo(dateToCompare, [\r\n *   new Date(2000, 0, 1),\r\n *   new Date(2030, 0, 1)\r\n * ])\r\n * //=> Tue Jan 01 2030 00:00:00\r\n */\r\nexport default function closestTo (dirtyDateToCompare, dirtyDatesArray, dirtyOptions) {\r\n  var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions)\r\n\r\n  if (isNaN(dateToCompare)) {\r\n    return new Date(NaN)\r\n  }\r\n\r\n  var timeToCompare = dateToCompare.getTime()\r\n\r\n  var datesArray\r\n  // `dirtyDatesArray` is undefined or null\r\n  if (dirtyDatesArray == null) {\r\n    datesArray = []\r\n\r\n  // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\r\n  } else if (typeof dirtyDatesArray.forEach === 'function') {\r\n    datesArray = dirtyDatesArray\r\n\r\n  // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\r\n  } else {\r\n    datesArray = Array.prototype.slice.call(dirtyDatesArray)\r\n  }\r\n\r\n  var result\r\n  var minDistance\r\n  datesArray.forEach(function (dirtyDate) {\r\n    var currentDate = toDate(dirtyDate, dirtyOptions)\r\n\r\n    if (isNaN(currentDate)) {\r\n      result = new Date(NaN)\r\n      minDistance = NaN\r\n      return\r\n    }\r\n\r\n    var distance = Math.abs(timeToCompare - currentDate.getTime())\r\n    if (result === undefined || distance < minDistance) {\r\n      result = currentDate\r\n      minDistance = distance\r\n    }\r\n  })\r\n\r\n  return result\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/closestTo/index.js\n// module id = 1049\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name compareDesc\r\n * @category Common Helpers\r\n * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.\r\n *\r\n * @description\r\n * Compare the two dates and return -1 if the first date is after the second,\r\n * 1 if the first date is before the second or 0 if dates are equal.\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to compare\r\n * @param {Date|String|Number} dateRight - the second date to compare\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the result of the comparison\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:\r\n * var result = compareDesc(\r\n *   new Date(1987, 1, 11),\r\n *   new Date(1989, 6, 10)\r\n * )\r\n * //=> 1\r\n *\r\n * @example\r\n * // Sort the array of dates in reverse chronological order:\r\n * var result = [\r\n *   new Date(1995, 6, 2),\r\n *   new Date(1987, 1, 11),\r\n *   new Date(1989, 6, 10)\r\n * ].sort(compareDesc)\r\n * //=> [\r\n * //   Sun Jul 02 1995 00:00:00,\r\n * //   Mon Jul 10 1989 00:00:00,\r\n * //   Wed Feb 11 1987 00:00:00\r\n * // ]\r\n */\r\nexport default function compareDesc (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var diff = dateLeft.getTime() - dateRight.getTime()\r\n\r\n  if (diff > 0) {\r\n    return -1\r\n  } else if (diff < 0) {\r\n    return 1\r\n  // Return 0 if diff is 0; return NaN if diff is NaN\r\n  } else {\r\n    return diff\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/compareDesc/index.js\n// module id = 1050\n// module chunks = 3","import startOfISOWeek from '../startOfISOWeek/index.js'\r\n\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\nvar MILLISECONDS_IN_WEEK = 604800000\r\n\r\n/**\r\n * @name differenceInCalendarISOWeeks\r\n * @category ISO Week Helpers\r\n * @summary Get the number of calendar ISO weeks between the given dates.\r\n *\r\n * @description\r\n * Get the number of calendar ISO weeks between the given dates.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of calendar ISO weeks\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many calendar ISO weeks are between 6 July 2014 and 21 July 2014?\r\n * var result = differenceInCalendarISOWeeks(\r\n *   new Date(2014, 6, 21),\r\n *   new Date(2014, 6, 6)\r\n * )\r\n * //=> 3\r\n */\r\nexport default function differenceInCalendarISOWeeks (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var startOfISOWeekLeft = startOfISOWeek(dirtyDateLeft, dirtyOptions)\r\n  var startOfISOWeekRight = startOfISOWeek(dirtyDateRight, dirtyOptions)\r\n\r\n  var timestampLeft = startOfISOWeekLeft.getTime() -\r\n    startOfISOWeekLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE\r\n  var timestampRight = startOfISOWeekRight.getTime() -\r\n    startOfISOWeekRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE\r\n\r\n  // Round the number of days to the nearest integer\r\n  // because the number of milliseconds in a week is not constant\r\n  // (e.g. it's different in the week of the daylight saving time clock shift)\r\n  return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInCalendarISOWeeks/index.js\n// module id = 1051\n// module chunks = 3","import getQuarter from '../getQuarter/index.js'\r\nimport toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name differenceInCalendarQuarters\r\n * @category Quarter Helpers\r\n * @summary Get the number of calendar quarters between the given dates.\r\n *\r\n * @description\r\n * Get the number of calendar quarters between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of calendar quarters\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many calendar quarters are between 31 December 2013 and 2 July 2014?\r\n * var result = differenceInCalendarQuarters(\r\n *   new Date(2014, 6, 2),\r\n *   new Date(2013, 11, 31)\r\n * )\r\n * //=> 3\r\n */\r\nexport default function differenceInCalendarQuarters (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()\r\n  var quarterDiff = getQuarter(dateLeft, dirtyOptions) - getQuarter(dateRight, dirtyOptions)\r\n\r\n  return yearDiff * 4 + quarterDiff\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInCalendarQuarters/index.js\n// module id = 1052\n// module chunks = 3","import startOfWeek from '../startOfWeek/index.js'\r\n\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\nvar MILLISECONDS_IN_WEEK = 604800000\r\n\r\n/**\r\n * @name differenceInCalendarWeeks\r\n * @category Week Helpers\r\n * @summary Get the number of calendar weeks between the given dates.\r\n *\r\n * @description\r\n * Get the number of calendar weeks between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {Number} the number of calendar weeks\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\r\n *\r\n * @example\r\n * // How many calendar weeks are between 5 July 2014 and 20 July 2014?\r\n * var result = differenceInCalendarWeeks(\r\n *   new Date(2014, 6, 20),\r\n *   new Date(2014, 6, 5)\r\n * )\r\n * //=> 3\r\n *\r\n * @example\r\n * // If the week starts on Monday,\r\n * // how many calendar weeks are between 5 July 2014 and 20 July 2014?\r\n * var result = differenceInCalendarWeeks(\r\n *   new Date(2014, 6, 20),\r\n *   new Date(2014, 6, 5),\r\n *   {weekStartsOn: 1}\r\n * )\r\n * //=> 2\r\n */\r\nexport default function differenceInCalendarWeeks (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var startOfWeekLeft = startOfWeek(dirtyDateLeft, dirtyOptions)\r\n  var startOfWeekRight = startOfWeek(dirtyDateRight, dirtyOptions)\r\n\r\n  var timestampLeft = startOfWeekLeft.getTime() -\r\n    startOfWeekLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE\r\n  var timestampRight = startOfWeekRight.getTime() -\r\n    startOfWeekRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE\r\n\r\n  // Round the number of days to the nearest integer\r\n  // because the number of milliseconds in a week is not constant\r\n  // (e.g. it's different in the week of the daylight saving time clock shift)\r\n  return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInCalendarWeeks/index.js\n// module id = 1053\n// module chunks = 3","import differenceInMilliseconds from '../differenceInMilliseconds/index.js'\r\n\r\nvar MILLISECONDS_IN_HOUR = 3600000\r\n\r\n/**\r\n * @name differenceInHours\r\n * @category Hour Helpers\r\n * @summary Get the number of hours between the given dates.\r\n *\r\n * @description\r\n * Get the number of hours between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of hours\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many hours are between 2 July 2014 06:50:00 and 2 July 2014 19:00:00?\r\n * var result = differenceInHours(\r\n *   new Date(2014, 6, 2, 19, 0),\r\n *   new Date(2014, 6, 2, 6, 50)\r\n * )\r\n * //=> 12\r\n */\r\nexport default function differenceInHours (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight, dirtyOptions) / MILLISECONDS_IN_HOUR\r\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInHours/index.js\n// module id = 1054\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport differenceInCalendarISOYears from '../differenceInCalendarISOYears/index.js'\r\nimport compareAsc from '../compareAsc/index.js'\r\nimport subISOYears from '../subISOYears/index.js'\r\n\r\n/**\r\n * @name differenceInISOYears\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Get the number of full ISO week-numbering years between the given dates.\r\n *\r\n * @description\r\n * Get the number of full ISO week-numbering years between the given dates.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of full ISO week-numbering years\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many full ISO week-numbering years are between 1 January 2010 and 1 January 2012?\r\n * var result = differenceInISOYears(\r\n *   new Date(2012, 0, 1),\r\n *   new Date(2010, 0, 1)\r\n * )\r\n * //=> 1\r\n */\r\nexport default function differenceInISOYears (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var sign = compareAsc(dateLeft, dateRight, dirtyOptions)\r\n  var difference = Math.abs(differenceInCalendarISOYears(dateLeft, dateRight, dirtyOptions))\r\n  dateLeft = subISOYears(dateLeft, sign * difference, dirtyOptions)\r\n\r\n  // Math.abs(diff in full ISO years - diff in calendar ISO years) === 1\r\n  // if last calendar ISO year is not full\r\n  // If so, result must be decreased by 1 in absolute value\r\n  var isLastISOYearNotFull = compareAsc(dateLeft, dateRight, dirtyOptions) === -sign\r\n  return sign * (difference - isLastISOYearNotFull)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInISOYears/index.js\n// module id = 1055\n// module chunks = 3","import differenceInMilliseconds from '../differenceInMilliseconds/index.js'\r\n\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\n\r\n/**\r\n * @name differenceInMinutes\r\n * @category Minute Helpers\r\n * @summary Get the number of minutes between the given dates.\r\n *\r\n * @description\r\n * Get the number of minutes between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of minutes\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00?\r\n * var result = differenceInMinutes(\r\n *   new Date(2014, 6, 2, 12, 20, 0),\r\n *   new Date(2014, 6, 2, 12, 7, 59)\r\n * )\r\n * //=> 12\r\n */\r\nexport default function differenceInMinutes (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight, dirtyOptions) / MILLISECONDS_IN_MINUTE\r\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInMinutes/index.js\n// module id = 1056\n// module chunks = 3","import differenceInMonths from '../differenceInMonths/index.js'\r\n\r\n/**\r\n * @name differenceInQuarters\r\n * @category Quarter Helpers\r\n * @summary Get the number of full quarters between the given dates.\r\n *\r\n * @description\r\n * Get the number of full quarters between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of full quarters\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many full quarters are between 31 December 2013 and 2 July 2014?\r\n * var result = differenceInQuarters(\r\n *   new Date(2014, 6, 2),\r\n *   new Date(2013, 11, 31)\r\n * )\r\n * //=> 2\r\n */\r\nexport default function differenceInQuarters (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var diff = differenceInMonths(dirtyDateLeft, dirtyDateRight, dirtyOptions) / 3\r\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInQuarters/index.js\n// module id = 1057\n// module chunks = 3","import differenceInDays from '../differenceInDays/index.js'\r\n\r\n/**\r\n * @name differenceInWeeks\r\n * @category Week Helpers\r\n * @summary Get the number of full weeks between the given dates.\r\n *\r\n * @description\r\n * Get the number of full weeks between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of full weeks\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many full weeks are between 5 July 2014 and 20 July 2014?\r\n * var result = differenceInWeeks(\r\n *   new Date(2014, 6, 20),\r\n *   new Date(2014, 6, 5)\r\n * )\r\n * //=> 2\r\n */\r\nexport default function differenceInWeeks (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var diff = differenceInDays(dirtyDateLeft, dirtyDateRight, dirtyOptions) / 7\r\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInWeeks/index.js\n// module id = 1058\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport differenceInCalendarYears from '../differenceInCalendarYears/index.js'\r\nimport compareAsc from '../compareAsc/index.js'\r\n\r\n/**\r\n * @name differenceInYears\r\n * @category Year Helpers\r\n * @summary Get the number of full years between the given dates.\r\n *\r\n * @description\r\n * Get the number of full years between the given dates.\r\n *\r\n * @param {Date|String|Number} dateLeft - the later date\r\n * @param {Date|String|Number} dateRight - the earlier date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of full years\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many full years are between 31 December 2013 and 11 February 2015?\r\n * var result = differenceInYears(\r\n *   new Date(2015, 1, 11),\r\n *   new Date(2013, 11, 31)\r\n * )\r\n * //=> 1\r\n */\r\nexport default function differenceInYears (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n\r\n  var sign = compareAsc(dateLeft, dateRight, dirtyOptions)\r\n  var difference = Math.abs(differenceInCalendarYears(dateLeft, dateRight, dirtyOptions))\r\n  dateLeft.setFullYear(dateLeft.getFullYear() - sign * difference)\r\n\r\n  // Math.abs(diff in full years - diff in calendar years) === 1 if last calendar year is not full\r\n  // If so, result must be decreased by 1 in absolute value\r\n  var isLastYearNotFull = compareAsc(dateLeft, dateRight, dirtyOptions) === -sign\r\n  return sign * (difference - isLastYearNotFull)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/differenceInYears/index.js\n// module id = 1059\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name eachDayOfInterval\r\n * @category Interval Helpers\r\n * @summary Return the array of dates within the specified time interval.\r\n *\r\n * @description\r\n * Return the array of dates within the specified time interval.\r\n *\r\n * @param {Interval} interval - the interval. See [Interval]{@link docs/types/Interval}\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date[]} the array with starts of days from the day of the interval start to the day of the interval end\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} The start of an interval cannot be after its end\r\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\r\n *\r\n * @example\r\n * // Each day between 6 October 2014 and 10 October 2014:\r\n * var result = eachDayOfInterval({\r\n *   start: new Date(2014, 9, 6),\r\n *   end: new Date(2014, 9, 10)\r\n * })\r\n * //=> [\r\n * //   Mon Oct 06 2014 00:00:00,\r\n * //   Tue Oct 07 2014 00:00:00,\r\n * //   Wed Oct 08 2014 00:00:00,\r\n * //   Thu Oct 09 2014 00:00:00,\r\n * //   Fri Oct 10 2014 00:00:00\r\n * // ]\r\n */\r\nexport default function eachDayOfInterval (dirtyInterval, dirtyOptions) {\r\n  var interval = dirtyInterval || {}\r\n  var startDate = toDate(interval.start, dirtyOptions)\r\n  var endDate = toDate(interval.end, dirtyOptions)\r\n\r\n  var endTime = endDate.getTime()\r\n\r\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\r\n  if (!(startDate.getTime() <= endTime)) {\r\n    throw new RangeError('Invalid interval')\r\n  }\r\n\r\n  var dates = []\r\n\r\n  var currentDate = startDate\r\n  currentDate.setHours(0, 0, 0, 0)\r\n\r\n  while (currentDate.getTime() <= endTime) {\r\n    dates.push(toDate(currentDate, dirtyOptions))\r\n    currentDate.setDate(currentDate.getDate() + 1)\r\n  }\r\n\r\n  return dates\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/eachDayOfInterval/index.js\n// module id = 1060\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfHour\r\n * @category Hour Helpers\r\n * @summary Return the end of an hour for the given date.\r\n *\r\n * @description\r\n * Return the end of an hour for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of an hour\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of an hour for 2 September 2014 11:55:00:\r\n * var result = endOfHour(new Date(2014, 8, 2, 11, 55))\r\n * //=> Tue Sep 02 2014 11:59:59.999\r\n */\r\nexport default function endOfHour (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setMinutes(59, 59, 999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfHour/index.js\n// module id = 1061\n// module chunks = 3","import endOfWeek from '../endOfWeek/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\n\r\n/**\r\n * @name endOfISOWeek\r\n * @category ISO Week Helpers\r\n * @summary Return the end of an ISO week for the given date.\r\n *\r\n * @description\r\n * Return the end of an ISO week for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of an ISO week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of an ISO week for 2 September 2014 11:55:00:\r\n * var result = endOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Sun Sep 07 2014 23:59:59.999\r\n */\r\nexport default function endOfISOWeek (dirtyDate, dirtyOptions) {\r\n  var endOfWeekOptions = cloneObject(dirtyOptions)\r\n  endOfWeekOptions.weekStartsOn = 1\r\n  return endOfWeek(dirtyDate, endOfWeekOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfISOWeek/index.js\n// module id = 1062\n// module chunks = 3","import getISOYear from '../getISOYear/index.js'\r\nimport startOfISOWeek from '../startOfISOWeek/index.js'\r\n\r\n/**\r\n * @name endOfISOYear\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Return the end of an ISO week-numbering year for the given date.\r\n *\r\n * @description\r\n * Return the end of an ISO week-numbering year,\r\n * which always starts 3 days before the year's first Thursday.\r\n * The result will be in the local timezone.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of an ISO week-numbering year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of an ISO week-numbering year for 2 July 2005:\r\n * var result = endOfISOYear(new Date(2005, 6, 2))\r\n * //=> Sun Jan 01 2006 23:59:59.999\r\n */\r\nexport default function endOfISOYear (dirtyDate, dirtyOptions) {\r\n  var year = getISOYear(dirtyDate, dirtyOptions)\r\n  var fourthOfJanuaryOfNextYear = new Date(0)\r\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4)\r\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0)\r\n  var date = startOfISOWeek(fourthOfJanuaryOfNextYear, dirtyOptions)\r\n  date.setMilliseconds(date.getMilliseconds() - 1)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfISOYear/index.js\n// module id = 1063\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfMinute\r\n * @category Minute Helpers\r\n * @summary Return the end of a minute for the given date.\r\n *\r\n * @description\r\n * Return the end of a minute for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of a minute\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of a minute for 1 December 2014 22:15:45.400:\r\n * var result = endOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400))\r\n * //=> Mon Dec 01 2014 22:15:59.999\r\n */\r\nexport default function endOfMinute (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setSeconds(59, 999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfMinute/index.js\n// module id = 1064\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfQuarter\r\n * @category Quarter Helpers\r\n * @summary Return the end of a year quarter for the given date.\r\n *\r\n * @description\r\n * Return the end of a year quarter for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of a quarter\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of a quarter for 2 September 2014 11:55:00:\r\n * var result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Tue Sep 30 2014 23:59:59.999\r\n */\r\nexport default function endOfQuarter (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var currentMonth = date.getMonth()\r\n  var month = currentMonth - currentMonth % 3 + 3\r\n  date.setMonth(month, 0)\r\n  date.setHours(23, 59, 59, 999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfQuarter/index.js\n// module id = 1065\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfSecond\r\n * @category Second Helpers\r\n * @summary Return the end of a second for the given date.\r\n *\r\n * @description\r\n * Return the end of a second for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of a second\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of a second for 1 December 2014 22:15:45.400:\r\n * var result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400))\r\n * //=> Mon Dec 01 2014 22:15:45.999\r\n */\r\nexport default function endOfSecond (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setMilliseconds(999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfSecond/index.js\n// module id = 1066\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name endOfYear\r\n * @category Year Helpers\r\n * @summary Return the end of a year for the given date.\r\n *\r\n * @description\r\n * Return the end of a year for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of a year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The end of a year for 2 September 2014 11:55:00:\r\n * var result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\r\n * //=> Wed Dec 31 2014 23:59:59.999\r\n */\r\nexport default function endOfYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = date.getFullYear()\r\n  date.setFullYear(year + 1, 0, 0)\r\n  date.setHours(23, 59, 59, 999)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/endOfYear/index.js\n// module id = 1067\n// module chunks = 3","import compareAsc from '../compareAsc/index.js'\r\nimport toDate from '../toDate/index.js'\r\nimport differenceInSeconds from '../differenceInSeconds/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\nimport defaultLocale from '../locale/en-US/index.js'\r\n\r\nvar MINUTES_IN_DAY = 1440\r\nvar MINUTES_IN_MONTH = 43200\r\nvar MINUTES_IN_YEAR = 525600\r\n\r\n/**\r\n * @name formatDistanceStrict\r\n * @category Common Helpers\r\n * @summary Return the distance between the given dates in words.\r\n *\r\n * @description\r\n * Return the distance between the given dates in words, using strict units.\r\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\r\n * 'less than' and the like.\r\n *\r\n * | Distance between dates | Result              |\r\n * |------------------------|---------------------|\r\n * | 0 ... 59 secs          | [0..59] seconds     |\r\n * | 1 ... 59 mins          | [1..59] minutes     |\r\n * | 1 ... 23 hrs           | [1..23] hours       |\r\n * | 1 ... 29 days          | [1..29] days        |\r\n * | 1 ... 11 months        | [1..11] months      |\r\n * | 1 ... N years          | [1..N]  years       |\r\n *\r\n * @param {Date|String|Number} date - the date\r\n * @param {Date|String|Number} baseDate - the date to compare with\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\r\n * @param {'s'|'m'|'h'|'d'|'M'|'Y'} [options.unit] - if specified, will force a unit\r\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='floor'] - which way to round partial units\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {String} the distance in words\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.roundingMethod` must be 'floor', 'ceil' or 'round'\r\n * @throws {RangeError} `options.unit` must be 's', 'm', 'h', 'd', 'M' or 'Y'\r\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\r\n *\r\n * @example\r\n * // What is the distance between 2 July 2014 and 1 January 2015?\r\n * var result = formatDistanceStrict(\r\n *   new Date(2014, 6, 2),\r\n *   new Date(2015, 0, 2)\r\n * )\r\n * //=> '6 months'\r\n *\r\n * @example\r\n * // What is the distance between 1 January 2015 00:00:15\r\n * // and 1 January 2015 00:00:00?\r\n * var result = formatDistanceStrict(\r\n *   new Date(2015, 0, 1, 0, 0, 15),\r\n *   new Date(2015, 0, 1, 0, 0, 0),\r\n * )\r\n * //=> '15 seconds'\r\n *\r\n * @example\r\n * // What is the distance from 1 January 2016\r\n * // to 1 January 2015, with a suffix?\r\n * var result = formatDistanceStrict(\r\n *   new Date(2015, 0, 1),\r\n *   new Date(2016, 0, 1),\r\n *   {addSuffix: true}\r\n * )\r\n * //=> '1 year ago'\r\n *\r\n * @example\r\n * // What is the distance from 1 January 2016\r\n * // to 1 January 2015, in minutes?\r\n * var result = formatDistanceStrict(\r\n *   new Date(2016, 0, 1),\r\n *   new Date(2015, 0, 1),\r\n *   {unit: 'm'}\r\n * )\r\n * //=> '525600 minutes'\r\n *\r\n * @example\r\n * // What is the distance from 1 January 2016\r\n * // to 28 January 2015, in months, rounded up?\r\n * var result = formatDistanceStrict(\r\n *   new Date(2015, 0, 28),\r\n *   new Date(2015, 0, 1),\r\n *   {unit: 'M', roundingMethod: 'ceil'}\r\n * )\r\n * //=> '1 month'\r\n *\r\n * @example\r\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\r\n * import { eoLocale } from 'date-fns/locale/eo'\r\n * var result = formatDistanceStrict(\r\n *   new Date(2016, 7, 1),\r\n *   new Date(2015, 0, 1),\r\n *   {locale: eoLocale}\r\n * )\r\n * //=> '1 jaro'\r\n */\r\nexport default function formatDistanceStrict (dirtyDate, dirtyBaseDate, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n  var locale = options.locale || defaultLocale\r\n\r\n  if (!locale.formatDistance) {\r\n    throw new RangeError('locale must contain localize.formatDistance property')\r\n  }\r\n\r\n  var comparison = compareAsc(dirtyDate, dirtyBaseDate, options)\r\n\r\n  if (isNaN(comparison)) {\r\n    return 'Invalid Date'\r\n  }\r\n\r\n  var localizeOptions = cloneObject(options)\r\n  localizeOptions.addSuffix = Boolean(options.addSuffix)\r\n  localizeOptions.comparison = comparison\r\n\r\n  var dateLeft\r\n  var dateRight\r\n  if (comparison > 0) {\r\n    dateLeft = toDate(dirtyBaseDate, options)\r\n    dateRight = toDate(dirtyDate, options)\r\n  } else {\r\n    dateLeft = toDate(dirtyDate, options)\r\n    dateRight = toDate(dirtyBaseDate, options)\r\n  }\r\n\r\n  var roundingMethod = options.roundingMethod === undefined ? 'floor' : String(options.roundingMethod)\r\n  var roundingMethodFn\r\n\r\n  if (roundingMethod === 'floor') {\r\n    roundingMethodFn = Math.floor\r\n  } else if (roundingMethod === 'ceil') {\r\n    roundingMethodFn = Math.ceil\r\n  } else if (roundingMethod === 'round') {\r\n    roundingMethodFn = Math.round\r\n  } else {\r\n    throw new RangeError(\"roundingMethod must be 'floor', 'ceil' or 'round'\")\r\n  }\r\n\r\n  var seconds = differenceInSeconds(dateRight, dateLeft, dirtyOptions)\r\n  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()\r\n  var minutes = roundingMethodFn(seconds / 60) - offset\r\n\r\n  var unit\r\n  if (options.unit === undefined) {\r\n    if (minutes < 1) {\r\n      unit = 's'\r\n    } else if (minutes < 60) {\r\n      unit = 'm'\r\n    } else if (minutes < MINUTES_IN_DAY) {\r\n      unit = 'h'\r\n    } else if (minutes < MINUTES_IN_MONTH) {\r\n      unit = 'd'\r\n    } else if (minutes < MINUTES_IN_YEAR) {\r\n      unit = 'M'\r\n    } else {\r\n      unit = 'Y'\r\n    }\r\n  } else {\r\n    unit = String(options.unit)\r\n  }\r\n\r\n  // 0 up to 60 seconds\r\n  if (unit === 's') {\r\n    return locale.formatDistance('xSeconds', seconds, localizeOptions)\r\n\r\n  // 1 up to 60 mins\r\n  } else if (unit === 'm') {\r\n    return locale.formatDistance('xMinutes', minutes, localizeOptions)\r\n\r\n  // 1 up to 24 hours\r\n  } else if (unit === 'h') {\r\n    var hours = roundingMethodFn(minutes / 60)\r\n    return locale.formatDistance('xHours', hours, localizeOptions)\r\n\r\n  // 1 up to 30 days\r\n  } else if (unit === 'd') {\r\n    var days = roundingMethodFn(minutes / MINUTES_IN_DAY)\r\n    return locale.formatDistance('xDays', days, localizeOptions)\r\n\r\n  // 1 up to 12 months\r\n  } else if (unit === 'M') {\r\n    var months = roundingMethodFn(minutes / MINUTES_IN_MONTH)\r\n    return locale.formatDistance('xMonths', months, localizeOptions)\r\n\r\n  // 1 year up to max Date\r\n  } else if (unit === 'Y') {\r\n    var years = roundingMethodFn(minutes / MINUTES_IN_YEAR)\r\n    return locale.formatDistance('xYears', years, localizeOptions)\r\n  }\r\n\r\n  throw new RangeError(\"unit must be 's', 'm', 'h', 'd', 'M' or 'Y'\")\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/formatDistanceStrict/index.js\n// module id = 1068\n// module chunks = 3","import compareAsc from '../compareAsc/index.js'\r\nimport toDate from '../toDate/index.js'\r\nimport differenceInSeconds from '../differenceInSeconds/index.js'\r\nimport differenceInMonths from '../differenceInMonths/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\nimport defaultLocale from '../locale/en-US/index.js'\r\n\r\nvar MINUTES_IN_DAY = 1440\r\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520\r\nvar MINUTES_IN_MONTH = 43200\r\nvar MINUTES_IN_TWO_MONTHS = 86400\r\n\r\n/**\r\n * @name formatDistance\r\n * @category Common Helpers\r\n * @summary Return the distance between the given dates in words.\r\n *\r\n * @description\r\n * Return the distance between the given dates in words.\r\n *\r\n * | Distance between dates                                            | Result              |\r\n * |-------------------------------------------------------------------|---------------------|\r\n * | 0 ... 30 secs                                                     | less than a minute  |\r\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\r\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\r\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\r\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\r\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\r\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\r\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\r\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\r\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\r\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\r\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\r\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\r\n * | N yrs ... N yrs 3 months                                          | about N years       |\r\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\r\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\r\n *\r\n * With `options.includeSeconds == true`:\r\n * | Distance between dates | Result               |\r\n * |------------------------|----------------------|\r\n * | 0 secs ... 5 secs      | less than 5 seconds  |\r\n * | 5 secs ... 10 secs     | less than 10 seconds |\r\n * | 10 secs ... 20 secs    | less than 20 seconds |\r\n * | 20 secs ... 40 secs    | half a minute        |\r\n * | 40 secs ... 60 secs    | less than a minute   |\r\n * | 60 secs ... 90 secs    | 1 minute             |\r\n *\r\n * @param {Date|String|Number} date - the date\r\n * @param {Date|String|Number} baseDate - the date to compare with\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\r\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {String} the distance in words\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\r\n *\r\n * @example\r\n * // What is the distance between 2 July 2014 and 1 January 2015?\r\n * var result = formatDistance(\r\n *   new Date(2014, 6, 2),\r\n *   new Date(2015, 0, 1)\r\n * )\r\n * //=> '6 months'\r\n *\r\n * @example\r\n * // What is the distance between 1 January 2015 00:00:15\r\n * // and 1 January 2015 00:00:00, including seconds?\r\n * var result = formatDistance(\r\n *   new Date(2015, 0, 1, 0, 0, 15),\r\n *   new Date(2015, 0, 1, 0, 0, 0),\r\n *   {includeSeconds: true}\r\n * )\r\n * //=> 'less than 20 seconds'\r\n *\r\n * @example\r\n * // What is the distance from 1 January 2016\r\n * // to 1 January 2015, with a suffix?\r\n * var result = formatDistance(\r\n *   new Date(2015, 0, 1),\r\n *   new Date(2016, 0, 1),\r\n *   {addSuffix: true}\r\n * )\r\n * //=> 'about 1 year ago'\r\n *\r\n * @example\r\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\r\n * import { eoLocale } from 'date-fns/locale/eo'\r\n * var result = formatDistance(\r\n *   new Date(2016, 7, 1),\r\n *   new Date(2015, 0, 1),\r\n *   {locale: eoLocale}\r\n * )\r\n * //=> 'pli ol 1 jaro'\r\n */\r\nexport default function formatDistance (dirtyDate, dirtyBaseDate, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n  var locale = options.locale || defaultLocale\r\n\r\n  if (!locale.formatDistance) {\r\n    throw new RangeError('locale must contain formatDistance property')\r\n  }\r\n\r\n  var comparison = compareAsc(dirtyDate, dirtyBaseDate, options)\r\n\r\n  if (isNaN(comparison)) {\r\n    return 'Invalid Date'\r\n  }\r\n\r\n  var localizeOptions = cloneObject(options)\r\n  localizeOptions.addSuffix = Boolean(options.addSuffix)\r\n  localizeOptions.comparison = comparison\r\n\r\n  var dateLeft\r\n  var dateRight\r\n  if (comparison > 0) {\r\n    dateLeft = toDate(dirtyBaseDate, options)\r\n    dateRight = toDate(dirtyDate, options)\r\n  } else {\r\n    dateLeft = toDate(dirtyDate, options)\r\n    dateRight = toDate(dirtyBaseDate, options)\r\n  }\r\n\r\n  var seconds = differenceInSeconds(dateRight, dateLeft, options)\r\n  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()\r\n  var minutes = Math.round(seconds / 60) - offset\r\n  var months\r\n\r\n  // 0 up to 2 mins\r\n  if (minutes < 2) {\r\n    if (options.includeSeconds) {\r\n      if (seconds < 5) {\r\n        return locale.formatDistance('lessThanXSeconds', 5, localizeOptions)\r\n      } else if (seconds < 10) {\r\n        return locale.formatDistance('lessThanXSeconds', 10, localizeOptions)\r\n      } else if (seconds < 20) {\r\n        return locale.formatDistance('lessThanXSeconds', 20, localizeOptions)\r\n      } else if (seconds < 40) {\r\n        return locale.formatDistance('halfAMinute', null, localizeOptions)\r\n      } else if (seconds < 60) {\r\n        return locale.formatDistance('lessThanXMinutes', 1, localizeOptions)\r\n      } else {\r\n        return locale.formatDistance('xMinutes', 1, localizeOptions)\r\n      }\r\n    } else {\r\n      if (minutes === 0) {\r\n        return locale.formatDistance('lessThanXMinutes', 1, localizeOptions)\r\n      } else {\r\n        return locale.formatDistance('xMinutes', minutes, localizeOptions)\r\n      }\r\n    }\r\n\r\n  // 2 mins up to 0.75 hrs\r\n  } else if (minutes < 45) {\r\n    return locale.formatDistance('xMinutes', minutes, localizeOptions)\r\n\r\n  // 0.75 hrs up to 1.5 hrs\r\n  } else if (minutes < 90) {\r\n    return locale.formatDistance('aboutXHours', 1, localizeOptions)\r\n\r\n  // 1.5 hrs up to 24 hrs\r\n  } else if (minutes < MINUTES_IN_DAY) {\r\n    var hours = Math.round(minutes / 60)\r\n    return locale.formatDistance('aboutXHours', hours, localizeOptions)\r\n\r\n  // 1 day up to 1.75 days\r\n  } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\r\n    return locale.formatDistance('xDays', 1, localizeOptions)\r\n\r\n  // 1.75 days up to 30 days\r\n  } else if (minutes < MINUTES_IN_MONTH) {\r\n    var days = Math.round(minutes / MINUTES_IN_DAY)\r\n    return locale.formatDistance('xDays', days, localizeOptions)\r\n\r\n  // 1 month up to 2 months\r\n  } else if (minutes < MINUTES_IN_TWO_MONTHS) {\r\n    months = Math.round(minutes / MINUTES_IN_MONTH)\r\n    return locale.formatDistance('aboutXMonths', months, localizeOptions)\r\n  }\r\n\r\n  months = differenceInMonths(dateRight, dateLeft, options)\r\n\r\n  // 2 months up to 12 months\r\n  if (months < 12) {\r\n    var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH)\r\n    return locale.formatDistance('xMonths', nearestMonth, localizeOptions)\r\n\r\n  // 1 year up to max Date\r\n  } else {\r\n    var monthsSinceStartOfYear = months % 12\r\n    var years = Math.floor(months / 12)\r\n\r\n    // N years up to 1 years 3 months\r\n    if (monthsSinceStartOfYear < 3) {\r\n      return locale.formatDistance('aboutXYears', years, localizeOptions)\r\n\r\n    // N years 3 months up to N years 9 months\r\n    } else if (monthsSinceStartOfYear < 9) {\r\n      return locale.formatDistance('overXYears', years, localizeOptions)\r\n\r\n    // N years 9 months up to N year 12 months\r\n    } else {\r\n      return locale.formatDistance('almostXYears', years + 1, localizeOptions)\r\n    }\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/formatDistance/index.js\n// module id = 1069\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport format from '../format/index.js'\r\nimport differenceInCalendarDays from '../differenceInCalendarDays/index.js'\r\nimport defaultLocale from '../locale/en-US/index.js'\r\nimport subMinutes from '../subMinutes/index.js'\r\n\r\n/**\r\n * @name formatRelative\r\n * @category Common Helpers\r\n * @summary Represent the date in words relative to the given base date.\r\n *\r\n * @description\r\n * Represent the date in words relative to the given base date.\r\n *\r\n * | Distance to the base date | Result                    |\r\n * |---------------------------|---------------------------|\r\n * | Previous 6 days           | last Sunday at 04:30 a.m. |\r\n * | Last day                  | yesterday at 04:30 a.m.   |\r\n * | Same day                  | today at 04:30 a.m.       |\r\n * | Next day                  | tomorrow at 04:30 a.m.    |\r\n * | Next 6 days               | Sunday at 04:30 a.m.      |\r\n * | Other                     | 12/31/2017                |\r\n *\r\n * @param {Date|String|Number} date - the date to format\r\n * @param {Date|String|Number} baseDate - the date to compare with\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {String} the date in words\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.locale` must contain `localize` property\r\n * @throws {RangeError} `options.locale` must contain `formatLong` property\r\n * @throws {RangeError} `options.locale` must contain `formatRelative` property\r\n */\r\nexport default function formatRelative (dirtyDate, dirtyBaseDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var baseDate = toDate(dirtyBaseDate, dirtyOptions)\r\n\r\n  var options = dirtyOptions || {}\r\n  var locale = options.locale || defaultLocale\r\n\r\n  if (!locale.localize) {\r\n    throw new RangeError('locale must contain localize property')\r\n  }\r\n\r\n  if (!locale.formatLong) {\r\n    throw new RangeError('locale must contain formatLong property')\r\n  }\r\n\r\n  if (!locale.formatRelative) {\r\n    throw new RangeError('locale must contain formatRelative property')\r\n  }\r\n\r\n  var diff = differenceInCalendarDays(date, baseDate, options)\r\n\r\n  if (isNaN(diff)) {\r\n    return 'Invalid Date'\r\n  }\r\n\r\n  var token\r\n  if (diff < -6) {\r\n    token = 'other'\r\n  } else if (diff < -1) {\r\n    token = 'lastWeek'\r\n  } else if (diff < 0) {\r\n    token = 'yesterday'\r\n  } else if (diff < 1) {\r\n    token = 'today'\r\n  } else if (diff < 2) {\r\n    token = 'tomorrow'\r\n  } else if (diff < 7) {\r\n    token = 'nextWeek'\r\n  } else {\r\n    token = 'other'\r\n  }\r\n\r\n  var utcDate = subMinutes(date, date.getTimezoneOffset(), options)\r\n  var utcBaseDate = subMinutes(baseDate, date.getTimezoneOffset(), options)\r\n  var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, options)\r\n  return format(date, formatStr, options)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/formatRelative/index.js\n// module id = 1070\n// module chunks = 3","import getUTCDayOfYear from '../../../_lib/getUTCDayOfYear/index.js'\r\nimport getUTCISOWeek from '../../../_lib/getUTCISOWeek/index.js'\r\nimport getUTCISOWeekYear from '../../../_lib/getUTCISOWeekYear/index.js'\r\n\r\nvar formatters = {\r\n  // Month: 1, 2, ..., 12\r\n  'M': function (date) {\r\n    return date.getUTCMonth() + 1\r\n  },\r\n\r\n  // Month: 1st, 2nd, ..., 12th\r\n  'Mo': function (date, options) {\r\n    var month = date.getUTCMonth() + 1\r\n    return options.locale.localize.ordinalNumber(month, {unit: 'month'})\r\n  },\r\n\r\n  // Month: 01, 02, ..., 12\r\n  'MM': function (date) {\r\n    return addLeadingZeros(date.getUTCMonth() + 1, 2)\r\n  },\r\n\r\n  // Month: Jan, Feb, ..., Dec\r\n  'MMM': function (date, options) {\r\n    return options.locale.localize.month(date.getUTCMonth(), {type: 'short'})\r\n  },\r\n\r\n  // Month: January, February, ..., December\r\n  'MMMM': function (date, options) {\r\n    return options.locale.localize.month(date.getUTCMonth(), {type: 'long'})\r\n  },\r\n\r\n  // Quarter: 1, 2, 3, 4\r\n  'Q': function (date) {\r\n    return Math.ceil((date.getUTCMonth() + 1) / 3)\r\n  },\r\n\r\n  // Quarter: 1st, 2nd, 3rd, 4th\r\n  'Qo': function (date, options) {\r\n    var quarter = Math.ceil((date.getUTCMonth() + 1) / 3)\r\n    return options.locale.localize.ordinalNumber(quarter, {unit: 'quarter'})\r\n  },\r\n\r\n  // Day of month: 1, 2, ..., 31\r\n  'D': function (date) {\r\n    return date.getUTCDate()\r\n  },\r\n\r\n  // Day of month: 1st, 2nd, ..., 31st\r\n  'Do': function (date, options) {\r\n    return options.locale.localize.ordinalNumber(date.getUTCDate(), {unit: 'dayOfMonth'})\r\n  },\r\n\r\n  // Day of month: 01, 02, ..., 31\r\n  'DD': function (date) {\r\n    return addLeadingZeros(date.getUTCDate(), 2)\r\n  },\r\n\r\n  // Day of year: 1, 2, ..., 366\r\n  'DDD': function (date) {\r\n    return getUTCDayOfYear(date)\r\n  },\r\n\r\n  // Day of year: 1st, 2nd, ..., 366th\r\n  'DDDo': function (date, options) {\r\n    return options.locale.localize.ordinalNumber(getUTCDayOfYear(date), {unit: 'dayOfYear'})\r\n  },\r\n\r\n  // Day of year: 001, 002, ..., 366\r\n  'DDDD': function (date) {\r\n    return addLeadingZeros(getUTCDayOfYear(date), 3)\r\n  },\r\n\r\n  // Day of week: Su, Mo, ..., Sa\r\n  'dd': function (date, options) {\r\n    return options.locale.localize.weekday(date.getUTCDay(), {type: 'narrow'})\r\n  },\r\n\r\n  // Day of week: Sun, Mon, ..., Sat\r\n  'ddd': function (date, options) {\r\n    return options.locale.localize.weekday(date.getUTCDay(), {type: 'short'})\r\n  },\r\n\r\n  // Day of week: Sunday, Monday, ..., Saturday\r\n  'dddd': function (date, options) {\r\n    return options.locale.localize.weekday(date.getUTCDay(), {type: 'long'})\r\n  },\r\n\r\n  // Day of week: 0, 1, ..., 6\r\n  'd': function (date) {\r\n    return date.getUTCDay()\r\n  },\r\n\r\n  // Day of week: 0th, 1st, 2nd, ..., 6th\r\n  'do': function (date, options) {\r\n    return options.locale.localize.ordinalNumber(date.getUTCDay(), {unit: 'dayOfWeek'})\r\n  },\r\n\r\n  // Day of ISO week: 1, 2, ..., 7\r\n  'E': function (date) {\r\n    return date.getUTCDay() || 7\r\n  },\r\n\r\n  // ISO week: 1, 2, ..., 53\r\n  'W': function (date) {\r\n    return getUTCISOWeek(date)\r\n  },\r\n\r\n  // ISO week: 1st, 2nd, ..., 53th\r\n  'Wo': function (date, options) {\r\n    return options.locale.localize.ordinalNumber(getUTCISOWeek(date), {unit: 'isoWeek'})\r\n  },\r\n\r\n  // ISO week: 01, 02, ..., 53\r\n  'WW': function (date) {\r\n    return addLeadingZeros(getUTCISOWeek(date), 2)\r\n  },\r\n\r\n  // Year: 00, 01, ..., 99\r\n  'YY': function (date) {\r\n    return addLeadingZeros(date.getUTCFullYear(), 4).substr(2)\r\n  },\r\n\r\n  // Year: 1900, 1901, ..., 2099\r\n  'YYYY': function (date) {\r\n    return addLeadingZeros(date.getUTCFullYear(), 4)\r\n  },\r\n\r\n  // ISO week-numbering year: 00, 01, ..., 99\r\n  'GG': function (date) {\r\n    return String(getUTCISOWeekYear(date)).substr(2)\r\n  },\r\n\r\n  // ISO week-numbering year: 1900, 1901, ..., 2099\r\n  'GGGG': function (date) {\r\n    return getUTCISOWeekYear(date)\r\n  },\r\n\r\n  // Hour: 0, 1, ... 23\r\n  'H': function (date) {\r\n    return date.getUTCHours()\r\n  },\r\n\r\n  // Hour: 00, 01, ..., 23\r\n  'HH': function (date) {\r\n    return addLeadingZeros(date.getUTCHours(), 2)\r\n  },\r\n\r\n  // Hour: 1, 2, ..., 12\r\n  'h': function (date) {\r\n    var hours = date.getUTCHours()\r\n    if (hours === 0) {\r\n      return 12\r\n    } else if (hours > 12) {\r\n      return hours % 12\r\n    } else {\r\n      return hours\r\n    }\r\n  },\r\n\r\n  // Hour: 01, 02, ..., 12\r\n  'hh': function (date) {\r\n    return addLeadingZeros(formatters['h'](date), 2)\r\n  },\r\n\r\n  // Minute: 0, 1, ..., 59\r\n  'm': function (date) {\r\n    return date.getUTCMinutes()\r\n  },\r\n\r\n  // Minute: 00, 01, ..., 59\r\n  'mm': function (date) {\r\n    return addLeadingZeros(date.getUTCMinutes(), 2)\r\n  },\r\n\r\n  // Second: 0, 1, ..., 59\r\n  's': function (date) {\r\n    return date.getUTCSeconds()\r\n  },\r\n\r\n  // Second: 00, 01, ..., 59\r\n  'ss': function (date) {\r\n    return addLeadingZeros(date.getUTCSeconds(), 2)\r\n  },\r\n\r\n  // 1/10 of second: 0, 1, ..., 9\r\n  'S': function (date) {\r\n    return Math.floor(date.getUTCMilliseconds() / 100)\r\n  },\r\n\r\n  // 1/100 of second: 00, 01, ..., 99\r\n  'SS': function (date) {\r\n    return addLeadingZeros(Math.floor(date.getUTCMilliseconds() / 10), 2)\r\n  },\r\n\r\n  // Millisecond: 000, 001, ..., 999\r\n  'SSS': function (date) {\r\n    return addLeadingZeros(date.getUTCMilliseconds(), 3)\r\n  },\r\n\r\n  // Timezone: -01:00, +00:00, ... +12:00\r\n  'Z': function (date, options) {\r\n    var originalDate = options._originalDate || date\r\n    return formatTimezone(originalDate.getTimezoneOffset(), ':')\r\n  },\r\n\r\n  // Timezone: -0100, +0000, ... +1200\r\n  'ZZ': function (date, options) {\r\n    var originalDate = options._originalDate || date\r\n    return formatTimezone(originalDate.getTimezoneOffset())\r\n  },\r\n\r\n  // Seconds timestamp: 512969520\r\n  'X': function (date, options) {\r\n    var originalDate = options._originalDate || date\r\n    return Math.floor(originalDate.getTime() / 1000)\r\n  },\r\n\r\n  // Milliseconds timestamp: 512969520900\r\n  'x': function (date, options) {\r\n    var originalDate = options._originalDate || date\r\n    return originalDate.getTime()\r\n  },\r\n\r\n  // AM, PM\r\n  'A': function (date, options) {\r\n    return options.locale.localize.timeOfDay(date.getUTCHours(), {type: 'uppercase'})\r\n  },\r\n\r\n  // am, pm\r\n  'a': function (date, options) {\r\n    return options.locale.localize.timeOfDay(date.getUTCHours(), {type: 'lowercase'})\r\n  },\r\n\r\n  // a.m., p.m.\r\n  'aa': function (date, options) {\r\n    return options.locale.localize.timeOfDay(date.getUTCHours(), {type: 'long'})\r\n  }\r\n}\r\n\r\nfunction formatTimezone (offset, delimeter) {\r\n  delimeter = delimeter || ''\r\n  var sign = offset > 0 ? '-' : '+'\r\n  var absOffset = Math.abs(offset)\r\n  var hours = Math.floor(absOffset / 60)\r\n  var minutes = absOffset % 60\r\n  return sign + addLeadingZeros(hours, 2) + delimeter + addLeadingZeros(minutes, 2)\r\n}\r\n\r\nfunction addLeadingZeros (number, targetLength) {\r\n  var output = Math.abs(number).toString()\r\n  while (output.length < targetLength) {\r\n    output = '0' + output\r\n  }\r\n  return output\r\n}\r\n\r\nexport default formatters\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/format/_lib/formatters/index.js\n// module id = 1071\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getDate\r\n * @category Day Helpers\r\n * @summary Get the day of the month of the given date.\r\n *\r\n * @description\r\n * Get the day of the month of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the day of month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which day of the month is 29 February 2012?\r\n * var result = getDate(new Date(2012, 1, 29))\r\n * //=> 29\r\n */\r\nexport default function getDate (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var dayOfMonth = date.getDate()\r\n  return dayOfMonth\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getDate/index.js\n// module id = 1072\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport startOfYear from '../startOfYear/index.js'\r\nimport differenceInCalendarDays from '../differenceInCalendarDays/index.js'\r\n\r\n/**\r\n * @name getDayOfYear\r\n * @category Day Helpers\r\n * @summary Get the day of the year of the given date.\r\n *\r\n * @description\r\n * Get the day of the year of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the day of year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which day of the year is 2 July 2014?\r\n * var result = getDayOfYear(new Date(2014, 6, 2))\r\n * //=> 183\r\n */\r\nexport default function getDayOfYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var diff = differenceInCalendarDays(date, startOfYear(date, dirtyOptions), dirtyOptions)\r\n  var dayOfYear = diff + 1\r\n  return dayOfYear\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getDayOfYear/index.js\n// module id = 1073\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getDay\r\n * @category Weekday Helpers\r\n * @summary Get the day of the week of the given date.\r\n *\r\n * @description\r\n * Get the day of the week of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the day of week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which day of the week is 29 February 2012?\r\n * var result = getDay(new Date(2012, 1, 29))\r\n * //=> 3\r\n */\r\nexport default function getDay (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var day = date.getDay()\r\n  return day\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getDay/index.js\n// module id = 1074\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport isLeapYear from '../isLeapYear/index.js'\r\n\r\n/**\r\n * @name getDaysInYear\r\n * @category Year Helpers\r\n * @summary Get the number of days in a year of the given date.\r\n *\r\n * @description\r\n * Get the number of days in a year of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of days in a year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many days are in 2012?\r\n * var result = getDaysInYear(new Date(2012, 0, 1))\r\n * //=> 366\r\n */\r\nexport default function getDaysInYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n\r\n  if (isNaN(date)) {\r\n    return NaN\r\n  }\r\n\r\n  return isLeapYear(date, dirtyOptions) ? 366 : 365\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getDaysInYear/index.js\n// module id = 1075\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getHours\r\n * @category Hour Helpers\r\n * @summary Get the hours of the given date.\r\n *\r\n * @description\r\n * Get the hours of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the hours\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Get the hours of 29 February 2012 11:45:00:\r\n * var result = getHours(new Date(2012, 1, 29, 11, 45))\r\n * //=> 11\r\n */\r\nexport default function getHours (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var hours = date.getHours()\r\n  return hours\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getHours/index.js\n// module id = 1076\n// module chunks = 3","import startOfISOYear from '../startOfISOYear/index.js'\r\nimport addWeeks from '../addWeeks/index.js'\r\n\r\nvar MILLISECONDS_IN_WEEK = 604800000\r\n\r\n/**\r\n * @name getISOWeeksInYear\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Get the number of weeks in an ISO week-numbering year of the given date.\r\n *\r\n * @description\r\n * Get the number of weeks in an ISO week-numbering year of the given date.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of ISO weeks in a year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // How many weeks are in ISO week-numbering year 2015?\r\n * var result = getISOWeeksInYear(new Date(2015, 1, 11))\r\n * //=> 53\r\n */\r\nexport default function getISOWeeksInYear (dirtyDate, dirtyOptions) {\r\n  var thisYear = startOfISOYear(dirtyDate, dirtyOptions)\r\n  var nextYear = startOfISOYear(addWeeks(thisYear, 60, dirtyOptions), dirtyOptions)\r\n  var diff = nextYear.valueOf() - thisYear.valueOf()\r\n  // Round the number of weeks to the nearest integer\r\n  // because the number of milliseconds in a week is not constant\r\n  // (e.g. it's different in the week of the daylight saving time clock shift)\r\n  return Math.round(diff / MILLISECONDS_IN_WEEK)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getISOWeeksInYear/index.js\n// module id = 1077\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getMilliseconds\r\n * @category Millisecond Helpers\r\n * @summary Get the milliseconds of the given date.\r\n *\r\n * @description\r\n * Get the milliseconds of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the milliseconds\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Get the milliseconds of 29 February 2012 11:45:05.123:\r\n * var result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123))\r\n * //=> 123\r\n */\r\nexport default function getMilliseconds (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var milliseconds = date.getMilliseconds()\r\n  return milliseconds\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getMilliseconds/index.js\n// module id = 1078\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getMinutes\r\n * @category Minute Helpers\r\n * @summary Get the minutes of the given date.\r\n *\r\n * @description\r\n * Get the minutes of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the minutes\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Get the minutes of 29 February 2012 11:45:05:\r\n * var result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\r\n * //=> 45\r\n */\r\nexport default function getMinutes (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var minutes = date.getMinutes()\r\n  return minutes\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getMinutes/index.js\n// module id = 1079\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getMonth\r\n * @category Month Helpers\r\n * @summary Get the month of the given date.\r\n *\r\n * @description\r\n * Get the month of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which month is 29 February 2012?\r\n * var result = getMonth(new Date(2012, 1, 29))\r\n * //=> 1\r\n */\r\nexport default function getMonth (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var month = date.getMonth()\r\n  return month\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getMonth/index.js\n// module id = 1080\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\nvar MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000\r\n\r\n/**\r\n * @name getOverlappingDaysInIntervals\r\n * @category Interval Helpers\r\n * @summary Get the number of days that overlap in two time intervals\r\n *\r\n * @description\r\n * Get the number of days that overlap in two time intervals\r\n *\r\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/Interval}\r\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/Interval}\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the number of days that overlap in two time intervals\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} The start of an interval cannot be after its end\r\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\r\n *\r\n * @example\r\n * // For overlapping time intervals adds 1 for each started overlapping day:\r\n * getOverlappingDaysInIntervals(\r\n *   {start: new Date(2014, 0, 10), end: new Date(2014, 0, 20)},\r\n *   {start: new Date(2014, 0, 17), end: new Date(2014, 0, 21)}\r\n * )\r\n * //=> 3\r\n *\r\n * @example\r\n * // For non-overlapping time intervals returns 0:\r\n * getOverlappingDaysInIntervals(\r\n *   {start: new Date(2014, 0, 10), end: new Date(2014, 0, 20)},\r\n *   {start: new Date(2014, 0, 21), end: new Date(2014, 0, 22)}\r\n * )\r\n * //=> 0\r\n */\r\nexport default function getOverlappingDaysInIntervals (dirtyIntervalLeft, dirtyIntervalRight, dirtyOptions) {\r\n  var intervalLeft = dirtyIntervalLeft || {}\r\n  var intervalRight = dirtyIntervalRight || {}\r\n  var leftStartTime = toDate(intervalLeft.start, dirtyOptions).getTime()\r\n  var leftEndTime = toDate(intervalLeft.end, dirtyOptions).getTime()\r\n  var rightStartTime = toDate(intervalRight.start, dirtyOptions).getTime()\r\n  var rightEndTime = toDate(intervalRight.end, dirtyOptions).getTime()\r\n\r\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\r\n  if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\r\n    throw new RangeError('Invalid interval')\r\n  }\r\n\r\n  var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime\r\n\r\n  if (!isOverlapping) {\r\n    return 0\r\n  }\r\n\r\n  var overlapStartDate = rightStartTime < leftStartTime\r\n    ? leftStartTime\r\n    : rightStartTime\r\n\r\n  var overlapEndDate = rightEndTime > leftEndTime\r\n    ? leftEndTime\r\n    : rightEndTime\r\n\r\n  var differenceInMs = overlapEndDate - overlapStartDate\r\n\r\n  return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getOverlappingDaysInIntervals/index.js\n// module id = 1081\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getSeconds\r\n * @category Second Helpers\r\n * @summary Get the seconds of the given date.\r\n *\r\n * @description\r\n * Get the seconds of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the seconds\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Get the seconds of 29 February 2012 11:45:05.123:\r\n * var result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\r\n * //=> 5\r\n */\r\nexport default function getSeconds (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var seconds = date.getSeconds()\r\n  return seconds\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getSeconds/index.js\n// module id = 1082\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getTime\r\n * @category Timestamp Helpers\r\n * @summary Get the milliseconds timestamp of the given date.\r\n *\r\n * @description\r\n * Get the milliseconds timestamp of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the timestamp\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Get the timestamp of 29 February 2012 11:45:05.123:\r\n * var result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123))\r\n * //=> 1330515905123\r\n */\r\nexport default function getTime (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var timestamp = date.getTime()\r\n  return timestamp\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getTime/index.js\n// module id = 1083\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name getYear\r\n * @category Year Helpers\r\n * @summary Get the year of the given date.\r\n *\r\n * @description\r\n * Get the year of the given date.\r\n *\r\n * @param {Date|String|Number} date - the given date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Number} the year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which year is 2 July 2014?\r\n * var result = getYear(new Date(2014, 6, 2))\r\n * //=> 2014\r\n */\r\nexport default function getYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = date.getFullYear()\r\n  return year\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/getYear/index.js\n// module id = 1084\n// module chunks = 3","// This file is generated automatically by `scripts/build/indices.js`. Please, don't change it.\r\n\r\nexport {default as addDays} from './addDays/index.js'\r\nexport {default as addHours} from './addHours/index.js'\r\nexport {default as addISOYears} from './addISOYears/index.js'\r\nexport {default as addMilliseconds} from './addMilliseconds/index.js'\r\nexport {default as addMinutes} from './addMinutes/index.js'\r\nexport {default as addMonths} from './addMonths/index.js'\r\nexport {default as addQuarters} from './addQuarters/index.js'\r\nexport {default as addSeconds} from './addSeconds/index.js'\r\nexport {default as addWeeks} from './addWeeks/index.js'\r\nexport {default as addYears} from './addYears/index.js'\r\nexport {default as areIntervalsOverlapping} from './areIntervalsOverlapping/index.js'\r\nexport {default as closestIndexTo} from './closestIndexTo/index.js'\r\nexport {default as closestTo} from './closestTo/index.js'\r\nexport {default as compareAsc} from './compareAsc/index.js'\r\nexport {default as compareDesc} from './compareDesc/index.js'\r\nexport {default as differenceInCalendarDays} from './differenceInCalendarDays/index.js'\r\nexport {default as differenceInCalendarISOWeeks} from './differenceInCalendarISOWeeks/index.js'\r\nexport {default as differenceInCalendarISOYears} from './differenceInCalendarISOYears/index.js'\r\nexport {default as differenceInCalendarMonths} from './differenceInCalendarMonths/index.js'\r\nexport {default as differenceInCalendarQuarters} from './differenceInCalendarQuarters/index.js'\r\nexport {default as differenceInCalendarWeeks} from './differenceInCalendarWeeks/index.js'\r\nexport {default as differenceInCalendarYears} from './differenceInCalendarYears/index.js'\r\nexport {default as differenceInDays} from './differenceInDays/index.js'\r\nexport {default as differenceInHours} from './differenceInHours/index.js'\r\nexport {default as differenceInISOYears} from './differenceInISOYears/index.js'\r\nexport {default as differenceInMilliseconds} from './differenceInMilliseconds/index.js'\r\nexport {default as differenceInMinutes} from './differenceInMinutes/index.js'\r\nexport {default as differenceInMonths} from './differenceInMonths/index.js'\r\nexport {default as differenceInQuarters} from './differenceInQuarters/index.js'\r\nexport {default as differenceInSeconds} from './differenceInSeconds/index.js'\r\nexport {default as differenceInWeeks} from './differenceInWeeks/index.js'\r\nexport {default as differenceInYears} from './differenceInYears/index.js'\r\nexport {default as eachDayOfInterval} from './eachDayOfInterval/index.js'\r\nexport {default as endOfDay} from './endOfDay/index.js'\r\nexport {default as endOfHour} from './endOfHour/index.js'\r\nexport {default as endOfISOWeek} from './endOfISOWeek/index.js'\r\nexport {default as endOfISOYear} from './endOfISOYear/index.js'\r\nexport {default as endOfMinute} from './endOfMinute/index.js'\r\nexport {default as endOfMonth} from './endOfMonth/index.js'\r\nexport {default as endOfQuarter} from './endOfQuarter/index.js'\r\nexport {default as endOfSecond} from './endOfSecond/index.js'\r\nexport {default as endOfWeek} from './endOfWeek/index.js'\r\nexport {default as endOfYear} from './endOfYear/index.js'\r\nexport {default as format} from './format/index.js'\r\nexport {default as formatDistance} from './formatDistance/index.js'\r\nexport {default as formatDistanceStrict} from './formatDistanceStrict/index.js'\r\nexport {default as formatRelative} from './formatRelative/index.js'\r\nexport {default as getDate} from './getDate/index.js'\r\nexport {default as getDay} from './getDay/index.js'\r\nexport {default as getDayOfYear} from './getDayOfYear/index.js'\r\nexport {default as getDaysInMonth} from './getDaysInMonth/index.js'\r\nexport {default as getDaysInYear} from './getDaysInYear/index.js'\r\nexport {default as getHours} from './getHours/index.js'\r\nexport {default as getISODay} from './getISODay/index.js'\r\nexport {default as getISOWeek} from './getISOWeek/index.js'\r\nexport {default as getISOWeeksInYear} from './getISOWeeksInYear/index.js'\r\nexport {default as getISOYear} from './getISOYear/index.js'\r\nexport {default as getMilliseconds} from './getMilliseconds/index.js'\r\nexport {default as getMinutes} from './getMinutes/index.js'\r\nexport {default as getMonth} from './getMonth/index.js'\r\nexport {default as getOverlappingDaysInIntervals} from './getOverlappingDaysInIntervals/index.js'\r\nexport {default as getQuarter} from './getQuarter/index.js'\r\nexport {default as getSeconds} from './getSeconds/index.js'\r\nexport {default as getTime} from './getTime/index.js'\r\nexport {default as getYear} from './getYear/index.js'\r\nexport {default as isAfter} from './isAfter/index.js'\r\nexport {default as isBefore} from './isBefore/index.js'\r\nexport {default as isEqual} from './isEqual/index.js'\r\nexport {default as isFirstDayOfMonth} from './isFirstDayOfMonth/index.js'\r\nexport {default as isFriday} from './isFriday/index.js'\r\nexport {default as isLastDayOfMonth} from './isLastDayOfMonth/index.js'\r\nexport {default as isLeapYear} from './isLeapYear/index.js'\r\nexport {default as isMonday} from './isMonday/index.js'\r\nexport {default as isSameDay} from './isSameDay/index.js'\r\nexport {default as isSameHour} from './isSameHour/index.js'\r\nexport {default as isSameISOWeek} from './isSameISOWeek/index.js'\r\nexport {default as isSameISOYear} from './isSameISOYear/index.js'\r\nexport {default as isSameMinute} from './isSameMinute/index.js'\r\nexport {default as isSameMonth} from './isSameMonth/index.js'\r\nexport {default as isSameQuarter} from './isSameQuarter/index.js'\r\nexport {default as isSameSecond} from './isSameSecond/index.js'\r\nexport {default as isSameWeek} from './isSameWeek/index.js'\r\nexport {default as isSameYear} from './isSameYear/index.js'\r\nexport {default as isSaturday} from './isSaturday/index.js'\r\nexport {default as isSunday} from './isSunday/index.js'\r\nexport {default as isThursday} from './isThursday/index.js'\r\nexport {default as isTuesday} from './isTuesday/index.js'\r\nexport {default as isValid} from './isValid/index.js'\r\nexport {default as isWednesday} from './isWednesday/index.js'\r\nexport {default as isWeekend} from './isWeekend/index.js'\r\nexport {default as isWithinInterval} from './isWithinInterval/index.js'\r\nexport {default as lastDayOfISOWeek} from './lastDayOfISOWeek/index.js'\r\nexport {default as lastDayOfISOYear} from './lastDayOfISOYear/index.js'\r\nexport {default as lastDayOfMonth} from './lastDayOfMonth/index.js'\r\nexport {default as lastDayOfQuarter} from './lastDayOfQuarter/index.js'\r\nexport {default as lastDayOfWeek} from './lastDayOfWeek/index.js'\r\nexport {default as lastDayOfYear} from './lastDayOfYear/index.js'\r\nexport {default as max} from './max/index.js'\r\nexport {default as min} from './min/index.js'\r\nexport {default as parse} from './parse/index.js'\r\nexport {default as setDate} from './setDate/index.js'\r\nexport {default as setDay} from './setDay/index.js'\r\nexport {default as setDayOfYear} from './setDayOfYear/index.js'\r\nexport {default as setHours} from './setHours/index.js'\r\nexport {default as setISODay} from './setISODay/index.js'\r\nexport {default as setISOWeek} from './setISOWeek/index.js'\r\nexport {default as setISOYear} from './setISOYear/index.js'\r\nexport {default as setMilliseconds} from './setMilliseconds/index.js'\r\nexport {default as setMinutes} from './setMinutes/index.js'\r\nexport {default as setMonth} from './setMonth/index.js'\r\nexport {default as setQuarter} from './setQuarter/index.js'\r\nexport {default as setSeconds} from './setSeconds/index.js'\r\nexport {default as setYear} from './setYear/index.js'\r\nexport {default as startOfDay} from './startOfDay/index.js'\r\nexport {default as startOfHour} from './startOfHour/index.js'\r\nexport {default as startOfISOWeek} from './startOfISOWeek/index.js'\r\nexport {default as startOfISOYear} from './startOfISOYear/index.js'\r\nexport {default as startOfMinute} from './startOfMinute/index.js'\r\nexport {default as startOfMonth} from './startOfMonth/index.js'\r\nexport {default as startOfQuarter} from './startOfQuarter/index.js'\r\nexport {default as startOfSecond} from './startOfSecond/index.js'\r\nexport {default as startOfWeek} from './startOfWeek/index.js'\r\nexport {default as startOfYear} from './startOfYear/index.js'\r\nexport {default as subDays} from './subDays/index.js'\r\nexport {default as subHours} from './subHours/index.js'\r\nexport {default as subISOYears} from './subISOYears/index.js'\r\nexport {default as subMilliseconds} from './subMilliseconds/index.js'\r\nexport {default as subMinutes} from './subMinutes/index.js'\r\nexport {default as subMonths} from './subMonths/index.js'\r\nexport {default as subQuarters} from './subQuarters/index.js'\r\nexport {default as subSeconds} from './subSeconds/index.js'\r\nexport {default as subWeeks} from './subWeeks/index.js'\r\nexport {default as subYears} from './subYears/index.js'\r\nexport {default as toDate} from './toDate/index.js'\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/index.js\n// module id = 1085\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isAfter\r\n * @category Common Helpers\r\n * @summary Is the first date after the second one?\r\n *\r\n * @description\r\n * Is the first date after the second one?\r\n *\r\n * @param {Date|String|Number} date - the date that should be after the other one to return true\r\n * @param {Date|String|Number} dateToCompare - the date to compare with\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the first date is after the second date\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 10 July 1989 after 11 February 1987?\r\n * var result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\r\n * //=> true\r\n */\r\nexport default function isAfter (dirtyDate, dirtyDateToCompare, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions)\r\n  return date.getTime() > dateToCompare.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isAfter/index.js\n// module id = 1086\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isBefore\r\n * @category Common Helpers\r\n * @summary Is the first date before the second one?\r\n *\r\n * @description\r\n * Is the first date before the second one?\r\n *\r\n * @param {Date|String|Number} date - the date that should be before the other one to return true\r\n * @param {Date|String|Number} dateToCompare - the date to compare with\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the first date is before the second date\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 10 July 1989 before 11 February 1987?\r\n * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\r\n * //=> false\r\n */\r\nexport default function isBefore (dirtyDate, dirtyDateToCompare, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions)\r\n  return date.getTime() < dateToCompare.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isBefore/index.js\n// module id = 1087\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isEqual\r\n * @category Common Helpers\r\n * @summary Are the given dates equal?\r\n *\r\n * @description\r\n * Are the given dates equal?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to compare\r\n * @param {Date|String|Number} dateRight - the second date to compare\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are equal\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\r\n * var result = isEqual(\r\n *   new Date(2014, 6, 2, 6, 30, 45, 0)\r\n *   new Date(2014, 6, 2, 6, 30, 45, 500)\r\n * )\r\n * //=> false\r\n */\r\nexport default function isEqual (dirtyLeftDate, dirtyRightDate, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyLeftDate, dirtyOptions)\r\n  var dateRight = toDate(dirtyRightDate, dirtyOptions)\r\n  return dateLeft.getTime() === dateRight.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isEqual/index.js\n// module id = 1088\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isFirstDayOfMonth\r\n * @category Month Helpers\r\n * @summary Is the given date the first day of a month?\r\n *\r\n * @description\r\n * Is the given date the first day of a month?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is the first day of a month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 1 September 2014 the first day of a month?\r\n * var result = isFirstDayOfMonth(new Date(2014, 8, 1))\r\n * //=> true\r\n */\r\nexport default function isFirstDayOfMonth (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDate() === 1\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isFirstDayOfMonth/index.js\n// module id = 1089\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isFriday\r\n * @category Weekday Helpers\r\n * @summary Is the given date Friday?\r\n *\r\n * @description\r\n * Is the given date Friday?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is Friday\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 26 September 2014 Friday?\r\n * var result = isFriday(new Date(2014, 8, 26))\r\n * //=> true\r\n */\r\nexport default function isFriday (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDay() === 5\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isFriday/index.js\n// module id = 1090\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport endOfDay from '../endOfDay/index.js'\r\nimport endOfMonth from '../endOfMonth/index.js'\r\n\r\n/**\r\n * @name isLastDayOfMonth\r\n * @category Month Helpers\r\n * @summary Is the given date the last day of a month?\r\n *\r\n * @description\r\n * Is the given date the last day of a month?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is the last day of a month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 28 February 2014 the last day of a month?\r\n * var result = isLastDayOfMonth(new Date(2014, 1, 28))\r\n * //=> true\r\n */\r\nexport default function isLastDayOfMonth (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  return endOfDay(date, dirtyOptions).getTime() === endOfMonth(date, dirtyOptions).getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isLastDayOfMonth/index.js\n// module id = 1091\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isMonday\r\n * @category Weekday Helpers\r\n * @summary Is the given date Monday?\r\n *\r\n * @description\r\n * Is the given date Monday?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is Monday\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 22 September 2014 Monday?\r\n * var result = isMonday(new Date(2014, 8, 22))\r\n * //=> true\r\n */\r\nexport default function isMonday (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDay() === 1\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isMonday/index.js\n// module id = 1092\n// module chunks = 3","import startOfDay from '../startOfDay/index.js'\r\n\r\n/**\r\n * @name isSameDay\r\n * @category Day Helpers\r\n * @summary Are the given dates in the same day?\r\n *\r\n * @description\r\n * Are the given dates in the same day?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same day\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\r\n * var result = isSameDay(\r\n *   new Date(2014, 8, 4, 6, 0),\r\n *   new Date(2014, 8, 4, 18, 0)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameDay (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeftStartOfDay = startOfDay(dirtyDateLeft, dirtyOptions)\r\n  var dateRightStartOfDay = startOfDay(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameDay/index.js\n// module id = 1093\n// module chunks = 3","import startOfHour from '../startOfHour/index.js'\r\n\r\n/**\r\n * @name isSameHour\r\n * @category Hour Helpers\r\n * @summary Are the given dates in the same hour?\r\n *\r\n * @description\r\n * Are the given dates in the same hour?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same hour\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour?\r\n * var result = isSameHour(\r\n *   new Date(2014, 8, 4, 6, 0),\r\n *   new Date(2014, 8, 4, 6, 30)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameHour (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeftStartOfHour = startOfHour(dirtyDateLeft, dirtyOptions)\r\n  var dateRightStartOfHour = startOfHour(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeftStartOfHour.getTime() === dateRightStartOfHour.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameHour/index.js\n// module id = 1094\n// module chunks = 3","import isSameWeek from '../isSameWeek/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\n\r\n/**\r\n * @name isSameISOWeek\r\n * @category ISO Week Helpers\r\n * @summary Are the given dates in the same ISO week?\r\n *\r\n * @description\r\n * Are the given dates in the same ISO week?\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same ISO week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 1 September 2014 and 7 September 2014 in the same ISO week?\r\n * var result = isSameISOWeek(\r\n *   new Date(2014, 8, 1),\r\n *   new Date(2014, 8, 7)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameISOWeek (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var isSameWeekOptions = cloneObject(dirtyOptions)\r\n  isSameWeekOptions.weekStartsOn = 1\r\n  return isSameWeek(dirtyDateLeft, dirtyDateRight, isSameWeekOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameISOWeek/index.js\n// module id = 1095\n// module chunks = 3","import startOfISOYear from '../startOfISOYear/index.js'\r\n\r\n/**\r\n * @name isSameISOYear\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Are the given dates in the same ISO week-numbering year?\r\n *\r\n * @description\r\n * Are the given dates in the same ISO week-numbering year?\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same ISO week-numbering year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year?\r\n * var result = isSameISOYear(\r\n *   new Date(2003, 11, 29),\r\n *   new Date(2005, 0, 2)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameISOYear (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeftStartOfYear = startOfISOYear(dirtyDateLeft, dirtyOptions)\r\n  var dateRightStartOfYear = startOfISOYear(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeftStartOfYear.getTime() === dateRightStartOfYear.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameISOYear/index.js\n// module id = 1096\n// module chunks = 3","import startOfMinute from '../startOfMinute/index.js'\r\n\r\n/**\r\n * @name isSameMinute\r\n * @category Minute Helpers\r\n * @summary Are the given dates in the same minute?\r\n *\r\n * @description\r\n * Are the given dates in the same minute?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same minute\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 4 September 2014 06:30:00 and 4 September 2014 06:30:15\r\n * // in the same minute?\r\n * var result = isSameMinute(\r\n *   new Date(2014, 8, 4, 6, 30),\r\n *   new Date(2014, 8, 4, 6, 30, 15)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameMinute (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeftStartOfMinute = startOfMinute(dirtyDateLeft, dirtyOptions)\r\n  var dateRightStartOfMinute = startOfMinute(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeftStartOfMinute.getTime() === dateRightStartOfMinute.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameMinute/index.js\n// module id = 1097\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isSameMonth\r\n * @category Month Helpers\r\n * @summary Are the given dates in the same month?\r\n *\r\n * @description\r\n * Are the given dates in the same month?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 2 September 2014 and 25 September 2014 in the same month?\r\n * var result = isSameMonth(\r\n *   new Date(2014, 8, 2),\r\n *   new Date(2014, 8, 25)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameMonth (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n  return dateLeft.getFullYear() === dateRight.getFullYear() &&\r\n    dateLeft.getMonth() === dateRight.getMonth()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameMonth/index.js\n// module id = 1098\n// module chunks = 3","import startOfQuarter from '../startOfQuarter/index.js'\r\n\r\n/**\r\n * @name isSameQuarter\r\n * @category Quarter Helpers\r\n * @summary Are the given dates in the same year quarter?\r\n *\r\n * @description\r\n * Are the given dates in the same year quarter?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same quarter\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 1 January 2014 and 8 March 2014 in the same quarter?\r\n * var result = isSameQuarter(\r\n *   new Date(2014, 0, 1),\r\n *   new Date(2014, 2, 8)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameQuarter (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeftStartOfQuarter = startOfQuarter(dirtyDateLeft, dirtyOptions)\r\n  var dateRightStartOfQuarter = startOfQuarter(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeftStartOfQuarter.getTime() === dateRightStartOfQuarter.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameQuarter/index.js\n// module id = 1099\n// module chunks = 3","import startOfSecond from '../startOfSecond/index.js'\r\n\r\n/**\r\n * @name isSameSecond\r\n * @category Second Helpers\r\n * @summary Are the given dates in the same second?\r\n *\r\n * @description\r\n * Are the given dates in the same second?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same second\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 4 September 2014 06:30:15.000 and 4 September 2014 06:30.15.500\r\n * // in the same second?\r\n * var result = isSameSecond(\r\n *   new Date(2014, 8, 4, 6, 30, 15),\r\n *   new Date(2014, 8, 4, 6, 30, 15, 500)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameSecond (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeftStartOfSecond = startOfSecond(dirtyDateLeft, dirtyOptions)\r\n  var dateRightStartOfSecond = startOfSecond(dirtyDateRight, dirtyOptions)\r\n\r\n  return dateLeftStartOfSecond.getTime() === dateRightStartOfSecond.getTime()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameSecond/index.js\n// module id = 1100\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isSameYear\r\n * @category Year Helpers\r\n * @summary Are the given dates in the same year?\r\n *\r\n * @description\r\n * Are the given dates in the same year?\r\n *\r\n * @param {Date|String|Number} dateLeft - the first date to check\r\n * @param {Date|String|Number} dateRight - the second date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the dates are in the same year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Are 2 September 2014 and 25 September 2014 in the same year?\r\n * var result = isSameYear(\r\n *   new Date(2014, 8, 2),\r\n *   new Date(2014, 8, 25)\r\n * )\r\n * //=> true\r\n */\r\nexport default function isSameYear (dirtyDateLeft, dirtyDateRight, dirtyOptions) {\r\n  var dateLeft = toDate(dirtyDateLeft, dirtyOptions)\r\n  var dateRight = toDate(dirtyDateRight, dirtyOptions)\r\n  return dateLeft.getFullYear() === dateRight.getFullYear()\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSameYear/index.js\n// module id = 1101\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isSaturday\r\n * @category Weekday Helpers\r\n * @summary Is the given date Saturday?\r\n *\r\n * @description\r\n * Is the given date Saturday?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is Saturday\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 27 September 2014 Saturday?\r\n * var result = isSaturday(new Date(2014, 8, 27))\r\n * //=> true\r\n */\r\nexport default function isSaturday (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDay() === 6\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSaturday/index.js\n// module id = 1102\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isSunday\r\n * @category Weekday Helpers\r\n * @summary Is the given date Sunday?\r\n *\r\n * @description\r\n * Is the given date Sunday?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is Sunday\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 21 September 2014 Sunday?\r\n * var result = isSunday(new Date(2014, 8, 21))\r\n * //=> true\r\n */\r\nexport default function isSunday (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDay() === 0\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isSunday/index.js\n// module id = 1103\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isThursday\r\n * @category Weekday Helpers\r\n * @summary Is the given date Thursday?\r\n *\r\n * @description\r\n * Is the given date Thursday?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is Thursday\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 25 September 2014 Thursday?\r\n * var result = isThursday(new Date(2014, 8, 25))\r\n * //=> true\r\n */\r\nexport default function isThursday (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDay() === 4\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isThursday/index.js\n// module id = 1104\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isTuesday\r\n * @category Weekday Helpers\r\n * @summary Is the given date Tuesday?\r\n *\r\n * @description\r\n * Is the given date Tuesday?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is Tuesday\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 23 September 2014 Tuesday?\r\n * var result = isTuesday(new Date(2014, 8, 23))\r\n * //=> true\r\n */\r\nexport default function isTuesday (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDay() === 2\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isTuesday/index.js\n// module id = 1105\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isWednesday\r\n * @category Weekday Helpers\r\n * @summary Is the given date Wednesday?\r\n *\r\n * @description\r\n * Is the given date Wednesday?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is Wednesday\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Is 24 September 2014 Wednesday?\r\n * var result = isWednesday(new Date(2014, 8, 24))\r\n * //=> true\r\n */\r\nexport default function isWednesday (dirtyDate, dirtyOptions) {\r\n  return toDate(dirtyDate, dirtyOptions).getDay() === 3\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isWednesday/index.js\n// module id = 1106\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isWeekend\r\n * @category Weekday Helpers\r\n * @summary Does the given date fall on a weekend?\r\n *\r\n * @description\r\n * Does the given date fall on a weekend?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date falls on a weekend\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Does 5 October 2014 fall on a weekend?\r\n * var result = isWeekend(new Date(2014, 9, 5))\r\n * //=> true\r\n */\r\nexport default function isWeekend (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var day = date.getDay()\r\n  return day === 0 || day === 6\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isWeekend/index.js\n// module id = 1107\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name isWithinInterval\r\n * @category Interval Helpers\r\n * @summary Is the given date within the interval?\r\n *\r\n * @description\r\n * Is the given date within the interval?\r\n *\r\n * @param {Date|String|Number} date - the date to check\r\n * @param {Interval} interval - the interval to check\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Boolean} the date is within the interval\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} The start of an interval cannot be after its end\r\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\r\n *\r\n * @example\r\n * // For the date within the interval:\r\n * isWithinInterval(\r\n *   new Date(2014, 0, 3),\r\n *   {start: new Date(2014, 0, 1), end: new Date(2014, 0, 7)}\r\n * )\r\n * //=> true\r\n *\r\n * @example\r\n * // For the date outside of the interval:\r\n * isWithinInterval(\r\n *   new Date(2014, 0, 10),\r\n *   {start: new Date(2014, 0, 1), end: new Date(2014, 0, 7)}\r\n * )\r\n * //=> false\r\n */\r\nexport default function isWithinInterval (dirtyDate, dirtyInterval, dirtyOptions) {\r\n  var interval = dirtyInterval || {}\r\n  var time = toDate(dirtyDate, dirtyOptions).getTime()\r\n  var startTime = toDate(interval.start, dirtyOptions).getTime()\r\n  var endTime = toDate(interval.end, dirtyOptions).getTime()\r\n\r\n  // Throw an exception if start date is after end date or if any date is `Invalid Date`\r\n  if (!(startTime <= endTime)) {\r\n    throw new RangeError('Invalid interval')\r\n  }\r\n\r\n  return time >= startTime && time <= endTime\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/isWithinInterval/index.js\n// module id = 1108\n// module chunks = 3","import lastDayOfWeek from '../lastDayOfWeek/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\n\r\n/**\r\n * @name lastDayOfISOWeek\r\n * @category ISO Week Helpers\r\n * @summary Return the last day of an ISO week for the given date.\r\n *\r\n * @description\r\n * Return the last day of an ISO week for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the last day of an ISO week\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The last day of an ISO week for 2 September 2014 11:55:00:\r\n * var result = lastDayOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Sun Sep 07 2014 00:00:00\r\n */\r\nexport default function lastDayOfISOWeek (dirtyDate, dirtyOptions) {\r\n  var lastDayOfWeekOptions = cloneObject(dirtyOptions)\r\n  lastDayOfWeekOptions.weekStartsOn = 1\r\n  return lastDayOfWeek(dirtyDate, lastDayOfWeekOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/lastDayOfISOWeek/index.js\n// module id = 1109\n// module chunks = 3","import getISOYear from '../getISOYear/index.js'\r\nimport startOfISOWeek from '../startOfISOWeek/index.js'\r\n\r\n/**\r\n * @name lastDayOfISOYear\r\n * @category ISO Week-Numbering Year Helpers\r\n * @summary Return the last day of an ISO week-numbering year for the given date.\r\n *\r\n * @description\r\n * Return the last day of an ISO week-numbering year,\r\n * which always starts 3 days before the year's first Thursday.\r\n * The result will be in the local timezone.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the end of an ISO week-numbering year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The last day of an ISO week-numbering year for 2 July 2005:\r\n * var result = lastDayOfISOYear(new Date(2005, 6, 2))\r\n * //=> Sun Jan 01 2006 00:00:00\r\n */\r\nexport default function lastDayOfISOYear (dirtyDate, dirtyOptions) {\r\n  var year = getISOYear(dirtyDate, dirtyOptions)\r\n  var fourthOfJanuary = new Date(0)\r\n  fourthOfJanuary.setFullYear(year + 1, 0, 4)\r\n  fourthOfJanuary.setHours(0, 0, 0, 0)\r\n  var date = startOfISOWeek(fourthOfJanuary, dirtyOptions)\r\n  date.setDate(date.getDate() - 1)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/lastDayOfISOYear/index.js\n// module id = 1110\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name lastDayOfMonth\r\n * @category Month Helpers\r\n * @summary Return the last day of a month for the given date.\r\n *\r\n * @description\r\n * Return the last day of a month for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the last day of a month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The last day of a month for 2 September 2014 11:55:00:\r\n * var result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Tue Sep 30 2014 00:00:00\r\n */\r\nexport default function lastDayOfMonth (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var month = date.getMonth()\r\n  date.setFullYear(date.getFullYear(), month + 1, 0)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/lastDayOfMonth/index.js\n// module id = 1111\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name lastDayOfQuarter\r\n * @category Quarter Helpers\r\n * @summary Return the last day of a year quarter for the given date.\r\n *\r\n * @description\r\n * Return the last day of a year quarter for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the last day of a quarter\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The last day of a quarter for 2 September 2014 11:55:00:\r\n * var result = lastDayOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Tue Sep 30 2014 00:00:00\r\n */\r\nexport default function lastDayOfQuarter (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var currentMonth = date.getMonth()\r\n  var month = currentMonth - currentMonth % 3 + 3\r\n  date.setMonth(month, 0)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/lastDayOfQuarter/index.js\n// module id = 1112\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name lastDayOfYear\r\n * @category Year Helpers\r\n * @summary Return the last day of a year for the given date.\r\n *\r\n * @description\r\n * Return the last day of a year for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the last day of a year\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The last day of a year for 2 September 2014 11:55:00:\r\n * var result = lastDayOfYear(new Date(2014, 8, 2, 11, 55, 00))\r\n * //=> Wed Dec 31 2014 00:00:00\r\n */\r\nexport default function lastDayOfYear (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = date.getFullYear()\r\n  date.setFullYear(year + 1, 0, 0)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/lastDayOfYear/index.js\n// module id = 1113\n// module chunks = 3","var tokensToBeShortedPattern = /MMMM|MM|DD|dddd/g\r\n\r\nfunction buildShortLongFormat (format) {\r\n  return format.replace(tokensToBeShortedPattern, function (token) {\r\n    return token.slice(1)\r\n  })\r\n}\r\n\r\n/**\r\n * @name buildFormatLongFn\r\n * @category Locale Helpers\r\n * @summary Build `formatLong` property for locale used by `format`, `formatRelative` and `parse` functions.\r\n *\r\n * @description\r\n * Build `formatLong` property for locale used by `format`, `formatRelative` and `parse` functions.\r\n * Returns a function which takes one of the following tokens as the argument:\r\n * `'LTS'`, `'LT'`, `'L'`, `'LL'`, `'LLL'`, `'l'`, `'ll'`, `'lll'`, `'llll'`\r\n * and returns a long format string written as `format` token strings.\r\n * See [format]{@link https://date-fns.org/docs/format}\r\n *\r\n * `'l'`, `'ll'`, `'lll'` and `'llll'` formats are built automatically\r\n * by shortening some of the tokens from corresponding unshortened formats\r\n * (e.g., if `LL` is `'MMMM DD YYYY'` then `ll` will be `MMM D YYYY`)\r\n *\r\n * @param {Object} obj - the object with long formats written as `format` token strings\r\n * @param {String} obj.LT - time format: hours and minutes\r\n * @param {String} obj.LTS - time format: hours, minutes and seconds\r\n * @param {String} obj.L - short date format: numeric day, month and year\r\n * @param {String} [obj.l] - short date format: numeric day, month and year (shortened)\r\n * @param {String} obj.LL - long date format: day, month in words, and year\r\n * @param {String} [obj.ll] - long date format: day, month in words, and year (shortened)\r\n * @param {String} obj.LLL - long date and time format\r\n * @param {String} [obj.lll] - long date and time format (shortened)\r\n * @param {String} obj.LLLL - long date, time and weekday format\r\n * @param {String} [obj.llll] - long date, time and weekday format (shortened)\r\n * @returns {Function} `formatLong` property of the locale\r\n *\r\n * @example\r\n * // For `en-US` locale:\r\n * locale.formatLong = buildFormatLongFn({\r\n *   LT: 'h:mm aa',\r\n *   LTS: 'h:mm:ss aa',\r\n *   L: 'MM/DD/YYYY',\r\n *   LL: 'MMMM D YYYY',\r\n *   LLL: 'MMMM D YYYY h:mm aa',\r\n *   LLLL: 'dddd, MMMM D YYYY h:mm aa'\r\n * })\r\n */\r\nexport default function buildFormatLongFn (obj) {\r\n  var formatLongLocale = {\r\n    LTS: obj.LTS,\r\n    LT: obj.LT,\r\n    L: obj.L,\r\n    LL: obj.LL,\r\n    LLL: obj.LLL,\r\n    LLLL: obj.LLLL,\r\n    l: obj.l || buildShortLongFormat(obj.L),\r\n    ll: obj.ll || buildShortLongFormat(obj.LL),\r\n    lll: obj.lll || buildShortLongFormat(obj.LLL),\r\n    llll: obj.llll || buildShortLongFormat(obj.LLLL)\r\n  }\r\n\r\n  return function (token) {\r\n    return formatLongLocale[token]\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/_lib/buildFormatLongFn/index.js\n// module id = 1114\n// module chunks = 3","/**\r\n * @name buildLocalizeArrayFn\r\n * @category Locale Helpers\r\n * @summary Build `localize.weekdays`, `localize.months` and `localize.timesOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `localize.weekdays`, `localize.months` and `localize.timesOfDay` properties for the locale.\r\n * If no `type` is supplied to the options of the resulting function, `defaultType` will be used (see example).\r\n *\r\n * @param {Object} values - the object with arrays of values\r\n * @param {String} defaultType - the default type for the localize function\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var weekdayValues = {\r\n *   narrow: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n *   short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n *   long: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\r\n * }\r\n * locale.localize.weekdays = buildLocalizeArrayFn(weekdayValues, 'long')\r\n * locale.localize.weekdays({type: 'narrow'}) //=> ['Su', 'Mo', ...]\r\n * locale.localize.weekdays() //=> ['Sunday', 'Monday', ...]\r\n */\r\nexport default function buildLocalizeArrayFn (values, defaultType) {\r\n  return function (dirtyOptions) {\r\n    var options = dirtyOptions || {}\r\n    var type = options.type ? String(options.type) : defaultType\r\n    return values[type] || values[defaultType]\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/_lib/buildLocalizeArrayFn/index.js\n// module id = 1115\n// module chunks = 3","/**\r\n * @name buildLocalizeFn\r\n * @category Locale Helpers\r\n * @summary Build `localize.weekday`, `localize.month` and `localize.timeOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `localize.weekday`, `localize.month` and `localize.timeOfDay` properties for the locale\r\n * used by `format` function.\r\n * If no `type` is supplied to the options of the resulting function, `defaultType` will be used (see example).\r\n *\r\n * `localize.weekday` function takes the weekday index as argument (0 - Sunday).\r\n * `localize.month` takes the month index (0 - January).\r\n * `localize.timeOfDay` takes the hours. Use `indexCallback` to convert them to an array index (see example).\r\n *\r\n * @param {Object} values - the object with arrays of values\r\n * @param {String} defaultType - the default type for the localize function\r\n * @param {Function} [indexCallback] - the callback which takes the resulting function argument\r\n *   and converts it into value array index\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var timeOfDayValues = {\r\n *   uppercase: ['AM', 'PM'],\r\n *   lowercase: ['am', 'pm'],\r\n *   long: ['a.m.', 'p.m.']\r\n * }\r\n * locale.localize.timeOfDay = buildLocalizeFn(timeOfDayValues, 'long', function (hours) {\r\n *   // 0 is a.m. array index, 1 is p.m. array index\r\n *   return (hours / 12) >= 1 ? 1 : 0\r\n * })\r\n * locale.localize.timeOfDay(16, {type: 'uppercase'}) //=> 'PM'\r\n * locale.localize.timeOfDay(5) //=> 'a.m.'\r\n */\r\nexport default function buildLocalizeFn (values, defaultType, indexCallback) {\r\n  return function (dirtyIndex, dirtyOptions) {\r\n    var options = dirtyOptions || {}\r\n    var type = options.type ? String(options.type) : defaultType\r\n    var valuesArray = values[type] || values[defaultType]\r\n    var index = indexCallback ? indexCallback(Number(dirtyIndex)) : Number(dirtyIndex)\r\n    return valuesArray[index]\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/_lib/buildLocalizeFn/index.js\n// module id = 1116\n// module chunks = 3","/**\r\n * @name buildMatchFn\r\n * @category Locale Helpers\r\n * @summary Build `match.weekdays`, `match.months` and `match.timesOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `match.weekdays`, `match.months` and `match.timesOfDay` properties for the locale used by `parse` function.\r\n * If no `type` is supplied to the options of the resulting function, `defaultType` will be used (see example).\r\n * The result of the match function will be passed into corresponding parser function\r\n * (`match.weekday`, `match.month` or `match.timeOfDay` respectively. See `buildParseFn`).\r\n *\r\n * @param {Object} values - the object with RegExps\r\n * @param {String} defaultType - the default type for the match function\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var matchWeekdaysPatterns = {\r\n *   narrow: /^(su|mo|tu|we|th|fr|sa)/i,\r\n *   short: /^(sun|mon|tue|wed|thu|fri|sat)/i,\r\n *   long: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\r\n * }\r\n * locale.match.weekdays = buildMatchFn(matchWeekdaysPatterns, 'long')\r\n * locale.match.weekdays('Sunday', {type: 'narrow'}) //=> ['Su', 'Su', ...]\r\n * locale.match.weekdays('Sunday') //=> ['Sunday', 'Sunday', ...]\r\n */\r\nexport default function buildMatchFn (patterns, defaultType) {\r\n  return function (dirtyString, dirtyOptions) {\r\n    var options = dirtyOptions || {}\r\n    var type = options.type ? String(options.type) : defaultType\r\n    var pattern = patterns[type] || patterns[defaultType]\r\n    var string = String(dirtyString)\r\n    return string.match(pattern)\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/_lib/buildMatchFn/index.js\n// module id = 1117\n// module chunks = 3","/**\r\n * @name buildMatchPatternFn\r\n * @category Locale Helpers\r\n * @summary Build match function from a single RegExp.\r\n *\r\n * @description\r\n * Build match function from a single RegExp.\r\n * Usually used for building `match.ordinalNumbers` property of the locale.\r\n *\r\n * @param {Object} pattern - the RegExp\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * locale.match.ordinalNumbers = buildMatchPatternFn(/^(\\d+)(th|st|nd|rd)?/i)\r\n * locale.match.ordinalNumbers('3rd') //=> ['3rd', '3', 'rd', ...]\r\n */\r\nexport default function buildMatchPatternFn (pattern) {\r\n  return function (dirtyString) {\r\n    var string = String(dirtyString)\r\n    return string.match(pattern)\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js\n// module id = 1118\n// module chunks = 3","/**\r\n * @name buildParseFn\r\n * @category Locale Helpers\r\n * @summary Build `match.weekday`, `match.month` and `match.timeOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `match.weekday`, `match.month` and `match.timeOfDay` properties for the locale used by `parse` function.\r\n * The argument of the resulting function is the result of the corresponding match function\r\n * (`match.weekdays`, `match.months` or `match.timesOfDay` respectively. See `buildMatchFn`).\r\n *\r\n * @param {Object} values - the object with arrays of RegExps\r\n * @param {String} defaultType - the default type for the parser function\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var parseWeekdayPatterns = {\r\n *   any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\r\n * }\r\n * locale.match.weekday = buildParseFn(matchWeekdaysPatterns, 'long')\r\n * var matchResult = locale.match.weekdays('Friday')\r\n * locale.match.weekday(matchResult) //=> 5\r\n */\r\nexport default function buildParseFn (patterns, defaultType) {\r\n  return function (matchResult, dirtyOptions) {\r\n    var options = dirtyOptions || {}\r\n    var type = options.type ? String(options.type) : defaultType\r\n    var patternsArray = patterns[type] || patterns[defaultType]\r\n    var string = matchResult[1]\r\n\r\n    return patternsArray.findIndex(function (pattern) {\r\n      return pattern.test(string)\r\n    })\r\n  }\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/_lib/buildParseFn/index.js\n// module id = 1119\n// module chunks = 3","/**\r\n * @name parseDecimal\r\n * @category Locale Helpers\r\n * @summary Parses the match result into decimal number.\r\n *\r\n * @description\r\n * Parses the match result into decimal number.\r\n * Uses the string matched with the first set of parentheses of match RegExp.\r\n *\r\n * @param {Array} matchResult - the object returned by matching function\r\n * @returns {Number} the parsed value\r\n *\r\n * @example\r\n * locale.match = {\r\n *   ordinalNumbers: (dirtyString) {\r\n *     return String(dirtyString).match(/^(\\d+)(th|st|nd|rd)?/i)\r\n *   },\r\n *   ordinalNumber: parseDecimal\r\n * }\r\n */\r\nexport default function parseDecimal (matchResult) {\r\n  return parseInt(matchResult[1], 10)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/_lib/parseDecimal/index.js\n// module id = 1120\n// module chunks = 3","var formatDistanceLocale = {\r\n  lessThanXSeconds: {\r\n    one: 'less than a second',\r\n    other: 'less than {{count}} seconds'\r\n  },\r\n\r\n  xSeconds: {\r\n    one: '1 second',\r\n    other: '{{count}} seconds'\r\n  },\r\n\r\n  halfAMinute: 'half a minute',\r\n\r\n  lessThanXMinutes: {\r\n    one: 'less than a minute',\r\n    other: 'less than {{count}} minutes'\r\n  },\r\n\r\n  xMinutes: {\r\n    one: '1 minute',\r\n    other: '{{count}} minutes'\r\n  },\r\n\r\n  aboutXHours: {\r\n    one: 'about 1 hour',\r\n    other: 'about {{count}} hours'\r\n  },\r\n\r\n  xHours: {\r\n    one: '1 hour',\r\n    other: '{{count}} hours'\r\n  },\r\n\r\n  xDays: {\r\n    one: '1 day',\r\n    other: '{{count}} days'\r\n  },\r\n\r\n  aboutXMonths: {\r\n    one: 'about 1 month',\r\n    other: 'about {{count}} months'\r\n  },\r\n\r\n  xMonths: {\r\n    one: '1 month',\r\n    other: '{{count}} months'\r\n  },\r\n\r\n  aboutXYears: {\r\n    one: 'about 1 year',\r\n    other: 'about {{count}} years'\r\n  },\r\n\r\n  xYears: {\r\n    one: '1 year',\r\n    other: '{{count}} years'\r\n  },\r\n\r\n  overXYears: {\r\n    one: 'over 1 year',\r\n    other: 'over {{count}} years'\r\n  },\r\n\r\n  almostXYears: {\r\n    one: 'almost 1 year',\r\n    other: 'almost {{count}} years'\r\n  }\r\n}\r\n\r\nexport default function formatDistance (token, count, options) {\r\n  options = options || {}\r\n\r\n  var result\r\n  if (typeof formatDistanceLocale[token] === 'string') {\r\n    result = formatDistanceLocale[token]\r\n  } else if (count === 1) {\r\n    result = formatDistanceLocale[token].one\r\n  } else {\r\n    result = formatDistanceLocale[token].other.replace('{{count}}', count)\r\n  }\r\n\r\n  if (options.addSuffix) {\r\n    if (options.comparison > 0) {\r\n      return 'in ' + result\r\n    } else {\r\n      return result + ' ago'\r\n    }\r\n  }\r\n\r\n  return result\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/en-US/_lib/formatDistance/index.js\n// module id = 1121\n// module chunks = 3","import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index.js'\r\n\r\nvar formatLong = buildFormatLongFn({\r\n  LT: 'h:mm aa',\r\n  LTS: 'h:mm:ss aa',\r\n  L: 'MM/DD/YYYY',\r\n  LL: 'MMMM D YYYY',\r\n  LLL: 'MMMM D YYYY h:mm aa',\r\n  LLLL: 'dddd, MMMM D YYYY h:mm aa'\r\n})\r\n\r\nexport default formatLong\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/en-US/_lib/formatLong/index.js\n// module id = 1122\n// module chunks = 3","var formatRelativeLocale = {\r\n  lastWeek: '[last] dddd [at] LT',\r\n  yesterday: '[yesterday at] LT',\r\n  today: '[today at] LT',\r\n  tomorrow: '[tomorrow at] LT',\r\n  nextWeek: 'dddd [at] LT',\r\n  other: 'L'\r\n}\r\n\r\nexport default function formatRelative (token, date, baseDate, options) {\r\n  return formatRelativeLocale[token]\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/en-US/_lib/formatRelative/index.js\n// module id = 1123\n// module chunks = 3","import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index.js'\r\nimport buildLocalizeArrayFn from '../../../_lib/buildLocalizeArrayFn/index.js'\r\n\r\n// Note: in English, the names of days of the week and months are capitalized.\r\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\r\n// Generally, formatted dates should look like they are in the middle of a sentence,\r\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\r\nvar weekdayValues = {\r\n  narrow: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n  short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n  long: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\r\n}\r\n\r\nvar monthValues = {\r\n  short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n  long: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\r\n}\r\n\r\n// `timeOfDay` is used to designate which part of the day it is, when used with 12-hour clock.\r\n// Use the system which is used the most commonly in the locale.\r\n// For example, if the country doesn't use a.m./p.m., you can use `night`/`morning`/`afternoon`/`evening`:\r\n//\r\n//   var timeOfDayValues = {\r\n//     any: ['in the night', 'in the morning', 'in the afternoon', 'in the evening']\r\n//   }\r\n//\r\n// And later:\r\n//\r\n//   var localize = {\r\n//     // The callback takes the hours as the argument and returns the array index\r\n//     timeOfDay: buildLocalizeFn(timeOfDayValues, 'any', function (hours) {\r\n//       if (hours >= 17) {\r\n//         return 3\r\n//       } else if (hours >= 12) {\r\n//         return 2\r\n//       } else if (hours >= 4) {\r\n//         return 1\r\n//       } else {\r\n//         return 0\r\n//       }\r\n//     }),\r\n//     timesOfDay: buildLocalizeArrayFn(timeOfDayValues, 'any')\r\n//   }\r\nvar timeOfDayValues = {\r\n  uppercase: ['AM', 'PM'],\r\n  lowercase: ['am', 'pm'],\r\n  long: ['a.m.', 'p.m.']\r\n}\r\n\r\nfunction ordinalNumber (dirtyNumber, dirtyOptions) {\r\n  var number = Number(dirtyNumber)\r\n\r\n  // If ordinal numbers depend on context, for example,\r\n  // if they are different for different grammatical genders,\r\n  // use `options.unit`:\r\n  //\r\n  //   var options = dirtyOptions || {}\r\n  //   var unit = String(options.unit)\r\n  //\r\n  // where `unit` can be 'month', 'quarter', 'week', 'isoWeek', 'dayOfYear',\r\n  // 'dayOfMonth' or 'dayOfWeek'\r\n\r\n  var rem100 = number % 100\r\n  if (rem100 > 20 || rem100 < 10) {\r\n    switch (rem100 % 10) {\r\n      case 1:\r\n        return number + 'st'\r\n      case 2:\r\n        return number + 'nd'\r\n      case 3:\r\n        return number + 'rd'\r\n    }\r\n  }\r\n  return number + 'th'\r\n}\r\n\r\nvar localize = {\r\n  ordinalNumber: ordinalNumber,\r\n  weekday: buildLocalizeFn(weekdayValues, 'long'),\r\n  weekdays: buildLocalizeArrayFn(weekdayValues, 'long'),\r\n  month: buildLocalizeFn(monthValues, 'long'),\r\n  months: buildLocalizeArrayFn(monthValues, 'long'),\r\n  timeOfDay: buildLocalizeFn(timeOfDayValues, 'long', function (hours) {\r\n    return (hours / 12) >= 1 ? 1 : 0\r\n  }),\r\n  timesOfDay: buildLocalizeArrayFn(timeOfDayValues, 'long')\r\n}\r\n\r\nexport default localize\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/en-US/_lib/localize/index.js\n// module id = 1124\n// module chunks = 3","import buildMatchFn from '../../../_lib/buildMatchFn/index.js'\r\nimport buildParseFn from '../../../_lib/buildParseFn/index.js'\r\nimport buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index.js'\r\nimport parseDecimal from '../../../_lib/parseDecimal/index.js'\r\n\r\nvar matchOrdinalNumbersPattern = /^(\\d+)(th|st|nd|rd)?/i\r\n\r\nvar matchWeekdaysPatterns = {\r\n  narrow: /^(su|mo|tu|we|th|fr|sa)/i,\r\n  short: /^(sun|mon|tue|wed|thu|fri|sat)/i,\r\n  long: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\r\n}\r\n\r\nvar parseWeekdayPatterns = {\r\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\r\n}\r\n\r\nvar matchMonthsPatterns = {\r\n  short: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\r\n  long: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\r\n}\r\n\r\nvar parseMonthPatterns = {\r\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\r\n}\r\n\r\n// `timeOfDay` is used to designate which part of the day it is, when used with 12-hour clock.\r\n// Use the system which is used the most commonly in the locale.\r\n// For example, if the country doesn't use a.m./p.m., you can use `night`/`morning`/`afternoon`/`evening`:\r\n//\r\n//   var matchTimesOfDayPatterns = {\r\n//     long: /^((in the)? (night|morning|afternoon|evening?))/i\r\n//   }\r\n//\r\n//   var parseTimeOfDayPatterns = {\r\n//     any: [/(night|morning)/i, /(afternoon|evening)/i]\r\n//   }\r\nvar matchTimesOfDayPatterns = {\r\n  short: /^(am|pm)/i,\r\n  long: /^([ap]\\.?\\s?m\\.?)/i\r\n}\r\n\r\nvar parseTimeOfDayPatterns = {\r\n  any: [/^a/i, /^p/i]\r\n}\r\n\r\nvar match = {\r\n  ordinalNumbers: buildMatchPatternFn(matchOrdinalNumbersPattern),\r\n  ordinalNumber: parseDecimal,\r\n  weekdays: buildMatchFn(matchWeekdaysPatterns, 'long'),\r\n  weekday: buildParseFn(parseWeekdayPatterns, 'any'),\r\n  months: buildMatchFn(matchMonthsPatterns, 'long'),\r\n  month: buildParseFn(parseMonthPatterns, 'any'),\r\n  timesOfDay: buildMatchFn(matchTimesOfDayPatterns, 'long'),\r\n  timeOfDay: buildParseFn(parseTimeOfDayPatterns, 'any')\r\n}\r\n\r\nexport default match\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/locale/en-US/_lib/match/index.js\n// module id = 1125\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name max\r\n * @category Common Helpers\r\n * @summary Return the latest of the given dates.\r\n *\r\n * @description\r\n * Return the latest of the given dates.\r\n *\r\n * @param {Date[]|String[]|Number[]} datesArray - the dates to compare\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the latest of the dates\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which of these dates is the latest?\r\n * var result = max(\r\n *  [\r\n *    new Date(1989, 6, 10),\r\n *    new Date(1987, 1, 11),\r\n *    new Date(1995, 6, 2),\r\n *    new Date(1990, 0, 1)\r\n *  ]\r\n * )\r\n * //=> Sun Jul 02 1995 00:00:00\r\n */\r\nexport default function max (dirtyDatesArray, dirtyOptions) {\r\n  var datesArray\r\n  // `dirtyDatesArray` is undefined or null\r\n  if (dirtyDatesArray == null) {\r\n    datesArray = []\r\n\r\n  // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\r\n  } else if (typeof dirtyDatesArray.forEach === 'function') {\r\n    datesArray = dirtyDatesArray\r\n\r\n  // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\r\n  } else {\r\n    datesArray = Array.prototype.slice.call(dirtyDatesArray)\r\n  }\r\n\r\n  var result\r\n  datesArray.forEach(function (dirtyDate) {\r\n    var currentDate = toDate(dirtyDate, dirtyOptions)\r\n\r\n    if (result === undefined || result < currentDate || isNaN(currentDate)) {\r\n      result = currentDate\r\n    }\r\n  })\r\n\r\n  return result\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/max/index.js\n// module id = 1126\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name min\r\n * @category Common Helpers\r\n * @summary Return the earliest of the given dates.\r\n *\r\n * @description\r\n * Return the earliest of the given dates.\r\n *\r\n * @param {Date[]|String[]|Number[]} datesArray - the dates to compare\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the earliest of the dates\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Which of these dates is the earliest?\r\n * var result = min(\r\n *  [\r\n *    new Date(1989, 6, 10),\r\n *    new Date(1987, 1, 11),\r\n *    new Date(1995, 6, 2),\r\n *    new Date(1990, 0, 1)\r\n *  ]\r\n * )\r\n * //=> Wed Feb 11 1987 00:00:00\r\n */\r\nexport default function min (dirtyDatesArray, dirtyOptions) {\r\n  var datesArray\r\n  // `dirtyDatesArray` is undefined or null\r\n  if (dirtyDatesArray == null) {\r\n    datesArray = []\r\n\r\n  // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\r\n  } else if (typeof dirtyDatesArray.forEach === 'function') {\r\n    datesArray = dirtyDatesArray\r\n\r\n  // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array\r\n  } else {\r\n    datesArray = Array.prototype.slice.call(dirtyDatesArray)\r\n  }\r\n\r\n  var result\r\n  datesArray.forEach(function (dirtyDate) {\r\n    var currentDate = toDate(dirtyDate, dirtyOptions)\r\n\r\n    if (result === undefined || result > currentDate || isNaN(currentDate)) {\r\n      result = currentDate\r\n    }\r\n  })\r\n\r\n  return result\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/min/index.js\n// module id = 1127\n// module chunks = 3","var patterns = {\r\n  'M': /^(1[0-2]|0?\\d)/, // 0 to 12\r\n  'D': /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\r\n  'DDD': /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\r\n  'W': /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\r\n  'YYYY': /^(\\d{1,4})/, // 0 to 9999\r\n  'H': /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\r\n  'm': /^([0-5]?\\d)/, // 0 to 59\r\n  'Z': /^([+-])(\\d{2}):(\\d{2})/,\r\n  'ZZ': /^([+-])(\\d{2})(\\d{2})/,\r\n  singleDigit: /^(\\d)/,\r\n  twoDigits: /^(\\d{2})/,\r\n  threeDigits: /^(\\d{3})/,\r\n  fourDigits: /^(\\d{4})/,\r\n  anyDigits: /^(\\d+)/\r\n}\r\n\r\nfunction parseDecimal (matchResult) {\r\n  return parseInt(matchResult[1], 10)\r\n}\r\n\r\nvar parsers = {\r\n  // Year: 00, 01, ..., 99\r\n  'YY': {\r\n    unit: 'twoDigitYear',\r\n    match: patterns.twoDigits,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult)\r\n    }\r\n  },\r\n\r\n  // Year: 1900, 1901, ..., 2099\r\n  'YYYY': {\r\n    unit: 'year',\r\n    match: patterns.YYYY,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // ISO week-numbering year: 00, 01, ..., 99\r\n  'GG': {\r\n    unit: 'isoYear',\r\n    match: patterns.twoDigits,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult) + 1900\r\n    }\r\n  },\r\n\r\n  // ISO week-numbering year: 1900, 1901, ..., 2099\r\n  'GGGG': {\r\n    unit: 'isoYear',\r\n    match: patterns.YYYY,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Quarter: 1, 2, 3, 4\r\n  'Q': {\r\n    unit: 'quarter',\r\n    match: patterns.singleDigit,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Ordinal quarter\r\n  'Qo': {\r\n    unit: 'quarter',\r\n    match: function (string, options) {\r\n      return options.locale.match.ordinalNumbers(string, {unit: 'quarter'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.ordinalNumber(matchResult, {unit: 'quarter'})\r\n    }\r\n  },\r\n\r\n  // Month: 1, 2, ..., 12\r\n  'M': {\r\n    unit: 'month',\r\n    match: patterns.M,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult) - 1\r\n    }\r\n  },\r\n\r\n  // Ordinal month\r\n  'Mo': {\r\n    unit: 'month',\r\n    match: function (string, options) {\r\n      return options.locale.match.ordinalNumbers(string, {unit: 'month'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.ordinalNumber(matchResult, {unit: 'month'}) - 1\r\n    }\r\n  },\r\n\r\n  // Month: 01, 02, ..., 12\r\n  'MM': {\r\n    unit: 'month',\r\n    match: patterns.twoDigits,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult) - 1\r\n    }\r\n  },\r\n\r\n  // Month: Jan, Feb, ..., Dec\r\n  'MMM': {\r\n    unit: 'month',\r\n    match: function (string, options) {\r\n      return options.locale.match.months(string, {type: 'short'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.month(matchResult, {type: 'short'})\r\n    }\r\n  },\r\n\r\n  // Month: January, February, ..., December\r\n  'MMMM': {\r\n    unit: 'month',\r\n    match: function (string, options) {\r\n      return options.locale.match.months(string, {type: 'long'}) ||\r\n        options.locale.match.months(string, {type: 'short'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      var parseResult = options.locale.match.month(matchResult, {type: 'long'})\r\n\r\n      if (parseResult == null) {\r\n        parseResult = options.locale.match.month(matchResult, {type: 'short'})\r\n      }\r\n\r\n      return parseResult\r\n    }\r\n  },\r\n\r\n  // ISO week: 1, 2, ..., 53\r\n  'W': {\r\n    unit: 'isoWeek',\r\n    match: patterns.W,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Ordinal ISO week\r\n  'Wo': {\r\n    unit: 'isoWeek',\r\n    match: function (string, options) {\r\n      return options.locale.match.ordinalNumbers(string, {unit: 'isoWeek'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.ordinalNumber(matchResult, {unit: 'isoWeek'})\r\n    }\r\n  },\r\n\r\n  // ISO week: 01, 02, ..., 53\r\n  'WW': {\r\n    unit: 'isoWeek',\r\n    match: patterns.twoDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Day of week: 0, 1, ..., 6\r\n  'd': {\r\n    unit: 'dayOfWeek',\r\n    match: patterns.singleDigit,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Ordinal day of week\r\n  'do': {\r\n    unit: 'dayOfWeek',\r\n    match: function (string, options) {\r\n      return options.locale.match.ordinalNumbers(string, {unit: 'dayOfWeek'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.ordinalNumber(matchResult, {unit: 'dayOfWeek'})\r\n    }\r\n  },\r\n\r\n  // Day of week: Su, Mo, ..., Sa\r\n  'dd': {\r\n    unit: 'dayOfWeek',\r\n    match: function (string, options) {\r\n      return options.locale.match.weekdays(string, {type: 'narrow'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.weekday(matchResult, {type: 'narrow'})\r\n    }\r\n  },\r\n\r\n  // Day of week: Sun, Mon, ..., Sat\r\n  'ddd': {\r\n    unit: 'dayOfWeek',\r\n    match: function (string, options) {\r\n      return options.locale.match.weekdays(string, {type: 'short'}) ||\r\n        options.locale.match.weekdays(string, {type: 'narrow'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      var parseResult = options.locale.match.weekday(matchResult, {type: 'short'})\r\n\r\n      if (parseResult == null) {\r\n        parseResult = options.locale.match.weekday(matchResult, {type: 'narrow'})\r\n      }\r\n\r\n      return parseResult\r\n    }\r\n  },\r\n\r\n  // Day of week: Sunday, Monday, ..., Saturday\r\n  'dddd': {\r\n    unit: 'dayOfWeek',\r\n    match: function (string, options) {\r\n      return options.locale.match.weekdays(string, {type: 'long'}) ||\r\n        options.locale.match.weekdays(string, {type: 'short'}) ||\r\n        options.locale.match.weekdays(string, {type: 'narrow'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      var parseResult = options.locale.match.weekday(matchResult, {type: 'long'})\r\n\r\n      if (parseResult == null) {\r\n        parseResult = options.locale.match.weekday(matchResult, {type: 'short'})\r\n\r\n        if (parseResult == null) {\r\n          parseResult = options.locale.match.weekday(matchResult, {type: 'narrow'})\r\n        }\r\n      }\r\n\r\n      return parseResult\r\n    }\r\n  },\r\n\r\n  // Day of ISO week: 1, 2, ..., 7\r\n  'E': {\r\n    unit: 'dayOfISOWeek',\r\n    match: patterns.singleDigit,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult)\r\n    }\r\n  },\r\n\r\n  // Day of month: 1, 2, ..., 31\r\n  'D': {\r\n    unit: 'dayOfMonth',\r\n    match: patterns.D,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Ordinal day of month\r\n  'Do': {\r\n    unit: 'dayOfMonth',\r\n    match: function (string, options) {\r\n      return options.locale.match.ordinalNumbers(string, {unit: 'dayOfMonth'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.ordinalNumber(matchResult, {unit: 'dayOfMonth'})\r\n    }\r\n  },\r\n\r\n  // Day of month: 01, 02, ..., 31\r\n  'DD': {\r\n    unit: 'dayOfMonth',\r\n    match: patterns.twoDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Day of year: 1, 2, ..., 366\r\n  'DDD': {\r\n    unit: 'dayOfYear',\r\n    match: patterns.DDD,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Ordinal day of year\r\n  'DDDo': {\r\n    unit: 'dayOfYear',\r\n    match: function (string, options) {\r\n      return options.locale.match.ordinalNumbers(string, {unit: 'dayOfYear'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.ordinalNumber(matchResult, {unit: 'dayOfYear'})\r\n    }\r\n  },\r\n\r\n  // Day of year: 001, 002, ..., 366\r\n  'DDDD': {\r\n    unit: 'dayOfYear',\r\n    match: patterns.threeDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // AM, PM\r\n  'A': {\r\n    unit: 'timeOfDay',\r\n    match: function (string, options) {\r\n      return options.locale.match.timesOfDay(string, {type: 'short'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      return options.locale.match.timeOfDay(matchResult, {type: 'short'})\r\n    }\r\n  },\r\n\r\n  // a.m., p.m.\r\n  'aa': {\r\n    unit: 'timeOfDay',\r\n    match: function (string, options) {\r\n      return options.locale.match.timesOfDay(string, {type: 'long'}) ||\r\n        options.locale.match.timesOfDay(string, {type: 'short'})\r\n    },\r\n    parse: function (matchResult, options) {\r\n      var parseResult = options.locale.match.timeOfDay(matchResult, {type: 'long'})\r\n\r\n      if (parseResult == null) {\r\n        parseResult = options.locale.match.timeOfDay(matchResult, {type: 'short'})\r\n      }\r\n\r\n      return parseResult\r\n    }\r\n  },\r\n\r\n  // Hour: 0, 1, ... 23\r\n  'H': {\r\n    unit: 'hours',\r\n    match: patterns.H,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Hour: 00, 01, ..., 23\r\n  'HH': {\r\n    unit: 'hours',\r\n    match: patterns.twoDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Hour: 1, 2, ..., 12\r\n  'h': {\r\n    unit: 'timeOfDayHours',\r\n    match: patterns.M,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Hour: 01, 02, ..., 12\r\n  'hh': {\r\n    unit: 'timeOfDayHours',\r\n    match: patterns.twoDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Minute: 0, 1, ..., 59\r\n  'm': {\r\n    unit: 'minutes',\r\n    match: patterns.m,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Minute: 00, 01, ..., 59\r\n  'mm': {\r\n    unit: 'minutes',\r\n    match: patterns.twoDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Second: 0, 1, ..., 59\r\n  's': {\r\n    unit: 'seconds',\r\n    match: patterns.m,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Second: 00, 01, ..., 59\r\n  'ss': {\r\n    unit: 'seconds',\r\n    match: patterns.twoDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // 1/10 of second: 0, 1, ..., 9\r\n  'S': {\r\n    unit: 'milliseconds',\r\n    match: patterns.singleDigit,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult) * 100\r\n    }\r\n  },\r\n\r\n  // 1/100 of second: 00, 01, ..., 99\r\n  'SS': {\r\n    unit: 'milliseconds',\r\n    match: patterns.twoDigits,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult) * 10\r\n    }\r\n  },\r\n\r\n  // Millisecond: 000, 001, ..., 999\r\n  'SSS': {\r\n    unit: 'milliseconds',\r\n    match: patterns.threeDigits,\r\n    parse: parseDecimal\r\n  },\r\n\r\n  // Timezone: -01:00, +00:00, ... +12:00\r\n  'Z': {\r\n    unit: 'timezone',\r\n    match: patterns.Z,\r\n    parse: function (matchResult) {\r\n      var sign = matchResult[1]\r\n      var hours = parseInt(matchResult[2], 10)\r\n      var minutes = parseInt(matchResult[3], 10)\r\n      var absoluteOffset = hours * 60 + minutes\r\n      return (sign === '+') ? absoluteOffset : -absoluteOffset\r\n    }\r\n  },\r\n\r\n  // Timezone: -0100, +0000, ... +1200\r\n  'ZZ': {\r\n    unit: 'timezone',\r\n    match: patterns.ZZ,\r\n    parse: function (matchResult) {\r\n      var sign = matchResult[1]\r\n      var hours = parseInt(matchResult[2], 10)\r\n      var minutes = parseInt(matchResult[3], 10)\r\n      var absoluteOffset = hours * 60 + minutes\r\n      return (sign === '+') ? absoluteOffset : -absoluteOffset\r\n    }\r\n  },\r\n\r\n  // Seconds timestamp: 512969520\r\n  'X': {\r\n    unit: 'timestamp',\r\n    match: patterns.anyDigits,\r\n    parse: function (matchResult) {\r\n      return parseDecimal(matchResult) * 1000\r\n    }\r\n  },\r\n\r\n  // Milliseconds timestamp: 512969520900\r\n  'x': {\r\n    unit: 'timestamp',\r\n    match: patterns.anyDigits,\r\n    parse: parseDecimal\r\n  }\r\n}\r\n\r\nparsers['a'] = parsers['A']\r\n\r\nexport default parsers\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/parse/_lib/parsers/index.js\n// module id = 1128\n// module chunks = 3","import setUTCDay from '../../../_lib/setUTCDay/index.js'\r\nimport setUTCISODay from '../../../_lib/setUTCISODay/index.js'\r\nimport setUTCISOWeek from '../../../_lib/setUTCISOWeek/index.js'\r\nimport setUTCISOWeekYear from '../../../_lib/setUTCISOWeekYear/index.js'\r\nimport startOfUTCISOWeek from '../../../_lib/startOfUTCISOWeek/index.js'\r\nimport startOfUTCISOWeekYear from '../../../_lib/startOfUTCISOWeekYear/index.js'\r\n\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\n\r\nfunction setTimeOfDay (hours, timeOfDay) {\r\n  var isAM = timeOfDay === 0\r\n\r\n  if (isAM) {\r\n    if (hours === 12) {\r\n      return 0\r\n    }\r\n  } else {\r\n    if (hours !== 12) {\r\n      return 12 + hours\r\n    }\r\n  }\r\n\r\n  return hours\r\n}\r\n\r\nvar units = {\r\n  twoDigitYear: {\r\n    priority: 10,\r\n    set: function (dateValues, value) {\r\n      var century = Math.floor(dateValues.date.getUTCFullYear() / 100)\r\n      var year = century * 100 + value\r\n      dateValues.date.setUTCFullYear(year, 0, 1)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  year: {\r\n    priority: 10,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCFullYear(value, 0, 1)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  isoYear: {\r\n    priority: 10,\r\n    set: function (dateValues, value, options) {\r\n      dateValues.date = startOfUTCISOWeekYear(setUTCISOWeekYear(dateValues.date, value, options), options)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  quarter: {\r\n    priority: 20,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCMonth((value - 1) * 3, 1)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  month: {\r\n    priority: 30,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCMonth(value, 1)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  isoWeek: {\r\n    priority: 40,\r\n    set: function (dateValues, value, options) {\r\n      dateValues.date = startOfUTCISOWeek(setUTCISOWeek(dateValues.date, value, options), options)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  dayOfWeek: {\r\n    priority: 50,\r\n    set: function (dateValues, value, options) {\r\n      dateValues.date = setUTCDay(dateValues.date, value, options)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  dayOfISOWeek: {\r\n    priority: 50,\r\n    set: function (dateValues, value, options) {\r\n      dateValues.date = setUTCISODay(dateValues.date, value, options)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  dayOfMonth: {\r\n    priority: 50,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCDate(value)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  dayOfYear: {\r\n    priority: 50,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCMonth(0, value)\r\n      dateValues.date.setUTCHours(0, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  timeOfDay: {\r\n    priority: 60,\r\n    set: function (dateValues, value, options) {\r\n      dateValues.timeOfDay = value\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  hours: {\r\n    priority: 70,\r\n    set: function (dateValues, value, options) {\r\n      dateValues.date.setUTCHours(value, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  timeOfDayHours: {\r\n    priority: 70,\r\n    set: function (dateValues, value, options) {\r\n      var timeOfDay = dateValues.timeOfDay\r\n      if (timeOfDay != null) {\r\n        value = setTimeOfDay(value, timeOfDay)\r\n      }\r\n      dateValues.date.setUTCHours(value, 0, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  minutes: {\r\n    priority: 80,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCMinutes(value, 0, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  seconds: {\r\n    priority: 90,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCSeconds(value, 0)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  milliseconds: {\r\n    priority: 100,\r\n    set: function (dateValues, value) {\r\n      dateValues.date.setUTCMilliseconds(value)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  timezone: {\r\n    priority: 110,\r\n    set: function (dateValues, value) {\r\n      dateValues.date = new Date(dateValues.date.getTime() - value * MILLISECONDS_IN_MINUTE)\r\n      return dateValues\r\n    }\r\n  },\r\n\r\n  timestamp: {\r\n    priority: 120,\r\n    set: function (dateValues, value) {\r\n      dateValues.date = new Date(value)\r\n      return dateValues\r\n    }\r\n  }\r\n}\r\n\r\nexport default units\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/parse/_lib/units/index.js\n// module id = 1129\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport subMinutes from '../subMinutes/index.js'\r\nimport defaultLocale from '../locale/en-US/index.js'\r\nimport parsers from './_lib/parsers/index.js'\r\nimport units from './_lib/units/index.js'\r\nimport cloneObject from '../_lib/cloneObject/index.js'\r\n\r\nvar TIMEZONE_UNIT_PRIORITY = 110\r\nvar MILLISECONDS_IN_MINUTE = 60000\r\n\r\nvar longFormattingTokensRegExp = /(\\[[^[]*])|(\\\\)?(LTS|LT|LLLL|LLL|LL|L|llll|lll|ll|l)/g\r\nvar defaultParsingTokensRegExp = /(\\[[^[]*])|(\\\\)?(x|ss|s|mm|m|hh|h|do|dddd|ddd|dd|d|aa|a|ZZ|Z|YYYY|YY|X|Wo|WW|W|SSS|SS|S|Qo|Q|Mo|MMMM|MMM|MM|M|HH|H|GGGG|GG|E|Do|DDDo|DDDD|DDD|DD|D|A|.)/g\r\n\r\n/**\r\n * @name parse\r\n * @category Common Helpers\r\n * @summary Parse the date.\r\n *\r\n * @description\r\n * Return the date parsed from string using the given format.\r\n *\r\n * Accepted format tokens:\r\n * | Unit                    | Priority | Token | Input examples                   |\r\n * |-------------------------|----------|-------|----------------------------------|\r\n * | Year                    | 10       | YY    | 00, 01, ..., 99                  |\r\n * |                         |          | YYYY  | 1900, 1901, ..., 2099            |\r\n * | ISO week-numbering year | 10       | GG    | 00, 01, ..., 99                  |\r\n * |                         |          | GGGG  | 1900, 1901, ..., 2099            |\r\n * | Quarter                 | 20       | Q     | 1, 2, 3, 4                       |\r\n * |                         |          | Qo    | 1st, 2nd, 3rd, 4th               |\r\n * | Month                   | 30       | M     | 1, 2, ..., 12                    |\r\n * |                         |          | Mo    | 1st, 2nd, ..., 12th              |\r\n * |                         |          | MM    | 01, 02, ..., 12                  |\r\n * |                         |          | MMM   | Jan, Feb, ..., Dec               |\r\n * |                         |          | MMMM  | January, February, ..., December |\r\n * | ISO week                | 40       | W     | 1, 2, ..., 53                    |\r\n * |                         |          | Wo    | 1st, 2nd, ..., 53rd              |\r\n * |                         |          | WW    | 01, 02, ..., 53                  |\r\n * | Day of week             | 50       | d     | 0, 1, ..., 6                     |\r\n * |                         |          | do    | 0th, 1st, ..., 6th               |\r\n * |                         |          | dd    | Su, Mo, ..., Sa                  |\r\n * |                         |          | ddd   | Sun, Mon, ..., Sat               |\r\n * |                         |          | dddd  | Sunday, Monday, ..., Saturday    |\r\n * | Day of ISO week         | 50       | E     | 1, 2, ..., 7                     |\r\n * | Day of month            | 50       | D     | 1, 2, ..., 31                    |\r\n * |                         |          | Do    | 1st, 2nd, ..., 31st              |\r\n * |                         |          | DD    | 01, 02, ..., 31                  |\r\n * | Day of year             | 50       | DDD   | 1, 2, ..., 366                   |\r\n * |                         |          | DDDo  | 1st, 2nd, ..., 366th             |\r\n * |                         |          | DDDD  | 001, 002, ..., 366               |\r\n * | Time of day             | 60       | A     | AM, PM                           |\r\n * |                         |          | a     | am, pm                           |\r\n * |                         |          | aa    | a.m., p.m.                       |\r\n * | Hour                    | 70       | H     | 0, 1, ... 23                     |\r\n * |                         |          | HH    | 00, 01, ... 23                   |\r\n * | Time of day hour        | 70       | h     | 1, 2, ..., 12                    |\r\n * |                         |          | hh    | 01, 02, ..., 12                  |\r\n * | Minute                  | 80       | m     | 0, 1, ..., 59                    |\r\n * |                         |          | mm    | 00, 01, ..., 59                  |\r\n * | Second                  | 90       | s     | 0, 1, ..., 59                    |\r\n * |                         |          | ss    | 00, 01, ..., 59                  |\r\n * | 1/10 of second          | 100      | S     | 0, 1, ..., 9                     |\r\n * | 1/100 of second         | 100      | SS    | 00, 01, ..., 99                  |\r\n * | Millisecond             | 100      | SSS   | 000, 001, ..., 999               |\r\n * | Timezone                | 110      | Z     | -01:00, +00:00, ... +12:00       |\r\n * |                         |          | ZZ    | -0100, +0000, ..., +1200         |\r\n * | Seconds timestamp       | 120      | X     | 512969520                        |\r\n * | Milliseconds timestamp  | 120      | x     | 512969520900                     |\r\n *\r\n * Values will be assigned to the date in the ascending order of its unit's priority.\r\n * Units of an equal priority overwrite each other in the order of appearance.\r\n *\r\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\r\n * the values will be taken from 3rd argument `baseDate` which works as a context of parsing.\r\n *\r\n * `baseDate` must be passed for correct work of the function.\r\n * If you're not sure which `baseDate` to supply, create a new instance of Date:\r\n * `parse('02/11/2014', 'MM/DD/YYYY', new Date())`\r\n * In this case parsing will be done in the context of the current date.\r\n * If `baseDate` is `Invalid Date` or a value not convertible to valid `Date`,\r\n * then `Invalid Date` will be returned.\r\n *\r\n * Also, `parse` unfolds long formats like those in [format]{@link https://date-fns.org/docs/format}:\r\n * | Token | Input examples                 |\r\n * |-------|--------------------------------|\r\n * | LT    | 05:30 a.m.                     |\r\n * | LTS   | 05:30:15 a.m.                  |\r\n * | L     | 07/02/1995                     |\r\n * | l     | 7/2/1995                       |\r\n * | LL    | July 2 1995                    |\r\n * | ll    | Jul 2 1995                     |\r\n * | LLL   | July 2 1995 05:30 a.m.         |\r\n * | lll   | Jul 2 1995 05:30 a.m.          |\r\n * | LLLL  | Sunday, July 2 1995 05:30 a.m. |\r\n * | llll  | Sun, Jul 2 1995 05:30 a.m.     |\r\n *\r\n * The characters wrapped in square brackets in the format string are escaped.\r\n *\r\n * The result may vary by locale.\r\n *\r\n * If `formatString` matches with `dateString` but does not provides tokens, `baseDate` will be returned.\r\n *\r\n * If parsing failed, `Invalid Date` will be returned.\r\n * Invalid Date is a Date, whose time value is NaN.\r\n * Time value of Date: http://es5.github.io/#x15.9.1.1\r\n *\r\n * @param {String} dateString - the string to parse\r\n * @param {String} formatString - the string of tokens\r\n * @param {Date|String|Number} baseDate - the date to took the missing higher priority values from\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @returns {Date} the parsed date\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\r\n * @throws {RangeError} `options.locale` must contain `match` property\r\n * @throws {RangeError} `options.locale` must contain `formatLong` property\r\n *\r\n * @example\r\n * // Parse 11 February 2014 from middle-endian format:\r\n * var result = parse(\r\n *   '02/11/2014',\r\n *   'MM/DD/YYYY',\r\n *   new Date()\r\n * )\r\n * //=> Tue Feb 11 2014 00:00:00\r\n *\r\n * @example\r\n * // Parse 28th of February in English locale in the context of 2010 year:\r\n * import eoLocale from 'date-fns/locale/eo'\r\n * var result = parse(\r\n *   '28-a de februaro',\r\n *   'Do [de] MMMM',\r\n *   new Date(2010, 0, 1)\r\n *   {locale: eoLocale}\r\n * )\r\n * //=> Sun Feb 28 2010 00:00:00\r\n */\r\nexport default function parse (dirtyDateString, dirtyFormatString, dirtyBaseDate, dirtyOptions) {\r\n  var dateString = String(dirtyDateString)\r\n  var options = dirtyOptions || {}\r\n\r\n  var weekStartsOn = options.weekStartsOn === undefined ? 0 : Number(options.weekStartsOn)\r\n\r\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\r\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\r\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\r\n  }\r\n\r\n  var locale = options.locale || defaultLocale\r\n  var localeParsers = locale.parsers || {}\r\n  var localeUnits = locale.units || {}\r\n\r\n  if (!locale.match) {\r\n    throw new RangeError('locale must contain match property')\r\n  }\r\n\r\n  if (!locale.formatLong) {\r\n    throw new RangeError('locale must contain formatLong property')\r\n  }\r\n\r\n  var formatString = String(dirtyFormatString)\r\n    .replace(longFormattingTokensRegExp, function (substring) {\r\n      if (substring[0] === '[') {\r\n        return substring\r\n      }\r\n\r\n      if (substring[0] === '\\\\') {\r\n        return cleanEscapedString(substring)\r\n      }\r\n\r\n      return locale.formatLong(substring)\r\n    })\r\n\r\n  if (formatString === '') {\r\n    if (dateString === '') {\r\n      return toDate(dirtyBaseDate, options)\r\n    } else {\r\n      return new Date(NaN)\r\n    }\r\n  }\r\n\r\n  var subFnOptions = cloneObject(options)\r\n  subFnOptions.locale = locale\r\n\r\n  var tokens = formatString.match(locale.parsingTokensRegExp || defaultParsingTokensRegExp)\r\n  var tokensLength = tokens.length\r\n\r\n  // If timezone isn't specified, it will be set to the system timezone\r\n  var setters = [{\r\n    priority: TIMEZONE_UNIT_PRIORITY,\r\n    set: dateToSystemTimezone,\r\n    index: 0\r\n  }]\r\n\r\n  var i\r\n  for (i = 0; i < tokensLength; i++) {\r\n    var token = tokens[i]\r\n    var parser = localeParsers[token] || parsers[token]\r\n    if (parser) {\r\n      var matchResult\r\n\r\n      if (parser.match instanceof RegExp) {\r\n        matchResult = parser.match.exec(dateString)\r\n      } else {\r\n        matchResult = parser.match(dateString, subFnOptions)\r\n      }\r\n\r\n      if (!matchResult) {\r\n        return new Date(NaN)\r\n      }\r\n\r\n      var unitName = parser.unit\r\n      var unit = localeUnits[unitName] || units[unitName]\r\n\r\n      setters.push({\r\n        priority: unit.priority,\r\n        set: unit.set,\r\n        value: parser.parse(matchResult, subFnOptions),\r\n        index: setters.length\r\n      })\r\n\r\n      var substring = matchResult[0]\r\n      dateString = dateString.slice(substring.length)\r\n    } else {\r\n      var head = tokens[i].match(/^\\[.*]$/) ? tokens[i].replace(/^\\[|]$/g, '') : tokens[i]\r\n      if (dateString.indexOf(head) === 0) {\r\n        dateString = dateString.slice(head.length)\r\n      } else {\r\n        return new Date(NaN)\r\n      }\r\n    }\r\n  }\r\n\r\n  var uniquePrioritySetters = setters\r\n    .map(function (setter) {\r\n      return setter.priority\r\n    })\r\n    .sort(function (a, b) {\r\n      return a - b\r\n    })\r\n    .filter(function (priority, index, array) {\r\n      return array.indexOf(priority) === index\r\n    })\r\n    .map(function (priority) {\r\n      return setters\r\n        .filter(function (setter) {\r\n          return setter.priority === priority\r\n        })\r\n        .reverse()\r\n    })\r\n    .map(function (setterArray) {\r\n      return setterArray[0]\r\n    })\r\n\r\n  var date = toDate(dirtyBaseDate, options)\r\n\r\n  if (isNaN(date)) {\r\n    return new Date(NaN)\r\n  }\r\n\r\n  // Convert the date in system timezone to the same date in UTC+00:00 timezone.\r\n  // This ensures that when UTC functions will be implemented, locales will be compatible with them.\r\n  // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37\r\n  var utcDate = subMinutes(date, date.getTimezoneOffset())\r\n\r\n  var dateValues = {date: utcDate}\r\n\r\n  var settersLength = uniquePrioritySetters.length\r\n  for (i = 0; i < settersLength; i++) {\r\n    var setter = uniquePrioritySetters[i]\r\n    dateValues = setter.set(dateValues, setter.value, subFnOptions)\r\n  }\r\n\r\n  return dateValues.date\r\n}\r\n\r\nfunction dateToSystemTimezone (dateValues) {\r\n  var date = dateValues.date\r\n  var time = date.getTime()\r\n\r\n  // Get the system timezone offset at (moment of time - offset)\r\n  var offset = date.getTimezoneOffset()\r\n\r\n  // Get the system timezone offset at the exact moment of time\r\n  offset = new Date(time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()\r\n\r\n  // Convert date in timezone \"UTC+00:00\" to the system timezone\r\n  dateValues.date = new Date(time + offset * MILLISECONDS_IN_MINUTE)\r\n\r\n  return dateValues\r\n}\r\n\r\nfunction cleanEscapedString (input) {\r\n  if (input.match(/\\[[\\s\\S]/)) {\r\n    return input.replace(/^\\[|]$/g, '')\r\n  }\r\n  return input.replace(/\\\\/g, '')\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/parse/index.js\n// module id = 1130\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name setDate\r\n * @category Day Helpers\r\n * @summary Set the day of the month to the given date.\r\n *\r\n * @description\r\n * Set the day of the month to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} dayOfMonth - the day of the month of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the day of the month setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set the 30th day of the month to 1 September 2014:\r\n * var result = setDate(new Date(2014, 8, 1), 30)\r\n * //=> Tue Sep 30 2014 00:00:00\r\n */\r\nexport default function setDate (dirtyDate, dirtyDayOfMonth, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var dayOfMonth = Number(dirtyDayOfMonth)\r\n  date.setDate(dayOfMonth)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setDate/index.js\n// module id = 1131\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name setDayOfYear\r\n * @category Day Helpers\r\n * @summary Set the day of the year to the given date.\r\n *\r\n * @description\r\n * Set the day of the year to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} dayOfYear - the day of the year of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the day of the year setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set the 2nd day of the year to 2 July 2014:\r\n * var result = setDayOfYear(new Date(2014, 6, 2), 2)\r\n * //=> Thu Jan 02 2014 00:00:00\r\n */\r\nexport default function setDayOfYear (dirtyDate, dirtyDayOfYear, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var dayOfYear = Number(dirtyDayOfYear)\r\n  date.setMonth(0)\r\n  date.setDate(dayOfYear)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setDayOfYear/index.js\n// module id = 1132\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport addDays from '../addDays/index.js'\r\n\r\n/**\r\n * @name setDay\r\n * @category Weekday Helpers\r\n * @summary Set the day of the week to the given date.\r\n *\r\n * @description\r\n * Set the day of the week to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} day - the day of the week of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\r\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\r\n * @returns {Date} the new date with the day of the week setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\r\n *\r\n * @example\r\n * // Set Sunday to 1 September 2014:\r\n * var result = setDay(new Date(2014, 8, 1), 0)\r\n * //=> Sun Aug 31 2014 00:00:00\r\n *\r\n * @example\r\n * // If week starts with Monday, set Sunday to 1 September 2014:\r\n * var result = setDay(new Date(2014, 8, 1), 0, {weekStartsOn: 1})\r\n * //=> Sun Sep 07 2014 00:00:00\r\n */\r\nexport default function setDay (dirtyDate, dirtyDay, dirtyOptions) {\r\n  var options = dirtyOptions || {}\r\n  var locale = options.locale\r\n  var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn\r\n  var defaultWeekStartsOn = localeWeekStartsOn === undefined ? 0 : Number(localeWeekStartsOn)\r\n  var weekStartsOn = options.weekStartsOn === undefined ? defaultWeekStartsOn : Number(options.weekStartsOn)\r\n\r\n  // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\r\n  if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\r\n    throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\r\n  }\r\n\r\n  var date = toDate(dirtyDate, options)\r\n  var day = Number(dirtyDay)\r\n  var currentDay = date.getDay()\r\n\r\n  var remainder = day % 7\r\n  var dayIndex = (remainder + 7) % 7\r\n\r\n  var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay\r\n  return addDays(date, diff, options)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setDay/index.js\n// module id = 1133\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name setHours\r\n * @category Hour Helpers\r\n * @summary Set the hours to the given date.\r\n *\r\n * @description\r\n * Set the hours to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} hours - the hours of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the hours setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set 4 hours to 1 September 2014 11:30:00:\r\n * var result = setHours(new Date(2014, 8, 1, 11, 30), 4)\r\n * //=> Mon Sep 01 2014 04:30:00\r\n */\r\nexport default function setHours (dirtyDate, dirtyHours, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var hours = Number(dirtyHours)\r\n  date.setHours(hours)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setHours/index.js\n// module id = 1134\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport addDays from '../addDays/index.js'\r\nimport getISODay from '../getISODay/index.js'\r\n\r\n/**\r\n * @name setISODay\r\n * @category Weekday Helpers\r\n * @summary Set the day of the ISO week to the given date.\r\n *\r\n * @description\r\n * Set the day of the ISO week to the given date.\r\n * ISO week starts with Monday.\r\n * 7 is the index of Sunday, 1 is the index of Monday etc.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} day - the day of the ISO week of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the day of the ISO week setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set Sunday to 1 September 2014:\r\n * var result = setISODay(new Date(2014, 8, 1), 7)\r\n * //=> Sun Sep 07 2014 00:00:00\r\n */\r\nexport default function setISODay (dirtyDate, dirtyDay, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var day = Number(dirtyDay)\r\n  var currentDay = getISODay(date, dirtyOptions)\r\n  var diff = day - currentDay\r\n  return addDays(date, diff, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setISODay/index.js\n// module id = 1135\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport getISOWeek from '../getISOWeek/index.js'\r\n\r\n/**\r\n * @name setISOWeek\r\n * @category ISO Week Helpers\r\n * @summary Set the ISO week to the given date.\r\n *\r\n * @description\r\n * Set the ISO week to the given date, saving the weekday number.\r\n *\r\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} isoWeek - the ISO week of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the ISO week setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set the 53rd ISO week to 7 August 2004:\r\n * var result = setISOWeek(new Date(2004, 7, 7), 53)\r\n * //=> Sat Jan 01 2005 00:00:00\r\n */\r\nexport default function setISOWeek (dirtyDate, dirtyISOWeek, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var isoWeek = Number(dirtyISOWeek)\r\n  var diff = getISOWeek(date, dirtyOptions) - isoWeek\r\n  date.setDate(date.getDate() - diff * 7)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setISOWeek/index.js\n// module id = 1136\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name setMilliseconds\r\n * @category Millisecond Helpers\r\n * @summary Set the milliseconds to the given date.\r\n *\r\n * @description\r\n * Set the milliseconds to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} milliseconds - the milliseconds of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the milliseconds setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set 300 milliseconds to 1 September 2014 11:30:40.500:\r\n * var result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300)\r\n * //=> Mon Sep 01 2014 11:30:40.300\r\n */\r\nexport default function setMilliseconds (dirtyDate, dirtyMilliseconds, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var milliseconds = Number(dirtyMilliseconds)\r\n  date.setMilliseconds(milliseconds)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setMilliseconds/index.js\n// module id = 1137\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name setMinutes\r\n * @category Minute Helpers\r\n * @summary Set the minutes to the given date.\r\n *\r\n * @description\r\n * Set the minutes to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} minutes - the minutes of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the minutes setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set 45 minutes to 1 September 2014 11:30:40:\r\n * var result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\r\n * //=> Mon Sep 01 2014 11:45:40\r\n */\r\nexport default function setMinutes (dirtyDate, dirtyMinutes, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var minutes = Number(dirtyMinutes)\r\n  date.setMinutes(minutes)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setMinutes/index.js\n// module id = 1138\n// module chunks = 3","import toDate from '../toDate/index.js'\r\nimport setMonth from '../setMonth/index.js'\r\n\r\n/**\r\n * @name setQuarter\r\n * @category Quarter Helpers\r\n * @summary Set the year quarter to the given date.\r\n *\r\n * @description\r\n * Set the year quarter to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} quarter - the quarter of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the quarter setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set the 2nd quarter to 2 July 2014:\r\n * var result = setQuarter(new Date(2014, 6, 2), 2)\r\n * //=> Wed Apr 02 2014 00:00:00\r\n */\r\nexport default function setQuarter (dirtyDate, dirtyQuarter, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var quarter = Number(dirtyQuarter)\r\n  var oldQuarter = Math.floor(date.getMonth() / 3) + 1\r\n  var diff = quarter - oldQuarter\r\n  return setMonth(date, date.getMonth() + diff * 3, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setQuarter/index.js\n// module id = 1139\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name setSeconds\r\n * @category Second Helpers\r\n * @summary Set the seconds to the given date.\r\n *\r\n * @description\r\n * Set the seconds to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} seconds - the seconds of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the seconds setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set 45 seconds to 1 September 2014 11:30:40:\r\n * var result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\r\n * //=> Mon Sep 01 2014 11:30:45\r\n */\r\nexport default function setSeconds (dirtyDate, dirtySeconds, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var seconds = Number(dirtySeconds)\r\n  date.setSeconds(seconds)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setSeconds/index.js\n// module id = 1140\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name setYear\r\n * @category Year Helpers\r\n * @summary Set the year to the given date.\r\n *\r\n * @description\r\n * Set the year to the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} year - the year of the new date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the year setted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Set year 2013 to 1 September 2014:\r\n * var result = setYear(new Date(2014, 8, 1), 2013)\r\n * //=> Sun Sep 01 2013 00:00:00\r\n */\r\nexport default function setYear (dirtyDate, dirtyYear, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  var year = Number(dirtyYear)\r\n\r\n  // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\r\n  if (isNaN(date)) {\r\n    return new Date(NaN)\r\n  }\r\n\r\n  date.setFullYear(year)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/setYear/index.js\n// module id = 1141\n// module chunks = 3","import toDate from '../toDate/index.js'\r\n\r\n/**\r\n * @name startOfMonth\r\n * @category Month Helpers\r\n * @summary Return the start of a month for the given date.\r\n *\r\n * @description\r\n * Return the start of a month for the given date.\r\n * The result will be in the local timezone.\r\n *\r\n * @param {Date|String|Number} date - the original date\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the start of a month\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // The start of a month for 2 September 2014 11:55:00:\r\n * var result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\r\n * //=> Mon Sep 01 2014 00:00:00\r\n */\r\nexport default function startOfMonth (dirtyDate, dirtyOptions) {\r\n  var date = toDate(dirtyDate, dirtyOptions)\r\n  date.setDate(1)\r\n  date.setHours(0, 0, 0, 0)\r\n  return date\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/startOfMonth/index.js\n// module id = 1142\n// module chunks = 3","import addDays from '../addDays/index.js'\r\n\r\n/**\r\n * @name subDays\r\n * @category Day Helpers\r\n * @summary Subtract the specified number of days from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of days from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of days to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the days subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 10 days from 1 September 2014:\r\n * var result = subDays(new Date(2014, 8, 1), 10)\r\n * //=> Fri Aug 22 2014 00:00:00\r\n */\r\nexport default function subDays (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addDays(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subDays/index.js\n// module id = 1143\n// module chunks = 3","import addHours from '../addHours/index.js'\r\n\r\n/**\r\n * @name subHours\r\n * @category Hour Helpers\r\n * @summary Subtract the specified number of hours from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of hours from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of hours to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the hours subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 2 hours from 11 July 2014 01:00:00:\r\n * var result = subHours(new Date(2014, 6, 11, 1, 0), 2)\r\n * //=> Thu Jul 10 2014 23:00:00\r\n */\r\nexport default function subHours (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addHours(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subHours/index.js\n// module id = 1144\n// module chunks = 3","import addMilliseconds from '../addMilliseconds/index.js'\r\n\r\n/**\r\n * @name subMilliseconds\r\n * @category Millisecond Helpers\r\n * @summary Subtract the specified number of milliseconds from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of milliseconds from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of milliseconds to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the milliseconds subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\r\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\r\n * //=> Thu Jul 10 2014 12:45:29.250\r\n */\r\nexport default function subMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addMilliseconds(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subMilliseconds/index.js\n// module id = 1145\n// module chunks = 3","import addMonths from '../addMonths/index.js'\r\n\r\n/**\r\n * @name subMonths\r\n * @category Month Helpers\r\n * @summary Subtract the specified number of months from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of months from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of months to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the months subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 5 months from 1 February 2015:\r\n * var result = subMonths(new Date(2015, 1, 1), 5)\r\n * //=> Mon Sep 01 2014 00:00:00\r\n */\r\nexport default function subMonths (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addMonths(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subMonths/index.js\n// module id = 1146\n// module chunks = 3","import addQuarters from '../addQuarters/index.js'\r\n\r\n/**\r\n * @name subQuarters\r\n * @category Quarter Helpers\r\n * @summary Subtract the specified number of year quarters from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of year quarters from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of quarters to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the quarters subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 3 quarters from 1 September 2014:\r\n * var result = subQuarters(new Date(2014, 8, 1), 3)\r\n * //=> Sun Dec 01 2013 00:00:00\r\n */\r\nexport default function subQuarters (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addQuarters(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subQuarters/index.js\n// module id = 1147\n// module chunks = 3","import addSeconds from '../addSeconds/index.js'\r\n\r\n/**\r\n * @name subSeconds\r\n * @category Second Helpers\r\n * @summary Subtract the specified number of seconds from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of seconds from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of seconds to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the seconds subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 30 seconds from 10 July 2014 12:45:00:\r\n * var result = subSeconds(new Date(2014, 6, 10, 12, 45, 0), 30)\r\n * //=> Thu Jul 10 2014 12:44:30\r\n */\r\nexport default function subSeconds (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addSeconds(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subSeconds/index.js\n// module id = 1148\n// module chunks = 3","import addWeeks from '../addWeeks/index.js'\r\n\r\n/**\r\n * @name subWeeks\r\n * @category Week Helpers\r\n * @summary Subtract the specified number of weeks from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of weeks from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of weeks to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the weeks subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 4 weeks from 1 September 2014:\r\n * var result = subWeeks(new Date(2014, 8, 1), 4)\r\n * //=> Mon Aug 04 2014 00:00:00\r\n */\r\nexport default function subWeeks (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addWeeks(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subWeeks/index.js\n// module id = 1149\n// module chunks = 3","import addYears from '../addYears/index.js'\r\n\r\n/**\r\n * @name subYears\r\n * @category Year Helpers\r\n * @summary Subtract the specified number of years from the given date.\r\n *\r\n * @description\r\n * Subtract the specified number of years from the given date.\r\n *\r\n * @param {Date|String|Number} date - the date to be changed\r\n * @param {Number} amount - the amount of years to be subtracted\r\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\r\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\r\n * @returns {Date} the new date with the years subtracted\r\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\r\n *\r\n * @example\r\n * // Subtract 5 years from 1 September 2014:\r\n * var result = subYears(new Date(2014, 8, 1), 5)\r\n * //=> Tue Sep 01 2009 00:00:00\r\n */\r\nexport default function subYears (dirtyDate, dirtyAmount, dirtyOptions) {\r\n  var amount = Number(dirtyAmount)\r\n  return addYears(dirtyDate, -amount, dirtyOptions)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/esm/subYears/index.js\n// module id = 1150\n// module chunks = 3","\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = buildFormatLongFn;\r\nvar tokensToBeShortedPattern = /MMMM|MM|DD|dddd/g;\r\n\r\nfunction buildShortLongFormat(format) {\r\n  return format.replace(tokensToBeShortedPattern, function (token) {\r\n    return token.slice(1);\r\n  });\r\n}\r\n\r\n/**\r\n * @name buildFormatLongFn\r\n * @category Locale Helpers\r\n * @summary Build `formatLong` property for locale used by `format`, `formatRelative` and `parse` functions.\r\n *\r\n * @description\r\n * Build `formatLong` property for locale used by `format`, `formatRelative` and `parse` functions.\r\n * Returns a function which takes one of the following tokens as the argument:\r\n * `'LTS'`, `'LT'`, `'L'`, `'LL'`, `'LLL'`, `'l'`, `'ll'`, `'lll'`, `'llll'`\r\n * and returns a long format string written as `format` token strings.\r\n * See [format]{@link https://date-fns.org/docs/format}\r\n *\r\n * `'l'`, `'ll'`, `'lll'` and `'llll'` formats are built automatically\r\n * by shortening some of the tokens from corresponding unshortened formats\r\n * (e.g., if `LL` is `'MMMM DD YYYY'` then `ll` will be `MMM D YYYY`)\r\n *\r\n * @param {Object} obj - the object with long formats written as `format` token strings\r\n * @param {String} obj.LT - time format: hours and minutes\r\n * @param {String} obj.LTS - time format: hours, minutes and seconds\r\n * @param {String} obj.L - short date format: numeric day, month and year\r\n * @param {String} [obj.l] - short date format: numeric day, month and year (shortened)\r\n * @param {String} obj.LL - long date format: day, month in words, and year\r\n * @param {String} [obj.ll] - long date format: day, month in words, and year (shortened)\r\n * @param {String} obj.LLL - long date and time format\r\n * @param {String} [obj.lll] - long date and time format (shortened)\r\n * @param {String} obj.LLLL - long date, time and weekday format\r\n * @param {String} [obj.llll] - long date, time and weekday format (shortened)\r\n * @returns {Function} `formatLong` property of the locale\r\n *\r\n * @example\r\n * // For `en-US` locale:\r\n * locale.formatLong = buildFormatLongFn({\r\n *   LT: 'h:mm aa',\r\n *   LTS: 'h:mm:ss aa',\r\n *   L: 'MM/DD/YYYY',\r\n *   LL: 'MMMM D YYYY',\r\n *   LLL: 'MMMM D YYYY h:mm aa',\r\n *   LLLL: 'dddd, MMMM D YYYY h:mm aa'\r\n * })\r\n */\r\nfunction buildFormatLongFn(obj) {\r\n  var formatLongLocale = {\r\n    LTS: obj.LTS,\r\n    LT: obj.LT,\r\n    L: obj.L,\r\n    LL: obj.LL,\r\n    LLL: obj.LLL,\r\n    LLLL: obj.LLLL,\r\n    l: obj.l || buildShortLongFormat(obj.L),\r\n    ll: obj.ll || buildShortLongFormat(obj.LL),\r\n    lll: obj.lll || buildShortLongFormat(obj.LLL),\r\n    llll: obj.llll || buildShortLongFormat(obj.LLLL)\r\n  };\r\n\r\n  return function (token) {\r\n    return formatLongLocale[token];\r\n  };\r\n}\r\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/_lib/buildFormatLongFn/index.js\n// module id = 1151\n// module chunks = 3","\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = buildLocalizeArrayFn;\r\n/**\r\n * @name buildLocalizeArrayFn\r\n * @category Locale Helpers\r\n * @summary Build `localize.weekdays`, `localize.months` and `localize.timesOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `localize.weekdays`, `localize.months` and `localize.timesOfDay` properties for the locale.\r\n * If no `type` is supplied to the options of the resulting function, `defaultType` will be used (see example).\r\n *\r\n * @param {Object} values - the object with arrays of values\r\n * @param {String} defaultType - the default type for the localize function\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var weekdayValues = {\r\n *   narrow: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n *   short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n *   long: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\r\n * }\r\n * locale.localize.weekdays = buildLocalizeArrayFn(weekdayValues, 'long')\r\n * locale.localize.weekdays({type: 'narrow'}) //=> ['Su', 'Mo', ...]\r\n * locale.localize.weekdays() //=> ['Sunday', 'Monday', ...]\r\n */\r\nfunction buildLocalizeArrayFn(values, defaultType) {\r\n  return function (dirtyOptions) {\r\n    var options = dirtyOptions || {};\r\n    var type = options.type ? String(options.type) : defaultType;\r\n    return values[type] || values[defaultType];\r\n  };\r\n}\r\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/_lib/buildLocalizeArrayFn/index.js\n// module id = 1152\n// module chunks = 3","\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = buildLocalizeFn;\r\n/**\r\n * @name buildLocalizeFn\r\n * @category Locale Helpers\r\n * @summary Build `localize.weekday`, `localize.month` and `localize.timeOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `localize.weekday`, `localize.month` and `localize.timeOfDay` properties for the locale\r\n * used by `format` function.\r\n * If no `type` is supplied to the options of the resulting function, `defaultType` will be used (see example).\r\n *\r\n * `localize.weekday` function takes the weekday index as argument (0 - Sunday).\r\n * `localize.month` takes the month index (0 - January).\r\n * `localize.timeOfDay` takes the hours. Use `indexCallback` to convert them to an array index (see example).\r\n *\r\n * @param {Object} values - the object with arrays of values\r\n * @param {String} defaultType - the default type for the localize function\r\n * @param {Function} [indexCallback] - the callback which takes the resulting function argument\r\n *   and converts it into value array index\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var timeOfDayValues = {\r\n *   uppercase: ['AM', 'PM'],\r\n *   lowercase: ['am', 'pm'],\r\n *   long: ['a.m.', 'p.m.']\r\n * }\r\n * locale.localize.timeOfDay = buildLocalizeFn(timeOfDayValues, 'long', function (hours) {\r\n *   // 0 is a.m. array index, 1 is p.m. array index\r\n *   return (hours / 12) >= 1 ? 1 : 0\r\n * })\r\n * locale.localize.timeOfDay(16, {type: 'uppercase'}) //=> 'PM'\r\n * locale.localize.timeOfDay(5) //=> 'a.m.'\r\n */\r\nfunction buildLocalizeFn(values, defaultType, indexCallback) {\r\n  return function (dirtyIndex, dirtyOptions) {\r\n    var options = dirtyOptions || {};\r\n    var type = options.type ? String(options.type) : defaultType;\r\n    var valuesArray = values[type] || values[defaultType];\r\n    var index = indexCallback ? indexCallback(Number(dirtyIndex)) : Number(dirtyIndex);\r\n    return valuesArray[index];\r\n  };\r\n}\r\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/_lib/buildLocalizeFn/index.js\n// module id = 1153\n// module chunks = 3","\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = buildMatchFn;\r\n/**\r\n * @name buildMatchFn\r\n * @category Locale Helpers\r\n * @summary Build `match.weekdays`, `match.months` and `match.timesOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `match.weekdays`, `match.months` and `match.timesOfDay` properties for the locale used by `parse` function.\r\n * If no `type` is supplied to the options of the resulting function, `defaultType` will be used (see example).\r\n * The result of the match function will be passed into corresponding parser function\r\n * (`match.weekday`, `match.month` or `match.timeOfDay` respectively. See `buildParseFn`).\r\n *\r\n * @param {Object} values - the object with RegExps\r\n * @param {String} defaultType - the default type for the match function\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var matchWeekdaysPatterns = {\r\n *   narrow: /^(su|mo|tu|we|th|fr|sa)/i,\r\n *   short: /^(sun|mon|tue|wed|thu|fri|sat)/i,\r\n *   long: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\r\n * }\r\n * locale.match.weekdays = buildMatchFn(matchWeekdaysPatterns, 'long')\r\n * locale.match.weekdays('Sunday', {type: 'narrow'}) //=> ['Su', 'Su', ...]\r\n * locale.match.weekdays('Sunday') //=> ['Sunday', 'Sunday', ...]\r\n */\r\nfunction buildMatchFn(patterns, defaultType) {\r\n  return function (dirtyString, dirtyOptions) {\r\n    var options = dirtyOptions || {};\r\n    var type = options.type ? String(options.type) : defaultType;\r\n    var pattern = patterns[type] || patterns[defaultType];\r\n    var string = String(dirtyString);\r\n    return string.match(pattern);\r\n  };\r\n}\r\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/_lib/buildMatchFn/index.js\n// module id = 1154\n// module chunks = 3","\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = buildMatchPatternFn;\r\n/**\r\n * @name buildMatchPatternFn\r\n * @category Locale Helpers\r\n * @summary Build match function from a single RegExp.\r\n *\r\n * @description\r\n * Build match function from a single RegExp.\r\n * Usually used for building `match.ordinalNumbers` property of the locale.\r\n *\r\n * @param {Object} pattern - the RegExp\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * locale.match.ordinalNumbers = buildMatchPatternFn(/^(\\d+)(th|st|nd|rd)?/i)\r\n * locale.match.ordinalNumbers('3rd') //=> ['3rd', '3', 'rd', ...]\r\n */\r\nfunction buildMatchPatternFn(pattern) {\r\n  return function (dirtyString) {\r\n    var string = String(dirtyString);\r\n    return string.match(pattern);\r\n  };\r\n}\r\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/_lib/buildMatchPatternFn/index.js\n// module id = 1155\n// module chunks = 3","\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = buildParseFn;\r\n/**\r\n * @name buildParseFn\r\n * @category Locale Helpers\r\n * @summary Build `match.weekday`, `match.month` and `match.timeOfDay` properties for the locale.\r\n *\r\n * @description\r\n * Build `match.weekday`, `match.month` and `match.timeOfDay` properties for the locale used by `parse` function.\r\n * The argument of the resulting function is the result of the corresponding match function\r\n * (`match.weekdays`, `match.months` or `match.timesOfDay` respectively. See `buildMatchFn`).\r\n *\r\n * @param {Object} values - the object with arrays of RegExps\r\n * @param {String} defaultType - the default type for the parser function\r\n * @returns {Function} the resulting function\r\n *\r\n * @example\r\n * var parseWeekdayPatterns = {\r\n *   any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\r\n * }\r\n * locale.match.weekday = buildParseFn(matchWeekdaysPatterns, 'long')\r\n * var matchResult = locale.match.weekdays('Friday')\r\n * locale.match.weekday(matchResult) //=> 5\r\n */\r\nfunction buildParseFn(patterns, defaultType) {\r\n  return function (matchResult, dirtyOptions) {\r\n    var options = dirtyOptions || {};\r\n    var type = options.type ? String(options.type) : defaultType;\r\n    var patternsArray = patterns[type] || patterns[defaultType];\r\n    var string = matchResult[1];\r\n\r\n    return patternsArray.findIndex(function (pattern) {\r\n      return pattern.test(string);\r\n    });\r\n  };\r\n}\r\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/_lib/buildParseFn/index.js\n// module id = 1156\n// module chunks = 3","\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = parseDecimal;\r\n/**\r\n * @name parseDecimal\r\n * @category Locale Helpers\r\n * @summary Parses the match result into decimal number.\r\n *\r\n * @description\r\n * Parses the match result into decimal number.\r\n * Uses the string matched with the first set of parentheses of match RegExp.\r\n *\r\n * @param {Array} matchResult - the object returned by matching function\r\n * @returns {Number} the parsed value\r\n *\r\n * @example\r\n * locale.match = {\r\n *   ordinalNumbers: (dirtyString) {\r\n *     return String(dirtyString).match(/^(\\d+)(th|st|nd|rd)?/i)\r\n *   },\r\n *   ordinalNumber: parseDecimal\r\n * }\r\n */\r\nfunction parseDecimal(matchResult) {\r\n  return parseInt(matchResult[1], 10);\r\n}\r\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/_lib/parseDecimal/index.js\n// module id = 1157\n// module chunks = 3","'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = formatDistance;\r\nvar formatDistanceLocale = {\r\n  lessThanXSeconds: {\r\n    one: 'less than a second',\r\n    other: 'less than {{count}} seconds'\r\n  },\r\n\r\n  xSeconds: {\r\n    one: '1 second',\r\n    other: '{{count}} seconds'\r\n  },\r\n\r\n  halfAMinute: 'half a minute',\r\n\r\n  lessThanXMinutes: {\r\n    one: 'less than a minute',\r\n    other: 'less than {{count}} minutes'\r\n  },\r\n\r\n  xMinutes: {\r\n    one: '1 minute',\r\n    other: '{{count}} minutes'\r\n  },\r\n\r\n  aboutXHours: {\r\n    one: 'about 1 hour',\r\n    other: 'about {{count}} hours'\r\n  },\r\n\r\n  xHours: {\r\n    one: '1 hour',\r\n    other: '{{count}} hours'\r\n  },\r\n\r\n  xDays: {\r\n    one: '1 day',\r\n    other: '{{count}} days'\r\n  },\r\n\r\n  aboutXMonths: {\r\n    one: 'about 1 month',\r\n    other: 'about {{count}} months'\r\n  },\r\n\r\n  xMonths: {\r\n    one: '1 month',\r\n    other: '{{count}} months'\r\n  },\r\n\r\n  aboutXYears: {\r\n    one: 'about 1 year',\r\n    other: 'about {{count}} years'\r\n  },\r\n\r\n  xYears: {\r\n    one: '1 year',\r\n    other: '{{count}} years'\r\n  },\r\n\r\n  overXYears: {\r\n    one: 'over 1 year',\r\n    other: 'over {{count}} years'\r\n  },\r\n\r\n  almostXYears: {\r\n    one: 'almost 1 year',\r\n    other: 'almost {{count}} years'\r\n  }\r\n};\r\n\r\nfunction formatDistance(token, count, options) {\r\n  options = options || {};\r\n\r\n  var result;\r\n  if (typeof formatDistanceLocale[token] === 'string') {\r\n    result = formatDistanceLocale[token];\r\n  } else if (count === 1) {\r\n    result = formatDistanceLocale[token].one;\r\n  } else {\r\n    result = formatDistanceLocale[token].other.replace('{{count}}', count);\r\n  }\r\n\r\n  if (options.addSuffix) {\r\n    if (options.comparison > 0) {\r\n      return 'in ' + result;\r\n    } else {\r\n      return result + ' ago';\r\n    }\r\n  }\r\n\r\n  return result;\r\n}\r\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/en-US/_lib/formatDistance/index.js\n// module id = 1158\n// module chunks = 3","'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n\r\nvar _index = require('../../../_lib/buildFormatLongFn/index.js');\r\n\r\nvar _index2 = _interopRequireDefault(_index);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nvar formatLong = (0, _index2.default)({\r\n  LT: 'h:mm aa',\r\n  LTS: 'h:mm:ss aa',\r\n  L: 'MM/DD/YYYY',\r\n  LL: 'MMMM D YYYY',\r\n  LLL: 'MMMM D YYYY h:mm aa',\r\n  LLLL: 'dddd, MMMM D YYYY h:mm aa'\r\n});\r\n\r\nexports.default = formatLong;\r\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/en-US/_lib/formatLong/index.js\n// module id = 1159\n// module chunks = 3","'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\nexports.default = formatRelative;\r\nvar formatRelativeLocale = {\r\n  lastWeek: '[last] dddd [at] LT',\r\n  yesterday: '[yesterday at] LT',\r\n  today: '[today at] LT',\r\n  tomorrow: '[tomorrow at] LT',\r\n  nextWeek: 'dddd [at] LT',\r\n  other: 'L'\r\n};\r\n\r\nfunction formatRelative(token, date, baseDate, options) {\r\n  return formatRelativeLocale[token];\r\n}\r\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/en-US/_lib/formatRelative/index.js\n// module id = 1160\n// module chunks = 3","'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n\r\nvar _index = require('../../../_lib/buildLocalizeFn/index.js');\r\n\r\nvar _index2 = _interopRequireDefault(_index);\r\n\r\nvar _index3 = require('../../../_lib/buildLocalizeArrayFn/index.js');\r\n\r\nvar _index4 = _interopRequireDefault(_index3);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\n// Note: in English, the names of days of the week and months are capitalized.\r\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\r\n// Generally, formatted dates should look like they are in the middle of a sentence,\r\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\r\nvar weekdayValues = {\r\n  narrow: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n  short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n  long: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\r\n};\r\n\r\nvar monthValues = {\r\n  short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n  long: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\r\n};\r\n\r\n// `timeOfDay` is used to designate which part of the day it is, when used with 12-hour clock.\r\n// Use the system which is used the most commonly in the locale.\r\n// For example, if the country doesn't use a.m./p.m., you can use `night`/`morning`/`afternoon`/`evening`:\r\n//\r\n//   var timeOfDayValues = {\r\n//     any: ['in the night', 'in the morning', 'in the afternoon', 'in the evening']\r\n//   }\r\n//\r\n// And later:\r\n//\r\n//   var localize = {\r\n//     // The callback takes the hours as the argument and returns the array index\r\n//     timeOfDay: buildLocalizeFn(timeOfDayValues, 'any', function (hours) {\r\n//       if (hours >= 17) {\r\n//         return 3\r\n//       } else if (hours >= 12) {\r\n//         return 2\r\n//       } else if (hours >= 4) {\r\n//         return 1\r\n//       } else {\r\n//         return 0\r\n//       }\r\n//     }),\r\n//     timesOfDay: buildLocalizeArrayFn(timeOfDayValues, 'any')\r\n//   }\r\nvar timeOfDayValues = {\r\n  uppercase: ['AM', 'PM'],\r\n  lowercase: ['am', 'pm'],\r\n  long: ['a.m.', 'p.m.']\r\n};\r\n\r\nfunction ordinalNumber(dirtyNumber, dirtyOptions) {\r\n  var number = Number(dirtyNumber);\r\n\r\n  // If ordinal numbers depend on context, for example,\r\n  // if they are different for different grammatical genders,\r\n  // use `options.unit`:\r\n  //\r\n  //   var options = dirtyOptions || {}\r\n  //   var unit = String(options.unit)\r\n  //\r\n  // where `unit` can be 'month', 'quarter', 'week', 'isoWeek', 'dayOfYear',\r\n  // 'dayOfMonth' or 'dayOfWeek'\r\n\r\n  var rem100 = number % 100;\r\n  if (rem100 > 20 || rem100 < 10) {\r\n    switch (rem100 % 10) {\r\n      case 1:\r\n        return number + 'st';\r\n      case 2:\r\n        return number + 'nd';\r\n      case 3:\r\n        return number + 'rd';\r\n    }\r\n  }\r\n  return number + 'th';\r\n}\r\n\r\nvar localize = {\r\n  ordinalNumber: ordinalNumber,\r\n  weekday: (0, _index2.default)(weekdayValues, 'long'),\r\n  weekdays: (0, _index4.default)(weekdayValues, 'long'),\r\n  month: (0, _index2.default)(monthValues, 'long'),\r\n  months: (0, _index4.default)(monthValues, 'long'),\r\n  timeOfDay: (0, _index2.default)(timeOfDayValues, 'long', function (hours) {\r\n    return hours / 12 >= 1 ? 1 : 0;\r\n  }),\r\n  timesOfDay: (0, _index4.default)(timeOfDayValues, 'long')\r\n};\r\n\r\nexports.default = localize;\r\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/en-US/_lib/localize/index.js\n// module id = 1161\n// module chunks = 3","'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n\r\nvar _index = require('../../../_lib/buildMatchFn/index.js');\r\n\r\nvar _index2 = _interopRequireDefault(_index);\r\n\r\nvar _index3 = require('../../../_lib/buildParseFn/index.js');\r\n\r\nvar _index4 = _interopRequireDefault(_index3);\r\n\r\nvar _index5 = require('../../../_lib/buildMatchPatternFn/index.js');\r\n\r\nvar _index6 = _interopRequireDefault(_index5);\r\n\r\nvar _index7 = require('../../../_lib/parseDecimal/index.js');\r\n\r\nvar _index8 = _interopRequireDefault(_index7);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nvar matchOrdinalNumbersPattern = /^(\\d+)(th|st|nd|rd)?/i;\r\n\r\nvar matchWeekdaysPatterns = {\r\n  narrow: /^(su|mo|tu|we|th|fr|sa)/i,\r\n  short: /^(sun|mon|tue|wed|thu|fri|sat)/i,\r\n  long: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\r\n};\r\n\r\nvar parseWeekdayPatterns = {\r\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\r\n};\r\n\r\nvar matchMonthsPatterns = {\r\n  short: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\r\n  long: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\r\n};\r\n\r\nvar parseMonthPatterns = {\r\n  any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\r\n};\r\n\r\n// `timeOfDay` is used to designate which part of the day it is, when used with 12-hour clock.\r\n// Use the system which is used the most commonly in the locale.\r\n// For example, if the country doesn't use a.m./p.m., you can use `night`/`morning`/`afternoon`/`evening`:\r\n//\r\n//   var matchTimesOfDayPatterns = {\r\n//     long: /^((in the)? (night|morning|afternoon|evening?))/i\r\n//   }\r\n//\r\n//   var parseTimeOfDayPatterns = {\r\n//     any: [/(night|morning)/i, /(afternoon|evening)/i]\r\n//   }\r\nvar matchTimesOfDayPatterns = {\r\n  short: /^(am|pm)/i,\r\n  long: /^([ap]\\.?\\s?m\\.?)/i\r\n};\r\n\r\nvar parseTimeOfDayPatterns = {\r\n  any: [/^a/i, /^p/i]\r\n};\r\n\r\nvar match = {\r\n  ordinalNumbers: (0, _index6.default)(matchOrdinalNumbersPattern),\r\n  ordinalNumber: _index8.default,\r\n  weekdays: (0, _index2.default)(matchWeekdaysPatterns, 'long'),\r\n  weekday: (0, _index4.default)(parseWeekdayPatterns, 'any'),\r\n  months: (0, _index2.default)(matchMonthsPatterns, 'long'),\r\n  month: (0, _index4.default)(parseMonthPatterns, 'any'),\r\n  timesOfDay: (0, _index2.default)(matchTimesOfDayPatterns, 'long'),\r\n  timeOfDay: (0, _index4.default)(parseTimeOfDayPatterns, 'any')\r\n};\r\n\r\nexports.default = match;\r\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/en-US/_lib/match/index.js\n// module id = 1162\n// module chunks = 3","'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n\r\nvar _index = require('./_lib/formatDistance/index.js');\r\n\r\nvar _index2 = _interopRequireDefault(_index);\r\n\r\nvar _index3 = require('./_lib/formatLong/index.js');\r\n\r\nvar _index4 = _interopRequireDefault(_index3);\r\n\r\nvar _index5 = require('./_lib/formatRelative/index.js');\r\n\r\nvar _index6 = _interopRequireDefault(_index5);\r\n\r\nvar _index7 = require('./_lib/localize/index.js');\r\n\r\nvar _index8 = _interopRequireDefault(_index7);\r\n\r\nvar _index9 = require('./_lib/match/index.js');\r\n\r\nvar _index10 = _interopRequireDefault(_index9);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\n/**\r\n * @type {Locale}\r\n * @category Locales\r\n * @summary English locale (United States).\r\n * @language English\r\n * @iso-639-2 eng\r\n */\r\nvar locale = {\r\n  formatDistance: _index2.default,\r\n  formatLong: _index4.default,\r\n  formatRelative: _index6.default,\r\n  localize: _index8.default,\r\n  match: _index10.default,\r\n  options: {\r\n    weekStartsOn: 0 /* Sunday */\r\n    , firstWeekContainsDate: 1\r\n  }\r\n};\r\n\r\nexports.default = locale;\r\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/date-fns/locale/en-US/index.js\n// module id = 1163\n// module chunks = 3","// element-closest | CC0-1.0 | github.com/jonathantneal/closest\r\n\r\n(function (ElementProto) {\r\n\tif (typeof ElementProto.matches !== 'function') {\r\n\t\tElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {\r\n\t\t\tvar element = this;\r\n\t\t\tvar elements = (element.document || element.ownerDocument).querySelectorAll(selector);\r\n\t\t\tvar index = 0;\r\n\r\n\t\t\twhile (elements[index] && elements[index] !== element) {\r\n\t\t\t\t++index;\r\n\t\t\t}\r\n\r\n\t\t\treturn Boolean(elements[index]);\r\n\t\t};\r\n\t}\r\n\r\n\tif (typeof ElementProto.closest !== 'function') {\r\n\t\tElementProto.closest = function closest(selector) {\r\n\t\t\tvar element = this;\r\n\r\n\t\t\twhile (element && element.nodeType === 1) {\r\n\t\t\t\tif (element.matches(selector)) {\r\n\t\t\t\t\treturn element;\r\n\t\t\t\t}\r\n\r\n\t\t\t\telement = element.parentNode;\r\n\t\t\t}\r\n\r\n\t\t\treturn null;\r\n\t\t};\r\n\t}\r\n})(window.Element.prototype);\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/element-closest/element-closest.js\n// module id = 1164\n// module chunks = 3","exports = module.exports = require(\"../../css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"@keyframes dtb-spinner {\\r\\n  100% {\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n@-o-keyframes dtb-spinner {\\r\\n  100% {\\r\\n    -o-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n@-ms-keyframes dtb-spinner {\\r\\n  100% {\\r\\n    -ms-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n@-webkit-keyframes dtb-spinner {\\r\\n  100% {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n@-moz-keyframes dtb-spinner {\\r\\n  100% {\\r\\n    -moz-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\ndiv.dt-button-info {\\r\\n  position: fixed;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  width: 400px;\\r\\n  margin-top: -100px;\\r\\n  margin-left: -200px;\\r\\n  background-color: white;\\r\\n  border: 2px solid #111;\\r\\n  box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);\\r\\n  border-radius: 3px;\\r\\n  text-align: center;\\r\\n  z-index: 21;\\r\\n}\\r\\ndiv.dt-button-info h2 {\\r\\n  padding: 0.5em;\\r\\n  margin: 0;\\r\\n  font-weight: normal;\\r\\n  border-bottom: 1px solid #ddd;\\r\\n  background-color: #f3f3f3;\\r\\n}\\r\\ndiv.dt-button-info > div {\\r\\n  padding: 1em;\\r\\n}\\r\\n\\r\\nbutton.dt-button,\\r\\ndiv.dt-button,\\r\\na.dt-button {\\r\\n  position: relative;\\r\\n  display: inline-block;\\r\\n  box-sizing: border-box;\\r\\n  margin-right: 0.333em;\\r\\n  padding: 0.5em 1em;\\r\\n  border: 1px solid #999;\\r\\n  border-radius: 2px;\\r\\n  cursor: pointer;\\r\\n  font-size: 0.88em;\\r\\n  color: black;\\r\\n  white-space: nowrap;\\r\\n  overflow: hidden;\\r\\n  background-color: #e9e9e9;\\r\\n  /* Fallback */\\r\\n  background-image: -webkit-linear-gradient(top, white 0%, #e9e9e9 100%);\\r\\n  /* Chrome 10+, Saf5.1+, iOS 5+ */\\r\\n  background-image: -moz-linear-gradient(top, white 0%, #e9e9e9 100%);\\r\\n  /* FF3.6 */\\r\\n  background-image: -ms-linear-gradient(top, white 0%, #e9e9e9 100%);\\r\\n  /* IE10 */\\r\\n  background-image: -o-linear-gradient(top, white 0%, #e9e9e9 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background-image: linear-gradient(to bottom, white 0%, #e9e9e9 100%);\\r\\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='white', EndColorStr='#e9e9e9');\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  text-decoration: none;\\r\\n  outline: none;\\r\\n}\\r\\nbutton.dt-button.disabled,\\r\\ndiv.dt-button.disabled,\\r\\na.dt-button.disabled {\\r\\n  color: #999;\\r\\n  border: 1px solid #d0d0d0;\\r\\n  cursor: default;\\r\\n  background-color: #f9f9f9;\\r\\n  /* Fallback */\\r\\n  background-image: -webkit-linear-gradient(top, white 0%, #f9f9f9 100%);\\r\\n  /* Chrome 10+, Saf5.1+, iOS 5+ */\\r\\n  background-image: -moz-linear-gradient(top, white 0%, #f9f9f9 100%);\\r\\n  /* FF3.6 */\\r\\n  background-image: -ms-linear-gradient(top, white 0%, #f9f9f9 100%);\\r\\n  /* IE10 */\\r\\n  background-image: -o-linear-gradient(top, white 0%, #f9f9f9 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background-image: linear-gradient(to bottom, white 0%, #f9f9f9 100%);\\r\\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='white', EndColorStr='#f9f9f9');\\r\\n}\\r\\nbutton.dt-button:active:not(.disabled), button.dt-button.active:not(.disabled),\\r\\ndiv.dt-button:active:not(.disabled),\\r\\ndiv.dt-button.active:not(.disabled),\\r\\na.dt-button:active:not(.disabled),\\r\\na.dt-button.active:not(.disabled) {\\r\\n  background-color: #e2e2e2;\\r\\n  /* Fallback */\\r\\n  background-image: -webkit-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);\\r\\n  /* Chrome 10+, Saf5.1+, iOS 5+ */\\r\\n  background-image: -moz-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);\\r\\n  /* FF3.6 */\\r\\n  background-image: -ms-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);\\r\\n  /* IE10 */\\r\\n  background-image: -o-linear-gradient(top, #f3f3f3 0%, #e2e2e2 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background-image: linear-gradient(to bottom, #f3f3f3 0%, #e2e2e2 100%);\\r\\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f3f3f3', EndColorStr='#e2e2e2');\\r\\n  box-shadow: inset 1px 1px 3px #999999;\\r\\n}\\r\\nbutton.dt-button:active:not(.disabled):hover:not(.disabled), button.dt-button.active:not(.disabled):hover:not(.disabled),\\r\\ndiv.dt-button:active:not(.disabled):hover:not(.disabled),\\r\\ndiv.dt-button.active:not(.disabled):hover:not(.disabled),\\r\\na.dt-button:active:not(.disabled):hover:not(.disabled),\\r\\na.dt-button.active:not(.disabled):hover:not(.disabled) {\\r\\n  box-shadow: inset 1px 1px 3px #999999;\\r\\n  background-color: #cccccc;\\r\\n  /* Fallback */\\r\\n  background-image: -webkit-linear-gradient(top, #eaeaea 0%, #cccccc 100%);\\r\\n  /* Chrome 10+, Saf5.1+, iOS 5+ */\\r\\n  background-image: -moz-linear-gradient(top, #eaeaea 0%, #cccccc 100%);\\r\\n  /* FF3.6 */\\r\\n  background-image: -ms-linear-gradient(top, #eaeaea 0%, #cccccc 100%);\\r\\n  /* IE10 */\\r\\n  background-image: -o-linear-gradient(top, #eaeaea 0%, #cccccc 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background-image: linear-gradient(to bottom, #eaeaea 0%, #cccccc 100%);\\r\\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#eaeaea', EndColorStr='#cccccc');\\r\\n}\\r\\nbutton.dt-button:hover,\\r\\ndiv.dt-button:hover,\\r\\na.dt-button:hover {\\r\\n  text-decoration: none;\\r\\n}\\r\\nbutton.dt-button:hover:not(.disabled),\\r\\ndiv.dt-button:hover:not(.disabled),\\r\\na.dt-button:hover:not(.disabled) {\\r\\n  border: 1px solid #666;\\r\\n  background-color: #e0e0e0;\\r\\n  /* Fallback */\\r\\n  background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);\\r\\n  /* Chrome 10+, Saf5.1+, iOS 5+ */\\r\\n  background-image: -moz-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);\\r\\n  /* FF3.6 */\\r\\n  background-image: -ms-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);\\r\\n  /* IE10 */\\r\\n  background-image: -o-linear-gradient(top, #f9f9f9 0%, #e0e0e0 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background-image: linear-gradient(to bottom, #f9f9f9 0%, #e0e0e0 100%);\\r\\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f9f9f9', EndColorStr='#e0e0e0');\\r\\n}\\r\\nbutton.dt-button:focus:not(.disabled),\\r\\ndiv.dt-button:focus:not(.disabled),\\r\\na.dt-button:focus:not(.disabled) {\\r\\n  border: 1px solid #426c9e;\\r\\n  text-shadow: 0 1px 0 #c4def1;\\r\\n  outline: none;\\r\\n  background-color: #79ace9;\\r\\n  /* Fallback */\\r\\n  background-image: -webkit-linear-gradient(top, #bddef4 0%, #79ace9 100%);\\r\\n  /* Chrome 10+, Saf5.1+, iOS 5+ */\\r\\n  background-image: -moz-linear-gradient(top, #bddef4 0%, #79ace9 100%);\\r\\n  /* FF3.6 */\\r\\n  background-image: -ms-linear-gradient(top, #bddef4 0%, #79ace9 100%);\\r\\n  /* IE10 */\\r\\n  background-image: -o-linear-gradient(top, #bddef4 0%, #79ace9 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background-image: linear-gradient(to bottom, #bddef4 0%, #79ace9 100%);\\r\\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#bddef4', EndColorStr='#79ace9');\\r\\n}\\r\\n\\r\\n.dt-button embed {\\r\\n  outline: none;\\r\\n}\\r\\n\\r\\ndiv.dt-buttons {\\r\\n  position: relative;\\r\\n  float: left;\\r\\n}\\r\\ndiv.dt-buttons.buttons-right {\\r\\n  float: right;\\r\\n}\\r\\n\\r\\ndiv.dt-button-collection {\\r\\n  position: absolute;\\r\\n  top: 0;\\r\\n  left: 0;\\r\\n  width: 150px;\\r\\n  margin-top: 3px;\\r\\n  padding: 8px 8px 4px 8px;\\r\\n  border: 1px solid #ccc;\\r\\n  border: 1px solid rgba(0, 0, 0, 0.4);\\r\\n  background-color: white;\\r\\n  overflow: hidden;\\r\\n  z-index: 2002;\\r\\n  border-radius: 5px;\\r\\n  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);\\r\\n  z-index: 2002;\\r\\n  -webkit-column-gap: 8px;\\r\\n  -moz-column-gap: 8px;\\r\\n  -ms-column-gap: 8px;\\r\\n  -o-column-gap: 8px;\\r\\n  column-gap: 8px;\\r\\n}\\r\\ndiv.dt-button-collection button.dt-button,\\r\\ndiv.dt-button-collection div.dt-button,\\r\\ndiv.dt-button-collection a.dt-button {\\r\\n  position: relative;\\r\\n  left: 0;\\r\\n  right: 0;\\r\\n  display: block;\\r\\n  float: none;\\r\\n  margin-bottom: 4px;\\r\\n  margin-right: 0;\\r\\n}\\r\\ndiv.dt-button-collection button.dt-button:active:not(.disabled), div.dt-button-collection button.dt-button.active:not(.disabled),\\r\\ndiv.dt-button-collection div.dt-button:active:not(.disabled),\\r\\ndiv.dt-button-collection div.dt-button.active:not(.disabled),\\r\\ndiv.dt-button-collection a.dt-button:active:not(.disabled),\\r\\ndiv.dt-button-collection a.dt-button.active:not(.disabled) {\\r\\n  background-color: #dadada;\\r\\n  /* Fallback */\\r\\n  background-image: -webkit-linear-gradient(top, #f0f0f0 0%, #dadada 100%);\\r\\n  /* Chrome 10+, Saf5.1+, iOS 5+ */\\r\\n  background-image: -moz-linear-gradient(top, #f0f0f0 0%, #dadada 100%);\\r\\n  /* FF3.6 */\\r\\n  background-image: -ms-linear-gradient(top, #f0f0f0 0%, #dadada 100%);\\r\\n  /* IE10 */\\r\\n  background-image: -o-linear-gradient(top, #f0f0f0 0%, #dadada 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background-image: linear-gradient(to bottom, #f0f0f0 0%, #dadada 100%);\\r\\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f0f0f0', EndColorStr='#dadada');\\r\\n  box-shadow: inset 1px 1px 3px #666;\\r\\n}\\r\\ndiv.dt-button-collection.fixed {\\r\\n  position: fixed;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin-left: -75px;\\r\\n  border-radius: 0;\\r\\n}\\r\\ndiv.dt-button-collection.fixed.two-column {\\r\\n  margin-left: -150px;\\r\\n}\\r\\ndiv.dt-button-collection.fixed.three-column {\\r\\n  margin-left: -225px;\\r\\n}\\r\\ndiv.dt-button-collection.fixed.four-column {\\r\\n  margin-left: -300px;\\r\\n}\\r\\ndiv.dt-button-collection > * {\\r\\n  -webkit-column-break-inside: avoid;\\r\\n  break-inside: avoid;\\r\\n}\\r\\ndiv.dt-button-collection.two-column {\\r\\n  width: 300px;\\r\\n  padding-bottom: 1px;\\r\\n  -webkit-column-count: 2;\\r\\n  -moz-column-count: 2;\\r\\n  -ms-column-count: 2;\\r\\n  -o-column-count: 2;\\r\\n  column-count: 2;\\r\\n}\\r\\ndiv.dt-button-collection.three-column {\\r\\n  width: 450px;\\r\\n  padding-bottom: 1px;\\r\\n  -webkit-column-count: 3;\\r\\n  -moz-column-count: 3;\\r\\n  -ms-column-count: 3;\\r\\n  -o-column-count: 3;\\r\\n  column-count: 3;\\r\\n}\\r\\ndiv.dt-button-collection.four-column {\\r\\n  width: 600px;\\r\\n  padding-bottom: 1px;\\r\\n  -webkit-column-count: 4;\\r\\n  -moz-column-count: 4;\\r\\n  -ms-column-count: 4;\\r\\n  -o-column-count: 4;\\r\\n  column-count: 4;\\r\\n}\\r\\n\\r\\ndiv.dt-button-background {\\r\\n  position: fixed;\\r\\n  top: 0;\\r\\n  left: 0;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  background: rgba(0, 0, 0, 0.7);\\r\\n  /* Fallback */\\r\\n  background: -ms-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);\\r\\n  /* IE10 Consumer Preview */\\r\\n  background: -moz-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);\\r\\n  /* Firefox */\\r\\n  background: -o-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);\\r\\n  /* Opera */\\r\\n  background: -webkit-gradient(radial, center center, 0, center center, 497, color-stop(0, rgba(0, 0, 0, 0.3)), color-stop(1, rgba(0, 0, 0, 0.7)));\\r\\n  /* Webkit (Safari/Chrome 10) */\\r\\n  background: -webkit-radial-gradient(center, ellipse farthest-corner, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);\\r\\n  /* Webkit (Chrome 11+) */\\r\\n  background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);\\r\\n  /* W3C Markup, IE10 Release Preview */\\r\\n  z-index: 2001;\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 640px) {\\r\\n  div.dt-buttons {\\r\\n    float: none !important;\\r\\n    text-align: center;\\r\\n  }\\r\\n}\\r\\nbutton.dt-button.processing,\\r\\ndiv.dt-button.processing,\\r\\na.dt-button.processing {\\r\\n  color: rgba(0, 0, 0, 0.2);\\r\\n}\\r\\nbutton.dt-button.processing:after,\\r\\ndiv.dt-button.processing:after,\\r\\na.dt-button.processing:after {\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  width: 16px;\\r\\n  height: 16px;\\r\\n  margin: -8px 0 0 -8px;\\r\\n  box-sizing: border-box;\\r\\n  display: block;\\r\\n  content: ' ';\\r\\n  border: 2px solid #282828;\\r\\n  border-radius: 50%;\\r\\n  border-left-color: transparent;\\r\\n  border-right-color: transparent;\\r\\n  animation: dtb-spinner 1500ms infinite linear;\\r\\n  -o-animation: dtb-spinner 1500ms infinite linear;\\r\\n  -ms-animation: dtb-spinner 1500ms infinite linear;\\r\\n  -webkit-animation: dtb-spinner 1500ms infinite linear;\\r\\n  -moz-animation: dtb-spinner 1500ms infinite linear;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/datatables.net-buttons-dt/css/buttons.dataTables.css\n// module id = 1165\n// module chunks = 3","exports = module.exports = require(\"../../css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*\\r\\n * Table styles\\r\\n */\\r\\ntable.dataTable {\\r\\n  width: 100%;\\r\\n  margin: 0 auto;\\r\\n  clear: both;\\r\\n  border-collapse: separate;\\r\\n  border-spacing: 0;\\r\\n  /*\\r\\n   * Header and footer styles\\r\\n   */\\r\\n  /*\\r\\n   * Body styles\\r\\n   */\\r\\n}\\r\\ntable.dataTable thead th,\\r\\ntable.dataTable tfoot th {\\r\\n  font-weight: bold;\\r\\n}\\r\\ntable.dataTable thead th,\\r\\ntable.dataTable thead td {\\r\\n  padding: 10px 18px;\\r\\n  border-bottom: 1px solid #111111;\\r\\n}\\r\\ntable.dataTable thead th:active,\\r\\ntable.dataTable thead td:active {\\r\\n  outline: none;\\r\\n}\\r\\ntable.dataTable tfoot th,\\r\\ntable.dataTable tfoot td {\\r\\n  padding: 10px 18px 6px 18px;\\r\\n  border-top: 1px solid #111111;\\r\\n}\\r\\ntable.dataTable thead .sorting,\\r\\ntable.dataTable thead .sorting_asc,\\r\\ntable.dataTable thead .sorting_desc,\\r\\ntable.dataTable thead .sorting_asc_disabled,\\r\\ntable.dataTable thead .sorting_desc_disabled {\\r\\n  cursor: pointer;\\r\\n  *cursor: hand;\\r\\n}\\r\\ntable.dataTable thead .sorting,\\r\\ntable.dataTable thead .sorting_asc,\\r\\ntable.dataTable thead .sorting_desc,\\r\\ntable.dataTable thead .sorting_asc_disabled,\\r\\ntable.dataTable thead .sorting_desc_disabled {\\r\\n  background-repeat: no-repeat;\\r\\n  background-position: center right;\\r\\n}\\r\\ntable.dataTable thead .sorting {\\r\\n  background-image: url(\" + require(\"../images/sort_both.png\") + \");\\r\\n}\\r\\ntable.dataTable thead .sorting_asc {\\r\\n  background-image: url(\" + require(\"../images/sort_asc.png\") + \");\\r\\n}\\r\\ntable.dataTable thead .sorting_desc {\\r\\n  background-image: url(\" + require(\"../images/sort_desc.png\") + \");\\r\\n}\\r\\ntable.dataTable thead .sorting_asc_disabled {\\r\\n  background-image: url(\" + require(\"../images/sort_asc_disabled.png\") + \");\\r\\n}\\r\\ntable.dataTable thead .sorting_desc_disabled {\\r\\n  background-image: url(\" + require(\"../images/sort_desc_disabled.png\") + \");\\r\\n}\\r\\ntable.dataTable tbody tr {\\r\\n  background-color: white;\\r\\n}\\r\\ntable.dataTable tbody tr.selected {\\r\\n  background-color: #b0bed9;\\r\\n}\\r\\ntable.dataTable tbody th,\\r\\ntable.dataTable tbody td {\\r\\n  padding: 8px 10px;\\r\\n}\\r\\ntable.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {\\r\\n  border-top: 1px solid #dddddd;\\r\\n}\\r\\ntable.dataTable.row-border tbody tr:first-child th,\\r\\ntable.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,\\r\\ntable.dataTable.display tbody tr:first-child td {\\r\\n  border-top: none;\\r\\n}\\r\\ntable.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {\\r\\n  border-top: 1px solid #dddddd;\\r\\n  border-right: 1px solid #dddddd;\\r\\n}\\r\\ntable.dataTable.cell-border tbody tr th:first-child,\\r\\ntable.dataTable.cell-border tbody tr td:first-child {\\r\\n  border-left: 1px solid #dddddd;\\r\\n}\\r\\ntable.dataTable.cell-border tbody tr:first-child th,\\r\\ntable.dataTable.cell-border tbody tr:first-child td {\\r\\n  border-top: none;\\r\\n}\\r\\ntable.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {\\r\\n  background-color: #f9f9f9;\\r\\n}\\r\\ntable.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {\\r\\n  background-color: #abb9d3;\\r\\n}\\r\\ntable.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {\\r\\n  background-color: whitesmoke;\\r\\n}\\r\\ntable.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {\\r\\n  background-color: #a9b7d1;\\r\\n}\\r\\ntable.dataTable.order-column tbody tr > .sorting_1,\\r\\ntable.dataTable.order-column tbody tr > .sorting_2,\\r\\ntable.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,\\r\\ntable.dataTable.display tbody tr > .sorting_2,\\r\\ntable.dataTable.display tbody tr > .sorting_3 {\\r\\n  background-color: #f9f9f9;\\r\\n}\\r\\ntable.dataTable.order-column tbody tr.selected > .sorting_1,\\r\\ntable.dataTable.order-column tbody tr.selected > .sorting_2,\\r\\ntable.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,\\r\\ntable.dataTable.display tbody tr.selected > .sorting_2,\\r\\ntable.dataTable.display tbody tr.selected > .sorting_3 {\\r\\n  background-color: #acbad4;\\r\\n}\\r\\ntable.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {\\r\\n  background-color: #f1f1f1;\\r\\n}\\r\\ntable.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {\\r\\n  background-color: #f3f3f3;\\r\\n}\\r\\ntable.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {\\r\\n  background-color: whitesmoke;\\r\\n}\\r\\ntable.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {\\r\\n  background-color: #a6b3cd;\\r\\n}\\r\\ntable.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {\\r\\n  background-color: #a7b5ce;\\r\\n}\\r\\ntable.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {\\r\\n  background-color: #a9b6d0;\\r\\n}\\r\\ntable.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {\\r\\n  background-color: #f9f9f9;\\r\\n}\\r\\ntable.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {\\r\\n  background-color: #fbfbfb;\\r\\n}\\r\\ntable.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {\\r\\n  background-color: #fdfdfd;\\r\\n}\\r\\ntable.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {\\r\\n  background-color: #acbad4;\\r\\n}\\r\\ntable.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {\\r\\n  background-color: #adbbd6;\\r\\n}\\r\\ntable.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {\\r\\n  background-color: #afbdd8;\\r\\n}\\r\\ntable.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {\\r\\n  background-color: #eaeaea;\\r\\n}\\r\\ntable.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {\\r\\n  background-color: #ebebeb;\\r\\n}\\r\\ntable.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {\\r\\n  background-color: #eeeeee;\\r\\n}\\r\\ntable.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {\\r\\n  background-color: #a1aec7;\\r\\n}\\r\\ntable.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {\\r\\n  background-color: #a2afc8;\\r\\n}\\r\\ntable.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {\\r\\n  background-color: #a4b2cb;\\r\\n}\\r\\ntable.dataTable.no-footer {\\r\\n  border-bottom: 1px solid #111111;\\r\\n}\\r\\ntable.dataTable.nowrap th, table.dataTable.nowrap td {\\r\\n  white-space: nowrap;\\r\\n}\\r\\ntable.dataTable.compact thead th,\\r\\ntable.dataTable.compact thead td {\\r\\n  padding: 4px 17px 4px 4px;\\r\\n}\\r\\ntable.dataTable.compact tfoot th,\\r\\ntable.dataTable.compact tfoot td {\\r\\n  padding: 4px;\\r\\n}\\r\\ntable.dataTable.compact tbody th,\\r\\ntable.dataTable.compact tbody td {\\r\\n  padding: 4px;\\r\\n}\\r\\ntable.dataTable th.dt-left,\\r\\ntable.dataTable td.dt-left {\\r\\n  text-align: left;\\r\\n}\\r\\ntable.dataTable th.dt-center,\\r\\ntable.dataTable td.dt-center,\\r\\ntable.dataTable td.dataTables_empty {\\r\\n  text-align: center;\\r\\n}\\r\\ntable.dataTable th.dt-right,\\r\\ntable.dataTable td.dt-right {\\r\\n  text-align: right;\\r\\n}\\r\\ntable.dataTable th.dt-justify,\\r\\ntable.dataTable td.dt-justify {\\r\\n  text-align: justify;\\r\\n}\\r\\ntable.dataTable th.dt-nowrap,\\r\\ntable.dataTable td.dt-nowrap {\\r\\n  white-space: nowrap;\\r\\n}\\r\\ntable.dataTable thead th.dt-head-left,\\r\\ntable.dataTable thead td.dt-head-left,\\r\\ntable.dataTable tfoot th.dt-head-left,\\r\\ntable.dataTable tfoot td.dt-head-left {\\r\\n  text-align: left;\\r\\n}\\r\\ntable.dataTable thead th.dt-head-center,\\r\\ntable.dataTable thead td.dt-head-center,\\r\\ntable.dataTable tfoot th.dt-head-center,\\r\\ntable.dataTable tfoot td.dt-head-center {\\r\\n  text-align: center;\\r\\n}\\r\\ntable.dataTable thead th.dt-head-right,\\r\\ntable.dataTable thead td.dt-head-right,\\r\\ntable.dataTable tfoot th.dt-head-right,\\r\\ntable.dataTable tfoot td.dt-head-right {\\r\\n  text-align: right;\\r\\n}\\r\\ntable.dataTable thead th.dt-head-justify,\\r\\ntable.dataTable thead td.dt-head-justify,\\r\\ntable.dataTable tfoot th.dt-head-justify,\\r\\ntable.dataTable tfoot td.dt-head-justify {\\r\\n  text-align: justify;\\r\\n}\\r\\ntable.dataTable thead th.dt-head-nowrap,\\r\\ntable.dataTable thead td.dt-head-nowrap,\\r\\ntable.dataTable tfoot th.dt-head-nowrap,\\r\\ntable.dataTable tfoot td.dt-head-nowrap {\\r\\n  white-space: nowrap;\\r\\n}\\r\\ntable.dataTable tbody th.dt-body-left,\\r\\ntable.dataTable tbody td.dt-body-left {\\r\\n  text-align: left;\\r\\n}\\r\\ntable.dataTable tbody th.dt-body-center,\\r\\ntable.dataTable tbody td.dt-body-center {\\r\\n  text-align: center;\\r\\n}\\r\\ntable.dataTable tbody th.dt-body-right,\\r\\ntable.dataTable tbody td.dt-body-right {\\r\\n  text-align: right;\\r\\n}\\r\\ntable.dataTable tbody th.dt-body-justify,\\r\\ntable.dataTable tbody td.dt-body-justify {\\r\\n  text-align: justify;\\r\\n}\\r\\ntable.dataTable tbody th.dt-body-nowrap,\\r\\ntable.dataTable tbody td.dt-body-nowrap {\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\ntable.dataTable,\\r\\ntable.dataTable th,\\r\\ntable.dataTable td {\\r\\n  -webkit-box-sizing: content-box;\\r\\n  box-sizing: content-box;\\r\\n}\\r\\n\\r\\n/*\\r\\n * Control feature layout\\r\\n */\\r\\n.dataTables_wrapper {\\r\\n  position: relative;\\r\\n  clear: both;\\r\\n  *zoom: 1;\\r\\n  zoom: 1;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_length {\\r\\n  float: left;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_filter {\\r\\n  float: right;\\r\\n  text-align: right;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_filter input {\\r\\n  margin-left: -0.5em;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_info {\\r\\n  clear: both;\\r\\n  float: left;\\r\\n  padding-top: 0.755em;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_paginate {\\r\\n  float: right;\\r\\n  text-align: right;\\r\\n  padding-top: 0.25em;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button {\\r\\n  box-sizing: border-box;\\r\\n  display: inline-block;\\r\\n  min-width: 1.5em;\\r\\n  padding: 0.5em 1em;\\r\\n  margin-left: 2px;\\r\\n  text-align: center;\\r\\n  text-decoration: none !important;\\r\\n  cursor: pointer;\\r\\n  *cursor: hand;\\r\\n  color: #333333 !important;\\r\\n  border: 1px solid transparent;\\r\\n  border-radius: 2px;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {\\r\\n  color: #fff !important;\\r\\n  border: 1px solid #979797;\\r\\n  background-color: white;\\r\\n  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, gainsboro));\\r\\n  /* Chrome,Safari4+ */\\r\\n  background: -webkit-linear-gradient(top, white 0%, gainsboro 100%);\\r\\n  /* Chrome10+,Safari5.1+ */\\r\\n  background: -moz-linear-gradient(top, white 0%, gainsboro 100%);\\r\\n  /* FF3.6+ */\\r\\n  background: -ms-linear-gradient(top, white 0%, gainsboro 100%);\\r\\n  /* IE10+ */\\r\\n  background: -o-linear-gradient(top, white 0%, gainsboro 100%);\\r\\n  /* Opera 11.10+ */\\r\\n  background: linear-gradient(to bottom, white 0%, gainsboro 100%);\\r\\n  /* W3C */\\r\\n}\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {\\r\\n  cursor: default;\\r\\n  color: #666 !important;\\r\\n  border: 1px solid transparent;\\r\\n  background: transparent;\\r\\n  box-shadow: none;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button:hover {\\r\\n  color: white !important;\\r\\n  border: 1px solid transparent;\\r\\n  background-color: #D4D2D2;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button:active {\\r\\n  outline: none;\\r\\n  background-color: #296090;\\r\\n \\r\\n}\\r\\n.dataTables_wrapper .dataTables_paginate .ellipsis {\\r\\n  padding: 0 1em;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_processing {\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  width: 100%;\\r\\n  height: 40px;\\r\\n  margin-left: -50%;\\r\\n  margin-top: -25px;\\r\\n  padding-top: 20px;\\r\\n  text-align: center;\\r\\n  font-size: 1.2em;\\r\\n  background-color: white;\\r\\n  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));\\r\\n  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\\r\\n  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\\r\\n  background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\\r\\n  background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\\r\\n  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);\\r\\n}\\r\\n.dataTables_wrapper .dataTables_length,\\r\\n.dataTables_wrapper .dataTables_filter,\\r\\n.dataTables_wrapper .dataTables_info,\\r\\n.dataTables_wrapper .dataTables_processing,\\r\\n.dataTables_wrapper .dataTables_paginate {\\r\\n  color: #333333;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_scroll {\\r\\n  clear: both;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {\\r\\n  *margin-top: -1px;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {\\r\\n  vertical-align: middle;\\r\\n}\\r\\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,\\r\\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,\\r\\n.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {\\r\\n  height: 0;\\r\\n  overflow: hidden;\\r\\n  margin: 0 !important;\\r\\n  padding: 0 !important;\\r\\n}\\r\\n.dataTables_wrapper.no-footer .dataTables_scrollBody {\\r\\n  border-bottom: 1px solid #111111;\\r\\n}\\r\\n.dataTables_wrapper.no-footer div.dataTables_scrollHead > table,\\r\\n.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {\\r\\n  border-bottom: none;\\r\\n}\\r\\n.dataTables_wrapper:after {\\r\\n  visibility: hidden;\\r\\n  display: block;\\r\\n  content: \\\"\\\";\\r\\n  clear: both;\\r\\n  height: 0;\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 767px) {\\r\\n  .dataTables_wrapper .dataTables_info,\\r\\n  .dataTables_wrapper .dataTables_paginate {\\r\\n    float: none;\\r\\n    text-align: center;\\r\\n  }\\r\\n  .dataTables_wrapper .dataTables_paginate {\\r\\n    margin-top: 0.5em;\\r\\n  }\\r\\n}\\r\\n@media screen and (max-width: 640px) {\\r\\n  .dataTables_wrapper .dataTables_length,\\r\\n  .dataTables_wrapper .dataTables_filter {\\r\\n    float: none;\\r\\n    text-align: center;\\r\\n  }\\r\\n  .dataTables_wrapper .dataTables_filter {\\r\\n    margin-top: 0.5em;\\r\\n  }\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/datatables.net-dt/css/jquery.dataTables.css\n// module id = 1166\n// module chunks = 3","exports = module.exports = require(\"../../css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".gu-mirror {\\r\\n  position: fixed !important;\\r\\n  margin: 0 !important;\\r\\n  z-index: 9999 !important;\\r\\n  opacity: 0.8;\\r\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)\\\";\\r\\n  filter: alpha(opacity=80);\\r\\n}\\r\\n.gu-hide {\\r\\n  display: none !important;\\r\\n}\\r\\n.gu-unselectable {\\r\\n  -webkit-user-select: none !important;\\r\\n  -moz-user-select: none !important;\\r\\n  -ms-user-select: none !important;\\r\\n  user-select: none !important;\\r\\n}\\r\\n.gu-transit {\\r\\n  opacity: 0.2;\\r\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)\\\";\\r\\n  filter: alpha(opacity=20);\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dragula/dist/dragula.css\n// module id = 1167\n// module chunks = 3","exports = module.exports = require(\"../../css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * FullCalendar v3.2.0 Stylesheet\\r\\n * Docs & License: https://fullcalendar.io/\\r\\n * (c) 2017 Adam Shaw\\r\\n */.fc-icon,body .fc{font-size:1em}.fc-button-group,.fc-icon{display:inline-block}.fc-bg,.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-icon,.fc-unselectable{-khtml-user-select:none;-webkit-touch-callout:none}.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}.fc th,.fc-basic-view td.fc-week-number,.fc-icon,.fc-toolbar{text-align:center}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc-icon{height:1em;line-height:1em;overflow:hidden;font-family:\\\"Courier New\\\",Courier,monospace;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative}.fc-icon-left-single-arrow:after{content:\\\"\\\\2039\\\";font-weight:700;font-size:200%;top:-7%}.fc-icon-right-single-arrow:after{content:\\\"\\\\203A\\\";font-weight:700;font-size:200%;top:-7%}.fc-icon-left-double-arrow:after{content:\\\"\\\\AB\\\";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:\\\"\\\\BB\\\";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:\\\"\\\\25C4\\\";font-size:125%;top:3%}.fc-icon-right-triangle:after{content:\\\"\\\\25BA\\\";font-size:125%;top:3%}.fc-icon-down-triangle:after{content:\\\"\\\\25BC\\\";font-size:125%;top:2%}.fc-icon-x:after{content:\\\"\\\\D7\\\";font-size:200%;top:6%}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;box-shadow:none}.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close,a[data-goto]{cursor:pointer}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-row.fc-rigid,.fc-time-grid-event{overflow:hidden}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad;font-weight:400}.fc-event,.fc-event-dot{background-color:#3a87ad}.fc-event,.fc-event:hover,.ui-widget .fc-event{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:\\\"\\\";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected.fc-dragging{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-h-event.fc-selected:before{content:\\\"\\\";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-day-grid-event.fc-selected:after{content:\\\"\\\";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.fc-toolbar.fc-header-toolbar{margin-bottom:1em}.fc-toolbar.fc-footer-toolbar{margin-top:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:2px}.fc-basic-view th.fc-day-number,.fc-basic-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-basic-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-basic-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-basic-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px}.fc-rtl .fc-basic-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-basic-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-basic-view td.fc-week-number>*{display:inline-block;min-width:1.25em}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3;position:relative}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event.fc-selected{overflow:visible}.fc-time-grid-event.fc-selected .fc-bg{display:none}.fc-time-grid-event .fc-content{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:\\\"\\\\A0-\\\\A0\\\"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:\\\"=\\\"}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt,.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item:hover td{background-color:#f5f5f5}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fullcalendar/dist/fullcalendar.min.css\n// module id = 1168\n// module chunks = 3","exports = module.exports = require(\"../../css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/* This is a compiled file, you should be editing the file in the templates directory */\\r\\n.pace {\\r\\n  -webkit-pointer-events: none;\\r\\n  pointer-events: none;\\r\\n\\r\\n  z-index: 2000;\\r\\n  position: fixed;\\r\\n  height: 90px;\\r\\n  width: 90px;\\r\\n  margin: auto;\\r\\n  top: 0;\\r\\n  left: 0;\\r\\n  right: 0;\\r\\n  bottom: 0;\\r\\n}\\r\\n\\r\\n.pace.pace-inactive .pace-activity {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.pace .pace-activity {\\r\\n  position: fixed;\\r\\n  z-index: 2000;\\r\\n  display: block;\\r\\n  position: absolute;\\r\\n  left: -30px;\\r\\n  top: -30px;\\r\\n  height: 90px;\\r\\n  width: 90px;\\r\\n  display: block;\\r\\n  border-width: 30px;\\r\\n  border-style: double;\\r\\n  border-color: #29d transparent transparent;\\r\\n  border-radius: 50%;\\r\\n\\r\\n  -webkit-animation: spin 1s linear infinite;\\r\\n     -moz-animation: spin 1s linear infinite;\\r\\n       -o-animation: spin 1s linear infinite;\\r\\n          animation: spin 1s linear infinite;\\r\\n          \\r\\n}\\r\\n\\r\\n.pace .pace-activity:before {\\r\\n  /*content: ' ';*/\\r\\n  position: absolute;\\r\\n  top: 10px;\\r\\n  left: 10px;\\r\\n  height: 50px;\\r\\n  width: 50px;\\r\\n  display: block;\\r\\n  border-width: 10px;\\r\\n  border-style: solid;\\r\\n  border-color: #29d transparent transparent;\\r\\n  border-radius: 50%;\\r\\n}\\r\\n\\r\\n\\r\\n@-webkit-keyframes spin {\\r\\n  100% { -webkit-transform: rotate(359deg); }\\r\\n}\\r\\n\\r\\n@-moz-keyframes spin {\\r\\n  100% { -moz-transform: rotate(359deg); }\\r\\n}\\r\\n\\r\\n@-o-keyframes spin {\\r\\n  100% { -moz-transform: rotate(359deg); }\\r\\n}\\r\\n\\r\\n@keyframes spin {\\r\\n  100% {  transform: rotate(359deg); }\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/pace/themes/pace-theme-center-radar.css\n// module id = 1169\n// module chunks = 3","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*\\r\\nTo change this license header, choose License Headers in Project Properties.\\r\\nTo change this template file, choose Tools | Templates\\r\\nand open the template in the editor.\\r\\n*/\\r\\n/* \\r\\n    Created on : 14/05/2018, 06:41:30 PM\\r\\n    Author     : lenovo\\r\\n*/\\r\\n\\r\\n.tab {\\r\\n    float: left;\\r\\n    width: 15%;\\r\\n    height: 800px;\\r\\n}\\r\\n\\r\\n/* Style the buttons that are used to open the tab content */\\r\\n.tab a {\\r\\n    display: block;\\r\\n    background-color: inherit;\\r\\n    color: black;\\r\\n    padding: 15px 16px;\\r\\n    width: 100%;\\r\\n    border: none;\\r\\n    outline: none;\\r\\n    text-align: left;\\r\\n    cursor: pointer;\\r\\n    transition: 0.3s;\\r\\n}\\r\\n\\r\\n/* Change background color of buttons on hover */\\r\\n.tab a:hover {\\r\\n    background-color: #428bca;\\r\\n    color: white !important;\\r\\n}\\r\\n\\r\\n/* Create an active/current \\\"tab button\\\" class */\\r\\n.tab a.active {\\r\\n    background-color: lavender;\\r\\n}\\r\\n\\r\\n/* Style the tab content */\\r\\n.tabcontent {\\r\\n    float: left;\\r\\n    padding: 0px 12px;\\r\\n    width: 85%;\\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/modalsolicitud.css\n// module id = 1170\n// module chunks = 3","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*\\r\\nTo change this license header, choose License Headers in Project Properties.\\r\\nTo change this template file, choose Tools | Templates\\r\\nand open the template in the editor.\\r\\n*/\\r\\n\\r\\n\\r\\n@media print {\\r\\n    table { page-break-inside:auto }\\r\\n    tr    { page-break-inside:auto; page-break-after:auto;}\\r\\n    thead { display:table-header-group }\\r\\n    tfoot { display:table-footer-group }\\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/estadocuenta/tabla.css\n// module id = 1171\n// module chunks = 3","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".LabelMaterial {\\r\\n    color:#CB0036; \\r\\n    font-size:12px; \\r\\n    font-weight:normal;\\r\\n    position:absolute; \\r\\n    top: -12px; \\r\\n    pointer-events:none;\\r\\n}\\r\\n\\r\\n.LabelMaterialpadre {\\r\\n    color:#CB0036; \\r\\n    font-size:12px; \\r\\n    font-weight:normal;\\r\\n    position:absolute; \\r\\n    top: -6px; \\r\\n    pointer-events:none;\\r\\n}\\r\\n\\r\\ninput[type=text]:disabled {\\r\\n    background: white;\\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/datosgenerales/estilos.css\n// module id = 1172\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\nexports.push([module.id, \"@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);\", \"\"]);\n\n// module\nexports.push([module.id, \" /*\\r\\n * # Semantic UI - 2.2.10\\r\\n * https://github.com/Semantic-Org/Semantic-UI\\r\\n * http://www.semantic-ui.com/\\r\\n *\\r\\n * Copyright 2014 Contributors\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Reset\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Reset\\r\\n*******************************/\\r\\n\\r\\n/* Border-Box */\\r\\n\\r\\n*,\\r\\n*:before,\\r\\n*:after {\\r\\n  box-sizing: inherit;\\r\\n}\\r\\n\\r\\nhtml {\\r\\n  box-sizing: border-box;\\r\\n}\\r\\n\\r\\n/* iPad Input Shadows */\\r\\n\\r\\ninput[type=\\\"text\\\"],\\r\\ninput[type=\\\"email\\\"],\\r\\ninput[type=\\\"search\\\"],\\r\\ninput[type=\\\"password\\\"] {\\r\\n  -webkit-appearance: none;\\r\\n  -moz-appearance: none;\\r\\n  /* mobile firefox too! */\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\\r\\n\\r\\n/**\\r\\n * Correct `block` display not defined in IE 8/9.\\r\\n */\\r\\n\\r\\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\\r\\n\\r\\n/**\\r\\n * 1. Set default font family to sans-serif.\\r\\n * 2. Prevent iOS text size adjust after orientation change, without disabling\\r\\n *    user zoom.\\r\\n */\\r\\n\\r\\nhtml {\\r\\n  font-family: sans-serif;\\r\\n  /* 1 */\\r\\n  -ms-text-size-adjust: 100%;\\r\\n  /* 2 */\\r\\n  -webkit-text-size-adjust: 100%;\\r\\n  /* 2 */\\r\\n}\\r\\n\\r\\n/**\\r\\n * Remove default margin.\\r\\n */\\r\\n\\r\\nbody {\\r\\n  margin: 0;\\r\\n}\\r\\n\\r\\n/* HTML5 display definitions\\r\\n   ========================================================================== */\\r\\n\\r\\n/**\\r\\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\\r\\n * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.\\r\\n * Correct `block` display not defined for `main` in IE 11.\\r\\n */\\r\\n\\r\\narticle,\\r\\naside,\\r\\ndetails,\\r\\nfigcaption,\\r\\nfigure,\\r\\nfooter,\\r\\nheader,\\r\\nhgroup,\\r\\nmain,\\r\\nnav,\\r\\nsection,\\r\\nsummary {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/**\\r\\n * 1. Correct `inline-block` display not defined in IE 8/9.\\r\\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\\r\\n */\\r\\n\\r\\naudio,\\r\\ncanvas,\\r\\nprogress,\\r\\nvideo {\\r\\n  display: inline-block;\\r\\n  /* 1 */\\r\\n  vertical-align: baseline;\\r\\n  /* 2 */\\r\\n}\\r\\n\\r\\n/**\\r\\n * Prevent modern browsers from displaying `audio` without controls.\\r\\n * Remove excess height in iOS 5 devices.\\r\\n */\\r\\n\\r\\naudio:not([controls]) {\\r\\n  display: none;\\r\\n  height: 0;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address `[hidden]` styling not present in IE 8/9/10.\\r\\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\\r\\n */\\r\\n\\r\\n[hidden],\\r\\ntemplate {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Links\\r\\n   ========================================================================== */\\r\\n\\r\\n/**\\r\\n * Remove the gray background color from active links in IE 10.\\r\\n */\\r\\n\\r\\na {\\r\\n  background: transparent;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Improve readability when focused and also mouse hovered in all browsers.\\r\\n */\\r\\n\\r\\na:active,\\r\\na:hover {\\r\\n  outline: 0;\\r\\n}\\r\\n\\r\\n/* Text-level semantics\\r\\n   ========================================================================== */\\r\\n\\r\\n/**\\r\\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\\r\\n */\\r\\n\\r\\nabbr[title] {\\r\\n  border-bottom: 1px dotted;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\\r\\n */\\r\\n\\r\\nb,\\r\\nstrong {\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address styling not present in Safari and Chrome.\\r\\n */\\r\\n\\r\\ndfn {\\r\\n  font-style: italic;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address variable `h1` font-size and margin within `section` and `article`\\r\\n * contexts in Firefox 4+, Safari, and Chrome.\\r\\n */\\r\\n\\r\\nh1 {\\r\\n  font-size: 2em;\\r\\n  margin: 0.67em 0;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address styling not present in IE 8/9.\\r\\n */\\r\\n\\r\\nmark {\\r\\n  background: #ff0;\\r\\n  color: #000;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address inconsistent and variable font size in all browsers.\\r\\n */\\r\\n\\r\\nsmall {\\r\\n  font-size: 80%;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\\r\\n */\\r\\n\\r\\nsub,\\r\\nsup {\\r\\n  font-size: 75%;\\r\\n  line-height: 0;\\r\\n  position: relative;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\nsup {\\r\\n  top: -0.5em;\\r\\n}\\r\\n\\r\\nsub {\\r\\n  bottom: -0.25em;\\r\\n}\\r\\n\\r\\n/* Embedded content\\r\\n   ========================================================================== */\\r\\n\\r\\n/**\\r\\n * Remove border when inside `a` element in IE 8/9/10.\\r\\n */\\r\\n\\r\\nimg {\\r\\n  border: 0;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Correct overflow not hidden in IE 9/10/11.\\r\\n */\\r\\n\\r\\nsvg:not(:root) {\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\n/* Grouping content\\r\\n   ========================================================================== */\\r\\n\\r\\n/**\\r\\n * Address margin not present in IE 8/9 and Safari.\\r\\n */\\r\\n\\r\\nfigure {\\r\\n  margin: 1em 40px;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address differences between Firefox and other browsers.\\r\\n */\\r\\n\\r\\nhr {\\r\\n  height: 0;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Contain overflow in all browsers.\\r\\n */\\r\\n\\r\\npre {\\r\\n  overflow: auto;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address odd `em`-unit font size rendering in all browsers.\\r\\n */\\r\\n\\r\\ncode,\\r\\nkbd,\\r\\npre,\\r\\nsamp {\\r\\n  font-family: monospace, monospace;\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/* Forms\\r\\n   ========================================================================== */\\r\\n\\r\\n/**\\r\\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\\r\\n * styling of `select`, unless a `border` property is set.\\r\\n */\\r\\n\\r\\n/**\\r\\n * 1. Correct color not being inherited.\\r\\n *    Known issue: affects color of disabled elements.\\r\\n * 2. Correct font properties not being inherited.\\r\\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\\r\\n */\\r\\n\\r\\nbutton,\\r\\ninput,\\r\\noptgroup,\\r\\nselect,\\r\\ntextarea {\\r\\n  color: inherit;\\r\\n  /* 1 */\\r\\n  font: inherit;\\r\\n  /* 2 */\\r\\n  margin: 0;\\r\\n  /* 3 */\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\\r\\n */\\r\\n\\r\\nbutton {\\r\\n  overflow: visible;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\\r\\n * All other form control elements do not inherit `text-transform` values.\\r\\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\\r\\n * Correct `select` style inheritance in Firefox.\\r\\n */\\r\\n\\r\\nbutton,\\r\\nselect {\\r\\n  text-transform: none;\\r\\n}\\r\\n\\r\\n/**\\r\\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\\r\\n *    and `video` controls.\\r\\n * 2. Correct inability to style clickable `input` types in iOS.\\r\\n * 3. Improve usability and consistency of cursor style between image-type\\r\\n *    `input` and others.\\r\\n */\\r\\n\\r\\nbutton,\\r\\nhtml input[type=\\\"button\\\"],\\r\\ninput[type=\\\"reset\\\"],\\r\\ninput[type=\\\"submit\\\"] {\\r\\n  -webkit-appearance: button;\\r\\n  /* 2 */\\r\\n  cursor: pointer;\\r\\n  /* 3 */\\r\\n}\\r\\n\\r\\n/**\\r\\n * Re-set default cursor for disabled elements.\\r\\n */\\r\\n\\r\\nbutton[disabled],\\r\\nhtml input[disabled] {\\r\\n  cursor: default;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Remove inner padding and border in Firefox 4+.\\r\\n */\\r\\n\\r\\nbutton::-moz-focus-inner,\\r\\ninput::-moz-focus-inner {\\r\\n  border: 0;\\r\\n  padding: 0;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\\r\\n * the UA stylesheet.\\r\\n */\\r\\n\\r\\ninput {\\r\\n  line-height: normal;\\r\\n}\\r\\n\\r\\n/**\\r\\n * It's recommended that you don't attempt to style these elements.\\r\\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\\r\\n *\\r\\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\\r\\n * 2. Remove excess padding in IE 8/9/10.\\r\\n */\\r\\n\\r\\ninput[type=\\\"checkbox\\\"],\\r\\ninput[type=\\\"radio\\\"] {\\r\\n  box-sizing: border-box;\\r\\n  /* 1 */\\r\\n  padding: 0;\\r\\n  /* 2 */\\r\\n}\\r\\n\\r\\n/**\\r\\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\\r\\n * `font-size` values of the `input`, it causes the cursor style of the\\r\\n * decrement button to change from `default` to `text`.\\r\\n */\\r\\n\\r\\ninput[type=\\\"number\\\"]::-webkit-inner-spin-button,\\r\\ninput[type=\\\"number\\\"]::-webkit-outer-spin-button {\\r\\n  height: auto;\\r\\n}\\r\\n\\r\\n/**\\r\\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\\r\\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\\r\\n *    (include `-moz` to future-proof).\\r\\n */\\r\\n\\r\\ninput[type=\\\"search\\\"] {\\r\\n  -webkit-appearance: textfield;\\r\\n  /* 1 */\\r\\n}\\r\\n\\r\\n/**\\r\\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\\r\\n * Safari (but not Chrome) clips the cancel button when the search input has\\r\\n * padding (and `textfield` appearance).\\r\\n */\\r\\n\\r\\ninput[type=\\\"search\\\"]::-webkit-search-cancel-button,\\r\\ninput[type=\\\"search\\\"]::-webkit-search-decoration {\\r\\n  -webkit-appearance: none;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Define consistent border, margin, and padding.\\r\\n */\\r\\n\\r\\nfieldset {\\r\\n  border: 1px solid #c0c0c0;\\r\\n  margin: 0 2px;\\r\\n  padding: 0.35em 0.625em 0.75em;\\r\\n}\\r\\n\\r\\n/**\\r\\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\\r\\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\\r\\n */\\r\\n\\r\\nlegend {\\r\\n  border: 0;\\r\\n  /* 1 */\\r\\n  padding: 0;\\r\\n  /* 2 */\\r\\n}\\r\\n\\r\\n/**\\r\\n * Remove default vertical scrollbar in IE 8/9/10/11.\\r\\n */\\r\\n\\r\\ntextarea {\\r\\n  overflow: auto;\\r\\n}\\r\\n\\r\\n/**\\r\\n * Don't inherit the `font-weight` (applied by a rule above).\\r\\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\\r\\n */\\r\\n\\r\\noptgroup {\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n/* Tables\\r\\n   ========================================================================== */\\r\\n\\r\\n/**\\r\\n * Remove most spacing between table cells.\\r\\n */\\r\\n\\r\\ntable {\\r\\n  border-collapse: collapse;\\r\\n  border-spacing: 0;\\r\\n}\\r\\n\\r\\ntd,\\r\\nth {\\r\\n  padding: 0;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Site\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Page\\r\\n*******************************/\\r\\n\\r\\nhtml,\\r\\nbody {\\r\\n  height: 100%;\\r\\n}\\r\\n\\r\\nhtml {\\r\\n  font-size: 14px;\\r\\n}\\r\\n\\r\\nbody {\\r\\n  margin: 0px;\\r\\n  padding: 0px;\\r\\n  overflow-x: hidden;\\r\\n  min-width: 320px;\\r\\n  background: #FFFFFF;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 14px;\\r\\n  line-height: 1.4285em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  font-smoothing: antialiased;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Headers\\r\\n*******************************/\\r\\n\\r\\nh1,\\r\\nh2,\\r\\nh3,\\r\\nh4,\\r\\nh5 {\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  line-height: 1.28571429em;\\r\\n  margin: calc(2rem -  0.14285714em ) 0em 1rem;\\r\\n  font-weight: bold;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\nh1 {\\r\\n  min-height: 1rem;\\r\\n  font-size: 2rem;\\r\\n}\\r\\n\\r\\nh2 {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\nh3 {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\nh4 {\\r\\n  font-size: 1.07142857rem;\\r\\n}\\r\\n\\r\\nh5 {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\nh1:first-child,\\r\\nh2:first-child,\\r\\nh3:first-child,\\r\\nh4:first-child,\\r\\nh5:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\nh1:last-child,\\r\\nh2:last-child,\\r\\nh3:last-child,\\r\\nh4:last-child,\\r\\nh5:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Text\\r\\n*******************************/\\r\\n\\r\\np {\\r\\n  margin: 0em 0em 1em;\\r\\n  line-height: 1.4285em;\\r\\n}\\r\\n\\r\\np:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\np:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Links\\r\\n--------------------*/\\r\\n\\r\\na {\\r\\n  color: #4183C4;\\r\\n  text-decoration: none;\\r\\n}\\r\\n\\r\\na:hover {\\r\\n  color: #1e70bf;\\r\\n  text-decoration: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Highlighting\\r\\n*******************************/\\r\\n\\r\\n/* Site */\\r\\n\\r\\n::-webkit-selection {\\r\\n  background-color: #CCE2FF;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n::-moz-selection {\\r\\n  background-color: #CCE2FF;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n::selection {\\r\\n  background-color: #CCE2FF;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Form */\\r\\n\\r\\ntextarea::-webkit-selection,\\r\\ninput::-webkit-selection {\\r\\n  background-color: rgba(100, 100, 100, 0.4);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\ntextarea::-moz-selection,\\r\\ninput::-moz-selection {\\r\\n  background-color: rgba(100, 100, 100, 0.4);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\ntextarea::selection,\\r\\ninput::selection {\\r\\n  background-color: rgba(100, 100, 100, 0.4);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n        Global Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Button\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Button\\r\\n*******************************/\\r\\n\\r\\n.ui.button {\\r\\n  cursor: pointer;\\r\\n  display: inline-block;\\r\\n  min-height: 1em;\\r\\n  outline: none;\\r\\n  border: none;\\r\\n  vertical-align: baseline;\\r\\n  background: #E0E1E2 none;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  margin: 0em 0.25em 0em 0em;\\r\\n  padding: 0.78571429em 1.5em 0.78571429em;\\r\\n  text-transform: none;\\r\\n  text-shadow: none;\\r\\n  font-weight: bold;\\r\\n  line-height: 1em;\\r\\n  font-style: normal;\\r\\n  text-align: center;\\r\\n  text-decoration: none;\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\\r\\n  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\\r\\n  will-change: '';\\r\\n  -webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Hover\\r\\n---------------*/\\r\\n\\r\\n.ui.button:hover {\\r\\n  background-color: #CACBCD;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n.ui.button:hover .icon {\\r\\n  opacity: 0.85;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Focus\\r\\n---------------*/\\r\\n\\r\\n.ui.button:focus {\\r\\n  background-color: #CACBCD;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n  background-image: '' !important;\\r\\n  box-shadow: '' !important;\\r\\n}\\r\\n\\r\\n.ui.button:focus .icon {\\r\\n  opacity: 0.85;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Down\\r\\n---------------*/\\r\\n\\r\\n.ui.button:active,\\r\\n.ui.active.button:active {\\r\\n  background-color: #BABBBC;\\r\\n  background-image: '';\\r\\n  color: rgba(0, 0, 0, 0.9);\\r\\n  box-shadow: 0px 0px 0px 1px transparent inset, none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.active.button {\\r\\n  background-color: #C0C1C2;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0px 0px 1px transparent inset;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.active.button:hover {\\r\\n  background-color: #C0C1C2;\\r\\n  background-image: none;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.active.button:active {\\r\\n  background-color: #C0C1C2;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Loading\\r\\n---------------*/\\r\\n\\r\\n/* Specificity hack */\\r\\n\\r\\n.ui.loading.loading.loading.loading.loading.loading.button {\\r\\n  position: relative;\\r\\n  cursor: default;\\r\\n  text-shadow: none !important;\\r\\n  color: transparent !important;\\r\\n  opacity: 1;\\r\\n  pointer-events: auto;\\r\\n  -webkit-transition: all 0s linear, opacity 0.1s ease;\\r\\n  transition: all 0s linear, opacity 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.loading.button:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  border-radius: 500rem;\\r\\n  border: 0.2em solid rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n\\r\\n.ui.loading.button:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  -webkit-animation: button-spin 0.6s linear;\\r\\n  animation: button-spin 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #FFFFFF transparent transparent;\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n}\\r\\n\\r\\n.ui.labeled.icon.loading.button .icon {\\r\\n  background-color: transparent;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes button-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes button-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n.ui.basic.loading.button:not(.inverted):before {\\r\\n  border-color: rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.ui.basic.loading.button:not(.inverted):after {\\r\\n  border-top-color: #767676;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Disabled\\r\\n--------------------*/\\r\\n\\r\\n.ui.buttons .disabled.button,\\r\\n.ui.disabled.button,\\r\\n.ui.button:disabled,\\r\\n.ui.disabled.button:hover,\\r\\n.ui.disabled.active.button {\\r\\n  cursor: default;\\r\\n  opacity: 0.45 !important;\\r\\n  background-image: none !important;\\r\\n  box-shadow: none !important;\\r\\n  pointer-events: none !important;\\r\\n}\\r\\n\\r\\n/* Basic Group With Disabled */\\r\\n\\r\\n.ui.basic.buttons .ui.disabled.button {\\r\\n  border-color: rgba(34, 36, 38, 0.5);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Animated\\r\\n--------------------*/\\r\\n\\r\\n.ui.animated.button {\\r\\n  position: relative;\\r\\n  overflow: hidden;\\r\\n  padding-right: 0em !important;\\r\\n  vertical-align: middle;\\r\\n  z-index: 1;\\r\\n}\\r\\n\\r\\n.ui.animated.button .content {\\r\\n  will-change: transform, opacity;\\r\\n}\\r\\n\\r\\n.ui.animated.button .visible.content {\\r\\n  position: relative;\\r\\n  margin-right: 1.5em;\\r\\n}\\r\\n\\r\\n.ui.animated.button .hidden.content {\\r\\n  position: absolute;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/* Horizontal */\\r\\n\\r\\n.ui.animated.button .visible.content,\\r\\n.ui.animated.button .hidden.content {\\r\\n  -webkit-transition: right 0.3s ease 0s;\\r\\n  transition: right 0.3s ease 0s;\\r\\n}\\r\\n\\r\\n.ui.animated.button .visible.content {\\r\\n  left: auto;\\r\\n  right: 0%;\\r\\n}\\r\\n\\r\\n.ui.animated.button .hidden.content {\\r\\n  top: 50%;\\r\\n  left: auto;\\r\\n  right: -100%;\\r\\n  margin-top: -0.5em;\\r\\n}\\r\\n\\r\\n.ui.animated.button:focus .visible.content,\\r\\n.ui.animated.button:hover .visible.content {\\r\\n  left: auto;\\r\\n  right: 200%;\\r\\n}\\r\\n\\r\\n.ui.animated.button:focus .hidden.content,\\r\\n.ui.animated.button:hover .hidden.content {\\r\\n  left: auto;\\r\\n  right: 0%;\\r\\n}\\r\\n\\r\\n/* Vertical */\\r\\n\\r\\n.ui.vertical.animated.button .visible.content,\\r\\n.ui.vertical.animated.button .hidden.content {\\r\\n  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;\\r\\n  transition: top 0.3s ease, -webkit-transform 0.3s ease;\\r\\n  transition: top 0.3s ease, transform 0.3s ease;\\r\\n  transition: top 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;\\r\\n}\\r\\n\\r\\n.ui.vertical.animated.button .visible.content {\\r\\n  -webkit-transform: translateY(0%);\\r\\n  transform: translateY(0%);\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n.ui.vertical.animated.button .hidden.content {\\r\\n  top: -50%;\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n.ui.vertical.animated.button:focus .visible.content,\\r\\n.ui.vertical.animated.button:hover .visible.content {\\r\\n  -webkit-transform: translateY(200%);\\r\\n  transform: translateY(200%);\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n.ui.vertical.animated.button:focus .hidden.content,\\r\\n.ui.vertical.animated.button:hover .hidden.content {\\r\\n  top: 50%;\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n/* Fade */\\r\\n\\r\\n.ui.fade.animated.button .visible.content,\\r\\n.ui.fade.animated.button .hidden.content {\\r\\n  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;\\r\\n  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;\\r\\n  transition: opacity 0.3s ease, transform 0.3s ease;\\r\\n  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;\\r\\n}\\r\\n\\r\\n.ui.fade.animated.button .visible.content {\\r\\n  left: auto;\\r\\n  right: auto;\\r\\n  opacity: 1;\\r\\n  -webkit-transform: scale(1);\\r\\n  transform: scale(1);\\r\\n}\\r\\n\\r\\n.ui.fade.animated.button .hidden.content {\\r\\n  opacity: 0;\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n  -webkit-transform: scale(1.5);\\r\\n  transform: scale(1.5);\\r\\n}\\r\\n\\r\\n.ui.fade.animated.button:focus .visible.content,\\r\\n.ui.fade.animated.button:hover .visible.content {\\r\\n  left: auto;\\r\\n  right: auto;\\r\\n  opacity: 0;\\r\\n  -webkit-transform: scale(0.75);\\r\\n  transform: scale(0.75);\\r\\n}\\r\\n\\r\\n.ui.fade.animated.button:focus .hidden.content,\\r\\n.ui.fade.animated.button:hover .hidden.content {\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n  opacity: 1;\\r\\n  -webkit-transform: scale(1);\\r\\n  transform: scale(1);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Inverted\\r\\n--------------------*/\\r\\n\\r\\n.ui.inverted.button {\\r\\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\\r\\n  background: transparent none;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none !important;\\r\\n}\\r\\n\\r\\n/* Group */\\r\\n\\r\\n.ui.inverted.buttons .button {\\r\\n  margin: 0px 0px 0px -2px;\\r\\n}\\r\\n\\r\\n.ui.inverted.buttons .button:first-child {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.inverted.vertical.buttons .button {\\r\\n  margin: 0px 0px -2px 0px;\\r\\n}\\r\\n\\r\\n.ui.inverted.vertical.buttons .button:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/* States */\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.inverted.button:hover {\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/* Active / Focus */\\r\\n\\r\\n.ui.inverted.button:focus,\\r\\n.ui.inverted.button.active {\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/* Active Focus */\\r\\n\\r\\n.ui.inverted.button.active:focus {\\r\\n  background: #DCDDDE;\\r\\n  box-shadow: 0px 0px 0px 2px #DCDDDE inset !important;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n    Labeled Button\\r\\n--------------------*/\\r\\n\\r\\n.ui.labeled.button:not(.icon) {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  background: none !important;\\r\\n  padding: 0px !important;\\r\\n  border: none !important;\\r\\n  box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.ui.labeled.button > .button {\\r\\n  margin: 0px;\\r\\n}\\r\\n\\r\\n.ui.labeled.button > .label {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  align-items: center;\\r\\n  margin: 0px 0px 0px -1px !important;\\r\\n  padding: '';\\r\\n  font-size: 1em;\\r\\n  border-color: rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Tag */\\r\\n\\r\\n.ui.labeled.button > .tag.label:before {\\r\\n  width: 1.85em;\\r\\n  height: 1.85em;\\r\\n}\\r\\n\\r\\n/* Right */\\r\\n\\r\\n.ui.labeled.button:not([class*=\\\"left labeled\\\"]) > .button {\\r\\n  border-top-right-radius: 0px;\\r\\n  border-bottom-right-radius: 0px;\\r\\n}\\r\\n\\r\\n.ui.labeled.button:not([class*=\\\"left labeled\\\"]) > .label {\\r\\n  border-top-left-radius: 0px;\\r\\n  border-bottom-left-radius: 0px;\\r\\n}\\r\\n\\r\\n/* Left Side */\\r\\n\\r\\n.ui[class*=\\\"left labeled\\\"].button > .button {\\r\\n  border-top-left-radius: 0px;\\r\\n  border-bottom-left-radius: 0px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left labeled\\\"].button > .label {\\r\\n  border-top-right-radius: 0px;\\r\\n  border-bottom-right-radius: 0px;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Social\\r\\n--------------------*/\\r\\n\\r\\n/* Facebook */\\r\\n\\r\\n.ui.facebook.button {\\r\\n  background-color: #3B5998;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.facebook.button:hover {\\r\\n  background-color: #304d8a;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.facebook.button:active {\\r\\n  background-color: #2d4373;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Twitter */\\r\\n\\r\\n.ui.twitter.button {\\r\\n  background-color: #55ACEE;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.twitter.button:hover {\\r\\n  background-color: #35a2f4;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.twitter.button:active {\\r\\n  background-color: #2795e9;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Google Plus */\\r\\n\\r\\n.ui.google.plus.button {\\r\\n  background-color: #DD4B39;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.google.plus.button:hover {\\r\\n  background-color: #e0321c;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.google.plus.button:active {\\r\\n  background-color: #c23321;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Linked In */\\r\\n\\r\\n.ui.linkedin.button {\\r\\n  background-color: #1F88BE;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.linkedin.button:hover {\\r\\n  background-color: #147baf;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.linkedin.button:active {\\r\\n  background-color: #186992;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* YouTube */\\r\\n\\r\\n.ui.youtube.button {\\r\\n  background-color: #CC181E;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.youtube.button:hover {\\r\\n  background-color: #bd0d13;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.youtube.button:active {\\r\\n  background-color: #9e1317;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Instagram */\\r\\n\\r\\n.ui.instagram.button {\\r\\n  background-color: #49769C;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.instagram.button:hover {\\r\\n  background-color: #3d698e;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.instagram.button:active {\\r\\n  background-color: #395c79;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Pinterest */\\r\\n\\r\\n.ui.pinterest.button {\\r\\n  background-color: #BD081C;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.pinterest.button:hover {\\r\\n  background-color: #ac0013;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.pinterest.button:active {\\r\\n  background-color: #8c0615;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* VK */\\r\\n\\r\\n.ui.vk.button {\\r\\n  background-color: #4D7198;\\r\\n  color: #FFFFFF;\\r\\n  background-image: none;\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.vk.button:hover {\\r\\n  background-color: #41648a;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.vk.button:active {\\r\\n  background-color: #3c5876;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.button > .icon:not(.button) {\\r\\n  height: 0.85714286em;\\r\\n  opacity: 0.8;\\r\\n  margin: 0em 0.42857143em 0em -0.21428571em;\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n  vertical-align: '';\\r\\n  color: '';\\r\\n}\\r\\n\\r\\n.ui.button:not(.icon) > .icon:not(.button):not(.dropdown) {\\r\\n  margin: 0em 0.42857143em 0em -0.21428571em;\\r\\n}\\r\\n\\r\\n.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) {\\r\\n  margin: 0em -0.21428571em 0em 0.42857143em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Floated\\r\\n--------------------*/\\r\\n\\r\\n.ui[class*=\\\"left floated\\\"].buttons,\\r\\n.ui[class*=\\\"left floated\\\"].button {\\r\\n  float: left;\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0.25em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right floated\\\"].buttons,\\r\\n.ui[class*=\\\"right floated\\\"].button {\\r\\n  float: right;\\r\\n  margin-right: 0em;\\r\\n  margin-left: 0.25em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Compact\\r\\n--------------------*/\\r\\n\\r\\n.ui.compact.buttons .button,\\r\\n.ui.compact.button {\\r\\n  padding: 0.58928571em 1.125em 0.58928571em;\\r\\n}\\r\\n\\r\\n.ui.compact.icon.buttons .button,\\r\\n.ui.compact.icon.button {\\r\\n  padding: 0.58928571em 0.58928571em 0.58928571em;\\r\\n}\\r\\n\\r\\n.ui.compact.labeled.icon.buttons .button,\\r\\n.ui.compact.labeled.icon.button {\\r\\n  padding: 0.58928571em 3.69642857em 0.58928571em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Sizes\\r\\n--------------------*/\\r\\n\\r\\n.ui.mini.buttons .button,\\r\\n.ui.mini.buttons .or,\\r\\n.ui.mini.button {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.buttons .button,\\r\\n.ui.tiny.buttons .or,\\r\\n.ui.tiny.button {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.buttons .button,\\r\\n.ui.small.buttons .or,\\r\\n.ui.small.button {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.buttons .button,\\r\\n.ui.buttons .or,\\r\\n.ui.button {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.buttons .button,\\r\\n.ui.large.buttons .or,\\r\\n.ui.large.button {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.buttons .button,\\r\\n.ui.big.buttons .or,\\r\\n.ui.big.button {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.buttons .button,\\r\\n.ui.huge.buttons .or,\\r\\n.ui.huge.button {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.buttons .button,\\r\\n.ui.massive.buttons .or,\\r\\n.ui.massive.button {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Icon Only\\r\\n---------------*/\\r\\n\\r\\n.ui.icon.buttons .button,\\r\\n.ui.icon.button {\\r\\n  padding: 0.78571429em 0.78571429em 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.icon.buttons .button > .icon,\\r\\n.ui.icon.button > .icon {\\r\\n  opacity: 0.9;\\r\\n  margin: 0em !important;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Basic\\r\\n--------------------*/\\r\\n\\r\\n.ui.basic.buttons .button,\\r\\n.ui.basic.button {\\r\\n  background: transparent none !important;\\r\\n  color: rgba(0, 0, 0, 0.6) !important;\\r\\n  font-weight: normal;\\r\\n  border-radius: 0.28571429rem;\\r\\n  text-transform: none;\\r\\n  text-shadow: none !important;\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons {\\r\\n  box-shadow: none;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .button {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .button:hover,\\r\\n.ui.basic.button:hover {\\r\\n  background: #FFFFFF !important;\\r\\n  color: rgba(0, 0, 0, 0.8) !important;\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .button:focus,\\r\\n.ui.basic.button:focus {\\r\\n  background: #FFFFFF !important;\\r\\n  color: rgba(0, 0, 0, 0.8) !important;\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .button:active,\\r\\n.ui.basic.button:active {\\r\\n  background: #F8F8F8 !important;\\r\\n  color: rgba(0, 0, 0, 0.9) !important;\\r\\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .active.button,\\r\\n.ui.basic.active.button {\\r\\n  background: rgba(0, 0, 0, 0.05) !important;\\r\\n  box-shadow: '' !important;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .active.button:hover,\\r\\n.ui.basic.active.button:hover {\\r\\n  background-color: rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n/* Vertical */\\r\\n\\r\\n.ui.basic.buttons .button:hover {\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .button:active {\\r\\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset;\\r\\n}\\r\\n\\r\\n.ui.basic.buttons .active.button {\\r\\n  box-shadow: '' !important;\\r\\n}\\r\\n\\r\\n/* Standard Basic Inverted */\\r\\n\\r\\n.ui.basic.inverted.buttons .button,\\r\\n.ui.basic.inverted.button {\\r\\n  background-color: transparent !important;\\r\\n  color: #F9FAFB !important;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n}\\r\\n\\r\\n.ui.basic.inverted.buttons .button:hover,\\r\\n.ui.basic.inverted.button:hover {\\r\\n  color: #FFFFFF !important;\\r\\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\\r\\n}\\r\\n\\r\\n.ui.basic.inverted.buttons .button:focus,\\r\\n.ui.basic.inverted.button:focus {\\r\\n  color: #FFFFFF !important;\\r\\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\\r\\n}\\r\\n\\r\\n.ui.basic.inverted.buttons .button:active,\\r\\n.ui.basic.inverted.button:active {\\r\\n  background-color: rgba(255, 255, 255, 0.08) !important;\\r\\n  color: #FFFFFF !important;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important;\\r\\n}\\r\\n\\r\\n.ui.basic.inverted.buttons .active.button,\\r\\n.ui.basic.inverted.active.button {\\r\\n  background-color: rgba(255, 255, 255, 0.08);\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset;\\r\\n}\\r\\n\\r\\n.ui.basic.inverted.buttons .active.button:hover,\\r\\n.ui.basic.inverted.active.button:hover {\\r\\n  background-color: rgba(255, 255, 255, 0.15);\\r\\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\\r\\n}\\r\\n\\r\\n/* Basic Group */\\r\\n\\r\\n.ui.basic.buttons .button {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.basic.vertical.buttons .button {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.basic.vertical.buttons .button {\\r\\n  border-left-width: 0px;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.basic.vertical.buttons .button:first-child {\\r\\n  border-top-width: 0px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Labeled Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.labeled.icon.buttons .button,\\r\\n.ui.labeled.icon.button {\\r\\n  position: relative;\\r\\n  padding-left: 4.07142857em !important;\\r\\n  padding-right: 1.5em !important;\\r\\n}\\r\\n\\r\\n/* Left Labeled */\\r\\n\\r\\n.ui.labeled.icon.buttons > .button > .icon,\\r\\n.ui.labeled.icon.button > .icon {\\r\\n  position: absolute;\\r\\n  height: 100%;\\r\\n  line-height: 1;\\r\\n  border-radius: 0px;\\r\\n  border-top-left-radius: inherit;\\r\\n  border-bottom-left-radius: inherit;\\r\\n  text-align: center;\\r\\n  margin: 0em;\\r\\n  width: 2.57142857em;\\r\\n  background-color: rgba(0, 0, 0, 0.05);\\r\\n  color: '';\\r\\n  box-shadow: -1px 0px 0px 0px transparent inset;\\r\\n}\\r\\n\\r\\n/* Left Labeled */\\r\\n\\r\\n.ui.labeled.icon.buttons > .button > .icon,\\r\\n.ui.labeled.icon.button > .icon {\\r\\n  top: 0em;\\r\\n  left: 0em;\\r\\n}\\r\\n\\r\\n/* Right Labeled */\\r\\n\\r\\n.ui[class*=\\\"right labeled\\\"].icon.button {\\r\\n  padding-right: 4.07142857em !important;\\r\\n  padding-left: 1.5em !important;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right labeled\\\"].icon.button > .icon {\\r\\n  left: auto;\\r\\n  right: 0em;\\r\\n  border-radius: 0px;\\r\\n  border-top-right-radius: inherit;\\r\\n  border-bottom-right-radius: inherit;\\r\\n  box-shadow: 1px 0px 0px 0px transparent inset;\\r\\n}\\r\\n\\r\\n.ui.labeled.icon.buttons > .button > .icon:before,\\r\\n.ui.labeled.icon.button > .icon:before,\\r\\n.ui.labeled.icon.buttons > .button > .icon:after,\\r\\n.ui.labeled.icon.button > .icon:after {\\r\\n  display: block;\\r\\n  position: absolute;\\r\\n  width: 100%;\\r\\n  top: 50%;\\r\\n  text-align: center;\\r\\n  -webkit-transform: translateY(-50%);\\r\\n  transform: translateY(-50%);\\r\\n}\\r\\n\\r\\n.ui.labeled.icon.buttons .button > .icon {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.labeled.icon.buttons .button:first-child > .icon {\\r\\n  border-top-left-radius: 0.28571429rem;\\r\\n  border-bottom-left-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.labeled.icon.buttons .button:last-child > .icon {\\r\\n  border-top-right-radius: 0.28571429rem;\\r\\n  border-bottom-right-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.labeled.icon.buttons .button:first-child > .icon {\\r\\n  border-radius: 0em;\\r\\n  border-top-left-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.labeled.icon.buttons .button:last-child > .icon {\\r\\n  border-radius: 0em;\\r\\n  border-bottom-left-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Fluid Labeled */\\r\\n\\r\\n.ui.fluid[class*=\\\"left labeled\\\"].icon.button,\\r\\n.ui.fluid[class*=\\\"right labeled\\\"].icon.button {\\r\\n  padding-left: 1.5em !important;\\r\\n  padding-right: 1.5em !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Toggle\\r\\n---------------*/\\r\\n\\r\\n/* Toggle (Modifies active state to give affordances) */\\r\\n\\r\\n.ui.toggle.buttons .active.button,\\r\\n.ui.buttons .button.toggle.active,\\r\\n.ui.button.toggle.active {\\r\\n  background-color: #21BA45 !important;\\r\\n  box-shadow: none !important;\\r\\n  text-shadow: none;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.button.toggle.active:hover {\\r\\n  background-color: #16ab39 !important;\\r\\n  text-shadow: none;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Circular\\r\\n---------------*/\\r\\n\\r\\n.ui.circular.button {\\r\\n  border-radius: 10em;\\r\\n}\\r\\n\\r\\n.ui.circular.button > .icon {\\r\\n  width: 1em;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Or Buttons\\r\\n--------------------*/\\r\\n\\r\\n.ui.buttons .or {\\r\\n  position: relative;\\r\\n  width: 0.3em;\\r\\n  height: 2.57142857em;\\r\\n  z-index: 3;\\r\\n}\\r\\n\\r\\n.ui.buttons .or:before {\\r\\n  position: absolute;\\r\\n  text-align: center;\\r\\n  border-radius: 500rem;\\r\\n  content: 'or';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  background-color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  margin-top: -0.89285714em;\\r\\n  margin-left: -0.89285714em;\\r\\n  width: 1.78571429em;\\r\\n  height: 1.78571429em;\\r\\n  line-height: 1.78571429em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  font-style: normal;\\r\\n  font-weight: bold;\\r\\n  box-shadow: 0px 0px 0px 1px transparent inset;\\r\\n}\\r\\n\\r\\n.ui.buttons .or[data-text]:before {\\r\\n  content: attr(data-text);\\r\\n}\\r\\n\\r\\n/* Fluid Or */\\r\\n\\r\\n.ui.fluid.buttons .or {\\r\\n  width: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.fluid.buttons .or:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Attached\\r\\n--------------------*/\\r\\n\\r\\n/* Singular */\\r\\n\\r\\n.ui.attached.button {\\r\\n  position: relative;\\r\\n  display: block;\\r\\n  margin: 0em;\\r\\n  border-radius: 0em;\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;\\r\\n}\\r\\n\\r\\n/* Top / Bottom */\\r\\n\\r\\n.ui.attached.top.button {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.attached.bottom.button {\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Left / Right */\\r\\n\\r\\n.ui.left.attached.button {\\r\\n  display: inline-block;\\r\\n  border-left: none;\\r\\n  text-align: right;\\r\\n  padding-right: 0.75em;\\r\\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.right.attached.button {\\r\\n  display: inline-block;\\r\\n  text-align: left;\\r\\n  padding-left: 0.75em;\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n/* Plural */\\r\\n\\r\\n.ui.attached.buttons {\\r\\n  position: relative;\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  border-radius: 0em;\\r\\n  width: auto !important;\\r\\n  z-index: 2;\\r\\n  margin-left: -1px;\\r\\n  margin-right: -1px;\\r\\n}\\r\\n\\r\\n.ui.attached.buttons .button {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui.attached.buttons .button:first-child {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.attached.buttons .button:last-child {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n/* Top / Bottom */\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].buttons {\\r\\n  margin-bottom: -1px;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].buttons .button:first-child {\\r\\n  border-radius: 0.28571429rem 0em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].buttons .button:last-child {\\r\\n  border-radius: 0em 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].buttons {\\r\\n  margin-top: -1px;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].buttons .button:first-child {\\r\\n  border-radius: 0em 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].buttons .button:last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n/* Left / Right */\\r\\n\\r\\n.ui[class*=\\\"left attached\\\"].buttons {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  margin-right: 0em;\\r\\n  margin-left: -1px;\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left attached\\\"].buttons .button:first-child {\\r\\n  margin-left: -1px;\\r\\n  border-radius: 0em 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left attached\\\"].buttons .button:last-child {\\r\\n  margin-left: -1px;\\r\\n  border-radius: 0em 0em 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right attached\\\"].buttons {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  margin-left: 0em;\\r\\n  margin-right: -1px;\\r\\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right attached\\\"].buttons .button:first-child {\\r\\n  margin-left: -1px;\\r\\n  border-radius: 0.28571429rem 0em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right attached\\\"].buttons .button:last-child {\\r\\n  margin-left: -1px;\\r\\n  border-radius: 0em 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Fluid\\r\\n--------------------*/\\r\\n\\r\\n.ui.fluid.buttons,\\r\\n.ui.fluid.button {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.fluid.button {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.two.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.two.buttons > .button {\\r\\n  width: 50%;\\r\\n}\\r\\n\\r\\n.ui.three.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.three.buttons > .button {\\r\\n  width: 33.333%;\\r\\n}\\r\\n\\r\\n.ui.four.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.four.buttons > .button {\\r\\n  width: 25%;\\r\\n}\\r\\n\\r\\n.ui.five.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.five.buttons > .button {\\r\\n  width: 20%;\\r\\n}\\r\\n\\r\\n.ui.six.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.six.buttons > .button {\\r\\n  width: 16.666%;\\r\\n}\\r\\n\\r\\n.ui.seven.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.seven.buttons > .button {\\r\\n  width: 14.285%;\\r\\n}\\r\\n\\r\\n.ui.eight.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.eight.buttons > .button {\\r\\n  width: 12.500%;\\r\\n}\\r\\n\\r\\n.ui.nine.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.nine.buttons > .button {\\r\\n  width: 11.11%;\\r\\n}\\r\\n\\r\\n.ui.ten.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.ten.buttons > .button {\\r\\n  width: 10%;\\r\\n}\\r\\n\\r\\n.ui.eleven.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.eleven.buttons > .button {\\r\\n  width: 9.09%;\\r\\n}\\r\\n\\r\\n.ui.twelve.buttons {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.twelve.buttons > .button {\\r\\n  width: 8.3333%;\\r\\n}\\r\\n\\r\\n/* Fluid Vertical Buttons */\\r\\n\\r\\n.ui.fluid.vertical.buttons,\\r\\n.ui.fluid.vertical.buttons > .button {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n.ui.two.vertical.buttons > .button {\\r\\n  height: 50%;\\r\\n}\\r\\n\\r\\n.ui.three.vertical.buttons > .button {\\r\\n  height: 33.333%;\\r\\n}\\r\\n\\r\\n.ui.four.vertical.buttons > .button {\\r\\n  height: 25%;\\r\\n}\\r\\n\\r\\n.ui.five.vertical.buttons > .button {\\r\\n  height: 20%;\\r\\n}\\r\\n\\r\\n.ui.six.vertical.buttons > .button {\\r\\n  height: 16.666%;\\r\\n}\\r\\n\\r\\n.ui.seven.vertical.buttons > .button {\\r\\n  height: 14.285%;\\r\\n}\\r\\n\\r\\n.ui.eight.vertical.buttons > .button {\\r\\n  height: 12.500%;\\r\\n}\\r\\n\\r\\n.ui.nine.vertical.buttons > .button {\\r\\n  height: 11.11%;\\r\\n}\\r\\n\\r\\n.ui.ten.vertical.buttons > .button {\\r\\n  height: 10%;\\r\\n}\\r\\n\\r\\n.ui.eleven.vertical.buttons > .button {\\r\\n  height: 9.09%;\\r\\n}\\r\\n\\r\\n.ui.twelve.vertical.buttons > .button {\\r\\n  height: 8.3333%;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Colors\\r\\n--------------------*/\\r\\n\\r\\n/*--- Black ---*/\\r\\n\\r\\n.ui.black.buttons .button,\\r\\n.ui.black.button {\\r\\n  background-color: #1B1C1D;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.black.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.black.buttons .button:hover,\\r\\n.ui.black.button:hover {\\r\\n  background-color: #27292a;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.black.buttons .button:focus,\\r\\n.ui.black.button:focus {\\r\\n  background-color: #2f3032;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.black.buttons .button:active,\\r\\n.ui.black.button:active {\\r\\n  background-color: #343637;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.black.buttons .active.button,\\r\\n.ui.black.buttons .active.button:active,\\r\\n.ui.black.active.button,\\r\\n.ui.black.button .active.button:active {\\r\\n  background-color: #0f0f10;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.black.buttons .button,\\r\\n.ui.basic.black.button {\\r\\n  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;\\r\\n  color: #1B1C1D !important;\\r\\n}\\r\\n\\r\\n.ui.basic.black.buttons .button:hover,\\r\\n.ui.basic.black.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #27292a inset !important;\\r\\n  color: #27292a !important;\\r\\n}\\r\\n\\r\\n.ui.basic.black.buttons .button:focus,\\r\\n.ui.basic.black.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #2f3032 inset !important;\\r\\n  color: #27292a !important;\\r\\n}\\r\\n\\r\\n.ui.basic.black.buttons .active.button,\\r\\n.ui.basic.black.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;\\r\\n  color: #343637 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.black.buttons .button:active,\\r\\n.ui.basic.black.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #343637 inset !important;\\r\\n  color: #343637 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.black.buttons .button,\\r\\n.ui.inverted.black.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.buttons .button:hover,\\r\\n.ui.inverted.black.button:hover,\\r\\n.ui.inverted.black.buttons .button:focus,\\r\\n.ui.inverted.black.button:focus,\\r\\n.ui.inverted.black.buttons .button.active,\\r\\n.ui.inverted.black.button.active,\\r\\n.ui.inverted.black.buttons .button:active,\\r\\n.ui.inverted.black.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.buttons .button:hover,\\r\\n.ui.inverted.black.button:hover {\\r\\n  background-color: #000000;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.buttons .button:focus,\\r\\n.ui.inverted.black.button:focus {\\r\\n  background-color: #000000;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.buttons .active.button,\\r\\n.ui.inverted.black.active.button {\\r\\n  background-color: #000000;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.buttons .button:active,\\r\\n.ui.inverted.black.button:active {\\r\\n  background-color: #000000;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.black.basic.buttons .button,\\r\\n.ui.inverted.black.buttons .basic.button,\\r\\n.ui.inverted.black.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.basic.buttons .button:hover,\\r\\n.ui.inverted.black.buttons .basic.button:hover,\\r\\n.ui.inverted.black.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.basic.buttons .button:focus,\\r\\n.ui.inverted.black.basic.buttons .button:focus,\\r\\n.ui.inverted.black.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\\r\\n  color: #545454 !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.basic.buttons .active.button,\\r\\n.ui.inverted.black.buttons .basic.active.button,\\r\\n.ui.inverted.black.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.basic.buttons .button:active,\\r\\n.ui.inverted.black.buttons .basic.button:active,\\r\\n.ui.inverted.black.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/*--- Grey ---*/\\r\\n\\r\\n.ui.grey.buttons .button,\\r\\n.ui.grey.button {\\r\\n  background-color: #767676;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.grey.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.grey.buttons .button:hover,\\r\\n.ui.grey.button:hover {\\r\\n  background-color: #838383;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.grey.buttons .button:focus,\\r\\n.ui.grey.button:focus {\\r\\n  background-color: #8a8a8a;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.grey.buttons .button:active,\\r\\n.ui.grey.button:active {\\r\\n  background-color: #909090;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.grey.buttons .active.button,\\r\\n.ui.grey.buttons .active.button:active,\\r\\n.ui.grey.active.button,\\r\\n.ui.grey.button .active.button:active {\\r\\n  background-color: #696969;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.grey.buttons .button,\\r\\n.ui.basic.grey.button {\\r\\n  box-shadow: 0px 0px 0px 1px #767676 inset !important;\\r\\n  color: #767676 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.grey.buttons .button:hover,\\r\\n.ui.basic.grey.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #838383 inset !important;\\r\\n  color: #838383 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.grey.buttons .button:focus,\\r\\n.ui.basic.grey.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #8a8a8a inset !important;\\r\\n  color: #838383 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.grey.buttons .active.button,\\r\\n.ui.basic.grey.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #696969 inset !important;\\r\\n  color: #909090 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.grey.buttons .button:active,\\r\\n.ui.basic.grey.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #909090 inset !important;\\r\\n  color: #909090 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.grey.buttons .button,\\r\\n.ui.inverted.grey.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.buttons .button:hover,\\r\\n.ui.inverted.grey.button:hover,\\r\\n.ui.inverted.grey.buttons .button:focus,\\r\\n.ui.inverted.grey.button:focus,\\r\\n.ui.inverted.grey.buttons .button.active,\\r\\n.ui.inverted.grey.button.active,\\r\\n.ui.inverted.grey.buttons .button:active,\\r\\n.ui.inverted.grey.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.buttons .button:hover,\\r\\n.ui.inverted.grey.button:hover {\\r\\n  background-color: #cfd0d2;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.buttons .button:focus,\\r\\n.ui.inverted.grey.button:focus {\\r\\n  background-color: #c7c9cb;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.buttons .active.button,\\r\\n.ui.inverted.grey.active.button {\\r\\n  background-color: #cfd0d2;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.buttons .button:active,\\r\\n.ui.inverted.grey.button:active {\\r\\n  background-color: #c2c4c5;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.grey.basic.buttons .button,\\r\\n.ui.inverted.grey.buttons .basic.button,\\r\\n.ui.inverted.grey.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.basic.buttons .button:hover,\\r\\n.ui.inverted.grey.buttons .basic.button:hover,\\r\\n.ui.inverted.grey.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.basic.buttons .button:focus,\\r\\n.ui.inverted.grey.basic.buttons .button:focus,\\r\\n.ui.inverted.grey.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #c7c9cb inset !important;\\r\\n  color: #DCDDDE !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.basic.buttons .active.button,\\r\\n.ui.inverted.grey.buttons .basic.active.button,\\r\\n.ui.inverted.grey.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.basic.buttons .button:active,\\r\\n.ui.inverted.grey.buttons .basic.button:active,\\r\\n.ui.inverted.grey.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/*--- Brown ---*/\\r\\n\\r\\n.ui.brown.buttons .button,\\r\\n.ui.brown.button {\\r\\n  background-color: #A5673F;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.brown.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.brown.buttons .button:hover,\\r\\n.ui.brown.button:hover {\\r\\n  background-color: #975b33;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.brown.buttons .button:focus,\\r\\n.ui.brown.button:focus {\\r\\n  background-color: #90532b;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.brown.buttons .button:active,\\r\\n.ui.brown.button:active {\\r\\n  background-color: #805031;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.brown.buttons .active.button,\\r\\n.ui.brown.buttons .active.button:active,\\r\\n.ui.brown.active.button,\\r\\n.ui.brown.button .active.button:active {\\r\\n  background-color: #995a31;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.brown.buttons .button,\\r\\n.ui.basic.brown.button {\\r\\n  box-shadow: 0px 0px 0px 1px #A5673F inset !important;\\r\\n  color: #A5673F !important;\\r\\n}\\r\\n\\r\\n.ui.basic.brown.buttons .button:hover,\\r\\n.ui.basic.brown.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #975b33 inset !important;\\r\\n  color: #975b33 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.brown.buttons .button:focus,\\r\\n.ui.basic.brown.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #90532b inset !important;\\r\\n  color: #975b33 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.brown.buttons .active.button,\\r\\n.ui.basic.brown.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #995a31 inset !important;\\r\\n  color: #805031 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.brown.buttons .button:active,\\r\\n.ui.basic.brown.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #805031 inset !important;\\r\\n  color: #805031 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.brown.buttons .button,\\r\\n.ui.inverted.brown.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #D67C1C inset !important;\\r\\n  color: #D67C1C;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.buttons .button:hover,\\r\\n.ui.inverted.brown.button:hover,\\r\\n.ui.inverted.brown.buttons .button:focus,\\r\\n.ui.inverted.brown.button:focus,\\r\\n.ui.inverted.brown.buttons .button.active,\\r\\n.ui.inverted.brown.button.active,\\r\\n.ui.inverted.brown.buttons .button:active,\\r\\n.ui.inverted.brown.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.buttons .button:hover,\\r\\n.ui.inverted.brown.button:hover {\\r\\n  background-color: #c86f11;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.buttons .button:focus,\\r\\n.ui.inverted.brown.button:focus {\\r\\n  background-color: #c16808;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.buttons .active.button,\\r\\n.ui.inverted.brown.active.button {\\r\\n  background-color: #cc6f0d;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.buttons .button:active,\\r\\n.ui.inverted.brown.button:active {\\r\\n  background-color: #a96216;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.brown.basic.buttons .button,\\r\\n.ui.inverted.brown.buttons .basic.button,\\r\\n.ui.inverted.brown.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.basic.buttons .button:hover,\\r\\n.ui.inverted.brown.buttons .basic.button:hover,\\r\\n.ui.inverted.brown.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #c86f11 inset !important;\\r\\n  color: #D67C1C !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.basic.buttons .button:focus,\\r\\n.ui.inverted.brown.basic.buttons .button:focus,\\r\\n.ui.inverted.brown.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #c16808 inset !important;\\r\\n  color: #D67C1C !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.basic.buttons .active.button,\\r\\n.ui.inverted.brown.buttons .basic.active.button,\\r\\n.ui.inverted.brown.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #cc6f0d inset !important;\\r\\n  color: #D67C1C !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.basic.buttons .button:active,\\r\\n.ui.inverted.brown.buttons .basic.button:active,\\r\\n.ui.inverted.brown.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #a96216 inset !important;\\r\\n  color: #D67C1C !important;\\r\\n}\\r\\n\\r\\n/*--- Blue ---*/\\r\\n\\r\\n.ui.blue.buttons .button,\\r\\n.ui.blue.button {\\r\\n  background-color: #2185D0;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.blue.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.blue.buttons .button:hover,\\r\\n.ui.blue.button:hover {\\r\\n  background-color: #1678c2;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.blue.buttons .button:focus,\\r\\n.ui.blue.button:focus {\\r\\n  background-color: #0d71bb;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.blue.buttons .button:active,\\r\\n.ui.blue.button:active {\\r\\n  background-color: #1a69a4;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.blue.buttons .active.button,\\r\\n.ui.blue.buttons .active.button:active,\\r\\n.ui.blue.active.button,\\r\\n.ui.blue.button .active.button:active {\\r\\n  background-color: #1279c6;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.blue.buttons .button,\\r\\n.ui.basic.blue.button {\\r\\n  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;\\r\\n  color: #2185D0 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.blue.buttons .button:hover,\\r\\n.ui.basic.blue.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;\\r\\n  color: #1678c2 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.blue.buttons .button:focus,\\r\\n.ui.basic.blue.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;\\r\\n  color: #1678c2 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.blue.buttons .active.button,\\r\\n.ui.basic.blue.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;\\r\\n  color: #1a69a4 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.blue.buttons .button:active,\\r\\n.ui.basic.blue.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;\\r\\n  color: #1a69a4 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.blue.buttons .button,\\r\\n.ui.inverted.blue.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #54C8FF inset !important;\\r\\n  color: #54C8FF;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.buttons .button:hover,\\r\\n.ui.inverted.blue.button:hover,\\r\\n.ui.inverted.blue.buttons .button:focus,\\r\\n.ui.inverted.blue.button:focus,\\r\\n.ui.inverted.blue.buttons .button.active,\\r\\n.ui.inverted.blue.button.active,\\r\\n.ui.inverted.blue.buttons .button:active,\\r\\n.ui.inverted.blue.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.buttons .button:hover,\\r\\n.ui.inverted.blue.button:hover {\\r\\n  background-color: #3ac0ff;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.buttons .button:focus,\\r\\n.ui.inverted.blue.button:focus {\\r\\n  background-color: #2bbbff;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.buttons .active.button,\\r\\n.ui.inverted.blue.active.button {\\r\\n  background-color: #3ac0ff;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.buttons .button:active,\\r\\n.ui.inverted.blue.button:active {\\r\\n  background-color: #21b8ff;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.blue.basic.buttons .button,\\r\\n.ui.inverted.blue.buttons .basic.button,\\r\\n.ui.inverted.blue.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.basic.buttons .button:hover,\\r\\n.ui.inverted.blue.buttons .basic.button:hover,\\r\\n.ui.inverted.blue.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\\r\\n  color: #54C8FF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.basic.buttons .button:focus,\\r\\n.ui.inverted.blue.basic.buttons .button:focus,\\r\\n.ui.inverted.blue.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #2bbbff inset !important;\\r\\n  color: #54C8FF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.basic.buttons .active.button,\\r\\n.ui.inverted.blue.buttons .basic.active.button,\\r\\n.ui.inverted.blue.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\\r\\n  color: #54C8FF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.basic.buttons .button:active,\\r\\n.ui.inverted.blue.buttons .basic.button:active,\\r\\n.ui.inverted.blue.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #21b8ff inset !important;\\r\\n  color: #54C8FF !important;\\r\\n}\\r\\n\\r\\n/*--- Green ---*/\\r\\n\\r\\n.ui.green.buttons .button,\\r\\n.ui.green.button {\\r\\n  background-color: #21BA45;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.green.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.green.buttons .button:hover,\\r\\n.ui.green.button:hover {\\r\\n  background-color: #16ab39;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.green.buttons .button:focus,\\r\\n.ui.green.button:focus {\\r\\n  background-color: #0ea432;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.green.buttons .button:active,\\r\\n.ui.green.button:active {\\r\\n  background-color: #198f35;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.green.buttons .active.button,\\r\\n.ui.green.buttons .active.button:active,\\r\\n.ui.green.active.button,\\r\\n.ui.green.button .active.button:active {\\r\\n  background-color: #13ae38;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.green.buttons .button,\\r\\n.ui.basic.green.button {\\r\\n  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;\\r\\n  color: #21BA45 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.green.buttons .button:hover,\\r\\n.ui.basic.green.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;\\r\\n  color: #16ab39 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.green.buttons .button:focus,\\r\\n.ui.basic.green.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;\\r\\n  color: #16ab39 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.green.buttons .active.button,\\r\\n.ui.basic.green.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;\\r\\n  color: #198f35 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.green.buttons .button:active,\\r\\n.ui.basic.green.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #198f35 inset !important;\\r\\n  color: #198f35 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.green.buttons .button,\\r\\n.ui.inverted.green.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #2ECC40 inset !important;\\r\\n  color: #2ECC40;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.buttons .button:hover,\\r\\n.ui.inverted.green.button:hover,\\r\\n.ui.inverted.green.buttons .button:focus,\\r\\n.ui.inverted.green.button:focus,\\r\\n.ui.inverted.green.buttons .button.active,\\r\\n.ui.inverted.green.button.active,\\r\\n.ui.inverted.green.buttons .button:active,\\r\\n.ui.inverted.green.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.buttons .button:hover,\\r\\n.ui.inverted.green.button:hover {\\r\\n  background-color: #22be34;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.buttons .button:focus,\\r\\n.ui.inverted.green.button:focus {\\r\\n  background-color: #19b82b;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.buttons .active.button,\\r\\n.ui.inverted.green.active.button {\\r\\n  background-color: #1fc231;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.buttons .button:active,\\r\\n.ui.inverted.green.button:active {\\r\\n  background-color: #25a233;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.green.basic.buttons .button,\\r\\n.ui.inverted.green.buttons .basic.button,\\r\\n.ui.inverted.green.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.basic.buttons .button:hover,\\r\\n.ui.inverted.green.buttons .basic.button:hover,\\r\\n.ui.inverted.green.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #22be34 inset !important;\\r\\n  color: #2ECC40 !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.basic.buttons .button:focus,\\r\\n.ui.inverted.green.basic.buttons .button:focus,\\r\\n.ui.inverted.green.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #19b82b inset !important;\\r\\n  color: #2ECC40 !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.basic.buttons .active.button,\\r\\n.ui.inverted.green.buttons .basic.active.button,\\r\\n.ui.inverted.green.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #1fc231 inset !important;\\r\\n  color: #2ECC40 !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.basic.buttons .button:active,\\r\\n.ui.inverted.green.buttons .basic.button:active,\\r\\n.ui.inverted.green.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #25a233 inset !important;\\r\\n  color: #2ECC40 !important;\\r\\n}\\r\\n\\r\\n/*--- Orange ---*/\\r\\n\\r\\n.ui.orange.buttons .button,\\r\\n.ui.orange.button {\\r\\n  background-color: #F2711C;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.orange.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.orange.buttons .button:hover,\\r\\n.ui.orange.button:hover {\\r\\n  background-color: #f26202;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.orange.buttons .button:focus,\\r\\n.ui.orange.button:focus {\\r\\n  background-color: #e55b00;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.orange.buttons .button:active,\\r\\n.ui.orange.button:active {\\r\\n  background-color: #cf590c;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.orange.buttons .active.button,\\r\\n.ui.orange.buttons .active.button:active,\\r\\n.ui.orange.active.button,\\r\\n.ui.orange.button .active.button:active {\\r\\n  background-color: #f56100;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.orange.buttons .button,\\r\\n.ui.basic.orange.button {\\r\\n  box-shadow: 0px 0px 0px 1px #F2711C inset !important;\\r\\n  color: #F2711C !important;\\r\\n}\\r\\n\\r\\n.ui.basic.orange.buttons .button:hover,\\r\\n.ui.basic.orange.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #f26202 inset !important;\\r\\n  color: #f26202 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.orange.buttons .button:focus,\\r\\n.ui.basic.orange.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #e55b00 inset !important;\\r\\n  color: #f26202 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.orange.buttons .active.button,\\r\\n.ui.basic.orange.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #f56100 inset !important;\\r\\n  color: #cf590c !important;\\r\\n}\\r\\n\\r\\n.ui.basic.orange.buttons .button:active,\\r\\n.ui.basic.orange.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #cf590c inset !important;\\r\\n  color: #cf590c !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.orange.buttons .button,\\r\\n.ui.inverted.orange.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #FF851B inset !important;\\r\\n  color: #FF851B;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.buttons .button:hover,\\r\\n.ui.inverted.orange.button:hover,\\r\\n.ui.inverted.orange.buttons .button:focus,\\r\\n.ui.inverted.orange.button:focus,\\r\\n.ui.inverted.orange.buttons .button.active,\\r\\n.ui.inverted.orange.button.active,\\r\\n.ui.inverted.orange.buttons .button:active,\\r\\n.ui.inverted.orange.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.buttons .button:hover,\\r\\n.ui.inverted.orange.button:hover {\\r\\n  background-color: #ff7701;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.buttons .button:focus,\\r\\n.ui.inverted.orange.button:focus {\\r\\n  background-color: #f17000;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.buttons .active.button,\\r\\n.ui.inverted.orange.active.button {\\r\\n  background-color: #ff7701;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.buttons .button:active,\\r\\n.ui.inverted.orange.button:active {\\r\\n  background-color: #e76b00;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.orange.basic.buttons .button,\\r\\n.ui.inverted.orange.buttons .basic.button,\\r\\n.ui.inverted.orange.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.basic.buttons .button:hover,\\r\\n.ui.inverted.orange.buttons .basic.button:hover,\\r\\n.ui.inverted.orange.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\\r\\n  color: #FF851B !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.basic.buttons .button:focus,\\r\\n.ui.inverted.orange.basic.buttons .button:focus,\\r\\n.ui.inverted.orange.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #f17000 inset !important;\\r\\n  color: #FF851B !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.basic.buttons .active.button,\\r\\n.ui.inverted.orange.buttons .basic.active.button,\\r\\n.ui.inverted.orange.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\\r\\n  color: #FF851B !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.basic.buttons .button:active,\\r\\n.ui.inverted.orange.buttons .basic.button:active,\\r\\n.ui.inverted.orange.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #e76b00 inset !important;\\r\\n  color: #FF851B !important;\\r\\n}\\r\\n\\r\\n/*--- Pink ---*/\\r\\n\\r\\n.ui.pink.buttons .button,\\r\\n.ui.pink.button {\\r\\n  background-color: #E03997;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.pink.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.pink.buttons .button:hover,\\r\\n.ui.pink.button:hover {\\r\\n  background-color: #e61a8d;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.pink.buttons .button:focus,\\r\\n.ui.pink.button:focus {\\r\\n  background-color: #e10f85;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.pink.buttons .button:active,\\r\\n.ui.pink.button:active {\\r\\n  background-color: #c71f7e;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.pink.buttons .active.button,\\r\\n.ui.pink.buttons .active.button:active,\\r\\n.ui.pink.active.button,\\r\\n.ui.pink.button .active.button:active {\\r\\n  background-color: #ea158d;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.pink.buttons .button,\\r\\n.ui.basic.pink.button {\\r\\n  box-shadow: 0px 0px 0px 1px #E03997 inset !important;\\r\\n  color: #E03997 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.pink.buttons .button:hover,\\r\\n.ui.basic.pink.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #e61a8d inset !important;\\r\\n  color: #e61a8d !important;\\r\\n}\\r\\n\\r\\n.ui.basic.pink.buttons .button:focus,\\r\\n.ui.basic.pink.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #e10f85 inset !important;\\r\\n  color: #e61a8d !important;\\r\\n}\\r\\n\\r\\n.ui.basic.pink.buttons .active.button,\\r\\n.ui.basic.pink.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #ea158d inset !important;\\r\\n  color: #c71f7e !important;\\r\\n}\\r\\n\\r\\n.ui.basic.pink.buttons .button:active,\\r\\n.ui.basic.pink.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #c71f7e inset !important;\\r\\n  color: #c71f7e !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.pink.buttons .button,\\r\\n.ui.inverted.pink.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #FF8EDF inset !important;\\r\\n  color: #FF8EDF;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.buttons .button:hover,\\r\\n.ui.inverted.pink.button:hover,\\r\\n.ui.inverted.pink.buttons .button:focus,\\r\\n.ui.inverted.pink.button:focus,\\r\\n.ui.inverted.pink.buttons .button.active,\\r\\n.ui.inverted.pink.button.active,\\r\\n.ui.inverted.pink.buttons .button:active,\\r\\n.ui.inverted.pink.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.buttons .button:hover,\\r\\n.ui.inverted.pink.button:hover {\\r\\n  background-color: #ff74d8;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.buttons .button:focus,\\r\\n.ui.inverted.pink.button:focus {\\r\\n  background-color: #ff65d3;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.buttons .active.button,\\r\\n.ui.inverted.pink.active.button {\\r\\n  background-color: #ff74d8;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.buttons .button:active,\\r\\n.ui.inverted.pink.button:active {\\r\\n  background-color: #ff5bd1;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.pink.basic.buttons .button,\\r\\n.ui.inverted.pink.buttons .basic.button,\\r\\n.ui.inverted.pink.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.basic.buttons .button:hover,\\r\\n.ui.inverted.pink.buttons .basic.button:hover,\\r\\n.ui.inverted.pink.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\\r\\n  color: #FF8EDF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.basic.buttons .button:focus,\\r\\n.ui.inverted.pink.basic.buttons .button:focus,\\r\\n.ui.inverted.pink.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #ff65d3 inset !important;\\r\\n  color: #FF8EDF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.basic.buttons .active.button,\\r\\n.ui.inverted.pink.buttons .basic.active.button,\\r\\n.ui.inverted.pink.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\\r\\n  color: #FF8EDF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.basic.buttons .button:active,\\r\\n.ui.inverted.pink.buttons .basic.button:active,\\r\\n.ui.inverted.pink.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important;\\r\\n  color: #FF8EDF !important;\\r\\n}\\r\\n\\r\\n/*--- Violet ---*/\\r\\n\\r\\n.ui.violet.buttons .button,\\r\\n.ui.violet.button {\\r\\n  background-color: #6435C9;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.violet.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.violet.buttons .button:hover,\\r\\n.ui.violet.button:hover {\\r\\n  background-color: #5829bb;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.violet.buttons .button:focus,\\r\\n.ui.violet.button:focus {\\r\\n  background-color: #4f20b5;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.violet.buttons .button:active,\\r\\n.ui.violet.button:active {\\r\\n  background-color: #502aa1;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.violet.buttons .active.button,\\r\\n.ui.violet.buttons .active.button:active,\\r\\n.ui.violet.active.button,\\r\\n.ui.violet.button .active.button:active {\\r\\n  background-color: #5626bf;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.violet.buttons .button,\\r\\n.ui.basic.violet.button {\\r\\n  box-shadow: 0px 0px 0px 1px #6435C9 inset !important;\\r\\n  color: #6435C9 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.violet.buttons .button:hover,\\r\\n.ui.basic.violet.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #5829bb inset !important;\\r\\n  color: #5829bb !important;\\r\\n}\\r\\n\\r\\n.ui.basic.violet.buttons .button:focus,\\r\\n.ui.basic.violet.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #4f20b5 inset !important;\\r\\n  color: #5829bb !important;\\r\\n}\\r\\n\\r\\n.ui.basic.violet.buttons .active.button,\\r\\n.ui.basic.violet.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #5626bf inset !important;\\r\\n  color: #502aa1 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.violet.buttons .button:active,\\r\\n.ui.basic.violet.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #502aa1 inset !important;\\r\\n  color: #502aa1 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.violet.buttons .button,\\r\\n.ui.inverted.violet.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #A291FB inset !important;\\r\\n  color: #A291FB;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.buttons .button:hover,\\r\\n.ui.inverted.violet.button:hover,\\r\\n.ui.inverted.violet.buttons .button:focus,\\r\\n.ui.inverted.violet.button:focus,\\r\\n.ui.inverted.violet.buttons .button.active,\\r\\n.ui.inverted.violet.button.active,\\r\\n.ui.inverted.violet.buttons .button:active,\\r\\n.ui.inverted.violet.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.buttons .button:hover,\\r\\n.ui.inverted.violet.button:hover {\\r\\n  background-color: #8a73ff;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.buttons .button:focus,\\r\\n.ui.inverted.violet.button:focus {\\r\\n  background-color: #7d64ff;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.buttons .active.button,\\r\\n.ui.inverted.violet.active.button {\\r\\n  background-color: #8a73ff;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.buttons .button:active,\\r\\n.ui.inverted.violet.button:active {\\r\\n  background-color: #7860f9;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.violet.basic.buttons .button,\\r\\n.ui.inverted.violet.buttons .basic.button,\\r\\n.ui.inverted.violet.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.basic.buttons .button:hover,\\r\\n.ui.inverted.violet.buttons .basic.button:hover,\\r\\n.ui.inverted.violet.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\\r\\n  color: #A291FB !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.basic.buttons .button:focus,\\r\\n.ui.inverted.violet.basic.buttons .button:focus,\\r\\n.ui.inverted.violet.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #7d64ff inset !important;\\r\\n  color: #A291FB !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.basic.buttons .active.button,\\r\\n.ui.inverted.violet.buttons .basic.active.button,\\r\\n.ui.inverted.violet.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\\r\\n  color: #A291FB !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.basic.buttons .button:active,\\r\\n.ui.inverted.violet.buttons .basic.button:active,\\r\\n.ui.inverted.violet.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #7860f9 inset !important;\\r\\n  color: #A291FB !important;\\r\\n}\\r\\n\\r\\n/*--- Purple ---*/\\r\\n\\r\\n.ui.purple.buttons .button,\\r\\n.ui.purple.button {\\r\\n  background-color: #A333C8;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.purple.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.purple.buttons .button:hover,\\r\\n.ui.purple.button:hover {\\r\\n  background-color: #9627ba;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.purple.buttons .button:focus,\\r\\n.ui.purple.button:focus {\\r\\n  background-color: #8f1eb4;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.purple.buttons .button:active,\\r\\n.ui.purple.button:active {\\r\\n  background-color: #82299f;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.purple.buttons .active.button,\\r\\n.ui.purple.buttons .active.button:active,\\r\\n.ui.purple.active.button,\\r\\n.ui.purple.button .active.button:active {\\r\\n  background-color: #9724be;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.purple.buttons .button,\\r\\n.ui.basic.purple.button {\\r\\n  box-shadow: 0px 0px 0px 1px #A333C8 inset !important;\\r\\n  color: #A333C8 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.purple.buttons .button:hover,\\r\\n.ui.basic.purple.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #9627ba inset !important;\\r\\n  color: #9627ba !important;\\r\\n}\\r\\n\\r\\n.ui.basic.purple.buttons .button:focus,\\r\\n.ui.basic.purple.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important;\\r\\n  color: #9627ba !important;\\r\\n}\\r\\n\\r\\n.ui.basic.purple.buttons .active.button,\\r\\n.ui.basic.purple.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #9724be inset !important;\\r\\n  color: #82299f !important;\\r\\n}\\r\\n\\r\\n.ui.basic.purple.buttons .button:active,\\r\\n.ui.basic.purple.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #82299f inset !important;\\r\\n  color: #82299f !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.purple.buttons .button,\\r\\n.ui.inverted.purple.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #DC73FF inset !important;\\r\\n  color: #DC73FF;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.buttons .button:hover,\\r\\n.ui.inverted.purple.button:hover,\\r\\n.ui.inverted.purple.buttons .button:focus,\\r\\n.ui.inverted.purple.button:focus,\\r\\n.ui.inverted.purple.buttons .button.active,\\r\\n.ui.inverted.purple.button.active,\\r\\n.ui.inverted.purple.buttons .button:active,\\r\\n.ui.inverted.purple.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.buttons .button:hover,\\r\\n.ui.inverted.purple.button:hover {\\r\\n  background-color: #d65aff;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.buttons .button:focus,\\r\\n.ui.inverted.purple.button:focus {\\r\\n  background-color: #d24aff;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.buttons .active.button,\\r\\n.ui.inverted.purple.active.button {\\r\\n  background-color: #d65aff;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.buttons .button:active,\\r\\n.ui.inverted.purple.button:active {\\r\\n  background-color: #cf40ff;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.purple.basic.buttons .button,\\r\\n.ui.inverted.purple.buttons .basic.button,\\r\\n.ui.inverted.purple.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.basic.buttons .button:hover,\\r\\n.ui.inverted.purple.buttons .basic.button:hover,\\r\\n.ui.inverted.purple.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\\r\\n  color: #DC73FF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.basic.buttons .button:focus,\\r\\n.ui.inverted.purple.basic.buttons .button:focus,\\r\\n.ui.inverted.purple.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #d24aff inset !important;\\r\\n  color: #DC73FF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.basic.buttons .active.button,\\r\\n.ui.inverted.purple.buttons .basic.active.button,\\r\\n.ui.inverted.purple.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\\r\\n  color: #DC73FF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.basic.buttons .button:active,\\r\\n.ui.inverted.purple.buttons .basic.button:active,\\r\\n.ui.inverted.purple.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #cf40ff inset !important;\\r\\n  color: #DC73FF !important;\\r\\n}\\r\\n\\r\\n/*--- Red ---*/\\r\\n\\r\\n.ui.red.buttons .button,\\r\\n.ui.red.button {\\r\\n  background-color: #DB2828;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.red.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.red.buttons .button:hover,\\r\\n.ui.red.button:hover {\\r\\n  background-color: #d01919;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.red.buttons .button:focus,\\r\\n.ui.red.button:focus {\\r\\n  background-color: #ca1010;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.red.buttons .button:active,\\r\\n.ui.red.button:active {\\r\\n  background-color: #b21e1e;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.red.buttons .active.button,\\r\\n.ui.red.buttons .active.button:active,\\r\\n.ui.red.active.button,\\r\\n.ui.red.button .active.button:active {\\r\\n  background-color: #d41515;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.red.buttons .button,\\r\\n.ui.basic.red.button {\\r\\n  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;\\r\\n  color: #DB2828 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.red.buttons .button:hover,\\r\\n.ui.basic.red.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #d01919 inset !important;\\r\\n  color: #d01919 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.red.buttons .button:focus,\\r\\n.ui.basic.red.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;\\r\\n  color: #d01919 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.red.buttons .active.button,\\r\\n.ui.basic.red.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #d41515 inset !important;\\r\\n  color: #b21e1e !important;\\r\\n}\\r\\n\\r\\n.ui.basic.red.buttons .button:active,\\r\\n.ui.basic.red.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;\\r\\n  color: #b21e1e !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.red.buttons .button,\\r\\n.ui.inverted.red.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #FF695E inset !important;\\r\\n  color: #FF695E;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.buttons .button:hover,\\r\\n.ui.inverted.red.button:hover,\\r\\n.ui.inverted.red.buttons .button:focus,\\r\\n.ui.inverted.red.button:focus,\\r\\n.ui.inverted.red.buttons .button.active,\\r\\n.ui.inverted.red.button.active,\\r\\n.ui.inverted.red.buttons .button:active,\\r\\n.ui.inverted.red.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.buttons .button:hover,\\r\\n.ui.inverted.red.button:hover {\\r\\n  background-color: #ff5144;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.buttons .button:focus,\\r\\n.ui.inverted.red.button:focus {\\r\\n  background-color: #ff4335;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.buttons .active.button,\\r\\n.ui.inverted.red.active.button {\\r\\n  background-color: #ff5144;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.buttons .button:active,\\r\\n.ui.inverted.red.button:active {\\r\\n  background-color: #ff392b;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.red.basic.buttons .button,\\r\\n.ui.inverted.red.buttons .basic.button,\\r\\n.ui.inverted.red.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.basic.buttons .button:hover,\\r\\n.ui.inverted.red.buttons .basic.button:hover,\\r\\n.ui.inverted.red.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\\r\\n  color: #FF695E !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.basic.buttons .button:focus,\\r\\n.ui.inverted.red.basic.buttons .button:focus,\\r\\n.ui.inverted.red.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #ff4335 inset !important;\\r\\n  color: #FF695E !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.basic.buttons .active.button,\\r\\n.ui.inverted.red.buttons .basic.active.button,\\r\\n.ui.inverted.red.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\\r\\n  color: #FF695E !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.basic.buttons .button:active,\\r\\n.ui.inverted.red.buttons .basic.button:active,\\r\\n.ui.inverted.red.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #ff392b inset !important;\\r\\n  color: #FF695E !important;\\r\\n}\\r\\n\\r\\n/*--- Teal ---*/\\r\\n\\r\\n.ui.teal.buttons .button,\\r\\n.ui.teal.button {\\r\\n  background-color: #00B5AD;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.teal.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.teal.buttons .button:hover,\\r\\n.ui.teal.button:hover {\\r\\n  background-color: #009c95;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.teal.buttons .button:focus,\\r\\n.ui.teal.button:focus {\\r\\n  background-color: #008c86;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.teal.buttons .button:active,\\r\\n.ui.teal.button:active {\\r\\n  background-color: #00827c;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.teal.buttons .active.button,\\r\\n.ui.teal.buttons .active.button:active,\\r\\n.ui.teal.active.button,\\r\\n.ui.teal.button .active.button:active {\\r\\n  background-color: #009c95;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.teal.buttons .button,\\r\\n.ui.basic.teal.button {\\r\\n  box-shadow: 0px 0px 0px 1px #00B5AD inset !important;\\r\\n  color: #00B5AD !important;\\r\\n}\\r\\n\\r\\n.ui.basic.teal.buttons .button:hover,\\r\\n.ui.basic.teal.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\\r\\n  color: #009c95 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.teal.buttons .button:focus,\\r\\n.ui.basic.teal.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #008c86 inset !important;\\r\\n  color: #009c95 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.teal.buttons .active.button,\\r\\n.ui.basic.teal.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\\r\\n  color: #00827c !important;\\r\\n}\\r\\n\\r\\n.ui.basic.teal.buttons .button:active,\\r\\n.ui.basic.teal.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #00827c inset !important;\\r\\n  color: #00827c !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.teal.buttons .button,\\r\\n.ui.inverted.teal.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #6DFFFF inset !important;\\r\\n  color: #6DFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.buttons .button:hover,\\r\\n.ui.inverted.teal.button:hover,\\r\\n.ui.inverted.teal.buttons .button:focus,\\r\\n.ui.inverted.teal.button:focus,\\r\\n.ui.inverted.teal.buttons .button.active,\\r\\n.ui.inverted.teal.button.active,\\r\\n.ui.inverted.teal.buttons .button:active,\\r\\n.ui.inverted.teal.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.buttons .button:hover,\\r\\n.ui.inverted.teal.button:hover {\\r\\n  background-color: #54ffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.buttons .button:focus,\\r\\n.ui.inverted.teal.button:focus {\\r\\n  background-color: #44ffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.buttons .active.button,\\r\\n.ui.inverted.teal.active.button {\\r\\n  background-color: #54ffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.buttons .button:active,\\r\\n.ui.inverted.teal.button:active {\\r\\n  background-color: #3affff;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.teal.basic.buttons .button,\\r\\n.ui.inverted.teal.buttons .basic.button,\\r\\n.ui.inverted.teal.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.basic.buttons .button:hover,\\r\\n.ui.inverted.teal.buttons .basic.button:hover,\\r\\n.ui.inverted.teal.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\\r\\n  color: #6DFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.basic.buttons .button:focus,\\r\\n.ui.inverted.teal.basic.buttons .button:focus,\\r\\n.ui.inverted.teal.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #44ffff inset !important;\\r\\n  color: #6DFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.basic.buttons .active.button,\\r\\n.ui.inverted.teal.buttons .basic.active.button,\\r\\n.ui.inverted.teal.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\\r\\n  color: #6DFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.basic.buttons .button:active,\\r\\n.ui.inverted.teal.buttons .basic.button:active,\\r\\n.ui.inverted.teal.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #3affff inset !important;\\r\\n  color: #6DFFFF !important;\\r\\n}\\r\\n\\r\\n/*--- Olive ---*/\\r\\n\\r\\n.ui.olive.buttons .button,\\r\\n.ui.olive.button {\\r\\n  background-color: #B5CC18;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.olive.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.olive.buttons .button:hover,\\r\\n.ui.olive.button:hover {\\r\\n  background-color: #a7bd0d;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.olive.buttons .button:focus,\\r\\n.ui.olive.button:focus {\\r\\n  background-color: #a0b605;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.olive.buttons .button:active,\\r\\n.ui.olive.button:active {\\r\\n  background-color: #8d9e13;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.olive.buttons .active.button,\\r\\n.ui.olive.buttons .active.button:active,\\r\\n.ui.olive.active.button,\\r\\n.ui.olive.button .active.button:active {\\r\\n  background-color: #aac109;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.olive.buttons .button,\\r\\n.ui.basic.olive.button {\\r\\n  box-shadow: 0px 0px 0px 1px #B5CC18 inset !important;\\r\\n  color: #B5CC18 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.olive.buttons .button:hover,\\r\\n.ui.basic.olive.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #a7bd0d inset !important;\\r\\n  color: #a7bd0d !important;\\r\\n}\\r\\n\\r\\n.ui.basic.olive.buttons .button:focus,\\r\\n.ui.basic.olive.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #a0b605 inset !important;\\r\\n  color: #a7bd0d !important;\\r\\n}\\r\\n\\r\\n.ui.basic.olive.buttons .active.button,\\r\\n.ui.basic.olive.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #aac109 inset !important;\\r\\n  color: #8d9e13 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.olive.buttons .button:active,\\r\\n.ui.basic.olive.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #8d9e13 inset !important;\\r\\n  color: #8d9e13 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.olive.buttons .button,\\r\\n.ui.inverted.olive.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #D9E778 inset !important;\\r\\n  color: #D9E778;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.buttons .button:hover,\\r\\n.ui.inverted.olive.button:hover,\\r\\n.ui.inverted.olive.buttons .button:focus,\\r\\n.ui.inverted.olive.button:focus,\\r\\n.ui.inverted.olive.buttons .button.active,\\r\\n.ui.inverted.olive.button.active,\\r\\n.ui.inverted.olive.buttons .button:active,\\r\\n.ui.inverted.olive.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.buttons .button:hover,\\r\\n.ui.inverted.olive.button:hover {\\r\\n  background-color: #d8ea5c;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.buttons .button:focus,\\r\\n.ui.inverted.olive.button:focus {\\r\\n  background-color: #daef47;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.buttons .active.button,\\r\\n.ui.inverted.olive.active.button {\\r\\n  background-color: #daed59;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.buttons .button:active,\\r\\n.ui.inverted.olive.button:active {\\r\\n  background-color: #cddf4d;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.olive.basic.buttons .button,\\r\\n.ui.inverted.olive.buttons .basic.button,\\r\\n.ui.inverted.olive.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.basic.buttons .button:hover,\\r\\n.ui.inverted.olive.buttons .basic.button:hover,\\r\\n.ui.inverted.olive.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #d8ea5c inset !important;\\r\\n  color: #D9E778 !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.basic.buttons .button:focus,\\r\\n.ui.inverted.olive.basic.buttons .button:focus,\\r\\n.ui.inverted.olive.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #daef47 inset !important;\\r\\n  color: #D9E778 !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.basic.buttons .active.button,\\r\\n.ui.inverted.olive.buttons .basic.active.button,\\r\\n.ui.inverted.olive.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #daed59 inset !important;\\r\\n  color: #D9E778 !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.basic.buttons .button:active,\\r\\n.ui.inverted.olive.buttons .basic.button:active,\\r\\n.ui.inverted.olive.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #cddf4d inset !important;\\r\\n  color: #D9E778 !important;\\r\\n}\\r\\n\\r\\n/*--- Yellow ---*/\\r\\n\\r\\n.ui.yellow.buttons .button,\\r\\n.ui.yellow.button {\\r\\n  background-color: #FBBD08;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.yellow.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.yellow.buttons .button:hover,\\r\\n.ui.yellow.button:hover {\\r\\n  background-color: #eaae00;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.yellow.buttons .button:focus,\\r\\n.ui.yellow.button:focus {\\r\\n  background-color: #daa300;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.yellow.buttons .button:active,\\r\\n.ui.yellow.button:active {\\r\\n  background-color: #cd9903;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.yellow.buttons .active.button,\\r\\n.ui.yellow.buttons .active.button:active,\\r\\n.ui.yellow.active.button,\\r\\n.ui.yellow.button .active.button:active {\\r\\n  background-color: #eaae00;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.yellow.buttons .button,\\r\\n.ui.basic.yellow.button {\\r\\n  box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;\\r\\n  color: #FBBD08 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.yellow.buttons .button:hover,\\r\\n.ui.basic.yellow.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\\r\\n  color: #eaae00 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.yellow.buttons .button:focus,\\r\\n.ui.basic.yellow.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #daa300 inset !important;\\r\\n  color: #eaae00 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.yellow.buttons .active.button,\\r\\n.ui.basic.yellow.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\\r\\n  color: #cd9903 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.yellow.buttons .button:active,\\r\\n.ui.basic.yellow.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #cd9903 inset !important;\\r\\n  color: #cd9903 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.yellow.buttons .button,\\r\\n.ui.inverted.yellow.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px #FFE21F inset !important;\\r\\n  color: #FFE21F;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.buttons .button:hover,\\r\\n.ui.inverted.yellow.button:hover,\\r\\n.ui.inverted.yellow.buttons .button:focus,\\r\\n.ui.inverted.yellow.button:focus,\\r\\n.ui.inverted.yellow.buttons .button.active,\\r\\n.ui.inverted.yellow.button.active,\\r\\n.ui.inverted.yellow.buttons .button:active,\\r\\n.ui.inverted.yellow.button:active {\\r\\n  box-shadow: none !important;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.buttons .button:hover,\\r\\n.ui.inverted.yellow.button:hover {\\r\\n  background-color: #ffdf05;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.buttons .button:focus,\\r\\n.ui.inverted.yellow.button:focus {\\r\\n  background-color: #f5d500;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.buttons .active.button,\\r\\n.ui.inverted.yellow.active.button {\\r\\n  background-color: #ffdf05;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.buttons .button:active,\\r\\n.ui.inverted.yellow.button:active {\\r\\n  background-color: #ebcd00;\\r\\n}\\r\\n\\r\\n/* Inverted Basic */\\r\\n\\r\\n.ui.inverted.yellow.basic.buttons .button,\\r\\n.ui.inverted.yellow.buttons .basic.button,\\r\\n.ui.inverted.yellow.basic.button {\\r\\n  background-color: transparent;\\r\\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.basic.buttons .button:hover,\\r\\n.ui.inverted.yellow.buttons .basic.button:hover,\\r\\n.ui.inverted.yellow.basic.button:hover {\\r\\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\\r\\n  color: #FFE21F !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.basic.buttons .button:focus,\\r\\n.ui.inverted.yellow.basic.buttons .button:focus,\\r\\n.ui.inverted.yellow.basic.button:focus {\\r\\n  box-shadow: 0px 0px 0px 2px #f5d500 inset !important;\\r\\n  color: #FFE21F !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.basic.buttons .active.button,\\r\\n.ui.inverted.yellow.buttons .basic.active.button,\\r\\n.ui.inverted.yellow.basic.active.button {\\r\\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\\r\\n  color: #FFE21F !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.basic.buttons .button:active,\\r\\n.ui.inverted.yellow.buttons .basic.button:active,\\r\\n.ui.inverted.yellow.basic.button:active {\\r\\n  box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;\\r\\n  color: #FFE21F !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Primary\\r\\n--------------------*/\\r\\n\\r\\n/*--- Standard ---*/\\r\\n\\r\\n.ui.primary.buttons .button,\\r\\n.ui.primary.button {\\r\\n  background-color: #2185D0;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.primary.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.primary.buttons .button:hover,\\r\\n.ui.primary.button:hover {\\r\\n  background-color: #1678c2;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.primary.buttons .button:focus,\\r\\n.ui.primary.button:focus {\\r\\n  background-color: #0d71bb;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.primary.buttons .button:active,\\r\\n.ui.primary.button:active {\\r\\n  background-color: #1a69a4;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.primary.buttons .active.button,\\r\\n.ui.primary.buttons .active.button:active,\\r\\n.ui.primary.active.button,\\r\\n.ui.primary.button .active.button:active {\\r\\n  background-color: #1279c6;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.primary.buttons .button,\\r\\n.ui.basic.primary.button {\\r\\n  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;\\r\\n  color: #2185D0 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.primary.buttons .button:hover,\\r\\n.ui.basic.primary.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;\\r\\n  color: #1678c2 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.primary.buttons .button:focus,\\r\\n.ui.basic.primary.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;\\r\\n  color: #1678c2 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.primary.buttons .active.button,\\r\\n.ui.basic.primary.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;\\r\\n  color: #1a69a4 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.primary.buttons .button:active,\\r\\n.ui.basic.primary.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;\\r\\n  color: #1a69a4 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Secondary\\r\\n--------------------*/\\r\\n\\r\\n/* Standard */\\r\\n\\r\\n.ui.secondary.buttons .button,\\r\\n.ui.secondary.button {\\r\\n  background-color: #1B1C1D;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.secondary.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.secondary.buttons .button:hover,\\r\\n.ui.secondary.button:hover {\\r\\n  background-color: #27292a;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.secondary.buttons .button:focus,\\r\\n.ui.secondary.button:focus {\\r\\n  background-color: #2e3032;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.secondary.buttons .button:active,\\r\\n.ui.secondary.button:active {\\r\\n  background-color: #343637;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.secondary.buttons .active.button,\\r\\n.ui.secondary.buttons .active.button:active,\\r\\n.ui.secondary.active.button,\\r\\n.ui.secondary.button .active.button:active {\\r\\n  background-color: #27292a;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.secondary.buttons .button,\\r\\n.ui.basic.secondary.button {\\r\\n  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;\\r\\n  color: #1B1C1D !important;\\r\\n}\\r\\n\\r\\n.ui.basic.secondary.buttons .button:hover,\\r\\n.ui.basic.secondary.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #27292a inset !important;\\r\\n  color: #27292a !important;\\r\\n}\\r\\n\\r\\n.ui.basic.secondary.buttons .button:focus,\\r\\n.ui.basic.secondary.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #2e3032 inset !important;\\r\\n  color: #27292a !important;\\r\\n}\\r\\n\\r\\n.ui.basic.secondary.buttons .active.button,\\r\\n.ui.basic.secondary.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #27292a inset !important;\\r\\n  color: #343637 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.secondary.buttons .button:active,\\r\\n.ui.basic.secondary.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #343637 inset !important;\\r\\n  color: #343637 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/*---------------\\r\\n    Positive\\r\\n----------------*/\\r\\n\\r\\n/* Standard */\\r\\n\\r\\n.ui.positive.buttons .button,\\r\\n.ui.positive.button {\\r\\n  background-color: #21BA45;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.positive.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.positive.buttons .button:hover,\\r\\n.ui.positive.button:hover {\\r\\n  background-color: #16ab39;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.positive.buttons .button:focus,\\r\\n.ui.positive.button:focus {\\r\\n  background-color: #0ea432;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.positive.buttons .button:active,\\r\\n.ui.positive.button:active {\\r\\n  background-color: #198f35;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.positive.buttons .active.button,\\r\\n.ui.positive.buttons .active.button:active,\\r\\n.ui.positive.active.button,\\r\\n.ui.positive.button .active.button:active {\\r\\n  background-color: #13ae38;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.positive.buttons .button,\\r\\n.ui.basic.positive.button {\\r\\n  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;\\r\\n  color: #21BA45 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.positive.buttons .button:hover,\\r\\n.ui.basic.positive.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;\\r\\n  color: #16ab39 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.positive.buttons .button:focus,\\r\\n.ui.basic.positive.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;\\r\\n  color: #16ab39 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.positive.buttons .active.button,\\r\\n.ui.basic.positive.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;\\r\\n  color: #198f35 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.positive.buttons .button:active,\\r\\n.ui.basic.positive.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #198f35 inset !important;\\r\\n  color: #198f35 !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/*---------------\\r\\n     Negative\\r\\n----------------*/\\r\\n\\r\\n/* Standard */\\r\\n\\r\\n.ui.negative.buttons .button,\\r\\n.ui.negative.button {\\r\\n  background-color: #DB2828;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n  background-image: none;\\r\\n}\\r\\n\\r\\n.ui.negative.button {\\r\\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.negative.buttons .button:hover,\\r\\n.ui.negative.button:hover {\\r\\n  background-color: #d01919;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.negative.buttons .button:focus,\\r\\n.ui.negative.button:focus {\\r\\n  background-color: #ca1010;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.negative.buttons .button:active,\\r\\n.ui.negative.button:active {\\r\\n  background-color: #b21e1e;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.negative.buttons .active.button,\\r\\n.ui.negative.buttons .active.button:active,\\r\\n.ui.negative.active.button,\\r\\n.ui.negative.button .active.button:active {\\r\\n  background-color: #d41515;\\r\\n  color: #FFFFFF;\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.negative.buttons .button,\\r\\n.ui.basic.negative.button {\\r\\n  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;\\r\\n  color: #DB2828 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.negative.buttons .button:hover,\\r\\n.ui.basic.negative.button:hover {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #d01919 inset !important;\\r\\n  color: #d01919 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.negative.buttons .button:focus,\\r\\n.ui.basic.negative.button:focus {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;\\r\\n  color: #d01919 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.negative.buttons .active.button,\\r\\n.ui.basic.negative.active.button {\\r\\n  background: transparent !important;\\r\\n  box-shadow: 0px 0px 0px 1px #d41515 inset !important;\\r\\n  color: #b21e1e !important;\\r\\n}\\r\\n\\r\\n.ui.basic.negative.buttons .button:active,\\r\\n.ui.basic.negative.button:active {\\r\\n  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;\\r\\n  color: #b21e1e !important;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) {\\r\\n  margin-left: -1px;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Groups\\r\\n*******************************/\\r\\n\\r\\n.ui.buttons {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  font-size: 0em;\\r\\n  vertical-align: baseline;\\r\\n  margin: 0em 0.25em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.buttons:not(.basic):not(.inverted) {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Clearfix */\\r\\n\\r\\n.ui.buttons:after {\\r\\n  content: \\\".\\\";\\r\\n  display: block;\\r\\n  height: 0;\\r\\n  clear: both;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n/* Standard Group */\\r\\n\\r\\n.ui.buttons .button {\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 0 auto;\\r\\n  -ms-flex: 1 0 auto;\\r\\n  flex: 1 0 auto;\\r\\n  margin: 0em;\\r\\n  border-radius: 0em;\\r\\n  margin: 0px 0px 0px 0px;\\r\\n}\\r\\n\\r\\n.ui.buttons > .ui.button:not(.basic):not(.inverted),\\r\\n.ui.buttons:not(.basic):not(.inverted) > .button {\\r\\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n.ui.buttons .button:first-child {\\r\\n  border-left: none;\\r\\n  margin-left: 0em;\\r\\n  border-top-left-radius: 0.28571429rem;\\r\\n  border-bottom-left-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.buttons .button:last-child {\\r\\n  border-top-right-radius: 0.28571429rem;\\r\\n  border-bottom-right-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Vertical  Style */\\r\\n\\r\\n.ui.vertical.buttons {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n}\\r\\n\\r\\n.ui.vertical.buttons .button {\\r\\n  display: block;\\r\\n  float: none;\\r\\n  width: 100%;\\r\\n  margin: 0px 0px 0px 0px;\\r\\n  box-shadow: none;\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.buttons .button:first-child {\\r\\n  border-top-left-radius: 0.28571429rem;\\r\\n  border-top-right-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.buttons .button:last-child {\\r\\n  margin-bottom: 0px;\\r\\n  border-bottom-left-radius: 0.28571429rem;\\r\\n  border-bottom-right-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.buttons .button:only-child {\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Container\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Container\\r\\n*******************************/\\r\\n\\r\\n/* All Sizes */\\r\\n\\r\\n.ui.container {\\r\\n  display: block;\\r\\n  max-width: 100% !important;\\r\\n}\\r\\n\\r\\n/* Mobile */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.container {\\r\\n    width: auto !important;\\r\\n    margin-left: 1em !important;\\r\\n    margin-right: 1em !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid.container {\\r\\n    width: auto !important;\\r\\n  }\\r\\n\\r\\n  .ui.relaxed.grid.container {\\r\\n    width: auto !important;\\r\\n  }\\r\\n\\r\\n  .ui.very.relaxed.grid.container {\\r\\n    width: auto !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Tablet */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui.container {\\r\\n    width: 723px;\\r\\n    margin-left: auto !important;\\r\\n    margin-right: auto !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid.container {\\r\\n    width: calc( 723px  +  2rem ) !important;\\r\\n  }\\r\\n\\r\\n  .ui.relaxed.grid.container {\\r\\n    width: calc( 723px  +  3rem ) !important;\\r\\n  }\\r\\n\\r\\n  .ui.very.relaxed.grid.container {\\r\\n    width: calc( 723px  +  5rem ) !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Small Monitor */\\r\\n\\r\\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\\r\\n  .ui.container {\\r\\n    width: 933px;\\r\\n    margin-left: auto !important;\\r\\n    margin-right: auto !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid.container {\\r\\n    width: calc( 933px  +  2rem ) !important;\\r\\n  }\\r\\n\\r\\n  .ui.relaxed.grid.container {\\r\\n    width: calc( 933px  +  3rem ) !important;\\r\\n  }\\r\\n\\r\\n  .ui.very.relaxed.grid.container {\\r\\n    width: calc( 933px  +  5rem ) !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Large Monitor */\\r\\n\\r\\n@media only screen and (min-width: 1200px) {\\r\\n  .ui.container {\\r\\n    width: 1127px;\\r\\n    margin-left: auto !important;\\r\\n    margin-right: auto !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid.container {\\r\\n    width: calc( 1127px  +  2rem ) !important;\\r\\n  }\\r\\n\\r\\n  .ui.relaxed.grid.container {\\r\\n    width: calc( 1127px  +  3rem ) !important;\\r\\n  }\\r\\n\\r\\n  .ui.very.relaxed.grid.container {\\r\\n    width: calc( 1127px  +  5rem ) !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/* Text Container */\\r\\n\\r\\n.ui.text.container {\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  max-width: 700px !important;\\r\\n  line-height: 1.5;\\r\\n}\\r\\n\\r\\n.ui.text.container {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n/* Fluid */\\r\\n\\r\\n.ui.fluid.container {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n.ui[class*=\\\"left aligned\\\"].container {\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"center aligned\\\"].container {\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right aligned\\\"].container {\\r\\n  text-align: right;\\r\\n}\\r\\n\\r\\n.ui.justified.container {\\r\\n  text-align: justify;\\r\\n  -webkit-hyphens: auto;\\r\\n  -ms-hyphens: auto;\\r\\n  hyphens: auto;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Divider\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Divider\\r\\n*******************************/\\r\\n\\r\\n.ui.divider {\\r\\n  margin: 1rem 0rem;\\r\\n  line-height: 1;\\r\\n  height: 0em;\\r\\n  font-weight: bold;\\r\\n  text-transform: uppercase;\\r\\n  letter-spacing: 0.05em;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Basic\\r\\n---------------*/\\r\\n\\r\\n.ui.divider:not(.vertical):not(.horizontal) {\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-bottom: 1px solid rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Coupling\\r\\n---------------*/\\r\\n\\r\\n/* Allow divider between each column row */\\r\\n\\r\\n.ui.grid > .column + .divider,\\r\\n.ui.grid > .row > .column + .divider {\\r\\n  left: auto;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Horizontal\\r\\n---------------*/\\r\\n\\r\\n.ui.horizontal.divider {\\r\\n  display: table;\\r\\n  white-space: nowrap;\\r\\n  height: auto;\\r\\n  margin: '';\\r\\n  line-height: 1;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.horizontal.divider:before,\\r\\n.ui.horizontal.divider:after {\\r\\n  content: '';\\r\\n  display: table-cell;\\r\\n  position: relative;\\r\\n  top: 50%;\\r\\n  width: 50%;\\r\\n  background-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.ui.horizontal.divider:before {\\r\\n  background-position: right 1em top 50%;\\r\\n}\\r\\n\\r\\n.ui.horizontal.divider:after {\\r\\n  background-position: left 1em top 50%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Vertical\\r\\n---------------*/\\r\\n\\r\\n.ui.vertical.divider {\\r\\n  position: absolute;\\r\\n  z-index: 2;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: 0rem;\\r\\n  padding: 0em;\\r\\n  width: auto;\\r\\n  height: 50%;\\r\\n  line-height: 0em;\\r\\n  text-align: center;\\r\\n  -webkit-transform: translateX(-50%);\\r\\n  transform: translateX(-50%);\\r\\n}\\r\\n\\r\\n.ui.vertical.divider:before,\\r\\n.ui.vertical.divider:after {\\r\\n  position: absolute;\\r\\n  left: 50%;\\r\\n  content: '';\\r\\n  z-index: 3;\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-right: 1px solid rgba(255, 255, 255, 0.1);\\r\\n  width: 0%;\\r\\n  height: calc(100% -  1rem );\\r\\n}\\r\\n\\r\\n.ui.vertical.divider:before {\\r\\n  top: -100%;\\r\\n}\\r\\n\\r\\n.ui.vertical.divider:after {\\r\\n  top: auto;\\r\\n  bottom: 0px;\\r\\n}\\r\\n\\r\\n/* Inside grid */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.stackable.grid .ui.vertical.divider,\\r\\n  .ui.grid .stackable.row .ui.vertical.divider {\\r\\n    display: table;\\r\\n    white-space: nowrap;\\r\\n    height: auto;\\r\\n    margin: '';\\r\\n    overflow: hidden;\\r\\n    line-height: 1;\\r\\n    text-align: center;\\r\\n    position: static;\\r\\n    top: 0;\\r\\n    left: 0;\\r\\n    -webkit-transform: none;\\r\\n    transform: none;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.grid .ui.vertical.divider:before,\\r\\n  .ui.grid .stackable.row .ui.vertical.divider:before,\\r\\n  .ui.stackable.grid .ui.vertical.divider:after,\\r\\n  .ui.grid .stackable.row .ui.vertical.divider:after {\\r\\n    position: static;\\r\\n    left: 0;\\r\\n    border-left: none;\\r\\n    border-right: none;\\r\\n    content: '';\\r\\n    display: table-cell;\\r\\n    position: relative;\\r\\n    top: 50%;\\r\\n    width: 50%;\\r\\n    background-repeat: no-repeat;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.grid .ui.vertical.divider:before,\\r\\n  .ui.grid .stackable.row .ui.vertical.divider:before {\\r\\n    background-position: right 1em top 50%;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.grid .ui.vertical.divider:after,\\r\\n  .ui.grid .stackable.row .ui.vertical.divider:after {\\r\\n    background-position: left 1em top 50%;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.divider > .icon {\\r\\n  margin: 0rem;\\r\\n  font-size: 1rem;\\r\\n  height: 1em;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Hidden\\r\\n---------------*/\\r\\n\\r\\n.ui.hidden.divider {\\r\\n  border-color: transparent !important;\\r\\n}\\r\\n\\r\\n.ui.hidden.divider:before,\\r\\n.ui.hidden.divider:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n.ui.divider.inverted,\\r\\n.ui.vertical.inverted.divider,\\r\\n.ui.horizontal.inverted.divider {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.divider.inverted,\\r\\n.ui.divider.inverted:after,\\r\\n.ui.divider.inverted:before {\\r\\n  border-top-color: rgba(34, 36, 38, 0.15) !important;\\r\\n  border-left-color: rgba(34, 36, 38, 0.15) !important;\\r\\n  border-bottom-color: rgba(255, 255, 255, 0.15) !important;\\r\\n  border-right-color: rgba(255, 255, 255, 0.15) !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Fitted\\r\\n---------------*/\\r\\n\\r\\n.ui.fitted.divider {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Clearing\\r\\n---------------*/\\r\\n\\r\\n.ui.clearing.divider {\\r\\n  clear: both;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Section\\r\\n---------------*/\\r\\n\\r\\n.ui.section.divider {\\r\\n  margin-top: 2rem;\\r\\n  margin-bottom: 2rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizes\\r\\n---------------*/\\r\\n\\r\\n.ui.divider {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n.ui.horizontal.divider:before,\\r\\n.ui.horizontal.divider:after {\\r\\n  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.stackable.grid .ui.vertical.divider:before,\\r\\n  .ui.grid .stackable.row .ui.vertical.divider:before,\\r\\n  .ui.stackable.grid .ui.vertical.divider:after,\\r\\n  .ui.grid .stackable.row .ui.vertical.divider:after {\\r\\n    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Flag\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Flag\\r\\n*******************************/\\r\\n\\r\\ni.flag:not(.icon) {\\r\\n  display: inline-block;\\r\\n  width: 16px;\\r\\n  height: 11px;\\r\\n  line-height: 11px;\\r\\n  vertical-align: baseline;\\r\\n  margin: 0em 0.5em 0em 0em;\\r\\n  text-decoration: inherit;\\r\\n  speak: none;\\r\\n  font-smoothing: antialiased;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n}\\r\\n\\r\\n/* Sprite */\\r\\n\\r\\ni.flag:not(.icon):before {\\r\\n  display: inline-block;\\r\\n  content: '';\\r\\n  background: url(\" + require(\"./themes/default/assets/images/flags.png\") + \") no-repeat -108px -1976px;\\r\\n  width: 16px;\\r\\n  height: 11px;\\r\\n}\\r\\n\\r\\n/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\ni.flag.ad:before,\\r\\ni.flag.andorra:before {\\r\\n  background-position: 0px 0px;\\r\\n}\\r\\n\\r\\ni.flag.ae:before,\\r\\ni.flag.united.arab.emirates:before,\\r\\ni.flag.uae:before {\\r\\n  background-position: 0px -26px;\\r\\n}\\r\\n\\r\\ni.flag.af:before,\\r\\ni.flag.afghanistan:before {\\r\\n  background-position: 0px -52px;\\r\\n}\\r\\n\\r\\ni.flag.ag:before,\\r\\ni.flag.antigua:before {\\r\\n  background-position: 0px -78px;\\r\\n}\\r\\n\\r\\ni.flag.ai:before,\\r\\ni.flag.anguilla:before {\\r\\n  background-position: 0px -104px;\\r\\n}\\r\\n\\r\\ni.flag.al:before,\\r\\ni.flag.albania:before {\\r\\n  background-position: 0px -130px;\\r\\n}\\r\\n\\r\\ni.flag.am:before,\\r\\ni.flag.armenia:before {\\r\\n  background-position: 0px -156px;\\r\\n}\\r\\n\\r\\ni.flag.an:before,\\r\\ni.flag.netherlands.antilles:before {\\r\\n  background-position: 0px -182px;\\r\\n}\\r\\n\\r\\ni.flag.ao:before,\\r\\ni.flag.angola:before {\\r\\n  background-position: 0px -208px;\\r\\n}\\r\\n\\r\\ni.flag.ar:before,\\r\\ni.flag.argentina:before {\\r\\n  background-position: 0px -234px;\\r\\n}\\r\\n\\r\\ni.flag.as:before,\\r\\ni.flag.american.samoa:before {\\r\\n  background-position: 0px -260px;\\r\\n}\\r\\n\\r\\ni.flag.at:before,\\r\\ni.flag.austria:before {\\r\\n  background-position: 0px -286px;\\r\\n}\\r\\n\\r\\ni.flag.au:before,\\r\\ni.flag.australia:before {\\r\\n  background-position: 0px -312px;\\r\\n}\\r\\n\\r\\ni.flag.aw:before,\\r\\ni.flag.aruba:before {\\r\\n  background-position: 0px -338px;\\r\\n}\\r\\n\\r\\ni.flag.ax:before,\\r\\ni.flag.aland.islands:before {\\r\\n  background-position: 0px -364px;\\r\\n}\\r\\n\\r\\ni.flag.az:before,\\r\\ni.flag.azerbaijan:before {\\r\\n  background-position: 0px -390px;\\r\\n}\\r\\n\\r\\ni.flag.ba:before,\\r\\ni.flag.bosnia:before {\\r\\n  background-position: 0px -416px;\\r\\n}\\r\\n\\r\\ni.flag.bb:before,\\r\\ni.flag.barbados:before {\\r\\n  background-position: 0px -442px;\\r\\n}\\r\\n\\r\\ni.flag.bd:before,\\r\\ni.flag.bangladesh:before {\\r\\n  background-position: 0px -468px;\\r\\n}\\r\\n\\r\\ni.flag.be:before,\\r\\ni.flag.belgium:before {\\r\\n  background-position: 0px -494px;\\r\\n}\\r\\n\\r\\ni.flag.bf:before,\\r\\ni.flag.burkina.faso:before {\\r\\n  background-position: 0px -520px;\\r\\n}\\r\\n\\r\\ni.flag.bg:before,\\r\\ni.flag.bulgaria:before {\\r\\n  background-position: 0px -546px;\\r\\n}\\r\\n\\r\\ni.flag.bh:before,\\r\\ni.flag.bahrain:before {\\r\\n  background-position: 0px -572px;\\r\\n}\\r\\n\\r\\ni.flag.bi:before,\\r\\ni.flag.burundi:before {\\r\\n  background-position: 0px -598px;\\r\\n}\\r\\n\\r\\ni.flag.bj:before,\\r\\ni.flag.benin:before {\\r\\n  background-position: 0px -624px;\\r\\n}\\r\\n\\r\\ni.flag.bm:before,\\r\\ni.flag.bermuda:before {\\r\\n  background-position: 0px -650px;\\r\\n}\\r\\n\\r\\ni.flag.bn:before,\\r\\ni.flag.brunei:before {\\r\\n  background-position: 0px -676px;\\r\\n}\\r\\n\\r\\ni.flag.bo:before,\\r\\ni.flag.bolivia:before {\\r\\n  background-position: 0px -702px;\\r\\n}\\r\\n\\r\\ni.flag.br:before,\\r\\ni.flag.brazil:before {\\r\\n  background-position: 0px -728px;\\r\\n}\\r\\n\\r\\ni.flag.bs:before,\\r\\ni.flag.bahamas:before {\\r\\n  background-position: 0px -754px;\\r\\n}\\r\\n\\r\\ni.flag.bt:before,\\r\\ni.flag.bhutan:before {\\r\\n  background-position: 0px -780px;\\r\\n}\\r\\n\\r\\ni.flag.bv:before,\\r\\ni.flag.bouvet.island:before {\\r\\n  background-position: 0px -806px;\\r\\n}\\r\\n\\r\\ni.flag.bw:before,\\r\\ni.flag.botswana:before {\\r\\n  background-position: 0px -832px;\\r\\n}\\r\\n\\r\\ni.flag.by:before,\\r\\ni.flag.belarus:before {\\r\\n  background-position: 0px -858px;\\r\\n}\\r\\n\\r\\ni.flag.bz:before,\\r\\ni.flag.belize:before {\\r\\n  background-position: 0px -884px;\\r\\n}\\r\\n\\r\\ni.flag.ca:before,\\r\\ni.flag.canada:before {\\r\\n  background-position: 0px -910px;\\r\\n}\\r\\n\\r\\ni.flag.cc:before,\\r\\ni.flag.cocos.islands:before {\\r\\n  background-position: 0px -962px;\\r\\n}\\r\\n\\r\\ni.flag.cd:before,\\r\\ni.flag.congo:before {\\r\\n  background-position: 0px -988px;\\r\\n}\\r\\n\\r\\ni.flag.cf:before,\\r\\ni.flag.central.african.republic:before {\\r\\n  background-position: 0px -1014px;\\r\\n}\\r\\n\\r\\ni.flag.cg:before,\\r\\ni.flag.congo.brazzaville:before {\\r\\n  background-position: 0px -1040px;\\r\\n}\\r\\n\\r\\ni.flag.ch:before,\\r\\ni.flag.switzerland:before {\\r\\n  background-position: 0px -1066px;\\r\\n}\\r\\n\\r\\ni.flag.ci:before,\\r\\ni.flag.cote.divoire:before {\\r\\n  background-position: 0px -1092px;\\r\\n}\\r\\n\\r\\ni.flag.ck:before,\\r\\ni.flag.cook.islands:before {\\r\\n  background-position: 0px -1118px;\\r\\n}\\r\\n\\r\\ni.flag.cl:before,\\r\\ni.flag.chile:before {\\r\\n  background-position: 0px -1144px;\\r\\n}\\r\\n\\r\\ni.flag.cm:before,\\r\\ni.flag.cameroon:before {\\r\\n  background-position: 0px -1170px;\\r\\n}\\r\\n\\r\\ni.flag.cn:before,\\r\\ni.flag.china:before {\\r\\n  background-position: 0px -1196px;\\r\\n}\\r\\n\\r\\ni.flag.co:before,\\r\\ni.flag.colombia:before {\\r\\n  background-position: 0px -1222px;\\r\\n}\\r\\n\\r\\ni.flag.cr:before,\\r\\ni.flag.costa.rica:before {\\r\\n  background-position: 0px -1248px;\\r\\n}\\r\\n\\r\\ni.flag.cs:before,\\r\\ni.flag.serbia:before {\\r\\n  background-position: 0px -1274px;\\r\\n}\\r\\n\\r\\ni.flag.cu:before,\\r\\ni.flag.cuba:before {\\r\\n  background-position: 0px -1300px;\\r\\n}\\r\\n\\r\\ni.flag.cv:before,\\r\\ni.flag.cape.verde:before {\\r\\n  background-position: 0px -1326px;\\r\\n}\\r\\n\\r\\ni.flag.cx:before,\\r\\ni.flag.christmas.island:before {\\r\\n  background-position: 0px -1352px;\\r\\n}\\r\\n\\r\\ni.flag.cy:before,\\r\\ni.flag.cyprus:before {\\r\\n  background-position: 0px -1378px;\\r\\n}\\r\\n\\r\\ni.flag.cz:before,\\r\\ni.flag.czech.republic:before {\\r\\n  background-position: 0px -1404px;\\r\\n}\\r\\n\\r\\ni.flag.de:before,\\r\\ni.flag.germany:before {\\r\\n  background-position: 0px -1430px;\\r\\n}\\r\\n\\r\\ni.flag.dj:before,\\r\\ni.flag.djibouti:before {\\r\\n  background-position: 0px -1456px;\\r\\n}\\r\\n\\r\\ni.flag.dk:before,\\r\\ni.flag.denmark:before {\\r\\n  background-position: 0px -1482px;\\r\\n}\\r\\n\\r\\ni.flag.dm:before,\\r\\ni.flag.dominica:before {\\r\\n  background-position: 0px -1508px;\\r\\n}\\r\\n\\r\\ni.flag.do:before,\\r\\ni.flag.dominican.republic:before {\\r\\n  background-position: 0px -1534px;\\r\\n}\\r\\n\\r\\ni.flag.dz:before,\\r\\ni.flag.algeria:before {\\r\\n  background-position: 0px -1560px;\\r\\n}\\r\\n\\r\\ni.flag.ec:before,\\r\\ni.flag.ecuador:before {\\r\\n  background-position: 0px -1586px;\\r\\n}\\r\\n\\r\\ni.flag.ee:before,\\r\\ni.flag.estonia:before {\\r\\n  background-position: 0px -1612px;\\r\\n}\\r\\n\\r\\ni.flag.eg:before,\\r\\ni.flag.egypt:before {\\r\\n  background-position: 0px -1638px;\\r\\n}\\r\\n\\r\\ni.flag.eh:before,\\r\\ni.flag.western.sahara:before {\\r\\n  background-position: 0px -1664px;\\r\\n}\\r\\n\\r\\ni.flag.er:before,\\r\\ni.flag.eritrea:before {\\r\\n  background-position: 0px -1716px;\\r\\n}\\r\\n\\r\\ni.flag.es:before,\\r\\ni.flag.spain:before {\\r\\n  background-position: 0px -1742px;\\r\\n}\\r\\n\\r\\ni.flag.et:before,\\r\\ni.flag.ethiopia:before {\\r\\n  background-position: 0px -1768px;\\r\\n}\\r\\n\\r\\ni.flag.eu:before,\\r\\ni.flag.european.union:before {\\r\\n  background-position: 0px -1794px;\\r\\n}\\r\\n\\r\\ni.flag.fi:before,\\r\\ni.flag.finland:before {\\r\\n  background-position: 0px -1846px;\\r\\n}\\r\\n\\r\\ni.flag.fj:before,\\r\\ni.flag.fiji:before {\\r\\n  background-position: 0px -1872px;\\r\\n}\\r\\n\\r\\ni.flag.fk:before,\\r\\ni.flag.falkland.islands:before {\\r\\n  background-position: 0px -1898px;\\r\\n}\\r\\n\\r\\ni.flag.fm:before,\\r\\ni.flag.micronesia:before {\\r\\n  background-position: 0px -1924px;\\r\\n}\\r\\n\\r\\ni.flag.fo:before,\\r\\ni.flag.faroe.islands:before {\\r\\n  background-position: 0px -1950px;\\r\\n}\\r\\n\\r\\ni.flag.fr:before,\\r\\ni.flag.france:before {\\r\\n  background-position: 0px -1976px;\\r\\n}\\r\\n\\r\\ni.flag.ga:before,\\r\\ni.flag.gabon:before {\\r\\n  background-position: -36px 0px;\\r\\n}\\r\\n\\r\\ni.flag.gb:before,\\r\\ni.flag.united.kingdom:before {\\r\\n  background-position: -36px -26px;\\r\\n}\\r\\n\\r\\ni.flag.gd:before,\\r\\ni.flag.grenada:before {\\r\\n  background-position: -36px -52px;\\r\\n}\\r\\n\\r\\ni.flag.ge:before,\\r\\ni.flag.georgia:before {\\r\\n  background-position: -36px -78px;\\r\\n}\\r\\n\\r\\ni.flag.gf:before,\\r\\ni.flag.french.guiana:before {\\r\\n  background-position: -36px -104px;\\r\\n}\\r\\n\\r\\ni.flag.gh:before,\\r\\ni.flag.ghana:before {\\r\\n  background-position: -36px -130px;\\r\\n}\\r\\n\\r\\ni.flag.gi:before,\\r\\ni.flag.gibraltar:before {\\r\\n  background-position: -36px -156px;\\r\\n}\\r\\n\\r\\ni.flag.gl:before,\\r\\ni.flag.greenland:before {\\r\\n  background-position: -36px -182px;\\r\\n}\\r\\n\\r\\ni.flag.gm:before,\\r\\ni.flag.gambia:before {\\r\\n  background-position: -36px -208px;\\r\\n}\\r\\n\\r\\ni.flag.gn:before,\\r\\ni.flag.guinea:before {\\r\\n  background-position: -36px -234px;\\r\\n}\\r\\n\\r\\ni.flag.gp:before,\\r\\ni.flag.guadeloupe:before {\\r\\n  background-position: -36px -260px;\\r\\n}\\r\\n\\r\\ni.flag.gq:before,\\r\\ni.flag.equatorial.guinea:before {\\r\\n  background-position: -36px -286px;\\r\\n}\\r\\n\\r\\ni.flag.gr:before,\\r\\ni.flag.greece:before {\\r\\n  background-position: -36px -312px;\\r\\n}\\r\\n\\r\\ni.flag.gs:before,\\r\\ni.flag.sandwich.islands:before {\\r\\n  background-position: -36px -338px;\\r\\n}\\r\\n\\r\\ni.flag.gt:before,\\r\\ni.flag.guatemala:before {\\r\\n  background-position: -36px -364px;\\r\\n}\\r\\n\\r\\ni.flag.gu:before,\\r\\ni.flag.guam:before {\\r\\n  background-position: -36px -390px;\\r\\n}\\r\\n\\r\\ni.flag.gw:before,\\r\\ni.flag.guinea-bissau:before {\\r\\n  background-position: -36px -416px;\\r\\n}\\r\\n\\r\\ni.flag.gy:before,\\r\\ni.flag.guyana:before {\\r\\n  background-position: -36px -442px;\\r\\n}\\r\\n\\r\\ni.flag.hk:before,\\r\\ni.flag.hong.kong:before {\\r\\n  background-position: -36px -468px;\\r\\n}\\r\\n\\r\\ni.flag.hm:before,\\r\\ni.flag.heard.island:before {\\r\\n  background-position: -36px -494px;\\r\\n}\\r\\n\\r\\ni.flag.hn:before,\\r\\ni.flag.honduras:before {\\r\\n  background-position: -36px -520px;\\r\\n}\\r\\n\\r\\ni.flag.hr:before,\\r\\ni.flag.croatia:before {\\r\\n  background-position: -36px -546px;\\r\\n}\\r\\n\\r\\ni.flag.ht:before,\\r\\ni.flag.haiti:before {\\r\\n  background-position: -36px -572px;\\r\\n}\\r\\n\\r\\ni.flag.hu:before,\\r\\ni.flag.hungary:before {\\r\\n  background-position: -36px -598px;\\r\\n}\\r\\n\\r\\ni.flag.id:before,\\r\\ni.flag.indonesia:before {\\r\\n  background-position: -36px -624px;\\r\\n}\\r\\n\\r\\ni.flag.ie:before,\\r\\ni.flag.ireland:before {\\r\\n  background-position: -36px -650px;\\r\\n}\\r\\n\\r\\ni.flag.il:before,\\r\\ni.flag.israel:before {\\r\\n  background-position: -36px -676px;\\r\\n}\\r\\n\\r\\ni.flag.in:before,\\r\\ni.flag.india:before {\\r\\n  background-position: -36px -702px;\\r\\n}\\r\\n\\r\\ni.flag.io:before,\\r\\ni.flag.indian.ocean.territory:before {\\r\\n  background-position: -36px -728px;\\r\\n}\\r\\n\\r\\ni.flag.iq:before,\\r\\ni.flag.iraq:before {\\r\\n  background-position: -36px -754px;\\r\\n}\\r\\n\\r\\ni.flag.ir:before,\\r\\ni.flag.iran:before {\\r\\n  background-position: -36px -780px;\\r\\n}\\r\\n\\r\\ni.flag.is:before,\\r\\ni.flag.iceland:before {\\r\\n  background-position: -36px -806px;\\r\\n}\\r\\n\\r\\ni.flag.it:before,\\r\\ni.flag.italy:before {\\r\\n  background-position: -36px -832px;\\r\\n}\\r\\n\\r\\ni.flag.jm:before,\\r\\ni.flag.jamaica:before {\\r\\n  background-position: -36px -858px;\\r\\n}\\r\\n\\r\\ni.flag.jo:before,\\r\\ni.flag.jordan:before {\\r\\n  background-position: -36px -884px;\\r\\n}\\r\\n\\r\\ni.flag.jp:before,\\r\\ni.flag.japan:before {\\r\\n  background-position: -36px -910px;\\r\\n}\\r\\n\\r\\ni.flag.ke:before,\\r\\ni.flag.kenya:before {\\r\\n  background-position: -36px -936px;\\r\\n}\\r\\n\\r\\ni.flag.kg:before,\\r\\ni.flag.kyrgyzstan:before {\\r\\n  background-position: -36px -962px;\\r\\n}\\r\\n\\r\\ni.flag.kh:before,\\r\\ni.flag.cambodia:before {\\r\\n  background-position: -36px -988px;\\r\\n}\\r\\n\\r\\ni.flag.ki:before,\\r\\ni.flag.kiribati:before {\\r\\n  background-position: -36px -1014px;\\r\\n}\\r\\n\\r\\ni.flag.km:before,\\r\\ni.flag.comoros:before {\\r\\n  background-position: -36px -1040px;\\r\\n}\\r\\n\\r\\ni.flag.kn:before,\\r\\ni.flag.saint.kitts.and.nevis:before {\\r\\n  background-position: -36px -1066px;\\r\\n}\\r\\n\\r\\ni.flag.kp:before,\\r\\ni.flag.north.korea:before {\\r\\n  background-position: -36px -1092px;\\r\\n}\\r\\n\\r\\ni.flag.kr:before,\\r\\ni.flag.south.korea:before {\\r\\n  background-position: -36px -1118px;\\r\\n}\\r\\n\\r\\ni.flag.kw:before,\\r\\ni.flag.kuwait:before {\\r\\n  background-position: -36px -1144px;\\r\\n}\\r\\n\\r\\ni.flag.ky:before,\\r\\ni.flag.cayman.islands:before {\\r\\n  background-position: -36px -1170px;\\r\\n}\\r\\n\\r\\ni.flag.kz:before,\\r\\ni.flag.kazakhstan:before {\\r\\n  background-position: -36px -1196px;\\r\\n}\\r\\n\\r\\ni.flag.la:before,\\r\\ni.flag.laos:before {\\r\\n  background-position: -36px -1222px;\\r\\n}\\r\\n\\r\\ni.flag.lb:before,\\r\\ni.flag.lebanon:before {\\r\\n  background-position: -36px -1248px;\\r\\n}\\r\\n\\r\\ni.flag.lc:before,\\r\\ni.flag.saint.lucia:before {\\r\\n  background-position: -36px -1274px;\\r\\n}\\r\\n\\r\\ni.flag.li:before,\\r\\ni.flag.liechtenstein:before {\\r\\n  background-position: -36px -1300px;\\r\\n}\\r\\n\\r\\ni.flag.lk:before,\\r\\ni.flag.sri.lanka:before {\\r\\n  background-position: -36px -1326px;\\r\\n}\\r\\n\\r\\ni.flag.lr:before,\\r\\ni.flag.liberia:before {\\r\\n  background-position: -36px -1352px;\\r\\n}\\r\\n\\r\\ni.flag.ls:before,\\r\\ni.flag.lesotho:before {\\r\\n  background-position: -36px -1378px;\\r\\n}\\r\\n\\r\\ni.flag.lt:before,\\r\\ni.flag.lithuania:before {\\r\\n  background-position: -36px -1404px;\\r\\n}\\r\\n\\r\\ni.flag.lu:before,\\r\\ni.flag.luxembourg:before {\\r\\n  background-position: -36px -1430px;\\r\\n}\\r\\n\\r\\ni.flag.lv:before,\\r\\ni.flag.latvia:before {\\r\\n  background-position: -36px -1456px;\\r\\n}\\r\\n\\r\\ni.flag.ly:before,\\r\\ni.flag.libya:before {\\r\\n  background-position: -36px -1482px;\\r\\n}\\r\\n\\r\\ni.flag.ma:before,\\r\\ni.flag.morocco:before {\\r\\n  background-position: -36px -1508px;\\r\\n}\\r\\n\\r\\ni.flag.mc:before,\\r\\ni.flag.monaco:before {\\r\\n  background-position: -36px -1534px;\\r\\n}\\r\\n\\r\\ni.flag.md:before,\\r\\ni.flag.moldova:before {\\r\\n  background-position: -36px -1560px;\\r\\n}\\r\\n\\r\\ni.flag.me:before,\\r\\ni.flag.montenegro:before {\\r\\n  background-position: -36px -1586px;\\r\\n}\\r\\n\\r\\ni.flag.mg:before,\\r\\ni.flag.madagascar:before {\\r\\n  background-position: -36px -1613px;\\r\\n}\\r\\n\\r\\ni.flag.mh:before,\\r\\ni.flag.marshall.islands:before {\\r\\n  background-position: -36px -1639px;\\r\\n}\\r\\n\\r\\ni.flag.mk:before,\\r\\ni.flag.macedonia:before {\\r\\n  background-position: -36px -1665px;\\r\\n}\\r\\n\\r\\ni.flag.ml:before,\\r\\ni.flag.mali:before {\\r\\n  background-position: -36px -1691px;\\r\\n}\\r\\n\\r\\ni.flag.mm:before,\\r\\ni.flag.myanmar:before,\\r\\ni.flag.burma:before {\\r\\n  background-position: -73px -1821px;\\r\\n}\\r\\n\\r\\ni.flag.mn:before,\\r\\ni.flag.mongolia:before {\\r\\n  background-position: -36px -1743px;\\r\\n}\\r\\n\\r\\ni.flag.mo:before,\\r\\ni.flag.macau:before {\\r\\n  background-position: -36px -1769px;\\r\\n}\\r\\n\\r\\ni.flag.mp:before,\\r\\ni.flag.northern.mariana.islands:before {\\r\\n  background-position: -36px -1795px;\\r\\n}\\r\\n\\r\\ni.flag.mq:before,\\r\\ni.flag.martinique:before {\\r\\n  background-position: -36px -1821px;\\r\\n}\\r\\n\\r\\ni.flag.mr:before,\\r\\ni.flag.mauritania:before {\\r\\n  background-position: -36px -1847px;\\r\\n}\\r\\n\\r\\ni.flag.ms:before,\\r\\ni.flag.montserrat:before {\\r\\n  background-position: -36px -1873px;\\r\\n}\\r\\n\\r\\ni.flag.mt:before,\\r\\ni.flag.malta:before {\\r\\n  background-position: -36px -1899px;\\r\\n}\\r\\n\\r\\ni.flag.mu:before,\\r\\ni.flag.mauritius:before {\\r\\n  background-position: -36px -1925px;\\r\\n}\\r\\n\\r\\ni.flag.mv:before,\\r\\ni.flag.maldives:before {\\r\\n  background-position: -36px -1951px;\\r\\n}\\r\\n\\r\\ni.flag.mw:before,\\r\\ni.flag.malawi:before {\\r\\n  background-position: -36px -1977px;\\r\\n}\\r\\n\\r\\ni.flag.mx:before,\\r\\ni.flag.mexico:before {\\r\\n  background-position: -72px 0px;\\r\\n}\\r\\n\\r\\ni.flag.my:before,\\r\\ni.flag.malaysia:before {\\r\\n  background-position: -72px -26px;\\r\\n}\\r\\n\\r\\ni.flag.mz:before,\\r\\ni.flag.mozambique:before {\\r\\n  background-position: -72px -52px;\\r\\n}\\r\\n\\r\\ni.flag.na:before,\\r\\ni.flag.namibia:before {\\r\\n  background-position: -72px -78px;\\r\\n}\\r\\n\\r\\ni.flag.nc:before,\\r\\ni.flag.new.caledonia:before {\\r\\n  background-position: -72px -104px;\\r\\n}\\r\\n\\r\\ni.flag.ne:before,\\r\\ni.flag.niger:before {\\r\\n  background-position: -72px -130px;\\r\\n}\\r\\n\\r\\ni.flag.nf:before,\\r\\ni.flag.norfolk.island:before {\\r\\n  background-position: -72px -156px;\\r\\n}\\r\\n\\r\\ni.flag.ng:before,\\r\\ni.flag.nigeria:before {\\r\\n  background-position: -72px -182px;\\r\\n}\\r\\n\\r\\ni.flag.ni:before,\\r\\ni.flag.nicaragua:before {\\r\\n  background-position: -72px -208px;\\r\\n}\\r\\n\\r\\ni.flag.nl:before,\\r\\ni.flag.netherlands:before {\\r\\n  background-position: -72px -234px;\\r\\n}\\r\\n\\r\\ni.flag.no:before,\\r\\ni.flag.norway:before {\\r\\n  background-position: -72px -260px;\\r\\n}\\r\\n\\r\\ni.flag.np:before,\\r\\ni.flag.nepal:before {\\r\\n  background-position: -72px -286px;\\r\\n}\\r\\n\\r\\ni.flag.nr:before,\\r\\ni.flag.nauru:before {\\r\\n  background-position: -72px -312px;\\r\\n}\\r\\n\\r\\ni.flag.nu:before,\\r\\ni.flag.niue:before {\\r\\n  background-position: -72px -338px;\\r\\n}\\r\\n\\r\\ni.flag.nz:before,\\r\\ni.flag.new.zealand:before {\\r\\n  background-position: -72px -364px;\\r\\n}\\r\\n\\r\\ni.flag.om:before,\\r\\ni.flag.oman:before {\\r\\n  background-position: -72px -390px;\\r\\n}\\r\\n\\r\\ni.flag.pa:before,\\r\\ni.flag.panama:before {\\r\\n  background-position: -72px -416px;\\r\\n}\\r\\n\\r\\ni.flag.pe:before,\\r\\ni.flag.peru:before {\\r\\n  background-position: -72px -442px;\\r\\n}\\r\\n\\r\\ni.flag.pf:before,\\r\\ni.flag.french.polynesia:before {\\r\\n  background-position: -72px -468px;\\r\\n}\\r\\n\\r\\ni.flag.pg:before,\\r\\ni.flag.new.guinea:before {\\r\\n  background-position: -72px -494px;\\r\\n}\\r\\n\\r\\ni.flag.ph:before,\\r\\ni.flag.philippines:before {\\r\\n  background-position: -72px -520px;\\r\\n}\\r\\n\\r\\ni.flag.pk:before,\\r\\ni.flag.pakistan:before {\\r\\n  background-position: -72px -546px;\\r\\n}\\r\\n\\r\\ni.flag.pl:before,\\r\\ni.flag.poland:before {\\r\\n  background-position: -72px -572px;\\r\\n}\\r\\n\\r\\ni.flag.pm:before,\\r\\ni.flag.saint.pierre:before {\\r\\n  background-position: -72px -598px;\\r\\n}\\r\\n\\r\\ni.flag.pn:before,\\r\\ni.flag.pitcairn.islands:before {\\r\\n  background-position: -72px -624px;\\r\\n}\\r\\n\\r\\ni.flag.pr:before,\\r\\ni.flag.puerto.rico:before {\\r\\n  background-position: -72px -650px;\\r\\n}\\r\\n\\r\\ni.flag.ps:before,\\r\\ni.flag.palestine:before {\\r\\n  background-position: -72px -676px;\\r\\n}\\r\\n\\r\\ni.flag.pt:before,\\r\\ni.flag.portugal:before {\\r\\n  background-position: -72px -702px;\\r\\n}\\r\\n\\r\\ni.flag.pw:before,\\r\\ni.flag.palau:before {\\r\\n  background-position: -72px -728px;\\r\\n}\\r\\n\\r\\ni.flag.py:before,\\r\\ni.flag.paraguay:before {\\r\\n  background-position: -72px -754px;\\r\\n}\\r\\n\\r\\ni.flag.qa:before,\\r\\ni.flag.qatar:before {\\r\\n  background-position: -72px -780px;\\r\\n}\\r\\n\\r\\ni.flag.re:before,\\r\\ni.flag.reunion:before {\\r\\n  background-position: -72px -806px;\\r\\n}\\r\\n\\r\\ni.flag.ro:before,\\r\\ni.flag.romania:before {\\r\\n  background-position: -72px -832px;\\r\\n}\\r\\n\\r\\ni.flag.rs:before,\\r\\ni.flag.serbia:before {\\r\\n  background-position: -72px -858px;\\r\\n}\\r\\n\\r\\ni.flag.ru:before,\\r\\ni.flag.russia:before {\\r\\n  background-position: -72px -884px;\\r\\n}\\r\\n\\r\\ni.flag.rw:before,\\r\\ni.flag.rwanda:before {\\r\\n  background-position: -72px -910px;\\r\\n}\\r\\n\\r\\ni.flag.sa:before,\\r\\ni.flag.saudi.arabia:before {\\r\\n  background-position: -72px -936px;\\r\\n}\\r\\n\\r\\ni.flag.sb:before,\\r\\ni.flag.solomon.islands:before {\\r\\n  background-position: -72px -962px;\\r\\n}\\r\\n\\r\\ni.flag.sc:before,\\r\\ni.flag.seychelles:before {\\r\\n  background-position: -72px -988px;\\r\\n}\\r\\n\\r\\ni.flag.gb.sct:before,\\r\\ni.flag.scotland:before {\\r\\n  background-position: -72px -1014px;\\r\\n}\\r\\n\\r\\ni.flag.sd:before,\\r\\ni.flag.sudan:before {\\r\\n  background-position: -72px -1040px;\\r\\n}\\r\\n\\r\\ni.flag.se:before,\\r\\ni.flag.sweden:before {\\r\\n  background-position: -72px -1066px;\\r\\n}\\r\\n\\r\\ni.flag.sg:before,\\r\\ni.flag.singapore:before {\\r\\n  background-position: -72px -1092px;\\r\\n}\\r\\n\\r\\ni.flag.sh:before,\\r\\ni.flag.saint.helena:before {\\r\\n  background-position: -72px -1118px;\\r\\n}\\r\\n\\r\\ni.flag.si:before,\\r\\ni.flag.slovenia:before {\\r\\n  background-position: -72px -1144px;\\r\\n}\\r\\n\\r\\ni.flag.sj:before,\\r\\ni.flag.svalbard:before,\\r\\ni.flag.jan.mayen:before {\\r\\n  background-position: -72px -1170px;\\r\\n}\\r\\n\\r\\ni.flag.sk:before,\\r\\ni.flag.slovakia:before {\\r\\n  background-position: -72px -1196px;\\r\\n}\\r\\n\\r\\ni.flag.sl:before,\\r\\ni.flag.sierra.leone:before {\\r\\n  background-position: -72px -1222px;\\r\\n}\\r\\n\\r\\ni.flag.sm:before,\\r\\ni.flag.san.marino:before {\\r\\n  background-position: -72px -1248px;\\r\\n}\\r\\n\\r\\ni.flag.sn:before,\\r\\ni.flag.senegal:before {\\r\\n  background-position: -72px -1274px;\\r\\n}\\r\\n\\r\\ni.flag.so:before,\\r\\ni.flag.somalia:before {\\r\\n  background-position: -72px -1300px;\\r\\n}\\r\\n\\r\\ni.flag.sr:before,\\r\\ni.flag.suriname:before {\\r\\n  background-position: -72px -1326px;\\r\\n}\\r\\n\\r\\ni.flag.st:before,\\r\\ni.flag.sao.tome:before {\\r\\n  background-position: -72px -1352px;\\r\\n}\\r\\n\\r\\ni.flag.sv:before,\\r\\ni.flag.el.salvador:before {\\r\\n  background-position: -72px -1378px;\\r\\n}\\r\\n\\r\\ni.flag.sy:before,\\r\\ni.flag.syria:before {\\r\\n  background-position: -72px -1404px;\\r\\n}\\r\\n\\r\\ni.flag.sz:before,\\r\\ni.flag.swaziland:before {\\r\\n  background-position: -72px -1430px;\\r\\n}\\r\\n\\r\\ni.flag.tc:before,\\r\\ni.flag.caicos.islands:before {\\r\\n  background-position: -72px -1456px;\\r\\n}\\r\\n\\r\\ni.flag.td:before,\\r\\ni.flag.chad:before {\\r\\n  background-position: -72px -1482px;\\r\\n}\\r\\n\\r\\ni.flag.tf:before,\\r\\ni.flag.french.territories:before {\\r\\n  background-position: -72px -1508px;\\r\\n}\\r\\n\\r\\ni.flag.tg:before,\\r\\ni.flag.togo:before {\\r\\n  background-position: -72px -1534px;\\r\\n}\\r\\n\\r\\ni.flag.th:before,\\r\\ni.flag.thailand:before {\\r\\n  background-position: -72px -1560px;\\r\\n}\\r\\n\\r\\ni.flag.tj:before,\\r\\ni.flag.tajikistan:before {\\r\\n  background-position: -72px -1586px;\\r\\n}\\r\\n\\r\\ni.flag.tk:before,\\r\\ni.flag.tokelau:before {\\r\\n  background-position: -72px -1612px;\\r\\n}\\r\\n\\r\\ni.flag.tl:before,\\r\\ni.flag.timorleste:before {\\r\\n  background-position: -72px -1638px;\\r\\n}\\r\\n\\r\\ni.flag.tm:before,\\r\\ni.flag.turkmenistan:before {\\r\\n  background-position: -72px -1664px;\\r\\n}\\r\\n\\r\\ni.flag.tn:before,\\r\\ni.flag.tunisia:before {\\r\\n  background-position: -72px -1690px;\\r\\n}\\r\\n\\r\\ni.flag.to:before,\\r\\ni.flag.tonga:before {\\r\\n  background-position: -72px -1716px;\\r\\n}\\r\\n\\r\\ni.flag.tr:before,\\r\\ni.flag.turkey:before {\\r\\n  background-position: -72px -1742px;\\r\\n}\\r\\n\\r\\ni.flag.tt:before,\\r\\ni.flag.trinidad:before {\\r\\n  background-position: -72px -1768px;\\r\\n}\\r\\n\\r\\ni.flag.tv:before,\\r\\ni.flag.tuvalu:before {\\r\\n  background-position: -72px -1794px;\\r\\n}\\r\\n\\r\\ni.flag.tw:before,\\r\\ni.flag.taiwan:before {\\r\\n  background-position: -72px -1820px;\\r\\n}\\r\\n\\r\\ni.flag.tz:before,\\r\\ni.flag.tanzania:before {\\r\\n  background-position: -72px -1846px;\\r\\n}\\r\\n\\r\\ni.flag.ua:before,\\r\\ni.flag.ukraine:before {\\r\\n  background-position: -72px -1872px;\\r\\n}\\r\\n\\r\\ni.flag.ug:before,\\r\\ni.flag.uganda:before {\\r\\n  background-position: -72px -1898px;\\r\\n}\\r\\n\\r\\ni.flag.um:before,\\r\\ni.flag.us.minor.islands:before {\\r\\n  background-position: -72px -1924px;\\r\\n}\\r\\n\\r\\ni.flag.us:before,\\r\\ni.flag.america:before,\\r\\ni.flag.united.states:before {\\r\\n  background-position: -72px -1950px;\\r\\n}\\r\\n\\r\\ni.flag.uy:before,\\r\\ni.flag.uruguay:before {\\r\\n  background-position: -72px -1976px;\\r\\n}\\r\\n\\r\\ni.flag.uz:before,\\r\\ni.flag.uzbekistan:before {\\r\\n  background-position: -108px 0px;\\r\\n}\\r\\n\\r\\ni.flag.va:before,\\r\\ni.flag.vatican.city:before {\\r\\n  background-position: -108px -26px;\\r\\n}\\r\\n\\r\\ni.flag.vc:before,\\r\\ni.flag.saint.vincent:before {\\r\\n  background-position: -108px -52px;\\r\\n}\\r\\n\\r\\ni.flag.ve:before,\\r\\ni.flag.venezuela:before {\\r\\n  background-position: -108px -78px;\\r\\n}\\r\\n\\r\\ni.flag.vg:before,\\r\\ni.flag.british.virgin.islands:before {\\r\\n  background-position: -108px -104px;\\r\\n}\\r\\n\\r\\ni.flag.vi:before,\\r\\ni.flag.us.virgin.islands:before {\\r\\n  background-position: -108px -130px;\\r\\n}\\r\\n\\r\\ni.flag.vn:before,\\r\\ni.flag.vietnam:before {\\r\\n  background-position: -108px -156px;\\r\\n}\\r\\n\\r\\ni.flag.vu:before,\\r\\ni.flag.vanuatu:before {\\r\\n  background-position: -108px -182px;\\r\\n}\\r\\n\\r\\ni.flag.gb.wls:before,\\r\\ni.flag.wales:before {\\r\\n  background-position: -108px -208px;\\r\\n}\\r\\n\\r\\ni.flag.wf:before,\\r\\ni.flag.wallis.and.futuna:before {\\r\\n  background-position: -108px -234px;\\r\\n}\\r\\n\\r\\ni.flag.ws:before,\\r\\ni.flag.samoa:before {\\r\\n  background-position: -108px -260px;\\r\\n}\\r\\n\\r\\ni.flag.ye:before,\\r\\ni.flag.yemen:before {\\r\\n  background-position: -108px -286px;\\r\\n}\\r\\n\\r\\ni.flag.yt:before,\\r\\ni.flag.mayotte:before {\\r\\n  background-position: -108px -312px;\\r\\n}\\r\\n\\r\\ni.flag.za:before,\\r\\ni.flag.south.africa:before {\\r\\n  background-position: -108px -338px;\\r\\n}\\r\\n\\r\\ni.flag.zm:before,\\r\\ni.flag.zambia:before {\\r\\n  background-position: -108px -364px;\\r\\n}\\r\\n\\r\\ni.flag.zw:before,\\r\\ni.flag.zimbabwe:before {\\r\\n  background-position: -108px -390px;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Header\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Header\\r\\n*******************************/\\r\\n\\r\\n/* Standard */\\r\\n\\r\\n.ui.header {\\r\\n  border: none;\\r\\n  margin: calc(2rem -  0.14285714em ) 0em 1rem;\\r\\n  padding: 0em 0em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-weight: bold;\\r\\n  line-height: 1.28571429em;\\r\\n  text-transform: none;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.header:first-child {\\r\\n  margin-top: -0.14285714em;\\r\\n}\\r\\n\\r\\n.ui.header:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Sub Header\\r\\n---------------*/\\r\\n\\r\\n.ui.header .sub.header {\\r\\n  display: block;\\r\\n  font-weight: normal;\\r\\n  padding: 0em;\\r\\n  margin: 0em;\\r\\n  font-size: 1rem;\\r\\n  line-height: 1.2em;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.header > .icon {\\r\\n  display: table-cell;\\r\\n  opacity: 1;\\r\\n  font-size: 1.5em;\\r\\n  padding-top: 0.14285714em;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/* With Text Node */\\r\\n\\r\\n.ui.header .icon:only-child {\\r\\n  display: inline-block;\\r\\n  padding: 0em;\\r\\n  margin-right: 0.75rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Image\\r\\n--------------------*/\\r\\n\\r\\n.ui.header > .image:not(.icon),\\r\\n.ui.header > img {\\r\\n  display: inline-block;\\r\\n  margin-top: 0.14285714em;\\r\\n  width: 2.5em;\\r\\n  height: auto;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.header > .image:not(.icon):only-child,\\r\\n.ui.header > img:only-child {\\r\\n  margin-right: 0.75rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Content\\r\\n---------------*/\\r\\n\\r\\n.ui.header .content {\\r\\n  display: inline-block;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n/* After Image */\\r\\n\\r\\n.ui.header > img + .content,\\r\\n.ui.header > .image + .content {\\r\\n  padding-left: 0.75rem;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/* After Icon */\\r\\n\\r\\n.ui.header > .icon + .content {\\r\\n  padding-left: 0.75rem;\\r\\n  display: table-cell;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n Loose Coupling\\r\\n---------------*/\\r\\n\\r\\n.ui.header .ui.label {\\r\\n  font-size: '';\\r\\n  margin-left: 0.5rem;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/* Positioning */\\r\\n\\r\\n.ui.header + p {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Page\\r\\n---------------*/\\r\\n\\r\\nh1.ui.header {\\r\\n  font-size: 2rem;\\r\\n}\\r\\n\\r\\nh2.ui.header {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\nh3.ui.header {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\nh4.ui.header {\\r\\n  font-size: 1.07142857rem;\\r\\n}\\r\\n\\r\\nh5.ui.header {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n/* Sub Header */\\r\\n\\r\\nh1.ui.header .sub.header {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\nh2.ui.header .sub.header {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\nh3.ui.header .sub.header {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\nh4.ui.header .sub.header {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\nh5.ui.header .sub.header {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n Content Heading\\r\\n---------------*/\\r\\n\\r\\n.ui.huge.header {\\r\\n  min-height: 1em;\\r\\n  font-size: 2em;\\r\\n}\\r\\n\\r\\n.ui.large.header {\\r\\n  font-size: 1.71428571em;\\r\\n}\\r\\n\\r\\n.ui.medium.header {\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n.ui.small.header {\\r\\n  font-size: 1.07142857em;\\r\\n}\\r\\n\\r\\n.ui.tiny.header {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/* Sub Header */\\r\\n\\r\\n.ui.huge.header .sub.header {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.large.header .sub.header {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.header .sub.header {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.small.header .sub.header {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.header .sub.header {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Sub Heading\\r\\n---------------*/\\r\\n\\r\\n.ui.sub.header {\\r\\n  padding: 0em;\\r\\n  margin-bottom: 0.14285714rem;\\r\\n  font-weight: bold;\\r\\n  font-size: 0.85714286em;\\r\\n  text-transform: uppercase;\\r\\n  color: '';\\r\\n}\\r\\n\\r\\n.ui.small.sub.header {\\r\\n  font-size: 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.sub.header {\\r\\n  font-size: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui.large.sub.header {\\r\\n  font-size: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.huge.sub.header {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Icon\\r\\n--------------------*/\\r\\n\\r\\n.ui.icon.header {\\r\\n  display: inline-block;\\r\\n  text-align: center;\\r\\n  margin: 2rem 0em 1rem;\\r\\n}\\r\\n\\r\\n.ui.icon.header:after {\\r\\n  content: '';\\r\\n  display: block;\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.icon.header:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.icon.header .icon {\\r\\n  float: none;\\r\\n  display: block;\\r\\n  width: auto;\\r\\n  height: auto;\\r\\n  line-height: 1;\\r\\n  padding: 0em;\\r\\n  font-size: 3em;\\r\\n  margin: 0em auto 0.5rem;\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.icon.header .content {\\r\\n  display: block;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n.ui.icon.header .circular.icon {\\r\\n  font-size: 2em;\\r\\n}\\r\\n\\r\\n.ui.icon.header .square.icon {\\r\\n  font-size: 2em;\\r\\n}\\r\\n\\r\\n.ui.block.icon.header .icon {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.icon.header.aligned {\\r\\n  margin-left: auto;\\r\\n  margin-right: auto;\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n.ui.disabled.header {\\r\\n  opacity: 0.45;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n      Inverted\\r\\n--------------------*/\\r\\n\\r\\n.ui.inverted.header {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.header .sub.header {\\r\\n  color: rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n\\r\\n.ui.inverted.attached.header {\\r\\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  box-shadow: none;\\r\\n  border-color: transparent;\\r\\n}\\r\\n\\r\\n.ui.inverted.block.header {\\r\\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.inverted.block.header {\\r\\n  border-bottom: none;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Colors\\r\\n--------------------*/\\r\\n\\r\\n/*--- Red ---*/\\r\\n\\r\\n.ui.red.header {\\r\\n  color: #DB2828 !important;\\r\\n}\\r\\n\\r\\na.ui.red.header:hover {\\r\\n  color: #d01919 !important;\\r\\n}\\r\\n\\r\\n.ui.red.dividing.header {\\r\\n  border-bottom: 2px solid #DB2828;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.red.header {\\r\\n  color: #FF695E !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.red.header:hover {\\r\\n  color: #ff5144 !important;\\r\\n}\\r\\n\\r\\n/*--- Orange ---*/\\r\\n\\r\\n.ui.orange.header {\\r\\n  color: #F2711C !important;\\r\\n}\\r\\n\\r\\na.ui.orange.header:hover {\\r\\n  color: #f26202 !important;\\r\\n}\\r\\n\\r\\n.ui.orange.dividing.header {\\r\\n  border-bottom: 2px solid #F2711C;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.orange.header {\\r\\n  color: #FF851B !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.orange.header:hover {\\r\\n  color: #ff7701 !important;\\r\\n}\\r\\n\\r\\n/*--- Olive ---*/\\r\\n\\r\\n.ui.olive.header {\\r\\n  color: #B5CC18 !important;\\r\\n}\\r\\n\\r\\na.ui.olive.header:hover {\\r\\n  color: #a7bd0d !important;\\r\\n}\\r\\n\\r\\n.ui.olive.dividing.header {\\r\\n  border-bottom: 2px solid #B5CC18;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.olive.header {\\r\\n  color: #D9E778 !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.olive.header:hover {\\r\\n  color: #d8ea5c !important;\\r\\n}\\r\\n\\r\\n/*--- Yellow ---*/\\r\\n\\r\\n.ui.yellow.header {\\r\\n  color: #FBBD08 !important;\\r\\n}\\r\\n\\r\\na.ui.yellow.header:hover {\\r\\n  color: #eaae00 !important;\\r\\n}\\r\\n\\r\\n.ui.yellow.dividing.header {\\r\\n  border-bottom: 2px solid #FBBD08;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.yellow.header {\\r\\n  color: #FFE21F !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.yellow.header:hover {\\r\\n  color: #ffdf05 !important;\\r\\n}\\r\\n\\r\\n/*--- Green ---*/\\r\\n\\r\\n.ui.green.header {\\r\\n  color: #21BA45 !important;\\r\\n}\\r\\n\\r\\na.ui.green.header:hover {\\r\\n  color: #16ab39 !important;\\r\\n}\\r\\n\\r\\n.ui.green.dividing.header {\\r\\n  border-bottom: 2px solid #21BA45;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.green.header {\\r\\n  color: #2ECC40 !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.green.header:hover {\\r\\n  color: #22be34 !important;\\r\\n}\\r\\n\\r\\n/*--- Teal ---*/\\r\\n\\r\\n.ui.teal.header {\\r\\n  color: #00B5AD !important;\\r\\n}\\r\\n\\r\\na.ui.teal.header:hover {\\r\\n  color: #009c95 !important;\\r\\n}\\r\\n\\r\\n.ui.teal.dividing.header {\\r\\n  border-bottom: 2px solid #00B5AD;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.teal.header {\\r\\n  color: #6DFFFF !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.teal.header:hover {\\r\\n  color: #54ffff !important;\\r\\n}\\r\\n\\r\\n/*--- Blue ---*/\\r\\n\\r\\n.ui.blue.header {\\r\\n  color: #2185D0 !important;\\r\\n}\\r\\n\\r\\na.ui.blue.header:hover {\\r\\n  color: #1678c2 !important;\\r\\n}\\r\\n\\r\\n.ui.blue.dividing.header {\\r\\n  border-bottom: 2px solid #2185D0;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.blue.header {\\r\\n  color: #54C8FF !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.blue.header:hover {\\r\\n  color: #3ac0ff !important;\\r\\n}\\r\\n\\r\\n/*--- Violet ---*/\\r\\n\\r\\n.ui.violet.header {\\r\\n  color: #6435C9 !important;\\r\\n}\\r\\n\\r\\na.ui.violet.header:hover {\\r\\n  color: #5829bb !important;\\r\\n}\\r\\n\\r\\n.ui.violet.dividing.header {\\r\\n  border-bottom: 2px solid #6435C9;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.violet.header {\\r\\n  color: #A291FB !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.violet.header:hover {\\r\\n  color: #8a73ff !important;\\r\\n}\\r\\n\\r\\n/*--- Purple ---*/\\r\\n\\r\\n.ui.purple.header {\\r\\n  color: #A333C8 !important;\\r\\n}\\r\\n\\r\\na.ui.purple.header:hover {\\r\\n  color: #9627ba !important;\\r\\n}\\r\\n\\r\\n.ui.purple.dividing.header {\\r\\n  border-bottom: 2px solid #A333C8;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.purple.header {\\r\\n  color: #DC73FF !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.purple.header:hover {\\r\\n  color: #d65aff !important;\\r\\n}\\r\\n\\r\\n/*--- Pink ---*/\\r\\n\\r\\n.ui.pink.header {\\r\\n  color: #E03997 !important;\\r\\n}\\r\\n\\r\\na.ui.pink.header:hover {\\r\\n  color: #e61a8d !important;\\r\\n}\\r\\n\\r\\n.ui.pink.dividing.header {\\r\\n  border-bottom: 2px solid #E03997;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.pink.header {\\r\\n  color: #FF8EDF !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.pink.header:hover {\\r\\n  color: #ff74d8 !important;\\r\\n}\\r\\n\\r\\n/*--- Brown ---*/\\r\\n\\r\\n.ui.brown.header {\\r\\n  color: #A5673F !important;\\r\\n}\\r\\n\\r\\na.ui.brown.header:hover {\\r\\n  color: #975b33 !important;\\r\\n}\\r\\n\\r\\n.ui.brown.dividing.header {\\r\\n  border-bottom: 2px solid #A5673F;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.brown.header {\\r\\n  color: #D67C1C !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.brown.header:hover {\\r\\n  color: #c86f11 !important;\\r\\n}\\r\\n\\r\\n/*--- Grey ---*/\\r\\n\\r\\n.ui.grey.header {\\r\\n  color: #767676 !important;\\r\\n}\\r\\n\\r\\na.ui.grey.header:hover {\\r\\n  color: #838383 !important;\\r\\n}\\r\\n\\r\\n.ui.grey.dividing.header {\\r\\n  border-bottom: 2px solid #767676;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.grey.header {\\r\\n  color: #DCDDDE !important;\\r\\n}\\r\\n\\r\\na.ui.inverted.grey.header:hover {\\r\\n  color: #cfd0d2 !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Aligned\\r\\n--------------------*/\\r\\n\\r\\n.ui.left.aligned.header {\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n.ui.right.aligned.header {\\r\\n  text-align: right;\\r\\n}\\r\\n\\r\\n.ui.centered.header,\\r\\n.ui.center.aligned.header {\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.justified.header {\\r\\n  text-align: justify;\\r\\n}\\r\\n\\r\\n.ui.justified.header:after {\\r\\n  display: inline-block;\\r\\n  content: '';\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Floated\\r\\n--------------------*/\\r\\n\\r\\n.ui.floated.header,\\r\\n.ui[class*=\\\"left floated\\\"].header {\\r\\n  float: left;\\r\\n  margin-top: 0em;\\r\\n  margin-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right floated\\\"].header {\\r\\n  float: right;\\r\\n  margin-top: 0em;\\r\\n  margin-left: 0.5em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Fitted\\r\\n--------------------*/\\r\\n\\r\\n.ui.fitted.header {\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Dividing\\r\\n--------------------*/\\r\\n\\r\\n.ui.dividing.header {\\r\\n  padding-bottom: 0.21428571rem;\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.dividing.header .sub.header {\\r\\n  padding-bottom: 0.21428571rem;\\r\\n}\\r\\n\\r\\n.ui.dividing.header .icon {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dividing.header {\\r\\n  border-bottom-color: rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Block\\r\\n--------------------*/\\r\\n\\r\\n.ui.block.header {\\r\\n  background: #F3F4F5;\\r\\n  padding: 0.78571429rem 1rem;\\r\\n  box-shadow: none;\\r\\n  border: 1px solid #D4D4D5;\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.block.header {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.block.header {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.block.header {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.huge.block.header {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Attached\\r\\n--------------------*/\\r\\n\\r\\n.ui.attached.header {\\r\\n  background: #FFFFFF;\\r\\n  padding: 0.78571429rem 1rem;\\r\\n  margin-left: -1px;\\r\\n  margin-right: -1px;\\r\\n  box-shadow: none;\\r\\n  border: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.attached.block.header {\\r\\n  background: #F3F4F5;\\r\\n}\\r\\n\\r\\n.ui.attached:not(.top):not(.bottom).header {\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 0em;\\r\\n  border-top: none;\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.top.attached.header {\\r\\n  margin-bottom: 0em;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.bottom.attached.header {\\r\\n  margin-top: 0em;\\r\\n  border-top: none;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Attached Sizes */\\r\\n\\r\\n.ui.tiny.attached.header {\\r\\n  font-size: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui.small.attached.header {\\r\\n  font-size: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.large.attached.header {\\r\\n  font-size: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.huge.attached.header {\\r\\n  font-size: 1.42857143em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Sizing\\r\\n--------------------*/\\r\\n\\r\\n.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Icon\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Icon\\r\\n*******************************/\\r\\n\\r\\n@font-face {\\r\\n  font-family: 'Icons';\\r\\n  src: url(\" + require(\"./themes/default/assets/fonts/icons.eot\") + \");\\r\\n  src: url(\" + require(\"./themes/default/assets/fonts/icons.eot\") + \"?#iefix) format('embedded-opentype'), url(\" + require(\"./themes/default/assets/fonts/icons.woff2\") + \") format('woff2'), url(\" + require(\"./themes/default/assets/fonts/icons.woff\") + \") format('woff'), url(\" + require(\"./themes/default/assets/fonts/icons.ttf\") + \") format('truetype'), url(\" + require(\"./themes/default/assets/fonts/icons.svg\") + \"#icons) format('svg');\\r\\n  font-style: normal;\\r\\n  font-weight: normal;\\r\\n  font-variant: normal;\\r\\n  text-decoration: inherit;\\r\\n  text-transform: none;\\r\\n}\\r\\n\\r\\ni.icon {\\r\\n  display: inline-block;\\r\\n  opacity: 1;\\r\\n  margin: 0em 0.25rem 0em 0em;\\r\\n  width: 1.18em;\\r\\n  height: 1em;\\r\\n  font-family: 'Icons';\\r\\n  font-style: normal;\\r\\n  font-weight: normal;\\r\\n  text-decoration: inherit;\\r\\n  text-align: center;\\r\\n  speak: none;\\r\\n  font-smoothing: antialiased;\\r\\n  -moz-osx-font-smoothing: grayscale;\\r\\n  -webkit-font-smoothing: antialiased;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n}\\r\\n\\r\\ni.icon:before {\\r\\n  background: none !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Loading\\r\\n---------------*/\\r\\n\\r\\ni.icon.loading {\\r\\n  height: 1em;\\r\\n  line-height: 1;\\r\\n  -webkit-animation: icon-loading 2s linear infinite;\\r\\n  animation: icon-loading 2s linear infinite;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes icon-loading {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes icon-loading {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\ni.icon.hover {\\r\\n  opacity: 1 !important;\\r\\n}\\r\\n\\r\\ni.icon.active {\\r\\n  opacity: 1 !important;\\r\\n}\\r\\n\\r\\ni.emphasized.icon {\\r\\n  opacity: 1 !important;\\r\\n}\\r\\n\\r\\ni.disabled.icon {\\r\\n  opacity: 0.45 !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n        Fitted\\r\\n--------------------*/\\r\\n\\r\\ni.fitted.icon {\\r\\n  width: auto;\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n         Link\\r\\n--------------------*/\\r\\n\\r\\ni.link.icon,\\r\\ni.link.icons {\\r\\n  cursor: pointer;\\r\\n  opacity: 0.8;\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n}\\r\\n\\r\\ni.link.icon:hover,\\r\\ni.link.icons:hover {\\r\\n  opacity: 1 !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Circular\\r\\n--------------------*/\\r\\n\\r\\ni.circular.icon {\\r\\n  border-radius: 500em !important;\\r\\n  line-height: 1 !important;\\r\\n  padding: 0.5em 0.5em !important;\\r\\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\\r\\n  width: 2em !important;\\r\\n  height: 2em !important;\\r\\n}\\r\\n\\r\\ni.circular.inverted.icon {\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Flipped\\r\\n--------------------*/\\r\\n\\r\\ni.flipped.icon,\\r\\ni.horizontally.flipped.icon {\\r\\n  -webkit-transform: scale(-1, 1);\\r\\n  transform: scale(-1, 1);\\r\\n}\\r\\n\\r\\ni.vertically.flipped.icon {\\r\\n  -webkit-transform: scale(1, -1);\\r\\n  transform: scale(1, -1);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Rotated\\r\\n--------------------*/\\r\\n\\r\\ni.rotated.icon,\\r\\ni.right.rotated.icon,\\r\\ni.clockwise.rotated.icon {\\r\\n  -webkit-transform: rotate(90deg);\\r\\n  transform: rotate(90deg);\\r\\n}\\r\\n\\r\\ni.left.rotated.icon,\\r\\ni.counterclockwise.rotated.icon {\\r\\n  -webkit-transform: rotate(-90deg);\\r\\n  transform: rotate(-90deg);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Bordered\\r\\n--------------------*/\\r\\n\\r\\ni.bordered.icon {\\r\\n  line-height: 1;\\r\\n  vertical-align: baseline;\\r\\n  width: 2em;\\r\\n  height: 2em;\\r\\n  padding: 0.5em 0.41em !important;\\r\\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\\r\\n}\\r\\n\\r\\ni.bordered.inverted.icon {\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Inverted\\r\\n--------------------*/\\r\\n\\r\\n/* Inverted Shapes */\\r\\n\\r\\ni.inverted.bordered.icon,\\r\\ni.inverted.circular.icon {\\r\\n  background-color: #1B1C1D !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\ni.inverted.icon {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Colors\\r\\n--------------------*/\\r\\n\\r\\n/* Red */\\r\\n\\r\\ni.red.icon {\\r\\n  color: #DB2828 !important;\\r\\n}\\r\\n\\r\\ni.inverted.red.icon {\\r\\n  color: #FF695E !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.red.icon,\\r\\ni.inverted.circular.red.icon {\\r\\n  background-color: #DB2828 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Orange */\\r\\n\\r\\ni.orange.icon {\\r\\n  color: #F2711C !important;\\r\\n}\\r\\n\\r\\ni.inverted.orange.icon {\\r\\n  color: #FF851B !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.orange.icon,\\r\\ni.inverted.circular.orange.icon {\\r\\n  background-color: #F2711C !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Yellow */\\r\\n\\r\\ni.yellow.icon {\\r\\n  color: #FBBD08 !important;\\r\\n}\\r\\n\\r\\ni.inverted.yellow.icon {\\r\\n  color: #FFE21F !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.yellow.icon,\\r\\ni.inverted.circular.yellow.icon {\\r\\n  background-color: #FBBD08 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Olive */\\r\\n\\r\\ni.olive.icon {\\r\\n  color: #B5CC18 !important;\\r\\n}\\r\\n\\r\\ni.inverted.olive.icon {\\r\\n  color: #D9E778 !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.olive.icon,\\r\\ni.inverted.circular.olive.icon {\\r\\n  background-color: #B5CC18 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Green */\\r\\n\\r\\ni.green.icon {\\r\\n  color: #21BA45 !important;\\r\\n}\\r\\n\\r\\ni.inverted.green.icon {\\r\\n  color: #2ECC40 !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.green.icon,\\r\\ni.inverted.circular.green.icon {\\r\\n  background-color: #21BA45 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Teal */\\r\\n\\r\\ni.teal.icon {\\r\\n  color: #00B5AD !important;\\r\\n}\\r\\n\\r\\ni.inverted.teal.icon {\\r\\n  color: #6DFFFF !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.teal.icon,\\r\\ni.inverted.circular.teal.icon {\\r\\n  background-color: #00B5AD !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Blue */\\r\\n\\r\\ni.blue.icon {\\r\\n  color: #2185D0 !important;\\r\\n}\\r\\n\\r\\ni.inverted.blue.icon {\\r\\n  color: #54C8FF !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.blue.icon,\\r\\ni.inverted.circular.blue.icon {\\r\\n  background-color: #2185D0 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Violet */\\r\\n\\r\\ni.violet.icon {\\r\\n  color: #6435C9 !important;\\r\\n}\\r\\n\\r\\ni.inverted.violet.icon {\\r\\n  color: #A291FB !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.violet.icon,\\r\\ni.inverted.circular.violet.icon {\\r\\n  background-color: #6435C9 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Purple */\\r\\n\\r\\ni.purple.icon {\\r\\n  color: #A333C8 !important;\\r\\n}\\r\\n\\r\\ni.inverted.purple.icon {\\r\\n  color: #DC73FF !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.purple.icon,\\r\\ni.inverted.circular.purple.icon {\\r\\n  background-color: #A333C8 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Pink */\\r\\n\\r\\ni.pink.icon {\\r\\n  color: #E03997 !important;\\r\\n}\\r\\n\\r\\ni.inverted.pink.icon {\\r\\n  color: #FF8EDF !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.pink.icon,\\r\\ni.inverted.circular.pink.icon {\\r\\n  background-color: #E03997 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Brown */\\r\\n\\r\\ni.brown.icon {\\r\\n  color: #A5673F !important;\\r\\n}\\r\\n\\r\\ni.inverted.brown.icon {\\r\\n  color: #D67C1C !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.brown.icon,\\r\\ni.inverted.circular.brown.icon {\\r\\n  background-color: #A5673F !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Grey */\\r\\n\\r\\ni.grey.icon {\\r\\n  color: #767676 !important;\\r\\n}\\r\\n\\r\\ni.inverted.grey.icon {\\r\\n  color: #DCDDDE !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.grey.icon,\\r\\ni.inverted.circular.grey.icon {\\r\\n  background-color: #767676 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Black */\\r\\n\\r\\ni.black.icon {\\r\\n  color: #1B1C1D !important;\\r\\n}\\r\\n\\r\\ni.inverted.black.icon {\\r\\n  color: #545454 !important;\\r\\n}\\r\\n\\r\\ni.inverted.bordered.black.icon,\\r\\ni.inverted.circular.black.icon {\\r\\n  background-color: #1B1C1D !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Sizes\\r\\n--------------------*/\\r\\n\\r\\ni.mini.icon,\\r\\ni.mini.icons {\\r\\n  line-height: 1;\\r\\n  font-size: 0.4em;\\r\\n}\\r\\n\\r\\ni.tiny.icon,\\r\\ni.tiny.icons {\\r\\n  line-height: 1;\\r\\n  font-size: 0.5em;\\r\\n}\\r\\n\\r\\ni.small.icon,\\r\\ni.small.icons {\\r\\n  line-height: 1;\\r\\n  font-size: 0.75em;\\r\\n}\\r\\n\\r\\ni.icon,\\r\\ni.icons {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\ni.large.icon,\\r\\ni.large.icons {\\r\\n  line-height: 1;\\r\\n  vertical-align: middle;\\r\\n  font-size: 1.5em;\\r\\n}\\r\\n\\r\\ni.big.icon,\\r\\ni.big.icons {\\r\\n  line-height: 1;\\r\\n  vertical-align: middle;\\r\\n  font-size: 2em;\\r\\n}\\r\\n\\r\\ni.huge.icon,\\r\\ni.huge.icons {\\r\\n  line-height: 1;\\r\\n  vertical-align: middle;\\r\\n  font-size: 4em;\\r\\n}\\r\\n\\r\\ni.massive.icon,\\r\\ni.massive.icons {\\r\\n  line-height: 1;\\r\\n  vertical-align: middle;\\r\\n  font-size: 8em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Groups\\r\\n*******************************/\\r\\n\\r\\ni.icons {\\r\\n  display: inline-block;\\r\\n  position: relative;\\r\\n  line-height: 1;\\r\\n}\\r\\n\\r\\ni.icons .icon {\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\r\\n  transform: translateX(-50%) translateY(-50%);\\r\\n  margin: 0em;\\r\\n  margin: 0;\\r\\n}\\r\\n\\r\\ni.icons .icon:first-child {\\r\\n  position: static;\\r\\n  width: auto;\\r\\n  height: auto;\\r\\n  vertical-align: top;\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n  margin-right: 0.25rem;\\r\\n}\\r\\n\\r\\n/* Corner Icon */\\r\\n\\r\\ni.icons .corner.icon {\\r\\n  top: auto;\\r\\n  left: auto;\\r\\n  right: 0;\\r\\n  bottom: 0;\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n  font-size: 0.45em;\\r\\n  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;\\r\\n}\\r\\n\\r\\ni.icons .inverted.corner.icon {\\r\\n  text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D;\\r\\n}\\r\\n\\r\\n/*\\r\\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\\r\\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n\\r\\nSemantic-UI integration of font-awesome :\\r\\n\\r\\n///class names are separated\\r\\ni.icon.circle => i.icon.circle\\r\\ni.icon.circle-o => i.icon.circle.outline\\r\\n\\r\\n//abbreviation are replaced by full letters:\\r\\ni.icon.ellipsis-h => i.icon.ellipsis.horizontal\\r\\ni.icon.ellipsis-v => i.icon.ellipsis.vertical\\r\\n.alpha => .i.icon.alphabet\\r\\n.asc => .i.icon.ascending\\r\\n.desc => .i.icon.descending\\r\\n.alt =>.alternate\\r\\n\\r\\nASCII order is conserved for easier maintenance.\\r\\n\\r\\nIcons that only have one style 'outline', 'square' etc do not require this class\\r\\nfor instance `lemon icon` not `lemon outline icon` since there is only one lemon\\r\\n\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n            Icons\\r\\n*******************************/\\r\\n\\r\\n/* Web Content */\\r\\n\\r\\ni.icon.search:before {\\r\\n  content: \\\"\\\\F002\\\";\\r\\n}\\r\\n\\r\\ni.icon.mail.outline:before {\\r\\n  content: \\\"\\\\F003\\\";\\r\\n}\\r\\n\\r\\ni.icon.signal:before {\\r\\n  content: \\\"\\\\F012\\\";\\r\\n}\\r\\n\\r\\ni.icon.setting:before {\\r\\n  content: \\\"\\\\F013\\\";\\r\\n}\\r\\n\\r\\ni.icon.home:before {\\r\\n  content: \\\"\\\\F015\\\";\\r\\n}\\r\\n\\r\\ni.icon.inbox:before {\\r\\n  content: \\\"\\\\F01C\\\";\\r\\n}\\r\\n\\r\\ni.icon.browser:before {\\r\\n  content: \\\"\\\\F022\\\";\\r\\n}\\r\\n\\r\\ni.icon.tag:before {\\r\\n  content: \\\"\\\\F02B\\\";\\r\\n}\\r\\n\\r\\ni.icon.tags:before {\\r\\n  content: \\\"\\\\F02C\\\";\\r\\n}\\r\\n\\r\\ni.icon.image:before {\\r\\n  content: \\\"\\\\F03E\\\";\\r\\n}\\r\\n\\r\\ni.icon.calendar:before {\\r\\n  content: \\\"\\\\F073\\\";\\r\\n}\\r\\n\\r\\ni.icon.comment:before {\\r\\n  content: \\\"\\\\F075\\\";\\r\\n}\\r\\n\\r\\ni.icon.shop:before {\\r\\n  content: \\\"\\\\F07A\\\";\\r\\n}\\r\\n\\r\\ni.icon.comments:before {\\r\\n  content: \\\"\\\\F086\\\";\\r\\n}\\r\\n\\r\\ni.icon.external:before {\\r\\n  content: \\\"\\\\F08E\\\";\\r\\n}\\r\\n\\r\\ni.icon.privacy:before {\\r\\n  content: \\\"\\\\F084\\\";\\r\\n}\\r\\n\\r\\ni.icon.settings:before {\\r\\n  content: \\\"\\\\F085\\\";\\r\\n}\\r\\n\\r\\ni.icon.comments:before {\\r\\n  content: \\\"\\\\F086\\\";\\r\\n}\\r\\n\\r\\ni.icon.external:before {\\r\\n  content: \\\"\\\\F08E\\\";\\r\\n}\\r\\n\\r\\ni.icon.trophy:before {\\r\\n  content: \\\"\\\\F091\\\";\\r\\n}\\r\\n\\r\\ni.icon.payment:before {\\r\\n  content: \\\"\\\\F09D\\\";\\r\\n}\\r\\n\\r\\ni.icon.feed:before {\\r\\n  content: \\\"\\\\F09E\\\";\\r\\n}\\r\\n\\r\\ni.icon.alarm.outline:before {\\r\\n  content: \\\"\\\\F0A2\\\";\\r\\n}\\r\\n\\r\\ni.icon.tasks:before {\\r\\n  content: \\\"\\\\F0AE\\\";\\r\\n}\\r\\n\\r\\ni.icon.cloud:before {\\r\\n  content: \\\"\\\\F0C2\\\";\\r\\n}\\r\\n\\r\\ni.icon.lab:before {\\r\\n  content: \\\"\\\\F0C3\\\";\\r\\n}\\r\\n\\r\\ni.icon.mail:before {\\r\\n  content: \\\"\\\\F0E0\\\";\\r\\n}\\r\\n\\r\\ni.icon.dashboard:before {\\r\\n  content: \\\"\\\\F0E4\\\";\\r\\n}\\r\\n\\r\\ni.icon.comment.outline:before {\\r\\n  content: \\\"\\\\F0E5\\\";\\r\\n}\\r\\n\\r\\ni.icon.comments.outline:before {\\r\\n  content: \\\"\\\\F0E6\\\";\\r\\n}\\r\\n\\r\\ni.icon.sitemap:before {\\r\\n  content: \\\"\\\\F0E8\\\";\\r\\n}\\r\\n\\r\\ni.icon.idea:before {\\r\\n  content: \\\"\\\\F0EB\\\";\\r\\n}\\r\\n\\r\\ni.icon.alarm:before {\\r\\n  content: \\\"\\\\F0F3\\\";\\r\\n}\\r\\n\\r\\ni.icon.terminal:before {\\r\\n  content: \\\"\\\\F120\\\";\\r\\n}\\r\\n\\r\\ni.icon.code:before {\\r\\n  content: \\\"\\\\F121\\\";\\r\\n}\\r\\n\\r\\ni.icon.protect:before {\\r\\n  content: \\\"\\\\F132\\\";\\r\\n}\\r\\n\\r\\ni.icon.calendar.outline:before {\\r\\n  content: \\\"\\\\F133\\\";\\r\\n}\\r\\n\\r\\ni.icon.ticket:before {\\r\\n  content: \\\"\\\\F145\\\";\\r\\n}\\r\\n\\r\\ni.icon.external.square:before {\\r\\n  content: \\\"\\\\F14C\\\";\\r\\n}\\r\\n\\r\\ni.icon.bug:before {\\r\\n  content: \\\"\\\\F188\\\";\\r\\n}\\r\\n\\r\\ni.icon.mail.square:before {\\r\\n  content: \\\"\\\\F199\\\";\\r\\n}\\r\\n\\r\\ni.icon.history:before {\\r\\n  content: \\\"\\\\F1DA\\\";\\r\\n}\\r\\n\\r\\ni.icon.options:before {\\r\\n  content: \\\"\\\\F1DE\\\";\\r\\n}\\r\\n\\r\\ni.icon.text.telephone:before {\\r\\n  content: \\\"\\\\F1E4\\\";\\r\\n}\\r\\n\\r\\ni.icon.find:before {\\r\\n  content: \\\"\\\\F1E5\\\";\\r\\n}\\r\\n\\r\\ni.icon.alarm.mute:before {\\r\\n  content: \\\"\\\\F1F6\\\";\\r\\n}\\r\\n\\r\\ni.icon.alarm.mute.outline:before {\\r\\n  content: \\\"\\\\F1F7\\\";\\r\\n}\\r\\n\\r\\ni.icon.copyright:before {\\r\\n  content: \\\"\\\\F1F9\\\";\\r\\n}\\r\\n\\r\\ni.icon.at:before {\\r\\n  content: \\\"\\\\F1FA\\\";\\r\\n}\\r\\n\\r\\ni.icon.eyedropper:before {\\r\\n  content: \\\"\\\\F1FB\\\";\\r\\n}\\r\\n\\r\\ni.icon.paint.brush:before {\\r\\n  content: \\\"\\\\F1FC\\\";\\r\\n}\\r\\n\\r\\ni.icon.heartbeat:before {\\r\\n  content: \\\"\\\\F21E\\\";\\r\\n}\\r\\n\\r\\ni.icon.mouse.pointer:before {\\r\\n  content: \\\"\\\\F245\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.empty:before {\\r\\n  content: \\\"\\\\F250\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.start:before {\\r\\n  content: \\\"\\\\F251\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.half:before {\\r\\n  content: \\\"\\\\F252\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.end:before {\\r\\n  content: \\\"\\\\F253\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.full:before {\\r\\n  content: \\\"\\\\F254\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.pointer:before {\\r\\n  content: \\\"\\\\F25A\\\";\\r\\n}\\r\\n\\r\\ni.icon.trademark:before {\\r\\n  content: \\\"\\\\F25C\\\";\\r\\n}\\r\\n\\r\\ni.icon.registered:before {\\r\\n  content: \\\"\\\\F25D\\\";\\r\\n}\\r\\n\\r\\ni.icon.creative.commons:before {\\r\\n  content: \\\"\\\\F25E\\\";\\r\\n}\\r\\n\\r\\ni.icon.add.to.calendar:before {\\r\\n  content: \\\"\\\\F271\\\";\\r\\n}\\r\\n\\r\\ni.icon.remove.from.calendar:before {\\r\\n  content: \\\"\\\\F272\\\";\\r\\n}\\r\\n\\r\\ni.icon.delete.calendar:before {\\r\\n  content: \\\"\\\\F273\\\";\\r\\n}\\r\\n\\r\\ni.icon.checked.calendar:before {\\r\\n  content: \\\"\\\\F274\\\";\\r\\n}\\r\\n\\r\\ni.icon.industry:before {\\r\\n  content: \\\"\\\\F275\\\";\\r\\n}\\r\\n\\r\\ni.icon.shopping.bag:before {\\r\\n  content: \\\"\\\\F290\\\";\\r\\n}\\r\\n\\r\\ni.icon.shopping.basket:before {\\r\\n  content: \\\"\\\\F291\\\";\\r\\n}\\r\\n\\r\\ni.icon.hashtag:before {\\r\\n  content: \\\"\\\\F292\\\";\\r\\n}\\r\\n\\r\\ni.icon.percent:before {\\r\\n  content: \\\"\\\\F295\\\";\\r\\n}\\r\\n\\r\\ni.icon.handshake:before {\\r\\n  content: \\\"\\\\F2B5\\\";\\r\\n}\\r\\n\\r\\ni.icon.open.envelope:before {\\r\\n  content: \\\"\\\\F2B6\\\";\\r\\n}\\r\\n\\r\\ni.icon.open.envelope.outline:before {\\r\\n  content: \\\"\\\\F2B7\\\";\\r\\n}\\r\\n\\r\\ni.icon.address.book:before {\\r\\n  content: \\\"\\\\F2B9\\\";\\r\\n}\\r\\n\\r\\ni.icon.address.book.outline:before {\\r\\n  content: \\\"\\\\F2BA\\\";\\r\\n}\\r\\n\\r\\ni.icon.address.card:before {\\r\\n  content: \\\"\\\\F2BB\\\";\\r\\n}\\r\\n\\r\\ni.icon.address.card.outline:before {\\r\\n  content: \\\"\\\\F2BC\\\";\\r\\n}\\r\\n\\r\\ni.icon.id.badge:before {\\r\\n  content: \\\"\\\\F2C1\\\";\\r\\n}\\r\\n\\r\\ni.icon.id.card:before {\\r\\n  content: \\\"\\\\F2C2\\\";\\r\\n}\\r\\n\\r\\ni.icon.id.card.outline:before {\\r\\n  content: \\\"\\\\F2C3\\\";\\r\\n}\\r\\n\\r\\ni.icon.podcast:before {\\r\\n  content: \\\"\\\\F2CE\\\";\\r\\n}\\r\\n\\r\\ni.icon.window.maximize:before {\\r\\n  content: \\\"\\\\F2D0\\\";\\r\\n}\\r\\n\\r\\ni.icon.window.minimize:before {\\r\\n  content: \\\"\\\\F2D1\\\";\\r\\n}\\r\\n\\r\\ni.icon.window.restore:before {\\r\\n  content: \\\"\\\\F2D2\\\";\\r\\n}\\r\\n\\r\\ni.icon.window.close:before {\\r\\n  content: \\\"\\\\F2D3\\\";\\r\\n}\\r\\n\\r\\ni.icon.window.close.outline:before {\\r\\n  content: \\\"\\\\F2D4\\\";\\r\\n}\\r\\n\\r\\n/* User Actions */\\r\\n\\r\\ni.icon.wait:before {\\r\\n  content: \\\"\\\\F017\\\";\\r\\n}\\r\\n\\r\\ni.icon.download:before {\\r\\n  content: \\\"\\\\F019\\\";\\r\\n}\\r\\n\\r\\ni.icon.repeat:before {\\r\\n  content: \\\"\\\\F01E\\\";\\r\\n}\\r\\n\\r\\ni.icon.refresh:before {\\r\\n  content: \\\"\\\\F021\\\";\\r\\n}\\r\\n\\r\\ni.icon.lock:before {\\r\\n  content: \\\"\\\\F023\\\";\\r\\n}\\r\\n\\r\\ni.icon.bookmark:before {\\r\\n  content: \\\"\\\\F02E\\\";\\r\\n}\\r\\n\\r\\ni.icon.print:before {\\r\\n  content: \\\"\\\\F02F\\\";\\r\\n}\\r\\n\\r\\ni.icon.write:before {\\r\\n  content: \\\"\\\\F040\\\";\\r\\n}\\r\\n\\r\\ni.icon.adjust:before {\\r\\n  content: \\\"\\\\F042\\\";\\r\\n}\\r\\n\\r\\ni.icon.theme:before {\\r\\n  content: \\\"\\\\F043\\\";\\r\\n}\\r\\n\\r\\ni.icon.edit:before {\\r\\n  content: \\\"\\\\F044\\\";\\r\\n}\\r\\n\\r\\ni.icon.external.share:before {\\r\\n  content: \\\"\\\\F045\\\";\\r\\n}\\r\\n\\r\\ni.icon.ban:before {\\r\\n  content: \\\"\\\\F05E\\\";\\r\\n}\\r\\n\\r\\ni.icon.mail.forward:before {\\r\\n  content: \\\"\\\\F064\\\";\\r\\n}\\r\\n\\r\\ni.icon.share:before {\\r\\n  content: \\\"\\\\F064\\\";\\r\\n}\\r\\n\\r\\ni.icon.expand:before {\\r\\n  content: \\\"\\\\F065\\\";\\r\\n}\\r\\n\\r\\ni.icon.compress:before {\\r\\n  content: \\\"\\\\F066\\\";\\r\\n}\\r\\n\\r\\ni.icon.unhide:before {\\r\\n  content: \\\"\\\\F06E\\\";\\r\\n}\\r\\n\\r\\ni.icon.hide:before {\\r\\n  content: \\\"\\\\F070\\\";\\r\\n}\\r\\n\\r\\ni.icon.random:before {\\r\\n  content: \\\"\\\\F074\\\";\\r\\n}\\r\\n\\r\\ni.icon.retweet:before {\\r\\n  content: \\\"\\\\F079\\\";\\r\\n}\\r\\n\\r\\ni.icon.sign.out:before {\\r\\n  content: \\\"\\\\F08B\\\";\\r\\n}\\r\\n\\r\\ni.icon.pin:before {\\r\\n  content: \\\"\\\\F08D\\\";\\r\\n}\\r\\n\\r\\ni.icon.sign.in:before {\\r\\n  content: \\\"\\\\F090\\\";\\r\\n}\\r\\n\\r\\ni.icon.upload:before {\\r\\n  content: \\\"\\\\F093\\\";\\r\\n}\\r\\n\\r\\ni.icon.call:before {\\r\\n  content: \\\"\\\\F095\\\";\\r\\n}\\r\\n\\r\\ni.icon.remove.bookmark:before {\\r\\n  content: \\\"\\\\F097\\\";\\r\\n}\\r\\n\\r\\ni.icon.call.square:before {\\r\\n  content: \\\"\\\\F098\\\";\\r\\n}\\r\\n\\r\\ni.icon.unlock:before {\\r\\n  content: \\\"\\\\F09C\\\";\\r\\n}\\r\\n\\r\\ni.icon.configure:before {\\r\\n  content: \\\"\\\\F0AD\\\";\\r\\n}\\r\\n\\r\\ni.icon.filter:before {\\r\\n  content: \\\"\\\\F0B0\\\";\\r\\n}\\r\\n\\r\\ni.icon.wizard:before {\\r\\n  content: \\\"\\\\F0D0\\\";\\r\\n}\\r\\n\\r\\ni.icon.undo:before {\\r\\n  content: \\\"\\\\F0E2\\\";\\r\\n}\\r\\n\\r\\ni.icon.exchange:before {\\r\\n  content: \\\"\\\\F0EC\\\";\\r\\n}\\r\\n\\r\\ni.icon.cloud.download:before {\\r\\n  content: \\\"\\\\F0ED\\\";\\r\\n}\\r\\n\\r\\ni.icon.cloud.upload:before {\\r\\n  content: \\\"\\\\F0EE\\\";\\r\\n}\\r\\n\\r\\ni.icon.reply:before {\\r\\n  content: \\\"\\\\F112\\\";\\r\\n}\\r\\n\\r\\ni.icon.reply.all:before {\\r\\n  content: \\\"\\\\F122\\\";\\r\\n}\\r\\n\\r\\ni.icon.erase:before {\\r\\n  content: \\\"\\\\F12D\\\";\\r\\n}\\r\\n\\r\\ni.icon.unlock.alternate:before {\\r\\n  content: \\\"\\\\F13E\\\";\\r\\n}\\r\\n\\r\\ni.icon.write.square:before {\\r\\n  content: \\\"\\\\F14B\\\";\\r\\n}\\r\\n\\r\\ni.icon.share.square:before {\\r\\n  content: \\\"\\\\F14D\\\";\\r\\n}\\r\\n\\r\\ni.icon.archive:before {\\r\\n  content: \\\"\\\\F187\\\";\\r\\n}\\r\\n\\r\\ni.icon.translate:before {\\r\\n  content: \\\"\\\\F1AB\\\";\\r\\n}\\r\\n\\r\\ni.icon.recycle:before {\\r\\n  content: \\\"\\\\F1B8\\\";\\r\\n}\\r\\n\\r\\ni.icon.send:before {\\r\\n  content: \\\"\\\\F1D8\\\";\\r\\n}\\r\\n\\r\\ni.icon.send.outline:before {\\r\\n  content: \\\"\\\\F1D9\\\";\\r\\n}\\r\\n\\r\\ni.icon.share.alternate:before {\\r\\n  content: \\\"\\\\F1E0\\\";\\r\\n}\\r\\n\\r\\ni.icon.share.alternate.square:before {\\r\\n  content: \\\"\\\\F1E1\\\";\\r\\n}\\r\\n\\r\\ni.icon.add.to.cart:before {\\r\\n  content: \\\"\\\\F217\\\";\\r\\n}\\r\\n\\r\\ni.icon.in.cart:before {\\r\\n  content: \\\"\\\\F218\\\";\\r\\n}\\r\\n\\r\\ni.icon.add.user:before {\\r\\n  content: \\\"\\\\F234\\\";\\r\\n}\\r\\n\\r\\ni.icon.remove.user:before {\\r\\n  content: \\\"\\\\F235\\\";\\r\\n}\\r\\n\\r\\ni.icon.object.group:before {\\r\\n  content: \\\"\\\\F247\\\";\\r\\n}\\r\\n\\r\\ni.icon.object.ungroup:before {\\r\\n  content: \\\"\\\\F248\\\";\\r\\n}\\r\\n\\r\\ni.icon.clone:before {\\r\\n  content: \\\"\\\\F24D\\\";\\r\\n}\\r\\n\\r\\ni.icon.talk:before {\\r\\n  content: \\\"\\\\F27A\\\";\\r\\n}\\r\\n\\r\\ni.icon.talk.outline:before {\\r\\n  content: \\\"\\\\F27B\\\";\\r\\n}\\r\\n\\r\\n/* Messages */\\r\\n\\r\\ni.icon.help.circle:before {\\r\\n  content: \\\"\\\\F059\\\";\\r\\n}\\r\\n\\r\\ni.icon.info.circle:before {\\r\\n  content: \\\"\\\\F05A\\\";\\r\\n}\\r\\n\\r\\ni.icon.warning.circle:before {\\r\\n  content: \\\"\\\\F06A\\\";\\r\\n}\\r\\n\\r\\ni.icon.warning.sign:before {\\r\\n  content: \\\"\\\\F071\\\";\\r\\n}\\r\\n\\r\\ni.icon.announcement:before {\\r\\n  content: \\\"\\\\F0A1\\\";\\r\\n}\\r\\n\\r\\ni.icon.help:before {\\r\\n  content: \\\"\\\\F128\\\";\\r\\n}\\r\\n\\r\\ni.icon.info:before {\\r\\n  content: \\\"\\\\F129\\\";\\r\\n}\\r\\n\\r\\ni.icon.warning:before {\\r\\n  content: \\\"\\\\F12A\\\";\\r\\n}\\r\\n\\r\\ni.icon.birthday:before {\\r\\n  content: \\\"\\\\F1FD\\\";\\r\\n}\\r\\n\\r\\ni.icon.help.circle.outline:before {\\r\\n  content: \\\"\\\\F29C\\\";\\r\\n}\\r\\n\\r\\n/* Users */\\r\\n\\r\\ni.icon.user:before {\\r\\n  content: \\\"\\\\F007\\\";\\r\\n}\\r\\n\\r\\ni.icon.users:before {\\r\\n  content: \\\"\\\\F0C0\\\";\\r\\n}\\r\\n\\r\\ni.icon.doctor:before {\\r\\n  content: \\\"\\\\F0F0\\\";\\r\\n}\\r\\n\\r\\ni.icon.handicap:before {\\r\\n  content: \\\"\\\\F193\\\";\\r\\n}\\r\\n\\r\\ni.icon.student:before {\\r\\n  content: \\\"\\\\F19D\\\";\\r\\n}\\r\\n\\r\\ni.icon.child:before {\\r\\n  content: \\\"\\\\F1AE\\\";\\r\\n}\\r\\n\\r\\ni.icon.spy:before {\\r\\n  content: \\\"\\\\F21B\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.circle:before {\\r\\n  content: \\\"\\\\F2BD\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.circle.outline:before {\\r\\n  content: \\\"\\\\F2BE\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.outline:before {\\r\\n  content: \\\"\\\\F2C0\\\";\\r\\n}\\r\\n\\r\\n/* Gender & Sexuality */\\r\\n\\r\\ni.icon.female:before {\\r\\n  content: \\\"\\\\F182\\\";\\r\\n}\\r\\n\\r\\ni.icon.male:before {\\r\\n  content: \\\"\\\\F183\\\";\\r\\n}\\r\\n\\r\\ni.icon.woman:before {\\r\\n  content: \\\"\\\\F221\\\";\\r\\n}\\r\\n\\r\\ni.icon.man:before {\\r\\n  content: \\\"\\\\F222\\\";\\r\\n}\\r\\n\\r\\ni.icon.non.binary.transgender:before {\\r\\n  content: \\\"\\\\F223\\\";\\r\\n}\\r\\n\\r\\ni.icon.intergender:before {\\r\\n  content: \\\"\\\\F224\\\";\\r\\n}\\r\\n\\r\\ni.icon.transgender:before {\\r\\n  content: \\\"\\\\F225\\\";\\r\\n}\\r\\n\\r\\ni.icon.lesbian:before {\\r\\n  content: \\\"\\\\F226\\\";\\r\\n}\\r\\n\\r\\ni.icon.gay:before {\\r\\n  content: \\\"\\\\F227\\\";\\r\\n}\\r\\n\\r\\ni.icon.heterosexual:before {\\r\\n  content: \\\"\\\\F228\\\";\\r\\n}\\r\\n\\r\\ni.icon.other.gender:before {\\r\\n  content: \\\"\\\\F229\\\";\\r\\n}\\r\\n\\r\\ni.icon.other.gender.vertical:before {\\r\\n  content: \\\"\\\\F22A\\\";\\r\\n}\\r\\n\\r\\ni.icon.other.gender.horizontal:before {\\r\\n  content: \\\"\\\\F22B\\\";\\r\\n}\\r\\n\\r\\ni.icon.neuter:before {\\r\\n  content: \\\"\\\\F22C\\\";\\r\\n}\\r\\n\\r\\ni.icon.genderless:before {\\r\\n  content: \\\"\\\\F22D\\\";\\r\\n}\\r\\n\\r\\n/* Accessibility */\\r\\n\\r\\ni.icon.universal.access:before {\\r\\n  content: \\\"\\\\F29A\\\";\\r\\n}\\r\\n\\r\\ni.icon.wheelchair:before {\\r\\n  content: \\\"\\\\F29B\\\";\\r\\n}\\r\\n\\r\\ni.icon.blind:before {\\r\\n  content: \\\"\\\\F29D\\\";\\r\\n}\\r\\n\\r\\ni.icon.audio.description:before {\\r\\n  content: \\\"\\\\F29E\\\";\\r\\n}\\r\\n\\r\\ni.icon.volume.control.phone:before {\\r\\n  content: \\\"\\\\F2A0\\\";\\r\\n}\\r\\n\\r\\ni.icon.braille:before {\\r\\n  content: \\\"\\\\F2A1\\\";\\r\\n}\\r\\n\\r\\ni.icon.asl:before {\\r\\n  content: \\\"\\\\F2A3\\\";\\r\\n}\\r\\n\\r\\ni.icon.assistive.listening.systems:before {\\r\\n  content: \\\"\\\\F2A2\\\";\\r\\n}\\r\\n\\r\\ni.icon.deafness:before {\\r\\n  content: \\\"\\\\F2A4\\\";\\r\\n}\\r\\n\\r\\ni.icon.sign.language:before {\\r\\n  content: \\\"\\\\F2A7\\\";\\r\\n}\\r\\n\\r\\ni.icon.low.vision:before {\\r\\n  content: \\\"\\\\F2A8\\\";\\r\\n}\\r\\n\\r\\n/* View Adjustment */\\r\\n\\r\\ni.icon.block.layout:before {\\r\\n  content: \\\"\\\\F009\\\";\\r\\n}\\r\\n\\r\\ni.icon.grid.layout:before {\\r\\n  content: \\\"\\\\F00A\\\";\\r\\n}\\r\\n\\r\\ni.icon.list.layout:before {\\r\\n  content: \\\"\\\\F00B\\\";\\r\\n}\\r\\n\\r\\ni.icon.zoom:before {\\r\\n  content: \\\"\\\\F00E\\\";\\r\\n}\\r\\n\\r\\ni.icon.zoom.out:before {\\r\\n  content: \\\"\\\\F010\\\";\\r\\n}\\r\\n\\r\\ni.icon.resize.vertical:before {\\r\\n  content: \\\"\\\\F07D\\\";\\r\\n}\\r\\n\\r\\ni.icon.resize.horizontal:before {\\r\\n  content: \\\"\\\\F07E\\\";\\r\\n}\\r\\n\\r\\ni.icon.maximize:before {\\r\\n  content: \\\"\\\\F0B2\\\";\\r\\n}\\r\\n\\r\\ni.icon.crop:before {\\r\\n  content: \\\"\\\\F125\\\";\\r\\n}\\r\\n\\r\\n/* Literal Objects */\\r\\n\\r\\ni.icon.cocktail:before {\\r\\n  content: \\\"\\\\F000\\\";\\r\\n}\\r\\n\\r\\ni.icon.road:before {\\r\\n  content: \\\"\\\\F018\\\";\\r\\n}\\r\\n\\r\\ni.icon.flag:before {\\r\\n  content: \\\"\\\\F024\\\";\\r\\n}\\r\\n\\r\\ni.icon.book:before {\\r\\n  content: \\\"\\\\F02D\\\";\\r\\n}\\r\\n\\r\\ni.icon.gift:before {\\r\\n  content: \\\"\\\\F06B\\\";\\r\\n}\\r\\n\\r\\ni.icon.leaf:before {\\r\\n  content: \\\"\\\\F06C\\\";\\r\\n}\\r\\n\\r\\ni.icon.fire:before {\\r\\n  content: \\\"\\\\F06D\\\";\\r\\n}\\r\\n\\r\\ni.icon.plane:before {\\r\\n  content: \\\"\\\\F072\\\";\\r\\n}\\r\\n\\r\\ni.icon.magnet:before {\\r\\n  content: \\\"\\\\F076\\\";\\r\\n}\\r\\n\\r\\ni.icon.lemon:before {\\r\\n  content: \\\"\\\\F094\\\";\\r\\n}\\r\\n\\r\\ni.icon.world:before {\\r\\n  content: \\\"\\\\F0AC\\\";\\r\\n}\\r\\n\\r\\ni.icon.travel:before {\\r\\n  content: \\\"\\\\F0B1\\\";\\r\\n}\\r\\n\\r\\ni.icon.shipping:before {\\r\\n  content: \\\"\\\\F0D1\\\";\\r\\n}\\r\\n\\r\\ni.icon.money:before {\\r\\n  content: \\\"\\\\F0D6\\\";\\r\\n}\\r\\n\\r\\ni.icon.legal:before {\\r\\n  content: \\\"\\\\F0E3\\\";\\r\\n}\\r\\n\\r\\ni.icon.lightning:before {\\r\\n  content: \\\"\\\\F0E7\\\";\\r\\n}\\r\\n\\r\\ni.icon.umbrella:before {\\r\\n  content: \\\"\\\\F0E9\\\";\\r\\n}\\r\\n\\r\\ni.icon.treatment:before {\\r\\n  content: \\\"\\\\F0F1\\\";\\r\\n}\\r\\n\\r\\ni.icon.suitcase:before {\\r\\n  content: \\\"\\\\F0F2\\\";\\r\\n}\\r\\n\\r\\ni.icon.bar:before {\\r\\n  content: \\\"\\\\F0FC\\\";\\r\\n}\\r\\n\\r\\ni.icon.flag.outline:before {\\r\\n  content: \\\"\\\\F11D\\\";\\r\\n}\\r\\n\\r\\ni.icon.flag.checkered:before {\\r\\n  content: \\\"\\\\F11E\\\";\\r\\n}\\r\\n\\r\\ni.icon.puzzle:before {\\r\\n  content: \\\"\\\\F12E\\\";\\r\\n}\\r\\n\\r\\ni.icon.fire.extinguisher:before {\\r\\n  content: \\\"\\\\F134\\\";\\r\\n}\\r\\n\\r\\ni.icon.rocket:before {\\r\\n  content: \\\"\\\\F135\\\";\\r\\n}\\r\\n\\r\\ni.icon.anchor:before {\\r\\n  content: \\\"\\\\F13D\\\";\\r\\n}\\r\\n\\r\\ni.icon.bullseye:before {\\r\\n  content: \\\"\\\\F140\\\";\\r\\n}\\r\\n\\r\\ni.icon.sun:before {\\r\\n  content: \\\"\\\\F185\\\";\\r\\n}\\r\\n\\r\\ni.icon.moon:before {\\r\\n  content: \\\"\\\\F186\\\";\\r\\n}\\r\\n\\r\\ni.icon.fax:before {\\r\\n  content: \\\"\\\\F1AC\\\";\\r\\n}\\r\\n\\r\\ni.icon.life.ring:before {\\r\\n  content: \\\"\\\\F1CD\\\";\\r\\n}\\r\\n\\r\\ni.icon.bomb:before {\\r\\n  content: \\\"\\\\F1E2\\\";\\r\\n}\\r\\n\\r\\ni.icon.soccer:before {\\r\\n  content: \\\"\\\\F1E3\\\";\\r\\n}\\r\\n\\r\\ni.icon.calculator:before {\\r\\n  content: \\\"\\\\F1EC\\\";\\r\\n}\\r\\n\\r\\ni.icon.diamond:before {\\r\\n  content: \\\"\\\\F219\\\";\\r\\n}\\r\\n\\r\\ni.icon.sticky.note:before {\\r\\n  content: \\\"\\\\F249\\\";\\r\\n}\\r\\n\\r\\ni.icon.sticky.note.outline:before {\\r\\n  content: \\\"\\\\F24A\\\";\\r\\n}\\r\\n\\r\\ni.icon.law:before {\\r\\n  content: \\\"\\\\F24E\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.peace:before {\\r\\n  content: \\\"\\\\F25B\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.rock:before {\\r\\n  content: \\\"\\\\F255\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.paper:before {\\r\\n  content: \\\"\\\\F256\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.scissors:before {\\r\\n  content: \\\"\\\\F257\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.lizard:before {\\r\\n  content: \\\"\\\\F258\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.spock:before {\\r\\n  content: \\\"\\\\F259\\\";\\r\\n}\\r\\n\\r\\ni.icon.tv:before {\\r\\n  content: \\\"\\\\F26C\\\";\\r\\n}\\r\\n\\r\\ni.icon.thermometer.full:before {\\r\\n  content: \\\"\\\\F2C7\\\";\\r\\n}\\r\\n\\r\\ni.icon.thermometer.three.quarters:before {\\r\\n  content: \\\"\\\\F2C8\\\";\\r\\n}\\r\\n\\r\\ni.icon.thermometer.half:before {\\r\\n  content: \\\"\\\\F2C9\\\";\\r\\n}\\r\\n\\r\\ni.icon.thermometer.quarter:before {\\r\\n  content: \\\"\\\\F2CA\\\";\\r\\n}\\r\\n\\r\\ni.icon.thermometer.empty:before {\\r\\n  content: \\\"\\\\F2CB\\\";\\r\\n}\\r\\n\\r\\ni.icon.shower:before {\\r\\n  content: \\\"\\\\F2CC\\\";\\r\\n}\\r\\n\\r\\ni.icon.bathtub:before {\\r\\n  content: \\\"\\\\F2CD\\\";\\r\\n}\\r\\n\\r\\ni.icon.snowflake:before {\\r\\n  content: \\\"\\\\F2DC\\\";\\r\\n}\\r\\n\\r\\n/* Shapes */\\r\\n\\r\\ni.icon.crosshairs:before {\\r\\n  content: \\\"\\\\F05B\\\";\\r\\n}\\r\\n\\r\\ni.icon.asterisk:before {\\r\\n  content: \\\"\\\\F069\\\";\\r\\n}\\r\\n\\r\\ni.icon.square.outline:before {\\r\\n  content: \\\"\\\\F096\\\";\\r\\n}\\r\\n\\r\\ni.icon.certificate:before {\\r\\n  content: \\\"\\\\F0A3\\\";\\r\\n}\\r\\n\\r\\ni.icon.square:before {\\r\\n  content: \\\"\\\\F0C8\\\";\\r\\n}\\r\\n\\r\\ni.icon.quote.left:before {\\r\\n  content: \\\"\\\\F10D\\\";\\r\\n}\\r\\n\\r\\ni.icon.quote.right:before {\\r\\n  content: \\\"\\\\F10E\\\";\\r\\n}\\r\\n\\r\\ni.icon.spinner:before {\\r\\n  content: \\\"\\\\F110\\\";\\r\\n}\\r\\n\\r\\ni.icon.circle:before {\\r\\n  content: \\\"\\\\F111\\\";\\r\\n}\\r\\n\\r\\ni.icon.ellipsis.horizontal:before {\\r\\n  content: \\\"\\\\F141\\\";\\r\\n}\\r\\n\\r\\ni.icon.ellipsis.vertical:before {\\r\\n  content: \\\"\\\\F142\\\";\\r\\n}\\r\\n\\r\\ni.icon.cube:before {\\r\\n  content: \\\"\\\\F1B2\\\";\\r\\n}\\r\\n\\r\\ni.icon.cubes:before {\\r\\n  content: \\\"\\\\F1B3\\\";\\r\\n}\\r\\n\\r\\ni.icon.circle.notched:before {\\r\\n  content: \\\"\\\\F1CE\\\";\\r\\n}\\r\\n\\r\\ni.icon.circle.thin:before {\\r\\n  content: \\\"\\\\F1DB\\\";\\r\\n}\\r\\n\\r\\n/* Item Selection */\\r\\n\\r\\ni.icon.checkmark:before {\\r\\n  content: \\\"\\\\F00C\\\";\\r\\n}\\r\\n\\r\\ni.icon.remove:before {\\r\\n  content: \\\"\\\\F00D\\\";\\r\\n}\\r\\n\\r\\ni.icon.checkmark.box:before {\\r\\n  content: \\\"\\\\F046\\\";\\r\\n}\\r\\n\\r\\ni.icon.move:before {\\r\\n  content: \\\"\\\\F047\\\";\\r\\n}\\r\\n\\r\\ni.icon.add.circle:before {\\r\\n  content: \\\"\\\\F055\\\";\\r\\n}\\r\\n\\r\\ni.icon.minus.circle:before {\\r\\n  content: \\\"\\\\F056\\\";\\r\\n}\\r\\n\\r\\ni.icon.remove.circle:before {\\r\\n  content: \\\"\\\\F057\\\";\\r\\n}\\r\\n\\r\\ni.icon.check.circle:before {\\r\\n  content: \\\"\\\\F058\\\";\\r\\n}\\r\\n\\r\\ni.icon.remove.circle.outline:before {\\r\\n  content: \\\"\\\\F05C\\\";\\r\\n}\\r\\n\\r\\ni.icon.check.circle.outline:before {\\r\\n  content: \\\"\\\\F05D\\\";\\r\\n}\\r\\n\\r\\ni.icon.plus:before {\\r\\n  content: \\\"\\\\F067\\\";\\r\\n}\\r\\n\\r\\ni.icon.minus:before {\\r\\n  content: \\\"\\\\F068\\\";\\r\\n}\\r\\n\\r\\ni.icon.add.square:before {\\r\\n  content: \\\"\\\\F0FE\\\";\\r\\n}\\r\\n\\r\\ni.icon.radio:before {\\r\\n  content: \\\"\\\\F10C\\\";\\r\\n}\\r\\n\\r\\ni.icon.minus.square:before {\\r\\n  content: \\\"\\\\F146\\\";\\r\\n}\\r\\n\\r\\ni.icon.minus.square.outline:before {\\r\\n  content: \\\"\\\\F147\\\";\\r\\n}\\r\\n\\r\\ni.icon.check.square:before {\\r\\n  content: \\\"\\\\F14A\\\";\\r\\n}\\r\\n\\r\\ni.icon.selected.radio:before {\\r\\n  content: \\\"\\\\F192\\\";\\r\\n}\\r\\n\\r\\ni.icon.plus.square.outline:before {\\r\\n  content: \\\"\\\\F196\\\";\\r\\n}\\r\\n\\r\\ni.icon.toggle.off:before {\\r\\n  content: \\\"\\\\F204\\\";\\r\\n}\\r\\n\\r\\ni.icon.toggle.on:before {\\r\\n  content: \\\"\\\\F205\\\";\\r\\n}\\r\\n\\r\\n/* Media */\\r\\n\\r\\ni.icon.film:before {\\r\\n  content: \\\"\\\\F008\\\";\\r\\n}\\r\\n\\r\\ni.icon.sound:before {\\r\\n  content: \\\"\\\\F025\\\";\\r\\n}\\r\\n\\r\\ni.icon.photo:before {\\r\\n  content: \\\"\\\\F030\\\";\\r\\n}\\r\\n\\r\\ni.icon.bar.chart:before {\\r\\n  content: \\\"\\\\F080\\\";\\r\\n}\\r\\n\\r\\ni.icon.camera.retro:before {\\r\\n  content: \\\"\\\\F083\\\";\\r\\n}\\r\\n\\r\\ni.icon.newspaper:before {\\r\\n  content: \\\"\\\\F1EA\\\";\\r\\n}\\r\\n\\r\\ni.icon.area.chart:before {\\r\\n  content: \\\"\\\\F1FE\\\";\\r\\n}\\r\\n\\r\\ni.icon.pie.chart:before {\\r\\n  content: \\\"\\\\F200\\\";\\r\\n}\\r\\n\\r\\ni.icon.line.chart:before {\\r\\n  content: \\\"\\\\F201\\\";\\r\\n}\\r\\n\\r\\n/* Pointers */\\r\\n\\r\\ni.icon.arrow.circle.outline.down:before {\\r\\n  content: \\\"\\\\F01A\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.circle.outline.up:before {\\r\\n  content: \\\"\\\\F01B\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.left:before {\\r\\n  content: \\\"\\\\F053\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.right:before {\\r\\n  content: \\\"\\\\F054\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.left:before {\\r\\n  content: \\\"\\\\F060\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.right:before {\\r\\n  content: \\\"\\\\F061\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.up:before {\\r\\n  content: \\\"\\\\F062\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.down:before {\\r\\n  content: \\\"\\\\F063\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.up:before {\\r\\n  content: \\\"\\\\F077\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.down:before {\\r\\n  content: \\\"\\\\F078\\\";\\r\\n}\\r\\n\\r\\ni.icon.pointing.right:before {\\r\\n  content: \\\"\\\\F0A4\\\";\\r\\n}\\r\\n\\r\\ni.icon.pointing.left:before {\\r\\n  content: \\\"\\\\F0A5\\\";\\r\\n}\\r\\n\\r\\ni.icon.pointing.up:before {\\r\\n  content: \\\"\\\\F0A6\\\";\\r\\n}\\r\\n\\r\\ni.icon.pointing.down:before {\\r\\n  content: \\\"\\\\F0A7\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.circle.left:before {\\r\\n  content: \\\"\\\\F0A8\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.circle.right:before {\\r\\n  content: \\\"\\\\F0A9\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.circle.up:before {\\r\\n  content: \\\"\\\\F0AA\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.circle.down:before {\\r\\n  content: \\\"\\\\F0AB\\\";\\r\\n}\\r\\n\\r\\ni.icon.caret.down:before {\\r\\n  content: \\\"\\\\F0D7\\\";\\r\\n}\\r\\n\\r\\ni.icon.caret.up:before {\\r\\n  content: \\\"\\\\F0D8\\\";\\r\\n}\\r\\n\\r\\ni.icon.caret.left:before {\\r\\n  content: \\\"\\\\F0D9\\\";\\r\\n}\\r\\n\\r\\ni.icon.caret.right:before {\\r\\n  content: \\\"\\\\F0DA\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.double.left:before {\\r\\n  content: \\\"\\\\F100\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.double.right:before {\\r\\n  content: \\\"\\\\F101\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.double.up:before {\\r\\n  content: \\\"\\\\F102\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.double.down:before {\\r\\n  content: \\\"\\\\F103\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.left:before {\\r\\n  content: \\\"\\\\F104\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.right:before {\\r\\n  content: \\\"\\\\F105\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.up:before {\\r\\n  content: \\\"\\\\F106\\\";\\r\\n}\\r\\n\\r\\ni.icon.angle.down:before {\\r\\n  content: \\\"\\\\F107\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.circle.left:before {\\r\\n  content: \\\"\\\\F137\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.circle.right:before {\\r\\n  content: \\\"\\\\F138\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.circle.up:before {\\r\\n  content: \\\"\\\\F139\\\";\\r\\n}\\r\\n\\r\\ni.icon.chevron.circle.down:before {\\r\\n  content: \\\"\\\\F13A\\\";\\r\\n}\\r\\n\\r\\ni.icon.toggle.down:before {\\r\\n  content: \\\"\\\\F150\\\";\\r\\n}\\r\\n\\r\\ni.icon.toggle.up:before {\\r\\n  content: \\\"\\\\F151\\\";\\r\\n}\\r\\n\\r\\ni.icon.toggle.right:before {\\r\\n  content: \\\"\\\\F152\\\";\\r\\n}\\r\\n\\r\\ni.icon.long.arrow.down:before {\\r\\n  content: \\\"\\\\F175\\\";\\r\\n}\\r\\n\\r\\ni.icon.long.arrow.up:before {\\r\\n  content: \\\"\\\\F176\\\";\\r\\n}\\r\\n\\r\\ni.icon.long.arrow.left:before {\\r\\n  content: \\\"\\\\F177\\\";\\r\\n}\\r\\n\\r\\ni.icon.long.arrow.right:before {\\r\\n  content: \\\"\\\\F178\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.circle.outline.right:before {\\r\\n  content: \\\"\\\\F18E\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.circle.outline.left:before {\\r\\n  content: \\\"\\\\F190\\\";\\r\\n}\\r\\n\\r\\ni.icon.toggle.left:before {\\r\\n  content: \\\"\\\\F191\\\";\\r\\n}\\r\\n\\r\\n/* Mobile */\\r\\n\\r\\ni.icon.tablet:before {\\r\\n  content: \\\"\\\\F10A\\\";\\r\\n}\\r\\n\\r\\ni.icon.mobile:before {\\r\\n  content: \\\"\\\\F10B\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.full:before {\\r\\n  content: \\\"\\\\F240\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.high:before {\\r\\n  content: \\\"\\\\F241\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.medium:before {\\r\\n  content: \\\"\\\\F242\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.low:before {\\r\\n  content: \\\"\\\\F243\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.empty:before {\\r\\n  content: \\\"\\\\F244\\\";\\r\\n}\\r\\n\\r\\n/* Computer */\\r\\n\\r\\ni.icon.power:before {\\r\\n  content: \\\"\\\\F011\\\";\\r\\n}\\r\\n\\r\\ni.icon.trash.outline:before {\\r\\n  content: \\\"\\\\F014\\\";\\r\\n}\\r\\n\\r\\ni.icon.disk.outline:before {\\r\\n  content: \\\"\\\\F0A0\\\";\\r\\n}\\r\\n\\r\\ni.icon.desktop:before {\\r\\n  content: \\\"\\\\F108\\\";\\r\\n}\\r\\n\\r\\ni.icon.laptop:before {\\r\\n  content: \\\"\\\\F109\\\";\\r\\n}\\r\\n\\r\\ni.icon.game:before {\\r\\n  content: \\\"\\\\F11B\\\";\\r\\n}\\r\\n\\r\\ni.icon.keyboard:before {\\r\\n  content: \\\"\\\\F11C\\\";\\r\\n}\\r\\n\\r\\ni.icon.plug:before {\\r\\n  content: \\\"\\\\F1E6\\\";\\r\\n}\\r\\n\\r\\n/* File System */\\r\\n\\r\\ni.icon.trash:before {\\r\\n  content: \\\"\\\\F1F8\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.outline:before {\\r\\n  content: \\\"\\\\F016\\\";\\r\\n}\\r\\n\\r\\ni.icon.folder:before {\\r\\n  content: \\\"\\\\F07B\\\";\\r\\n}\\r\\n\\r\\ni.icon.folder.open:before {\\r\\n  content: \\\"\\\\F07C\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.text.outline:before {\\r\\n  content: \\\"\\\\F0F6\\\";\\r\\n}\\r\\n\\r\\ni.icon.folder.outline:before {\\r\\n  content: \\\"\\\\F114\\\";\\r\\n}\\r\\n\\r\\ni.icon.folder.open.outline:before {\\r\\n  content: \\\"\\\\F115\\\";\\r\\n}\\r\\n\\r\\ni.icon.level.up:before {\\r\\n  content: \\\"\\\\F148\\\";\\r\\n}\\r\\n\\r\\ni.icon.level.down:before {\\r\\n  content: \\\"\\\\F149\\\";\\r\\n}\\r\\n\\r\\ni.icon.file:before {\\r\\n  content: \\\"\\\\F15B\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.text:before {\\r\\n  content: \\\"\\\\F15C\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.pdf.outline:before {\\r\\n  content: \\\"\\\\F1C1\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.word.outline:before {\\r\\n  content: \\\"\\\\F1C2\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.excel.outline:before {\\r\\n  content: \\\"\\\\F1C3\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.powerpoint.outline:before {\\r\\n  content: \\\"\\\\F1C4\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.image.outline:before {\\r\\n  content: \\\"\\\\F1C5\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.archive.outline:before {\\r\\n  content: \\\"\\\\F1C6\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.audio.outline:before {\\r\\n  content: \\\"\\\\F1C7\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.video.outline:before {\\r\\n  content: \\\"\\\\F1C8\\\";\\r\\n}\\r\\n\\r\\ni.icon.file.code.outline:before {\\r\\n  content: \\\"\\\\F1C9\\\";\\r\\n}\\r\\n\\r\\n/* Technologies */\\r\\n\\r\\ni.icon.qrcode:before {\\r\\n  content: \\\"\\\\F029\\\";\\r\\n}\\r\\n\\r\\ni.icon.barcode:before {\\r\\n  content: \\\"\\\\F02A\\\";\\r\\n}\\r\\n\\r\\ni.icon.rss:before {\\r\\n  content: \\\"\\\\F09E\\\";\\r\\n}\\r\\n\\r\\ni.icon.fork:before {\\r\\n  content: \\\"\\\\F126\\\";\\r\\n}\\r\\n\\r\\ni.icon.html5:before {\\r\\n  content: \\\"\\\\F13B\\\";\\r\\n}\\r\\n\\r\\ni.icon.css3:before {\\r\\n  content: \\\"\\\\F13C\\\";\\r\\n}\\r\\n\\r\\ni.icon.rss.square:before {\\r\\n  content: \\\"\\\\F143\\\";\\r\\n}\\r\\n\\r\\ni.icon.openid:before {\\r\\n  content: \\\"\\\\F19B\\\";\\r\\n}\\r\\n\\r\\ni.icon.database:before {\\r\\n  content: \\\"\\\\F1C0\\\";\\r\\n}\\r\\n\\r\\ni.icon.wifi:before {\\r\\n  content: \\\"\\\\F1EB\\\";\\r\\n}\\r\\n\\r\\ni.icon.server:before {\\r\\n  content: \\\"\\\\F233\\\";\\r\\n}\\r\\n\\r\\ni.icon.usb:before {\\r\\n  content: \\\"\\\\F287\\\";\\r\\n}\\r\\n\\r\\ni.icon.bluetooth:before {\\r\\n  content: \\\"\\\\F293\\\";\\r\\n}\\r\\n\\r\\ni.icon.bluetooth.alternative:before {\\r\\n  content: \\\"\\\\F294\\\";\\r\\n}\\r\\n\\r\\ni.icon.microchip:before {\\r\\n  content: \\\"\\\\F2DB\\\";\\r\\n}\\r\\n\\r\\n/* Rating */\\r\\n\\r\\ni.icon.heart:before {\\r\\n  content: \\\"\\\\F004\\\";\\r\\n}\\r\\n\\r\\ni.icon.star:before {\\r\\n  content: \\\"\\\\F005\\\";\\r\\n}\\r\\n\\r\\ni.icon.empty.star:before {\\r\\n  content: \\\"\\\\F006\\\";\\r\\n}\\r\\n\\r\\ni.icon.thumbs.outline.up:before {\\r\\n  content: \\\"\\\\F087\\\";\\r\\n}\\r\\n\\r\\ni.icon.thumbs.outline.down:before {\\r\\n  content: \\\"\\\\F088\\\";\\r\\n}\\r\\n\\r\\ni.icon.star.half:before {\\r\\n  content: \\\"\\\\F089\\\";\\r\\n}\\r\\n\\r\\ni.icon.empty.heart:before {\\r\\n  content: \\\"\\\\F08A\\\";\\r\\n}\\r\\n\\r\\ni.icon.smile:before {\\r\\n  content: \\\"\\\\F118\\\";\\r\\n}\\r\\n\\r\\ni.icon.frown:before {\\r\\n  content: \\\"\\\\F119\\\";\\r\\n}\\r\\n\\r\\ni.icon.meh:before {\\r\\n  content: \\\"\\\\F11A\\\";\\r\\n}\\r\\n\\r\\ni.icon.star.half.empty:before {\\r\\n  content: \\\"\\\\F123\\\";\\r\\n}\\r\\n\\r\\ni.icon.thumbs.up:before {\\r\\n  content: \\\"\\\\F164\\\";\\r\\n}\\r\\n\\r\\ni.icon.thumbs.down:before {\\r\\n  content: \\\"\\\\F165\\\";\\r\\n}\\r\\n\\r\\n/* Audio */\\r\\n\\r\\ni.icon.music:before {\\r\\n  content: \\\"\\\\F001\\\";\\r\\n}\\r\\n\\r\\ni.icon.video.play.outline:before {\\r\\n  content: \\\"\\\\F01D\\\";\\r\\n}\\r\\n\\r\\ni.icon.volume.off:before {\\r\\n  content: \\\"\\\\F026\\\";\\r\\n}\\r\\n\\r\\ni.icon.volume.down:before {\\r\\n  content: \\\"\\\\F027\\\";\\r\\n}\\r\\n\\r\\ni.icon.volume.up:before {\\r\\n  content: \\\"\\\\F028\\\";\\r\\n}\\r\\n\\r\\ni.icon.record:before {\\r\\n  content: \\\"\\\\F03D\\\";\\r\\n}\\r\\n\\r\\ni.icon.step.backward:before {\\r\\n  content: \\\"\\\\F048\\\";\\r\\n}\\r\\n\\r\\ni.icon.fast.backward:before {\\r\\n  content: \\\"\\\\F049\\\";\\r\\n}\\r\\n\\r\\ni.icon.backward:before {\\r\\n  content: \\\"\\\\F04A\\\";\\r\\n}\\r\\n\\r\\ni.icon.play:before {\\r\\n  content: \\\"\\\\F04B\\\";\\r\\n}\\r\\n\\r\\ni.icon.pause:before {\\r\\n  content: \\\"\\\\F04C\\\";\\r\\n}\\r\\n\\r\\ni.icon.stop:before {\\r\\n  content: \\\"\\\\F04D\\\";\\r\\n}\\r\\n\\r\\ni.icon.forward:before {\\r\\n  content: \\\"\\\\F04E\\\";\\r\\n}\\r\\n\\r\\ni.icon.fast.forward:before {\\r\\n  content: \\\"\\\\F050\\\";\\r\\n}\\r\\n\\r\\ni.icon.step.forward:before {\\r\\n  content: \\\"\\\\F051\\\";\\r\\n}\\r\\n\\r\\ni.icon.eject:before {\\r\\n  content: \\\"\\\\F052\\\";\\r\\n}\\r\\n\\r\\ni.icon.unmute:before {\\r\\n  content: \\\"\\\\F130\\\";\\r\\n}\\r\\n\\r\\ni.icon.mute:before {\\r\\n  content: \\\"\\\\F131\\\";\\r\\n}\\r\\n\\r\\ni.icon.video.play:before {\\r\\n  content: \\\"\\\\F144\\\";\\r\\n}\\r\\n\\r\\ni.icon.closed.captioning:before {\\r\\n  content: \\\"\\\\F20A\\\";\\r\\n}\\r\\n\\r\\ni.icon.pause.circle:before {\\r\\n  content: \\\"\\\\F28B\\\";\\r\\n}\\r\\n\\r\\ni.icon.pause.circle.outline:before {\\r\\n  content: \\\"\\\\F28C\\\";\\r\\n}\\r\\n\\r\\ni.icon.stop.circle:before {\\r\\n  content: \\\"\\\\F28D\\\";\\r\\n}\\r\\n\\r\\ni.icon.stop.circle.outline:before {\\r\\n  content: \\\"\\\\F28E\\\";\\r\\n}\\r\\n\\r\\n/* Map, Locations, & Transportation */\\r\\n\\r\\ni.icon.marker:before {\\r\\n  content: \\\"\\\\F041\\\";\\r\\n}\\r\\n\\r\\ni.icon.coffee:before {\\r\\n  content: \\\"\\\\F0F4\\\";\\r\\n}\\r\\n\\r\\ni.icon.food:before {\\r\\n  content: \\\"\\\\F0F5\\\";\\r\\n}\\r\\n\\r\\ni.icon.building.outline:before {\\r\\n  content: \\\"\\\\F0F7\\\";\\r\\n}\\r\\n\\r\\ni.icon.hospital:before {\\r\\n  content: \\\"\\\\F0F8\\\";\\r\\n}\\r\\n\\r\\ni.icon.emergency:before {\\r\\n  content: \\\"\\\\F0F9\\\";\\r\\n}\\r\\n\\r\\ni.icon.first.aid:before {\\r\\n  content: \\\"\\\\F0FA\\\";\\r\\n}\\r\\n\\r\\ni.icon.military:before {\\r\\n  content: \\\"\\\\F0FB\\\";\\r\\n}\\r\\n\\r\\ni.icon.h:before {\\r\\n  content: \\\"\\\\F0FD\\\";\\r\\n}\\r\\n\\r\\ni.icon.location.arrow:before {\\r\\n  content: \\\"\\\\F124\\\";\\r\\n}\\r\\n\\r\\ni.icon.compass:before {\\r\\n  content: \\\"\\\\F14E\\\";\\r\\n}\\r\\n\\r\\ni.icon.space.shuttle:before {\\r\\n  content: \\\"\\\\F197\\\";\\r\\n}\\r\\n\\r\\ni.icon.university:before {\\r\\n  content: \\\"\\\\F19C\\\";\\r\\n}\\r\\n\\r\\ni.icon.building:before {\\r\\n  content: \\\"\\\\F1AD\\\";\\r\\n}\\r\\n\\r\\ni.icon.paw:before {\\r\\n  content: \\\"\\\\F1B0\\\";\\r\\n}\\r\\n\\r\\ni.icon.spoon:before {\\r\\n  content: \\\"\\\\F1B1\\\";\\r\\n}\\r\\n\\r\\ni.icon.car:before {\\r\\n  content: \\\"\\\\F1B9\\\";\\r\\n}\\r\\n\\r\\ni.icon.taxi:before {\\r\\n  content: \\\"\\\\F1BA\\\";\\r\\n}\\r\\n\\r\\ni.icon.tree:before {\\r\\n  content: \\\"\\\\F1BB\\\";\\r\\n}\\r\\n\\r\\ni.icon.bicycle:before {\\r\\n  content: \\\"\\\\F206\\\";\\r\\n}\\r\\n\\r\\ni.icon.bus:before {\\r\\n  content: \\\"\\\\F207\\\";\\r\\n}\\r\\n\\r\\ni.icon.ship:before {\\r\\n  content: \\\"\\\\F21A\\\";\\r\\n}\\r\\n\\r\\ni.icon.motorcycle:before {\\r\\n  content: \\\"\\\\F21C\\\";\\r\\n}\\r\\n\\r\\ni.icon.street.view:before {\\r\\n  content: \\\"\\\\F21D\\\";\\r\\n}\\r\\n\\r\\ni.icon.hotel:before {\\r\\n  content: \\\"\\\\F236\\\";\\r\\n}\\r\\n\\r\\ni.icon.train:before {\\r\\n  content: \\\"\\\\F238\\\";\\r\\n}\\r\\n\\r\\ni.icon.subway:before {\\r\\n  content: \\\"\\\\F239\\\";\\r\\n}\\r\\n\\r\\ni.icon.map.pin:before {\\r\\n  content: \\\"\\\\F276\\\";\\r\\n}\\r\\n\\r\\ni.icon.map.signs:before {\\r\\n  content: \\\"\\\\F277\\\";\\r\\n}\\r\\n\\r\\ni.icon.map.outline:before {\\r\\n  content: \\\"\\\\F278\\\";\\r\\n}\\r\\n\\r\\ni.icon.map:before {\\r\\n  content: \\\"\\\\F279\\\";\\r\\n}\\r\\n\\r\\n/* Tables */\\r\\n\\r\\ni.icon.table:before {\\r\\n  content: \\\"\\\\F0CE\\\";\\r\\n}\\r\\n\\r\\ni.icon.columns:before {\\r\\n  content: \\\"\\\\F0DB\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort:before {\\r\\n  content: \\\"\\\\F0DC\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.descending:before {\\r\\n  content: \\\"\\\\F0DD\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.ascending:before {\\r\\n  content: \\\"\\\\F0DE\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.alphabet.ascending:before {\\r\\n  content: \\\"\\\\F15D\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.alphabet.descending:before {\\r\\n  content: \\\"\\\\F15E\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.content.ascending:before {\\r\\n  content: \\\"\\\\F160\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.content.descending:before {\\r\\n  content: \\\"\\\\F161\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.numeric.ascending:before {\\r\\n  content: \\\"\\\\F162\\\";\\r\\n}\\r\\n\\r\\ni.icon.sort.numeric.descending:before {\\r\\n  content: \\\"\\\\F163\\\";\\r\\n}\\r\\n\\r\\n/* Text Editor */\\r\\n\\r\\ni.icon.font:before {\\r\\n  content: \\\"\\\\F031\\\";\\r\\n}\\r\\n\\r\\ni.icon.bold:before {\\r\\n  content: \\\"\\\\F032\\\";\\r\\n}\\r\\n\\r\\ni.icon.italic:before {\\r\\n  content: \\\"\\\\F033\\\";\\r\\n}\\r\\n\\r\\ni.icon.text.height:before {\\r\\n  content: \\\"\\\\F034\\\";\\r\\n}\\r\\n\\r\\ni.icon.text.width:before {\\r\\n  content: \\\"\\\\F035\\\";\\r\\n}\\r\\n\\r\\ni.icon.align.left:before {\\r\\n  content: \\\"\\\\F036\\\";\\r\\n}\\r\\n\\r\\ni.icon.align.center:before {\\r\\n  content: \\\"\\\\F037\\\";\\r\\n}\\r\\n\\r\\ni.icon.align.right:before {\\r\\n  content: \\\"\\\\F038\\\";\\r\\n}\\r\\n\\r\\ni.icon.align.justify:before {\\r\\n  content: \\\"\\\\F039\\\";\\r\\n}\\r\\n\\r\\ni.icon.list:before {\\r\\n  content: \\\"\\\\F03A\\\";\\r\\n}\\r\\n\\r\\ni.icon.outdent:before {\\r\\n  content: \\\"\\\\F03B\\\";\\r\\n}\\r\\n\\r\\ni.icon.indent:before {\\r\\n  content: \\\"\\\\F03C\\\";\\r\\n}\\r\\n\\r\\ni.icon.linkify:before {\\r\\n  content: \\\"\\\\F0C1\\\";\\r\\n}\\r\\n\\r\\ni.icon.cut:before {\\r\\n  content: \\\"\\\\F0C4\\\";\\r\\n}\\r\\n\\r\\ni.icon.copy:before {\\r\\n  content: \\\"\\\\F0C5\\\";\\r\\n}\\r\\n\\r\\ni.icon.attach:before {\\r\\n  content: \\\"\\\\F0C6\\\";\\r\\n}\\r\\n\\r\\ni.icon.save:before {\\r\\n  content: \\\"\\\\F0C7\\\";\\r\\n}\\r\\n\\r\\ni.icon.content:before {\\r\\n  content: \\\"\\\\F0C9\\\";\\r\\n}\\r\\n\\r\\ni.icon.unordered.list:before {\\r\\n  content: \\\"\\\\F0CA\\\";\\r\\n}\\r\\n\\r\\ni.icon.ordered.list:before {\\r\\n  content: \\\"\\\\F0CB\\\";\\r\\n}\\r\\n\\r\\ni.icon.strikethrough:before {\\r\\n  content: \\\"\\\\F0CC\\\";\\r\\n}\\r\\n\\r\\ni.icon.underline:before {\\r\\n  content: \\\"\\\\F0CD\\\";\\r\\n}\\r\\n\\r\\ni.icon.paste:before {\\r\\n  content: \\\"\\\\F0EA\\\";\\r\\n}\\r\\n\\r\\ni.icon.unlinkify:before {\\r\\n  content: \\\"\\\\F127\\\";\\r\\n}\\r\\n\\r\\ni.icon.superscript:before {\\r\\n  content: \\\"\\\\F12B\\\";\\r\\n}\\r\\n\\r\\ni.icon.subscript:before {\\r\\n  content: \\\"\\\\F12C\\\";\\r\\n}\\r\\n\\r\\ni.icon.header:before {\\r\\n  content: \\\"\\\\F1DC\\\";\\r\\n}\\r\\n\\r\\ni.icon.paragraph:before {\\r\\n  content: \\\"\\\\F1DD\\\";\\r\\n}\\r\\n\\r\\ni.icon.text.cursor:before {\\r\\n  content: \\\"\\\\F246\\\";\\r\\n}\\r\\n\\r\\n/* Currency */\\r\\n\\r\\ni.icon.euro:before {\\r\\n  content: \\\"\\\\F153\\\";\\r\\n}\\r\\n\\r\\ni.icon.pound:before {\\r\\n  content: \\\"\\\\F154\\\";\\r\\n}\\r\\n\\r\\ni.icon.dollar:before {\\r\\n  content: \\\"\\\\F155\\\";\\r\\n}\\r\\n\\r\\ni.icon.rupee:before {\\r\\n  content: \\\"\\\\F156\\\";\\r\\n}\\r\\n\\r\\ni.icon.yen:before {\\r\\n  content: \\\"\\\\F157\\\";\\r\\n}\\r\\n\\r\\ni.icon.ruble:before {\\r\\n  content: \\\"\\\\F158\\\";\\r\\n}\\r\\n\\r\\ni.icon.won:before {\\r\\n  content: \\\"\\\\F159\\\";\\r\\n}\\r\\n\\r\\ni.icon.bitcoin:before {\\r\\n  content: \\\"\\\\F15A\\\";\\r\\n}\\r\\n\\r\\ni.icon.lira:before {\\r\\n  content: \\\"\\\\F195\\\";\\r\\n}\\r\\n\\r\\ni.icon.shekel:before {\\r\\n  content: \\\"\\\\F20B\\\";\\r\\n}\\r\\n\\r\\n/* Payment Options */\\r\\n\\r\\ni.icon.paypal:before {\\r\\n  content: \\\"\\\\F1ED\\\";\\r\\n}\\r\\n\\r\\ni.icon.google.wallet:before {\\r\\n  content: \\\"\\\\F1EE\\\";\\r\\n}\\r\\n\\r\\ni.icon.visa:before {\\r\\n  content: \\\"\\\\F1F0\\\";\\r\\n}\\r\\n\\r\\ni.icon.mastercard:before {\\r\\n  content: \\\"\\\\F1F1\\\";\\r\\n}\\r\\n\\r\\ni.icon.discover:before {\\r\\n  content: \\\"\\\\F1F2\\\";\\r\\n}\\r\\n\\r\\ni.icon.american.express:before {\\r\\n  content: \\\"\\\\F1F3\\\";\\r\\n}\\r\\n\\r\\ni.icon.paypal.card:before {\\r\\n  content: \\\"\\\\F1F4\\\";\\r\\n}\\r\\n\\r\\ni.icon.stripe:before {\\r\\n  content: \\\"\\\\F1F5\\\";\\r\\n}\\r\\n\\r\\ni.icon.japan.credit.bureau:before {\\r\\n  content: \\\"\\\\F24B\\\";\\r\\n}\\r\\n\\r\\ni.icon.diners.club:before {\\r\\n  content: \\\"\\\\F24C\\\";\\r\\n}\\r\\n\\r\\ni.icon.credit.card.alternative:before {\\r\\n  content: \\\"\\\\F283\\\";\\r\\n}\\r\\n\\r\\n/* Networks and Websites*/\\r\\n\\r\\ni.icon.twitter.square:before {\\r\\n  content: \\\"\\\\F081\\\";\\r\\n}\\r\\n\\r\\ni.icon.facebook.square:before {\\r\\n  content: \\\"\\\\F082\\\";\\r\\n}\\r\\n\\r\\ni.icon.linkedin.square:before {\\r\\n  content: \\\"\\\\F08C\\\";\\r\\n}\\r\\n\\r\\ni.icon.github.square:before {\\r\\n  content: \\\"\\\\F092\\\";\\r\\n}\\r\\n\\r\\ni.icon.twitter:before {\\r\\n  content: \\\"\\\\F099\\\";\\r\\n}\\r\\n\\r\\ni.icon.facebook.f:before {\\r\\n  content: \\\"\\\\F09A\\\";\\r\\n}\\r\\n\\r\\ni.icon.github:before {\\r\\n  content: \\\"\\\\F09B\\\";\\r\\n}\\r\\n\\r\\ni.icon.pinterest:before {\\r\\n  content: \\\"\\\\F0D2\\\";\\r\\n}\\r\\n\\r\\ni.icon.pinterest.square:before {\\r\\n  content: \\\"\\\\F0D3\\\";\\r\\n}\\r\\n\\r\\ni.icon.google.plus.square:before {\\r\\n  content: \\\"\\\\F0D4\\\";\\r\\n}\\r\\n\\r\\ni.icon.google.plus:before {\\r\\n  content: \\\"\\\\F0D5\\\";\\r\\n}\\r\\n\\r\\ni.icon.linkedin:before {\\r\\n  content: \\\"\\\\F0E1\\\";\\r\\n}\\r\\n\\r\\ni.icon.github.alternate:before {\\r\\n  content: \\\"\\\\F113\\\";\\r\\n}\\r\\n\\r\\ni.icon.maxcdn:before {\\r\\n  content: \\\"\\\\F136\\\";\\r\\n}\\r\\n\\r\\ni.icon.youtube.square:before {\\r\\n  content: \\\"\\\\F166\\\";\\r\\n}\\r\\n\\r\\ni.icon.youtube:before {\\r\\n  content: \\\"\\\\F167\\\";\\r\\n}\\r\\n\\r\\ni.icon.xing:before {\\r\\n  content: \\\"\\\\F168\\\";\\r\\n}\\r\\n\\r\\ni.icon.xing.square:before {\\r\\n  content: \\\"\\\\F169\\\";\\r\\n}\\r\\n\\r\\ni.icon.youtube.play:before {\\r\\n  content: \\\"\\\\F16A\\\";\\r\\n}\\r\\n\\r\\ni.icon.dropbox:before {\\r\\n  content: \\\"\\\\F16B\\\";\\r\\n}\\r\\n\\r\\ni.icon.stack.overflow:before {\\r\\n  content: \\\"\\\\F16C\\\";\\r\\n}\\r\\n\\r\\ni.icon.instagram:before {\\r\\n  content: \\\"\\\\F16D\\\";\\r\\n}\\r\\n\\r\\ni.icon.flickr:before {\\r\\n  content: \\\"\\\\F16E\\\";\\r\\n}\\r\\n\\r\\ni.icon.adn:before {\\r\\n  content: \\\"\\\\F170\\\";\\r\\n}\\r\\n\\r\\ni.icon.bitbucket:before {\\r\\n  content: \\\"\\\\F171\\\";\\r\\n}\\r\\n\\r\\ni.icon.bitbucket.square:before {\\r\\n  content: \\\"\\\\F172\\\";\\r\\n}\\r\\n\\r\\ni.icon.tumblr:before {\\r\\n  content: \\\"\\\\F173\\\";\\r\\n}\\r\\n\\r\\ni.icon.tumblr.square:before {\\r\\n  content: \\\"\\\\F174\\\";\\r\\n}\\r\\n\\r\\ni.icon.apple:before {\\r\\n  content: \\\"\\\\F179\\\";\\r\\n}\\r\\n\\r\\ni.icon.windows:before {\\r\\n  content: \\\"\\\\F17A\\\";\\r\\n}\\r\\n\\r\\ni.icon.android:before {\\r\\n  content: \\\"\\\\F17B\\\";\\r\\n}\\r\\n\\r\\ni.icon.linux:before {\\r\\n  content: \\\"\\\\F17C\\\";\\r\\n}\\r\\n\\r\\ni.icon.dribble:before {\\r\\n  content: \\\"\\\\F17D\\\";\\r\\n}\\r\\n\\r\\ni.icon.skype:before {\\r\\n  content: \\\"\\\\F17E\\\";\\r\\n}\\r\\n\\r\\ni.icon.foursquare:before {\\r\\n  content: \\\"\\\\F180\\\";\\r\\n}\\r\\n\\r\\ni.icon.trello:before {\\r\\n  content: \\\"\\\\F181\\\";\\r\\n}\\r\\n\\r\\ni.icon.gittip:before {\\r\\n  content: \\\"\\\\F184\\\";\\r\\n}\\r\\n\\r\\ni.icon.vk:before {\\r\\n  content: \\\"\\\\F189\\\";\\r\\n}\\r\\n\\r\\ni.icon.weibo:before {\\r\\n  content: \\\"\\\\F18A\\\";\\r\\n}\\r\\n\\r\\ni.icon.renren:before {\\r\\n  content: \\\"\\\\F18B\\\";\\r\\n}\\r\\n\\r\\ni.icon.pagelines:before {\\r\\n  content: \\\"\\\\F18C\\\";\\r\\n}\\r\\n\\r\\ni.icon.stack.exchange:before {\\r\\n  content: \\\"\\\\F18D\\\";\\r\\n}\\r\\n\\r\\ni.icon.vimeo.square:before {\\r\\n  content: \\\"\\\\F194\\\";\\r\\n}\\r\\n\\r\\ni.icon.slack:before {\\r\\n  content: \\\"\\\\F198\\\";\\r\\n}\\r\\n\\r\\ni.icon.wordpress:before {\\r\\n  content: \\\"\\\\F19A\\\";\\r\\n}\\r\\n\\r\\ni.icon.yahoo:before {\\r\\n  content: \\\"\\\\F19E\\\";\\r\\n}\\r\\n\\r\\ni.icon.google:before {\\r\\n  content: \\\"\\\\F1A0\\\";\\r\\n}\\r\\n\\r\\ni.icon.reddit:before {\\r\\n  content: \\\"\\\\F1A1\\\";\\r\\n}\\r\\n\\r\\ni.icon.reddit.square:before {\\r\\n  content: \\\"\\\\F1A2\\\";\\r\\n}\\r\\n\\r\\ni.icon.stumbleupon.circle:before {\\r\\n  content: \\\"\\\\F1A3\\\";\\r\\n}\\r\\n\\r\\ni.icon.stumbleupon:before {\\r\\n  content: \\\"\\\\F1A4\\\";\\r\\n}\\r\\n\\r\\ni.icon.delicious:before {\\r\\n  content: \\\"\\\\F1A5\\\";\\r\\n}\\r\\n\\r\\ni.icon.digg:before {\\r\\n  content: \\\"\\\\F1A6\\\";\\r\\n}\\r\\n\\r\\ni.icon.pied.piper:before {\\r\\n  content: \\\"\\\\F1A7\\\";\\r\\n}\\r\\n\\r\\ni.icon.pied.piper.alternate:before {\\r\\n  content: \\\"\\\\F1A8\\\";\\r\\n}\\r\\n\\r\\ni.icon.drupal:before {\\r\\n  content: \\\"\\\\F1A9\\\";\\r\\n}\\r\\n\\r\\ni.icon.joomla:before {\\r\\n  content: \\\"\\\\F1AA\\\";\\r\\n}\\r\\n\\r\\ni.icon.behance:before {\\r\\n  content: \\\"\\\\F1B4\\\";\\r\\n}\\r\\n\\r\\ni.icon.behance.square:before {\\r\\n  content: \\\"\\\\F1B5\\\";\\r\\n}\\r\\n\\r\\ni.icon.steam:before {\\r\\n  content: \\\"\\\\F1B6\\\";\\r\\n}\\r\\n\\r\\ni.icon.steam.square:before {\\r\\n  content: \\\"\\\\F1B7\\\";\\r\\n}\\r\\n\\r\\ni.icon.spotify:before {\\r\\n  content: \\\"\\\\F1BC\\\";\\r\\n}\\r\\n\\r\\ni.icon.deviantart:before {\\r\\n  content: \\\"\\\\F1BD\\\";\\r\\n}\\r\\n\\r\\ni.icon.soundcloud:before {\\r\\n  content: \\\"\\\\F1BE\\\";\\r\\n}\\r\\n\\r\\ni.icon.vine:before {\\r\\n  content: \\\"\\\\F1CA\\\";\\r\\n}\\r\\n\\r\\ni.icon.codepen:before {\\r\\n  content: \\\"\\\\F1CB\\\";\\r\\n}\\r\\n\\r\\ni.icon.jsfiddle:before {\\r\\n  content: \\\"\\\\F1CC\\\";\\r\\n}\\r\\n\\r\\ni.icon.rebel:before {\\r\\n  content: \\\"\\\\F1D0\\\";\\r\\n}\\r\\n\\r\\ni.icon.empire:before {\\r\\n  content: \\\"\\\\F1D1\\\";\\r\\n}\\r\\n\\r\\ni.icon.git.square:before {\\r\\n  content: \\\"\\\\F1D2\\\";\\r\\n}\\r\\n\\r\\ni.icon.git:before {\\r\\n  content: \\\"\\\\F1D3\\\";\\r\\n}\\r\\n\\r\\ni.icon.hacker.news:before {\\r\\n  content: \\\"\\\\F1D4\\\";\\r\\n}\\r\\n\\r\\ni.icon.tencent.weibo:before {\\r\\n  content: \\\"\\\\F1D5\\\";\\r\\n}\\r\\n\\r\\ni.icon.qq:before {\\r\\n  content: \\\"\\\\F1D6\\\";\\r\\n}\\r\\n\\r\\ni.icon.wechat:before {\\r\\n  content: \\\"\\\\F1D7\\\";\\r\\n}\\r\\n\\r\\ni.icon.slideshare:before {\\r\\n  content: \\\"\\\\F1E7\\\";\\r\\n}\\r\\n\\r\\ni.icon.twitch:before {\\r\\n  content: \\\"\\\\F1E8\\\";\\r\\n}\\r\\n\\r\\ni.icon.yelp:before {\\r\\n  content: \\\"\\\\F1E9\\\";\\r\\n}\\r\\n\\r\\ni.icon.lastfm:before {\\r\\n  content: \\\"\\\\F202\\\";\\r\\n}\\r\\n\\r\\ni.icon.lastfm.square:before {\\r\\n  content: \\\"\\\\F203\\\";\\r\\n}\\r\\n\\r\\ni.icon.ioxhost:before {\\r\\n  content: \\\"\\\\F208\\\";\\r\\n}\\r\\n\\r\\ni.icon.angellist:before {\\r\\n  content: \\\"\\\\F209\\\";\\r\\n}\\r\\n\\r\\ni.icon.meanpath:before {\\r\\n  content: \\\"\\\\F20C\\\";\\r\\n}\\r\\n\\r\\ni.icon.buysellads:before {\\r\\n  content: \\\"\\\\F20D\\\";\\r\\n}\\r\\n\\r\\ni.icon.connectdevelop:before {\\r\\n  content: \\\"\\\\F20E\\\";\\r\\n}\\r\\n\\r\\ni.icon.dashcube:before {\\r\\n  content: \\\"\\\\F210\\\";\\r\\n}\\r\\n\\r\\ni.icon.forumbee:before {\\r\\n  content: \\\"\\\\F211\\\";\\r\\n}\\r\\n\\r\\ni.icon.leanpub:before {\\r\\n  content: \\\"\\\\F212\\\";\\r\\n}\\r\\n\\r\\ni.icon.sellsy:before {\\r\\n  content: \\\"\\\\F213\\\";\\r\\n}\\r\\n\\r\\ni.icon.shirtsinbulk:before {\\r\\n  content: \\\"\\\\F214\\\";\\r\\n}\\r\\n\\r\\ni.icon.simplybuilt:before {\\r\\n  content: \\\"\\\\F215\\\";\\r\\n}\\r\\n\\r\\ni.icon.skyatlas:before {\\r\\n  content: \\\"\\\\F216\\\";\\r\\n}\\r\\n\\r\\ni.icon.facebook:before {\\r\\n  content: \\\"\\\\F230\\\";\\r\\n}\\r\\n\\r\\ni.icon.pinterest:before {\\r\\n  content: \\\"\\\\F231\\\";\\r\\n}\\r\\n\\r\\ni.icon.whatsapp:before {\\r\\n  content: \\\"\\\\F232\\\";\\r\\n}\\r\\n\\r\\ni.icon.viacoin:before {\\r\\n  content: \\\"\\\\F237\\\";\\r\\n}\\r\\n\\r\\ni.icon.medium:before {\\r\\n  content: \\\"\\\\F23A\\\";\\r\\n}\\r\\n\\r\\ni.icon.y.combinator:before {\\r\\n  content: \\\"\\\\F23B\\\";\\r\\n}\\r\\n\\r\\ni.icon.optinmonster:before {\\r\\n  content: \\\"\\\\F23C\\\";\\r\\n}\\r\\n\\r\\ni.icon.opencart:before {\\r\\n  content: \\\"\\\\F23D\\\";\\r\\n}\\r\\n\\r\\ni.icon.expeditedssl:before {\\r\\n  content: \\\"\\\\F23E\\\";\\r\\n}\\r\\n\\r\\ni.icon.gg:before {\\r\\n  content: \\\"\\\\F260\\\";\\r\\n}\\r\\n\\r\\ni.icon.gg.circle:before {\\r\\n  content: \\\"\\\\F261\\\";\\r\\n}\\r\\n\\r\\ni.icon.tripadvisor:before {\\r\\n  content: \\\"\\\\F262\\\";\\r\\n}\\r\\n\\r\\ni.icon.odnoklassniki:before {\\r\\n  content: \\\"\\\\F263\\\";\\r\\n}\\r\\n\\r\\ni.icon.odnoklassniki.square:before {\\r\\n  content: \\\"\\\\F264\\\";\\r\\n}\\r\\n\\r\\ni.icon.pocket:before {\\r\\n  content: \\\"\\\\F265\\\";\\r\\n}\\r\\n\\r\\ni.icon.wikipedia:before {\\r\\n  content: \\\"\\\\F266\\\";\\r\\n}\\r\\n\\r\\ni.icon.safari:before {\\r\\n  content: \\\"\\\\F267\\\";\\r\\n}\\r\\n\\r\\ni.icon.chrome:before {\\r\\n  content: \\\"\\\\F268\\\";\\r\\n}\\r\\n\\r\\ni.icon.firefox:before {\\r\\n  content: \\\"\\\\F269\\\";\\r\\n}\\r\\n\\r\\ni.icon.opera:before {\\r\\n  content: \\\"\\\\F26A\\\";\\r\\n}\\r\\n\\r\\ni.icon.internet.explorer:before {\\r\\n  content: \\\"\\\\F26B\\\";\\r\\n}\\r\\n\\r\\ni.icon.contao:before {\\r\\n  content: \\\"\\\\F26D\\\";\\r\\n}\\r\\n\\r\\ni.icon.\\\\35 00px:before {\\r\\n  content: \\\"\\\\F26E\\\";\\r\\n}\\r\\n\\r\\ni.icon.amazon:before {\\r\\n  content: \\\"\\\\F270\\\";\\r\\n}\\r\\n\\r\\ni.icon.houzz:before {\\r\\n  content: \\\"\\\\F27C\\\";\\r\\n}\\r\\n\\r\\ni.icon.vimeo:before {\\r\\n  content: \\\"\\\\F27D\\\";\\r\\n}\\r\\n\\r\\ni.icon.black.tie:before {\\r\\n  content: \\\"\\\\F27E\\\";\\r\\n}\\r\\n\\r\\ni.icon.fonticons:before {\\r\\n  content: \\\"\\\\F280\\\";\\r\\n}\\r\\n\\r\\ni.icon.reddit.alien:before {\\r\\n  content: \\\"\\\\F281\\\";\\r\\n}\\r\\n\\r\\ni.icon.microsoft.edge:before {\\r\\n  content: \\\"\\\\F282\\\";\\r\\n}\\r\\n\\r\\ni.icon.codiepie:before {\\r\\n  content: \\\"\\\\F284\\\";\\r\\n}\\r\\n\\r\\ni.icon.modx:before {\\r\\n  content: \\\"\\\\F285\\\";\\r\\n}\\r\\n\\r\\ni.icon.fort.awesome:before {\\r\\n  content: \\\"\\\\F286\\\";\\r\\n}\\r\\n\\r\\ni.icon.product.hunt:before {\\r\\n  content: \\\"\\\\F288\\\";\\r\\n}\\r\\n\\r\\ni.icon.mixcloud:before {\\r\\n  content: \\\"\\\\F289\\\";\\r\\n}\\r\\n\\r\\ni.icon.scribd:before {\\r\\n  content: \\\"\\\\F28A\\\";\\r\\n}\\r\\n\\r\\ni.icon.gitlab:before {\\r\\n  content: \\\"\\\\F296\\\";\\r\\n}\\r\\n\\r\\ni.icon.wpbeginner:before {\\r\\n  content: \\\"\\\\F297\\\";\\r\\n}\\r\\n\\r\\ni.icon.wpforms:before {\\r\\n  content: \\\"\\\\F298\\\";\\r\\n}\\r\\n\\r\\ni.icon.envira.gallery:before {\\r\\n  content: \\\"\\\\F299\\\";\\r\\n}\\r\\n\\r\\ni.icon.glide:before {\\r\\n  content: \\\"\\\\F2A5\\\";\\r\\n}\\r\\n\\r\\ni.icon.glide.g:before {\\r\\n  content: \\\"\\\\F2A6\\\";\\r\\n}\\r\\n\\r\\ni.icon.viadeo:before {\\r\\n  content: \\\"\\\\F2A9\\\";\\r\\n}\\r\\n\\r\\ni.icon.viadeo.square:before {\\r\\n  content: \\\"\\\\F2AA\\\";\\r\\n}\\r\\n\\r\\ni.icon.snapchat:before {\\r\\n  content: \\\"\\\\F2AB\\\";\\r\\n}\\r\\n\\r\\ni.icon.snapchat.ghost:before {\\r\\n  content: \\\"\\\\F2AC\\\";\\r\\n}\\r\\n\\r\\ni.icon.snapchat.square:before {\\r\\n  content: \\\"\\\\F2AD\\\";\\r\\n}\\r\\n\\r\\ni.icon.pied.piper.hat:before {\\r\\n  content: \\\"\\\\F2AE\\\";\\r\\n}\\r\\n\\r\\ni.icon.first.order:before {\\r\\n  content: \\\"\\\\F2B0\\\";\\r\\n}\\r\\n\\r\\ni.icon.yoast:before {\\r\\n  content: \\\"\\\\F2B1\\\";\\r\\n}\\r\\n\\r\\ni.icon.themeisle:before {\\r\\n  content: \\\"\\\\F2B2\\\";\\r\\n}\\r\\n\\r\\ni.icon.google.plus.circle:before {\\r\\n  content: \\\"\\\\F2B3\\\";\\r\\n}\\r\\n\\r\\ni.icon.font.awesome:before {\\r\\n  content: \\\"\\\\F2B4\\\";\\r\\n}\\r\\n\\r\\ni.icon.linode:before {\\r\\n  content: \\\"\\\\F2B8\\\";\\r\\n}\\r\\n\\r\\ni.icon.quora:before {\\r\\n  content: \\\"\\\\F2C4\\\";\\r\\n}\\r\\n\\r\\ni.icon.free.code.camp:before {\\r\\n  content: \\\"\\\\F2C5\\\";\\r\\n}\\r\\n\\r\\ni.icon.telegram:before {\\r\\n  content: \\\"\\\\F2C6\\\";\\r\\n}\\r\\n\\r\\ni.icon.bandcamp:before {\\r\\n  content: \\\"\\\\F2D5\\\";\\r\\n}\\r\\n\\r\\ni.icon.grav:before {\\r\\n  content: \\\"\\\\F2D6\\\";\\r\\n}\\r\\n\\r\\ni.icon.etsy:before {\\r\\n  content: \\\"\\\\F2D7\\\";\\r\\n}\\r\\n\\r\\ni.icon.imdb:before {\\r\\n  content: \\\"\\\\F2D8\\\";\\r\\n}\\r\\n\\r\\ni.icon.ravelry:before {\\r\\n  content: \\\"\\\\F2D9\\\";\\r\\n}\\r\\n\\r\\ni.icon.eercast:before {\\r\\n  content: \\\"\\\\F2DA\\\";\\r\\n}\\r\\n\\r\\ni.icon.superpowers:before {\\r\\n  content: \\\"\\\\F2DD\\\";\\r\\n}\\r\\n\\r\\ni.icon.wpexplorer:before {\\r\\n  content: \\\"\\\\F2DE\\\";\\r\\n}\\r\\n\\r\\ni.icon.meetup:before {\\r\\n  content: \\\"\\\\F2E0\\\";\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Aliases\\r\\n*******************************/\\r\\n\\r\\ni.icon.like:before {\\r\\n  content: \\\"\\\\F004\\\";\\r\\n}\\r\\n\\r\\ni.icon.favorite:before {\\r\\n  content: \\\"\\\\F005\\\";\\r\\n}\\r\\n\\r\\ni.icon.video:before {\\r\\n  content: \\\"\\\\F008\\\";\\r\\n}\\r\\n\\r\\ni.icon.check:before {\\r\\n  content: \\\"\\\\F00C\\\";\\r\\n}\\r\\n\\r\\ni.icon.close:before {\\r\\n  content: \\\"\\\\F00D\\\";\\r\\n}\\r\\n\\r\\ni.icon.cancel:before {\\r\\n  content: \\\"\\\\F00D\\\";\\r\\n}\\r\\n\\r\\ni.icon.delete:before {\\r\\n  content: \\\"\\\\F00D\\\";\\r\\n}\\r\\n\\r\\ni.icon.x:before {\\r\\n  content: \\\"\\\\F00D\\\";\\r\\n}\\r\\n\\r\\ni.icon.zoom.in:before {\\r\\n  content: \\\"\\\\F00E\\\";\\r\\n}\\r\\n\\r\\ni.icon.magnify:before {\\r\\n  content: \\\"\\\\F00E\\\";\\r\\n}\\r\\n\\r\\ni.icon.shutdown:before {\\r\\n  content: \\\"\\\\F011\\\";\\r\\n}\\r\\n\\r\\ni.icon.clock:before {\\r\\n  content: \\\"\\\\F017\\\";\\r\\n}\\r\\n\\r\\ni.icon.time:before {\\r\\n  content: \\\"\\\\F017\\\";\\r\\n}\\r\\n\\r\\ni.icon.play.circle.outline:before {\\r\\n  content: \\\"\\\\F01D\\\";\\r\\n}\\r\\n\\r\\ni.icon.headphone:before {\\r\\n  content: \\\"\\\\F025\\\";\\r\\n}\\r\\n\\r\\ni.icon.camera:before {\\r\\n  content: \\\"\\\\F030\\\";\\r\\n}\\r\\n\\r\\ni.icon.video.camera:before {\\r\\n  content: \\\"\\\\F03D\\\";\\r\\n}\\r\\n\\r\\ni.icon.picture:before {\\r\\n  content: \\\"\\\\F03E\\\";\\r\\n}\\r\\n\\r\\ni.icon.pencil:before {\\r\\n  content: \\\"\\\\F040\\\";\\r\\n}\\r\\n\\r\\ni.icon.compose:before {\\r\\n  content: \\\"\\\\F040\\\";\\r\\n}\\r\\n\\r\\ni.icon.point:before {\\r\\n  content: \\\"\\\\F041\\\";\\r\\n}\\r\\n\\r\\ni.icon.tint:before {\\r\\n  content: \\\"\\\\F043\\\";\\r\\n}\\r\\n\\r\\ni.icon.signup:before {\\r\\n  content: \\\"\\\\F044\\\";\\r\\n}\\r\\n\\r\\ni.icon.plus.circle:before {\\r\\n  content: \\\"\\\\F055\\\";\\r\\n}\\r\\n\\r\\ni.icon.question.circle:before {\\r\\n  content: \\\"\\\\F059\\\";\\r\\n}\\r\\n\\r\\ni.icon.dont:before {\\r\\n  content: \\\"\\\\F05E\\\";\\r\\n}\\r\\n\\r\\ni.icon.minimize:before {\\r\\n  content: \\\"\\\\F066\\\";\\r\\n}\\r\\n\\r\\ni.icon.add:before {\\r\\n  content: \\\"\\\\F067\\\";\\r\\n}\\r\\n\\r\\ni.icon.exclamation.circle:before {\\r\\n  content: \\\"\\\\F06A\\\";\\r\\n}\\r\\n\\r\\ni.icon.attention:before {\\r\\n  content: \\\"\\\\F06A\\\";\\r\\n}\\r\\n\\r\\ni.icon.eye:before {\\r\\n  content: \\\"\\\\F06E\\\";\\r\\n}\\r\\n\\r\\ni.icon.exclamation.triangle:before {\\r\\n  content: \\\"\\\\F071\\\";\\r\\n}\\r\\n\\r\\ni.icon.shuffle:before {\\r\\n  content: \\\"\\\\F074\\\";\\r\\n}\\r\\n\\r\\ni.icon.chat:before {\\r\\n  content: \\\"\\\\F075\\\";\\r\\n}\\r\\n\\r\\ni.icon.cart:before {\\r\\n  content: \\\"\\\\F07A\\\";\\r\\n}\\r\\n\\r\\ni.icon.shopping.cart:before {\\r\\n  content: \\\"\\\\F07A\\\";\\r\\n}\\r\\n\\r\\ni.icon.bar.graph:before {\\r\\n  content: \\\"\\\\F080\\\";\\r\\n}\\r\\n\\r\\ni.icon.key:before {\\r\\n  content: \\\"\\\\F084\\\";\\r\\n}\\r\\n\\r\\ni.icon.cogs:before {\\r\\n  content: \\\"\\\\F085\\\";\\r\\n}\\r\\n\\r\\ni.icon.discussions:before {\\r\\n  content: \\\"\\\\F086\\\";\\r\\n}\\r\\n\\r\\ni.icon.like.outline:before {\\r\\n  content: \\\"\\\\F087\\\";\\r\\n}\\r\\n\\r\\ni.icon.dislike.outline:before {\\r\\n  content: \\\"\\\\F088\\\";\\r\\n}\\r\\n\\r\\ni.icon.heart.outline:before {\\r\\n  content: \\\"\\\\F08A\\\";\\r\\n}\\r\\n\\r\\ni.icon.log.out:before {\\r\\n  content: \\\"\\\\F08B\\\";\\r\\n}\\r\\n\\r\\ni.icon.thumb.tack:before {\\r\\n  content: \\\"\\\\F08D\\\";\\r\\n}\\r\\n\\r\\ni.icon.winner:before {\\r\\n  content: \\\"\\\\F091\\\";\\r\\n}\\r\\n\\r\\ni.icon.phone:before {\\r\\n  content: \\\"\\\\F095\\\";\\r\\n}\\r\\n\\r\\ni.icon.bookmark.outline:before {\\r\\n  content: \\\"\\\\F097\\\";\\r\\n}\\r\\n\\r\\ni.icon.phone.square:before {\\r\\n  content: \\\"\\\\F098\\\";\\r\\n}\\r\\n\\r\\ni.icon.credit.card:before {\\r\\n  content: \\\"\\\\F09D\\\";\\r\\n}\\r\\n\\r\\ni.icon.hdd.outline:before {\\r\\n  content: \\\"\\\\F0A0\\\";\\r\\n}\\r\\n\\r\\ni.icon.bullhorn:before {\\r\\n  content: \\\"\\\\F0A1\\\";\\r\\n}\\r\\n\\r\\ni.icon.bell.outline:before {\\r\\n  content: \\\"\\\\F0A2\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.outline.right:before {\\r\\n  content: \\\"\\\\F0A4\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.outline.left:before {\\r\\n  content: \\\"\\\\F0A5\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.outline.up:before {\\r\\n  content: \\\"\\\\F0A6\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.outline.down:before {\\r\\n  content: \\\"\\\\F0A7\\\";\\r\\n}\\r\\n\\r\\ni.icon.globe:before {\\r\\n  content: \\\"\\\\F0AC\\\";\\r\\n}\\r\\n\\r\\ni.icon.wrench:before {\\r\\n  content: \\\"\\\\F0AD\\\";\\r\\n}\\r\\n\\r\\ni.icon.briefcase:before {\\r\\n  content: \\\"\\\\F0B1\\\";\\r\\n}\\r\\n\\r\\ni.icon.group:before {\\r\\n  content: \\\"\\\\F0C0\\\";\\r\\n}\\r\\n\\r\\ni.icon.linkify:before {\\r\\n  content: \\\"\\\\F0C1\\\";\\r\\n}\\r\\n\\r\\ni.icon.chain:before {\\r\\n  content: \\\"\\\\F0C1\\\";\\r\\n}\\r\\n\\r\\ni.icon.flask:before {\\r\\n  content: \\\"\\\\F0C3\\\";\\r\\n}\\r\\n\\r\\ni.icon.sidebar:before {\\r\\n  content: \\\"\\\\F0C9\\\";\\r\\n}\\r\\n\\r\\ni.icon.bars:before {\\r\\n  content: \\\"\\\\F0C9\\\";\\r\\n}\\r\\n\\r\\ni.icon.list.ul:before {\\r\\n  content: \\\"\\\\F0CA\\\";\\r\\n}\\r\\n\\r\\ni.icon.list.ol:before {\\r\\n  content: \\\"\\\\F0CB\\\";\\r\\n}\\r\\n\\r\\ni.icon.numbered.list:before {\\r\\n  content: \\\"\\\\F0CB\\\";\\r\\n}\\r\\n\\r\\ni.icon.magic:before {\\r\\n  content: \\\"\\\\F0D0\\\";\\r\\n}\\r\\n\\r\\ni.icon.truck:before {\\r\\n  content: \\\"\\\\F0D1\\\";\\r\\n}\\r\\n\\r\\ni.icon.currency:before {\\r\\n  content: \\\"\\\\F0D6\\\";\\r\\n}\\r\\n\\r\\ni.icon.triangle.down:before {\\r\\n  content: \\\"\\\\F0D7\\\";\\r\\n}\\r\\n\\r\\ni.icon.dropdown:before {\\r\\n  content: \\\"\\\\F0D7\\\";\\r\\n}\\r\\n\\r\\ni.icon.triangle.up:before {\\r\\n  content: \\\"\\\\F0D8\\\";\\r\\n}\\r\\n\\r\\ni.icon.triangle.left:before {\\r\\n  content: \\\"\\\\F0D9\\\";\\r\\n}\\r\\n\\r\\ni.icon.triangle.right:before {\\r\\n  content: \\\"\\\\F0DA\\\";\\r\\n}\\r\\n\\r\\ni.icon.envelope:before {\\r\\n  content: \\\"\\\\F0E0\\\";\\r\\n}\\r\\n\\r\\ni.icon.conversation:before {\\r\\n  content: \\\"\\\\F0E6\\\";\\r\\n}\\r\\n\\r\\ni.icon.rain:before {\\r\\n  content: \\\"\\\\F0E9\\\";\\r\\n}\\r\\n\\r\\ni.icon.clipboard:before {\\r\\n  content: \\\"\\\\F0EA\\\";\\r\\n}\\r\\n\\r\\ni.icon.lightbulb:before {\\r\\n  content: \\\"\\\\F0EB\\\";\\r\\n}\\r\\n\\r\\ni.icon.bell:before {\\r\\n  content: \\\"\\\\F0F3\\\";\\r\\n}\\r\\n\\r\\ni.icon.ambulance:before {\\r\\n  content: \\\"\\\\F0F9\\\";\\r\\n}\\r\\n\\r\\ni.icon.medkit:before {\\r\\n  content: \\\"\\\\F0FA\\\";\\r\\n}\\r\\n\\r\\ni.icon.fighter.jet:before {\\r\\n  content: \\\"\\\\F0FB\\\";\\r\\n}\\r\\n\\r\\ni.icon.beer:before {\\r\\n  content: \\\"\\\\F0FC\\\";\\r\\n}\\r\\n\\r\\ni.icon.plus.square:before {\\r\\n  content: \\\"\\\\F0FE\\\";\\r\\n}\\r\\n\\r\\ni.icon.computer:before {\\r\\n  content: \\\"\\\\F108\\\";\\r\\n}\\r\\n\\r\\ni.icon.circle.outline:before {\\r\\n  content: \\\"\\\\F10C\\\";\\r\\n}\\r\\n\\r\\ni.icon.gamepad:before {\\r\\n  content: \\\"\\\\F11B\\\";\\r\\n}\\r\\n\\r\\ni.icon.star.half.full:before {\\r\\n  content: \\\"\\\\F123\\\";\\r\\n}\\r\\n\\r\\ni.icon.broken.chain:before {\\r\\n  content: \\\"\\\\F127\\\";\\r\\n}\\r\\n\\r\\ni.icon.question:before {\\r\\n  content: \\\"\\\\F128\\\";\\r\\n}\\r\\n\\r\\ni.icon.exclamation:before {\\r\\n  content: \\\"\\\\F12A\\\";\\r\\n}\\r\\n\\r\\ni.icon.eraser:before {\\r\\n  content: \\\"\\\\F12D\\\";\\r\\n}\\r\\n\\r\\ni.icon.microphone:before {\\r\\n  content: \\\"\\\\F130\\\";\\r\\n}\\r\\n\\r\\ni.icon.microphone.slash:before {\\r\\n  content: \\\"\\\\F131\\\";\\r\\n}\\r\\n\\r\\ni.icon.shield:before {\\r\\n  content: \\\"\\\\F132\\\";\\r\\n}\\r\\n\\r\\ni.icon.target:before {\\r\\n  content: \\\"\\\\F140\\\";\\r\\n}\\r\\n\\r\\ni.icon.play.circle:before {\\r\\n  content: \\\"\\\\F144\\\";\\r\\n}\\r\\n\\r\\ni.icon.pencil.square:before {\\r\\n  content: \\\"\\\\F14B\\\";\\r\\n}\\r\\n\\r\\ni.icon.eur:before {\\r\\n  content: \\\"\\\\F153\\\";\\r\\n}\\r\\n\\r\\ni.icon.gbp:before {\\r\\n  content: \\\"\\\\F154\\\";\\r\\n}\\r\\n\\r\\ni.icon.usd:before {\\r\\n  content: \\\"\\\\F155\\\";\\r\\n}\\r\\n\\r\\ni.icon.inr:before {\\r\\n  content: \\\"\\\\F156\\\";\\r\\n}\\r\\n\\r\\ni.icon.cny:before {\\r\\n  content: \\\"\\\\F157\\\";\\r\\n}\\r\\n\\r\\ni.icon.rmb:before {\\r\\n  content: \\\"\\\\F157\\\";\\r\\n}\\r\\n\\r\\ni.icon.jpy:before {\\r\\n  content: \\\"\\\\F157\\\";\\r\\n}\\r\\n\\r\\ni.icon.rouble:before {\\r\\n  content: \\\"\\\\F158\\\";\\r\\n}\\r\\n\\r\\ni.icon.rub:before {\\r\\n  content: \\\"\\\\F158\\\";\\r\\n}\\r\\n\\r\\ni.icon.krw:before {\\r\\n  content: \\\"\\\\F159\\\";\\r\\n}\\r\\n\\r\\ni.icon.btc:before {\\r\\n  content: \\\"\\\\F15A\\\";\\r\\n}\\r\\n\\r\\ni.icon.gratipay:before {\\r\\n  content: \\\"\\\\F184\\\";\\r\\n}\\r\\n\\r\\ni.icon.zip:before {\\r\\n  content: \\\"\\\\F187\\\";\\r\\n}\\r\\n\\r\\ni.icon.dot.circle.outline:before {\\r\\n  content: \\\"\\\\F192\\\";\\r\\n}\\r\\n\\r\\ni.icon.try:before {\\r\\n  content: \\\"\\\\F195\\\";\\r\\n}\\r\\n\\r\\ni.icon.graduation:before {\\r\\n  content: \\\"\\\\F19D\\\";\\r\\n}\\r\\n\\r\\ni.icon.circle.outline:before {\\r\\n  content: \\\"\\\\F1DB\\\";\\r\\n}\\r\\n\\r\\ni.icon.sliders:before {\\r\\n  content: \\\"\\\\F1DE\\\";\\r\\n}\\r\\n\\r\\ni.icon.weixin:before {\\r\\n  content: \\\"\\\\F1D7\\\";\\r\\n}\\r\\n\\r\\ni.icon.tty:before {\\r\\n  content: \\\"\\\\F1E4\\\";\\r\\n}\\r\\n\\r\\ni.icon.teletype:before {\\r\\n  content: \\\"\\\\F1E4\\\";\\r\\n}\\r\\n\\r\\ni.icon.binoculars:before {\\r\\n  content: \\\"\\\\F1E5\\\";\\r\\n}\\r\\n\\r\\ni.icon.power.cord:before {\\r\\n  content: \\\"\\\\F1E6\\\";\\r\\n}\\r\\n\\r\\ni.icon.wi-fi:before {\\r\\n  content: \\\"\\\\F1EB\\\";\\r\\n}\\r\\n\\r\\ni.icon.visa.card:before {\\r\\n  content: \\\"\\\\F1F0\\\";\\r\\n}\\r\\n\\r\\ni.icon.mastercard.card:before {\\r\\n  content: \\\"\\\\F1F1\\\";\\r\\n}\\r\\n\\r\\ni.icon.discover.card:before {\\r\\n  content: \\\"\\\\F1F2\\\";\\r\\n}\\r\\n\\r\\ni.icon.amex:before {\\r\\n  content: \\\"\\\\F1F3\\\";\\r\\n}\\r\\n\\r\\ni.icon.american.express.card:before {\\r\\n  content: \\\"\\\\F1F3\\\";\\r\\n}\\r\\n\\r\\ni.icon.stripe.card:before {\\r\\n  content: \\\"\\\\F1F5\\\";\\r\\n}\\r\\n\\r\\ni.icon.bell.slash:before {\\r\\n  content: \\\"\\\\F1F6\\\";\\r\\n}\\r\\n\\r\\ni.icon.bell.slash.outline:before {\\r\\n  content: \\\"\\\\F1F7\\\";\\r\\n}\\r\\n\\r\\ni.icon.area.graph:before {\\r\\n  content: \\\"\\\\F1FE\\\";\\r\\n}\\r\\n\\r\\ni.icon.pie.graph:before {\\r\\n  content: \\\"\\\\F200\\\";\\r\\n}\\r\\n\\r\\ni.icon.line.graph:before {\\r\\n  content: \\\"\\\\F201\\\";\\r\\n}\\r\\n\\r\\ni.icon.cc:before {\\r\\n  content: \\\"\\\\F20A\\\";\\r\\n}\\r\\n\\r\\ni.icon.sheqel:before {\\r\\n  content: \\\"\\\\F20B\\\";\\r\\n}\\r\\n\\r\\ni.icon.ils:before {\\r\\n  content: \\\"\\\\F20B\\\";\\r\\n}\\r\\n\\r\\ni.icon.plus.cart:before {\\r\\n  content: \\\"\\\\F217\\\";\\r\\n}\\r\\n\\r\\ni.icon.arrow.down.cart:before {\\r\\n  content: \\\"\\\\F218\\\";\\r\\n}\\r\\n\\r\\ni.icon.detective:before {\\r\\n  content: \\\"\\\\F21B\\\";\\r\\n}\\r\\n\\r\\ni.icon.venus:before {\\r\\n  content: \\\"\\\\F221\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars:before {\\r\\n  content: \\\"\\\\F222\\\";\\r\\n}\\r\\n\\r\\ni.icon.mercury:before {\\r\\n  content: \\\"\\\\F223\\\";\\r\\n}\\r\\n\\r\\ni.icon.intersex:before {\\r\\n  content: \\\"\\\\F224\\\";\\r\\n}\\r\\n\\r\\ni.icon.venus.double:before {\\r\\n  content: \\\"\\\\F226\\\";\\r\\n}\\r\\n\\r\\ni.icon.female.homosexual:before {\\r\\n  content: \\\"\\\\F226\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars.double:before {\\r\\n  content: \\\"\\\\F227\\\";\\r\\n}\\r\\n\\r\\ni.icon.male.homosexual:before {\\r\\n  content: \\\"\\\\F227\\\";\\r\\n}\\r\\n\\r\\ni.icon.venus.mars:before {\\r\\n  content: \\\"\\\\F228\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars.stroke:before {\\r\\n  content: \\\"\\\\F229\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars.alternate:before {\\r\\n  content: \\\"\\\\F229\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars.vertical:before {\\r\\n  content: \\\"\\\\F22A\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars.stroke.vertical:before {\\r\\n  content: \\\"\\\\F22A\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars.horizontal:before {\\r\\n  content: \\\"\\\\F22B\\\";\\r\\n}\\r\\n\\r\\ni.icon.mars.stroke.horizontal:before {\\r\\n  content: \\\"\\\\F22B\\\";\\r\\n}\\r\\n\\r\\ni.icon.asexual:before {\\r\\n  content: \\\"\\\\F22D\\\";\\r\\n}\\r\\n\\r\\ni.icon.facebook.official:before {\\r\\n  content: \\\"\\\\F230\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.plus:before {\\r\\n  content: \\\"\\\\F234\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.times:before {\\r\\n  content: \\\"\\\\F235\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.close:before {\\r\\n  content: \\\"\\\\F235\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.cancel:before {\\r\\n  content: \\\"\\\\F235\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.delete:before {\\r\\n  content: \\\"\\\\F235\\\";\\r\\n}\\r\\n\\r\\ni.icon.user.x:before {\\r\\n  content: \\\"\\\\F235\\\";\\r\\n}\\r\\n\\r\\ni.icon.bed:before {\\r\\n  content: \\\"\\\\F236\\\";\\r\\n}\\r\\n\\r\\ni.icon.yc:before {\\r\\n  content: \\\"\\\\F23B\\\";\\r\\n}\\r\\n\\r\\ni.icon.ycombinator:before {\\r\\n  content: \\\"\\\\F23B\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.four:before {\\r\\n  content: \\\"\\\\F240\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.three:before {\\r\\n  content: \\\"\\\\F241\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.three.quarters:before {\\r\\n  content: \\\"\\\\F241\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.two:before {\\r\\n  content: \\\"\\\\F242\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.half:before {\\r\\n  content: \\\"\\\\F242\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.one:before {\\r\\n  content: \\\"\\\\F243\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.quarter:before {\\r\\n  content: \\\"\\\\F243\\\";\\r\\n}\\r\\n\\r\\ni.icon.battery.zero:before {\\r\\n  content: \\\"\\\\F244\\\";\\r\\n}\\r\\n\\r\\ni.icon.i.cursor:before {\\r\\n  content: \\\"\\\\F246\\\";\\r\\n}\\r\\n\\r\\ni.icon.jcb:before {\\r\\n  content: \\\"\\\\F24B\\\";\\r\\n}\\r\\n\\r\\ni.icon.japan.credit.bureau.card:before {\\r\\n  content: \\\"\\\\F24B\\\";\\r\\n}\\r\\n\\r\\ni.icon.diners.club.card:before {\\r\\n  content: \\\"\\\\F24C\\\";\\r\\n}\\r\\n\\r\\ni.icon.balance:before {\\r\\n  content: \\\"\\\\F24E\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.outline:before {\\r\\n  content: \\\"\\\\F250\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.zero:before {\\r\\n  content: \\\"\\\\F250\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.one:before {\\r\\n  content: \\\"\\\\F251\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.two:before {\\r\\n  content: \\\"\\\\F252\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.three:before {\\r\\n  content: \\\"\\\\F253\\\";\\r\\n}\\r\\n\\r\\ni.icon.hourglass.four:before {\\r\\n  content: \\\"\\\\F254\\\";\\r\\n}\\r\\n\\r\\ni.icon.grab:before {\\r\\n  content: \\\"\\\\F255\\\";\\r\\n}\\r\\n\\r\\ni.icon.hand.victory:before {\\r\\n  content: \\\"\\\\F25B\\\";\\r\\n}\\r\\n\\r\\ni.icon.tm:before {\\r\\n  content: \\\"\\\\F25C\\\";\\r\\n}\\r\\n\\r\\ni.icon.r.circle:before {\\r\\n  content: \\\"\\\\F25D\\\";\\r\\n}\\r\\n\\r\\ni.icon.television:before {\\r\\n  content: \\\"\\\\F26C\\\";\\r\\n}\\r\\n\\r\\ni.icon.five.hundred.pixels:before {\\r\\n  content: \\\"\\\\F26E\\\";\\r\\n}\\r\\n\\r\\ni.icon.calendar.plus:before {\\r\\n  content: \\\"\\\\F271\\\";\\r\\n}\\r\\n\\r\\ni.icon.calendar.minus:before {\\r\\n  content: \\\"\\\\F272\\\";\\r\\n}\\r\\n\\r\\ni.icon.calendar.times:before {\\r\\n  content: \\\"\\\\F273\\\";\\r\\n}\\r\\n\\r\\ni.icon.calendar.check:before {\\r\\n  content: \\\"\\\\F274\\\";\\r\\n}\\r\\n\\r\\ni.icon.factory:before {\\r\\n  content: \\\"\\\\F275\\\";\\r\\n}\\r\\n\\r\\ni.icon.commenting:before {\\r\\n  content: \\\"\\\\F27A\\\";\\r\\n}\\r\\n\\r\\ni.icon.commenting.outline:before {\\r\\n  content: \\\"\\\\F27B\\\";\\r\\n}\\r\\n\\r\\ni.icon.edge:before {\\r\\n  content: \\\"\\\\F282\\\";\\r\\n}\\r\\n\\r\\ni.icon.ms.edge:before {\\r\\n  content: \\\"\\\\F282\\\";\\r\\n}\\r\\n\\r\\ni.icon.wordpress.beginner:before {\\r\\n  content: \\\"\\\\F297\\\";\\r\\n}\\r\\n\\r\\ni.icon.wordpress.forms:before {\\r\\n  content: \\\"\\\\F298\\\";\\r\\n}\\r\\n\\r\\ni.icon.envira:before {\\r\\n  content: \\\"\\\\F299\\\";\\r\\n}\\r\\n\\r\\ni.icon.question.circle.outline:before {\\r\\n  content: \\\"\\\\F29C\\\";\\r\\n}\\r\\n\\r\\ni.icon.assistive.listening.devices:before {\\r\\n  content: \\\"\\\\F2A2\\\";\\r\\n}\\r\\n\\r\\ni.icon.als:before {\\r\\n  content: \\\"\\\\F2A2\\\";\\r\\n}\\r\\n\\r\\ni.icon.ald:before {\\r\\n  content: \\\"\\\\F2A2\\\";\\r\\n}\\r\\n\\r\\ni.icon.asl.interpreting:before {\\r\\n  content: \\\"\\\\F2A3\\\";\\r\\n}\\r\\n\\r\\ni.icon.deaf:before {\\r\\n  content: \\\"\\\\F2A4\\\";\\r\\n}\\r\\n\\r\\ni.icon.american.sign.language.interpreting:before {\\r\\n  content: \\\"\\\\F2A3\\\";\\r\\n}\\r\\n\\r\\ni.icon.hard.of.hearing:before {\\r\\n  content: \\\"\\\\F2A4\\\";\\r\\n}\\r\\n\\r\\ni.icon.signing:before {\\r\\n  content: \\\"\\\\F2A7\\\";\\r\\n}\\r\\n\\r\\ni.icon.new.pied.piper:before {\\r\\n  content: \\\"\\\\F2AE\\\";\\r\\n}\\r\\n\\r\\ni.icon.theme.isle:before {\\r\\n  content: \\\"\\\\F2B2\\\";\\r\\n}\\r\\n\\r\\ni.icon.google.plus.official:before {\\r\\n  content: \\\"\\\\F2B3\\\";\\r\\n}\\r\\n\\r\\ni.icon.fa:before {\\r\\n  content: \\\"\\\\F2B4\\\";\\r\\n}\\r\\n\\r\\ni.icon.vcard:before {\\r\\n  content: \\\"\\\\F2BB\\\";\\r\\n}\\r\\n\\r\\ni.icon.vcard.outline:before {\\r\\n  content: \\\"\\\\F2BC\\\";\\r\\n}\\r\\n\\r\\ni.icon.drivers.license:before {\\r\\n  content: \\\"\\\\F2C2\\\";\\r\\n}\\r\\n\\r\\ni.icon.drivers.license.outline:before {\\r\\n  content: \\\"\\\\F2C3\\\";\\r\\n}\\r\\n\\r\\ni.icon.thermometer:before {\\r\\n  content: \\\"\\\\F2C7\\\";\\r\\n}\\r\\n\\r\\ni.icon.s15:before {\\r\\n  content: \\\"\\\\F2CD\\\";\\r\\n}\\r\\n\\r\\ni.icon.bath:before {\\r\\n  content: \\\"\\\\F2CD\\\";\\r\\n}\\r\\n\\r\\ni.icon.times.rectangle:before {\\r\\n  content: \\\"\\\\F2D3\\\";\\r\\n}\\r\\n\\r\\ni.icon.times.rectangle.outline:before {\\r\\n  content: \\\"\\\\F2D4\\\";\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Image\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Image\\r\\n*******************************/\\r\\n\\r\\n.ui.image {\\r\\n  position: relative;\\r\\n  display: inline-block;\\r\\n  vertical-align: middle;\\r\\n  max-width: 100%;\\r\\n  background-color: transparent;\\r\\n}\\r\\n\\r\\nimg.ui.image {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.image svg,\\r\\n.ui.image img {\\r\\n  display: block;\\r\\n  max-width: 100%;\\r\\n  height: auto;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n.ui.hidden.images,\\r\\n.ui.hidden.image {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.hidden.transition.images,\\r\\n.ui.hidden.transition.image {\\r\\n  display: block;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.disabled.images,\\r\\n.ui.disabled.image {\\r\\n  cursor: default;\\r\\n  opacity: 0.45;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Inline\\r\\n---------------*/\\r\\n\\r\\n.ui.inline.image,\\r\\n.ui.inline.image svg,\\r\\n.ui.inline.image img {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n/*------------------\\r\\n  Vertical Aligned\\r\\n-------------------*/\\r\\n\\r\\n.ui.top.aligned.images .image,\\r\\n.ui.top.aligned.image,\\r\\n.ui.top.aligned.image svg,\\r\\n.ui.top.aligned.image img {\\r\\n  display: inline-block;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.middle.aligned.images .image,\\r\\n.ui.middle.aligned.image,\\r\\n.ui.middle.aligned.image svg,\\r\\n.ui.middle.aligned.image img {\\r\\n  display: inline-block;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.bottom.aligned.images .image,\\r\\n.ui.bottom.aligned.image,\\r\\n.ui.bottom.aligned.image svg,\\r\\n.ui.bottom.aligned.image img {\\r\\n  display: inline-block;\\r\\n  vertical-align: bottom;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Rounded\\r\\n---------------*/\\r\\n\\r\\n.ui.rounded.images .image,\\r\\n.ui.rounded.image,\\r\\n.ui.rounded.images .image > *,\\r\\n.ui.rounded.image > * {\\r\\n  border-radius: 0.3125em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Bordered\\r\\n---------------*/\\r\\n\\r\\n.ui.bordered.images .image,\\r\\n.ui.bordered.images img,\\r\\n.ui.bordered.images svg,\\r\\n.ui.bordered.image img,\\r\\n.ui.bordered.image svg,\\r\\nimg.ui.bordered.image {\\r\\n  border: 1px solid rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Circular\\r\\n---------------*/\\r\\n\\r\\n.ui.circular.images,\\r\\n.ui.circular.image {\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\n.ui.circular.images .image,\\r\\n.ui.circular.image,\\r\\n.ui.circular.images .image > *,\\r\\n.ui.circular.image > * {\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Fluid\\r\\n---------------*/\\r\\n\\r\\n.ui.fluid.images,\\r\\n.ui.fluid.image,\\r\\n.ui.fluid.images img,\\r\\n.ui.fluid.images svg,\\r\\n.ui.fluid.image svg,\\r\\n.ui.fluid.image img {\\r\\n  display: block;\\r\\n  width: 100%;\\r\\n  height: auto;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Avatar\\r\\n---------------*/\\r\\n\\r\\n.ui.avatar.images .image,\\r\\n.ui.avatar.images img,\\r\\n.ui.avatar.images svg,\\r\\n.ui.avatar.image img,\\r\\n.ui.avatar.image svg,\\r\\n.ui.avatar.image {\\r\\n  margin-right: 0.25em;\\r\\n  display: inline-block;\\r\\n  width: 2em;\\r\\n  height: 2em;\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Spaced\\r\\n--------------------*/\\r\\n\\r\\n.ui.spaced.image {\\r\\n  display: inline-block !important;\\r\\n  margin-left: 0.5em;\\r\\n  margin-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left spaced\\\"].image {\\r\\n  margin-left: 0.5em;\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right spaced\\\"].image {\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0.5em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Floated\\r\\n--------------------*/\\r\\n\\r\\n.ui.floated.image,\\r\\n.ui.floated.images {\\r\\n  float: left;\\r\\n  margin-right: 1em;\\r\\n  margin-bottom: 1em;\\r\\n}\\r\\n\\r\\n.ui.right.floated.images,\\r\\n.ui.right.floated.image {\\r\\n  float: right;\\r\\n  margin-right: 0em;\\r\\n  margin-bottom: 1em;\\r\\n  margin-left: 1em;\\r\\n}\\r\\n\\r\\n.ui.floated.images:last-child,\\r\\n.ui.floated.image:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.centered.images,\\r\\n.ui.centered.image {\\r\\n  margin-left: auto;\\r\\n  margin-right: auto;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizes\\r\\n---------------*/\\r\\n\\r\\n.ui.mini.images .image,\\r\\n.ui.mini.images img,\\r\\n.ui.mini.images svg,\\r\\n.ui.mini.image {\\r\\n  width: 35px;\\r\\n  height: auto;\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.images .image,\\r\\n.ui.tiny.images img,\\r\\n.ui.tiny.images svg,\\r\\n.ui.tiny.image {\\r\\n  width: 80px;\\r\\n  height: auto;\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.images .image,\\r\\n.ui.small.images img,\\r\\n.ui.small.images svg,\\r\\n.ui.small.image {\\r\\n  width: 150px;\\r\\n  height: auto;\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.medium.images .image,\\r\\n.ui.medium.images img,\\r\\n.ui.medium.images svg,\\r\\n.ui.medium.image {\\r\\n  width: 300px;\\r\\n  height: auto;\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.images .image,\\r\\n.ui.large.images img,\\r\\n.ui.large.images svg,\\r\\n.ui.large.image {\\r\\n  width: 450px;\\r\\n  height: auto;\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.images .image,\\r\\n.ui.big.images img,\\r\\n.ui.big.images svg,\\r\\n.ui.big.image {\\r\\n  width: 600px;\\r\\n  height: auto;\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.images .image,\\r\\n.ui.huge.images img,\\r\\n.ui.huge.images svg,\\r\\n.ui.huge.image {\\r\\n  width: 800px;\\r\\n  height: auto;\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.images .image,\\r\\n.ui.massive.images img,\\r\\n.ui.massive.images svg,\\r\\n.ui.massive.image {\\r\\n  width: 960px;\\r\\n  height: auto;\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n              Groups\\r\\n*******************************/\\r\\n\\r\\n.ui.images {\\r\\n  font-size: 0em;\\r\\n  margin: 0em -0.25rem 0rem;\\r\\n}\\r\\n\\r\\n.ui.images .image,\\r\\n.ui.images img,\\r\\n.ui.images svg {\\r\\n  display: inline-block;\\r\\n  margin: 0em 0.25rem 0.5rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Input\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n           Standard\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n        Inputs\\r\\n---------------------*/\\r\\n\\r\\n.ui.input {\\r\\n  position: relative;\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.input input {\\r\\n  margin: 0em;\\r\\n  max-width: 100%;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 0 auto;\\r\\n  -ms-flex: 1 0 auto;\\r\\n  flex: 1 0 auto;\\r\\n  outline: none;\\r\\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\\r\\n  text-align: left;\\r\\n  line-height: 1.21428571em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  padding: 0.67857143em 1em;\\r\\n  background: #FFFFFF;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  border-radius: 0.28571429rem;\\r\\n  -webkit-transition: box-shadow 0.1s ease, border-color 0.1s ease;\\r\\n  transition: box-shadow 0.1s ease, border-color 0.1s ease;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n      Placeholder\\r\\n---------------------*/\\r\\n\\r\\n/* browsers require these rules separate */\\r\\n\\r\\n.ui.input input::-webkit-input-placeholder {\\r\\n  color: rgba(191, 191, 191, 0.87);\\r\\n}\\r\\n\\r\\n.ui.input input::-moz-placeholder {\\r\\n  color: rgba(191, 191, 191, 0.87);\\r\\n}\\r\\n\\r\\n.ui.input input:-ms-input-placeholder {\\r\\n  color: rgba(191, 191, 191, 0.87);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n        Disabled\\r\\n---------------------*/\\r\\n\\r\\n.ui.disabled.input,\\r\\n.ui.input input[disabled] {\\r\\n  opacity: 0.45;\\r\\n}\\r\\n\\r\\n.ui.disabled.input input,\\r\\n.ui.input input[disabled] {\\r\\n  pointer-events: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Active\\r\\n---------------------*/\\r\\n\\r\\n.ui.input input:active,\\r\\n.ui.input.down input {\\r\\n  border-color: rgba(0, 0, 0, 0.3);\\r\\n  background: #FAFAFA;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       Loading\\r\\n---------------------*/\\r\\n\\r\\n.ui.loading.loading.input > i.icon:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  border-radius: 500rem;\\r\\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.ui.loading.loading.input > i.icon:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  -webkit-animation: button-spin 0.6s linear;\\r\\n  animation: button-spin 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #767676 transparent transparent;\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Focus\\r\\n---------------------*/\\r\\n\\r\\n.ui.input.focus input,\\r\\n.ui.input input:focus {\\r\\n  border-color: #85B7D9;\\r\\n  background: #FFFFFF;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.input.focus input::-webkit-input-placeholder,\\r\\n.ui.input input:focus::-webkit-input-placeholder {\\r\\n  color: rgba(115, 115, 115, 0.87);\\r\\n}\\r\\n\\r\\n.ui.input.focus input::-moz-placeholder,\\r\\n.ui.input input:focus::-moz-placeholder {\\r\\n  color: rgba(115, 115, 115, 0.87);\\r\\n}\\r\\n\\r\\n.ui.input.focus input:-ms-input-placeholder,\\r\\n.ui.input input:focus:-ms-input-placeholder {\\r\\n  color: rgba(115, 115, 115, 0.87);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Error\\r\\n---------------------*/\\r\\n\\r\\n.ui.input.error input {\\r\\n  background-color: #FFF6F6;\\r\\n  border-color: #E0B4B4;\\r\\n  color: #9F3A38;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Error Placeholder */\\r\\n\\r\\n.ui.input.error input::-webkit-input-placeholder {\\r\\n  color: #e7bdbc;\\r\\n}\\r\\n\\r\\n.ui.input.error input::-moz-placeholder {\\r\\n  color: #e7bdbc;\\r\\n}\\r\\n\\r\\n.ui.input.error input:-ms-input-placeholder {\\r\\n  color: #e7bdbc !important;\\r\\n}\\r\\n\\r\\n/* Focused Error Placeholder */\\r\\n\\r\\n.ui.input.error input:focus::-webkit-input-placeholder {\\r\\n  color: #da9796;\\r\\n}\\r\\n\\r\\n.ui.input.error input:focus::-moz-placeholder {\\r\\n  color: #da9796;\\r\\n}\\r\\n\\r\\n.ui.input.error input:focus:-ms-input-placeholder {\\r\\n  color: #da9796 !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n      Transparent\\r\\n---------------------*/\\r\\n\\r\\n.ui.transparent.input input {\\r\\n  border-color: transparent !important;\\r\\n  background-color: transparent !important;\\r\\n  padding: 0em !important;\\r\\n  box-shadow: none !important;\\r\\n}\\r\\n\\r\\n/* Transparent Icon */\\r\\n\\r\\n.ui.transparent.icon.input > i.icon {\\r\\n  width: 1.1em;\\r\\n}\\r\\n\\r\\n.ui.transparent.icon.input > input {\\r\\n  padding-left: 0em !important;\\r\\n  padding-right: 2em !important;\\r\\n}\\r\\n\\r\\n.ui.transparent[class*=\\\"left icon\\\"].input > input {\\r\\n  padding-left: 2em !important;\\r\\n  padding-right: 0em !important;\\r\\n}\\r\\n\\r\\n/* Transparent Inverted */\\r\\n\\r\\n.ui.transparent.inverted.input {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.transparent.inverted.input input {\\r\\n  color: inherit;\\r\\n}\\r\\n\\r\\n.ui.transparent.inverted.input input::-webkit-input-placeholder {\\r\\n  color: rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n\\r\\n.ui.transparent.inverted.input input::-moz-placeholder {\\r\\n  color: rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n\\r\\n.ui.transparent.inverted.input input:-ms-input-placeholder {\\r\\n  color: rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n         Icon\\r\\n---------------------*/\\r\\n\\r\\n.ui.icon.input > i.icon {\\r\\n  cursor: default;\\r\\n  position: absolute;\\r\\n  line-height: 1;\\r\\n  text-align: center;\\r\\n  top: 0px;\\r\\n  right: 0px;\\r\\n  margin: 0em;\\r\\n  height: 100%;\\r\\n  width: 2.67142857em;\\r\\n  opacity: 0.5;\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n  -webkit-transition: opacity 0.3s ease;\\r\\n  transition: opacity 0.3s ease;\\r\\n}\\r\\n\\r\\n.ui.icon.input > i.icon:not(.link) {\\r\\n  pointer-events: none;\\r\\n}\\r\\n\\r\\n.ui.icon.input input {\\r\\n  padding-right: 2.67142857em !important;\\r\\n}\\r\\n\\r\\n.ui.icon.input > i.icon:before,\\r\\n.ui.icon.input > i.icon:after {\\r\\n  left: 0;\\r\\n  position: absolute;\\r\\n  text-align: center;\\r\\n  top: 50%;\\r\\n  width: 100%;\\r\\n  margin-top: -0.5em;\\r\\n}\\r\\n\\r\\n.ui.icon.input > i.link.icon {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n.ui.icon.input > i.circular.icon {\\r\\n  top: 0.35em;\\r\\n  right: 0.5em;\\r\\n}\\r\\n\\r\\n/* Left Icon Input */\\r\\n\\r\\n.ui[class*=\\\"left icon\\\"].input > i.icon {\\r\\n  right: auto;\\r\\n  left: 1px;\\r\\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left icon\\\"].input > i.circular.icon {\\r\\n  right: auto;\\r\\n  left: 0.5em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left icon\\\"].input > input {\\r\\n  padding-left: 2.67142857em !important;\\r\\n  padding-right: 1em !important;\\r\\n}\\r\\n\\r\\n/* Focus */\\r\\n\\r\\n.ui.icon.input > input:focus ~ i.icon {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Labeled\\r\\n---------------------*/\\r\\n\\r\\n/* Adjacent Label */\\r\\n\\r\\n.ui.labeled.input > .label {\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 0 auto;\\r\\n  -ms-flex: 0 0 auto;\\r\\n  flex: 0 0 auto;\\r\\n  margin: 0;\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.labeled.input > .label:not(.corner) {\\r\\n  padding-top: 0.78571429em;\\r\\n  padding-bottom: 0.78571429em;\\r\\n}\\r\\n\\r\\n/* Regular Label on Left */\\r\\n\\r\\n.ui.labeled.input:not([class*=\\\"corner labeled\\\"]) .label:first-child {\\r\\n  border-top-right-radius: 0px;\\r\\n  border-bottom-right-radius: 0px;\\r\\n}\\r\\n\\r\\n.ui.labeled.input:not([class*=\\\"corner labeled\\\"]) .label:first-child + input {\\r\\n  border-top-left-radius: 0px;\\r\\n  border-bottom-left-radius: 0px;\\r\\n  border-left-color: transparent;\\r\\n}\\r\\n\\r\\n.ui.labeled.input:not([class*=\\\"corner labeled\\\"]) .label:first-child + input:focus {\\r\\n  border-left-color: #85B7D9;\\r\\n}\\r\\n\\r\\n/* Regular Label on Right */\\r\\n\\r\\n.ui[class*=\\\"right labeled\\\"].input input {\\r\\n  border-top-right-radius: 0px !important;\\r\\n  border-bottom-right-radius: 0px !important;\\r\\n  border-right-color: transparent !important;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right labeled\\\"].input input + .label {\\r\\n  border-top-left-radius: 0px;\\r\\n  border-bottom-left-radius: 0px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right labeled\\\"].input input:focus {\\r\\n  border-right-color: #85B7D9 !important;\\r\\n}\\r\\n\\r\\n/* Corner Label */\\r\\n\\r\\n.ui.labeled.input .corner.label {\\r\\n  top: 1px;\\r\\n  right: 1px;\\r\\n  font-size: 0.64285714em;\\r\\n  border-radius: 0em 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n/* Spacing with corner label */\\r\\n\\r\\n.ui[class*=\\\"corner labeled\\\"]:not([class*=\\\"left corner labeled\\\"]).labeled.input input {\\r\\n  padding-right: 2.5em !important;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"corner labeled\\\"].icon.input:not([class*=\\\"left corner labeled\\\"]) > input {\\r\\n  padding-right: 3.25em !important;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"corner labeled\\\"].icon.input:not([class*=\\\"left corner labeled\\\"]) > .icon {\\r\\n  margin-right: 1.25em;\\r\\n}\\r\\n\\r\\n/* Left Labeled */\\r\\n\\r\\n.ui[class*=\\\"left corner labeled\\\"].labeled.input input {\\r\\n  padding-left: 2.5em !important;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left corner labeled\\\"].icon.input > input {\\r\\n  padding-left: 3.25em !important;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left corner labeled\\\"].icon.input > .icon {\\r\\n  margin-left: 1.25em;\\r\\n}\\r\\n\\r\\n/* Corner Label Position  */\\r\\n\\r\\n.ui.input > .ui.corner.label {\\r\\n  top: 1px;\\r\\n  right: 1px;\\r\\n}\\r\\n\\r\\n.ui.input > .ui.left.corner.label {\\r\\n  right: auto;\\r\\n  left: 1px;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Action\\r\\n---------------------*/\\r\\n\\r\\n.ui.action.input > .button,\\r\\n.ui.action.input > .buttons {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  align-items: center;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 0 auto;\\r\\n  -ms-flex: 0 0 auto;\\r\\n  flex: 0 0 auto;\\r\\n}\\r\\n\\r\\n.ui.action.input > .button,\\r\\n.ui.action.input > .buttons > .button {\\r\\n  padding-top: 0.78571429em;\\r\\n  padding-bottom: 0.78571429em;\\r\\n  margin: 0;\\r\\n}\\r\\n\\r\\n/* Button on Right */\\r\\n\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) > input {\\r\\n  border-top-right-radius: 0px !important;\\r\\n  border-bottom-right-radius: 0px !important;\\r\\n  border-right-color: transparent !important;\\r\\n}\\r\\n\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) > .dropdown:not(:first-child),\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) > .button:not(:first-child),\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) > .buttons:not(:first-child) > .button {\\r\\n  border-radius: 0px;\\r\\n}\\r\\n\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) > .dropdown:last-child,\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) > .button:last-child,\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) > .buttons:last-child > .button {\\r\\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px;\\r\\n}\\r\\n\\r\\n/* Input Focus */\\r\\n\\r\\n.ui.action.input:not([class*=\\\"left action\\\"]) input:focus {\\r\\n  border-right-color: #85B7D9 !important;\\r\\n}\\r\\n\\r\\n/* Button on Left */\\r\\n\\r\\n.ui[class*=\\\"left action\\\"].input > input {\\r\\n  border-top-left-radius: 0px !important;\\r\\n  border-bottom-left-radius: 0px !important;\\r\\n  border-left-color: transparent !important;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left action\\\"].input > .dropdown,\\r\\n.ui[class*=\\\"left action\\\"].input > .button,\\r\\n.ui[class*=\\\"left action\\\"].input > .buttons > .button {\\r\\n  border-radius: 0px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left action\\\"].input > .dropdown:first-child,\\r\\n.ui[class*=\\\"left action\\\"].input > .button:first-child,\\r\\n.ui[class*=\\\"left action\\\"].input > .buttons:first-child > .button {\\r\\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Input Focus */\\r\\n\\r\\n.ui[class*=\\\"left action\\\"].input > input:focus {\\r\\n  border-left-color: #85B7D9 !important;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       Inverted\\r\\n---------------------*/\\r\\n\\r\\n/* Standard */\\r\\n\\r\\n.ui.inverted.input input {\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Fluid\\r\\n---------------------*/\\r\\n\\r\\n.ui.fluid.input {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n}\\r\\n\\r\\n.ui.fluid.input > input {\\r\\n  width: 0px !important;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Size\\r\\n---------------------*/\\r\\n\\r\\n.ui.mini.input {\\r\\n  font-size: 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.small.input {\\r\\n  font-size: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.input {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.large.input {\\r\\n  font-size: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.big.input {\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n.ui.huge.input {\\r\\n  font-size: 1.42857143em;\\r\\n}\\r\\n\\r\\n.ui.massive.input {\\r\\n  font-size: 1.71428571em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Label\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Label\\r\\n*******************************/\\r\\n\\r\\n.ui.label {\\r\\n  display: inline-block;\\r\\n  line-height: 1;\\r\\n  vertical-align: baseline;\\r\\n  margin: 0em 0.14285714em;\\r\\n  background-color: #E8E8E8;\\r\\n  background-image: none;\\r\\n  padding: 0.5833em 0.833em;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n  text-transform: none;\\r\\n  font-weight: bold;\\r\\n  border: 0px solid transparent;\\r\\n  border-radius: 0.28571429rem;\\r\\n  -webkit-transition: background 0.1s ease;\\r\\n  transition: background 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.label:first-child {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.label:last-child {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\na.ui.label {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Inside Link */\\r\\n\\r\\n.ui.label > a {\\r\\n  cursor: pointer;\\r\\n  color: inherit;\\r\\n  opacity: 0.5;\\r\\n  -webkit-transition: 0.1s opacity ease;\\r\\n  transition: 0.1s opacity ease;\\r\\n}\\r\\n\\r\\n.ui.label > a:hover {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/* Image */\\r\\n\\r\\n.ui.label > img {\\r\\n  width: auto !important;\\r\\n  vertical-align: middle;\\r\\n  height: 2.1666em !important;\\r\\n}\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.label > .icon {\\r\\n  width: auto;\\r\\n  margin: 0em 0.75em 0em 0em;\\r\\n}\\r\\n\\r\\n/* Detail */\\r\\n\\r\\n.ui.label > .detail {\\r\\n  display: inline-block;\\r\\n  vertical-align: top;\\r\\n  font-weight: bold;\\r\\n  margin-left: 1em;\\r\\n  opacity: 0.8;\\r\\n}\\r\\n\\r\\n.ui.label > .detail .icon {\\r\\n  margin: 0em 0.25em 0em 0em;\\r\\n}\\r\\n\\r\\n/* Removable label */\\r\\n\\r\\n.ui.label > .close.icon,\\r\\n.ui.label > .delete.icon {\\r\\n  cursor: pointer;\\r\\n  margin-right: 0em;\\r\\n  margin-left: 0.5em;\\r\\n  font-size: 0.92857143em;\\r\\n  opacity: 0.5;\\r\\n  -webkit-transition: background 0.1s ease;\\r\\n  transition: background 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.label > .delete.icon:hover {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Group\\r\\n--------------------*/\\r\\n\\r\\n.ui.labels > .label {\\r\\n  margin: 0em 0.5em 0.5em 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Coupling\\r\\n--------------------*/\\r\\n\\r\\n.ui.header > .ui.label {\\r\\n  margin-top: -0.29165em;\\r\\n}\\r\\n\\r\\n/* Remove border radius on attached segment */\\r\\n\\r\\n.ui.attached.segment > .ui.top.left.attached.label,\\r\\n.ui.bottom.attached.segment > .ui.top.left.attached.label {\\r\\n  border-top-left-radius: 0;\\r\\n}\\r\\n\\r\\n.ui.attached.segment > .ui.top.right.attached.label,\\r\\n.ui.bottom.attached.segment > .ui.top.right.attached.label {\\r\\n  border-top-right-radius: 0;\\r\\n}\\r\\n\\r\\n.ui.top.attached.segment > .ui.bottom.left.attached.label {\\r\\n  border-bottom-left-radius: 0;\\r\\n}\\r\\n\\r\\n.ui.top.attached.segment > .ui.bottom.right.attached.label {\\r\\n  border-bottom-right-radius: 0;\\r\\n}\\r\\n\\r\\n/* Padding on next content after a label */\\r\\n\\r\\n.ui.top.attached.label:first-child + :not(.attached),\\r\\n.ui.top.attached.label + [class*=\\\"right floated\\\"] + * {\\r\\n  margin-top: 2rem !important;\\r\\n}\\r\\n\\r\\n.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) {\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 2rem !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n.ui.image.label {\\r\\n  width: auto !important;\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 0em;\\r\\n  max-width: 9999px;\\r\\n  vertical-align: baseline;\\r\\n  text-transform: none;\\r\\n  background: #E8E8E8;\\r\\n  padding: 0.5833em 0.833em 0.5833em 0.5em;\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.image.label img {\\r\\n  display: inline-block;\\r\\n  vertical-align: top;\\r\\n  height: 2.1666em;\\r\\n  margin: -0.5833em 0.5em -0.5833em -0.5em;\\r\\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.image.label .detail {\\r\\n  background: rgba(0, 0, 0, 0.1);\\r\\n  margin: -0.5833em -0.833em -0.5833em 0.5em;\\r\\n  padding: 0.5833em 0.833em;\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n         Tag\\r\\n--------------------*/\\r\\n\\r\\n.ui.tag.labels .label,\\r\\n.ui.tag.label {\\r\\n  margin-left: 1em;\\r\\n  position: relative;\\r\\n  padding-left: 1.5em;\\r\\n  padding-right: 1.5em;\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n  -webkit-transition: none;\\r\\n  transition: none;\\r\\n}\\r\\n\\r\\n.ui.tag.labels .label:before,\\r\\n.ui.tag.label:before {\\r\\n  position: absolute;\\r\\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\\r\\n  transform: translateY(-50%) translateX(50%) rotate(-45deg);\\r\\n  top: 50%;\\r\\n  right: 100%;\\r\\n  content: '';\\r\\n  background-color: inherit;\\r\\n  background-image: none;\\r\\n  width: 1.56em;\\r\\n  height: 1.56em;\\r\\n  -webkit-transition: none;\\r\\n  transition: none;\\r\\n}\\r\\n\\r\\n.ui.tag.labels .label:after,\\r\\n.ui.tag.label:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: -0.25em;\\r\\n  margin-top: -0.25em;\\r\\n  background-color: #FFFFFF !important;\\r\\n  width: 0.5em;\\r\\n  height: 0.5em;\\r\\n  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n    Corner Label\\r\\n--------------------*/\\r\\n\\r\\n.ui.corner.label {\\r\\n  position: absolute;\\r\\n  top: 0em;\\r\\n  right: 0em;\\r\\n  margin: 0em;\\r\\n  padding: 0em;\\r\\n  text-align: center;\\r\\n  border-color: #E8E8E8;\\r\\n  width: 4em;\\r\\n  height: 4em;\\r\\n  z-index: 1;\\r\\n  -webkit-transition: border-color 0.1s ease;\\r\\n  transition: border-color 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Icon Label */\\r\\n\\r\\n.ui.corner.label {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.ui.corner.label:after {\\r\\n  position: absolute;\\r\\n  content: \\\"\\\";\\r\\n  right: 0em;\\r\\n  top: 0em;\\r\\n  z-index: -1;\\r\\n  width: 0em;\\r\\n  height: 0em;\\r\\n  background-color: transparent !important;\\r\\n  border-top: 0em solid transparent;\\r\\n  border-right: 4em solid transparent;\\r\\n  border-bottom: 4em solid transparent;\\r\\n  border-left: 0em solid transparent;\\r\\n  border-right-color: inherit;\\r\\n  -webkit-transition: border-color 0.1s ease;\\r\\n  transition: border-color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.corner.label .icon {\\r\\n  cursor: default;\\r\\n  position: relative;\\r\\n  top: 0.64285714em;\\r\\n  left: 0.78571429em;\\r\\n  font-size: 1.14285714em;\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/* Left Corner */\\r\\n\\r\\n.ui.left.corner.label,\\r\\n.ui.left.corner.label:after {\\r\\n  right: auto;\\r\\n  left: 0em;\\r\\n}\\r\\n\\r\\n.ui.left.corner.label:after {\\r\\n  border-top: 4em solid transparent;\\r\\n  border-right: 4em solid transparent;\\r\\n  border-bottom: 0em solid transparent;\\r\\n  border-left: 0em solid transparent;\\r\\n  border-top-color: inherit;\\r\\n}\\r\\n\\r\\n.ui.left.corner.label .icon {\\r\\n  left: -0.78571429em;\\r\\n}\\r\\n\\r\\n/* Segment */\\r\\n\\r\\n.ui.segment > .ui.corner.label {\\r\\n  top: -1px;\\r\\n  right: -1px;\\r\\n}\\r\\n\\r\\n.ui.segment > .ui.left.corner.label {\\r\\n  right: auto;\\r\\n  left: -1px;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Ribbon\\r\\n--------------------*/\\r\\n\\r\\n.ui.ribbon.label {\\r\\n  position: relative;\\r\\n  margin: 0em;\\r\\n  min-width: -webkit-max-content;\\r\\n  min-width: -moz-max-content;\\r\\n  min-width: max-content;\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n  border-color: rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n\\r\\n.ui.ribbon.label:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 100%;\\r\\n  left: 0%;\\r\\n  background-color: transparent !important;\\r\\n  border-style: solid;\\r\\n  border-width: 0em 1.2em 1.2em 0em;\\r\\n  border-color: transparent;\\r\\n  border-right-color: inherit;\\r\\n  width: 0em;\\r\\n  height: 0em;\\r\\n}\\r\\n\\r\\n/* Positioning */\\r\\n\\r\\n.ui.ribbon.label {\\r\\n  left: calc( -1rem  -  1.2em );\\r\\n  margin-right: -1.2em;\\r\\n  padding-left: calc( 1rem  +  1.2em );\\r\\n  padding-right: 1.2em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right ribbon\\\"].label {\\r\\n  left: calc(100% +  1rem  +  1.2em );\\r\\n  padding-left: 1.2em;\\r\\n  padding-right: calc( 1rem  +  1.2em );\\r\\n}\\r\\n\\r\\n/* Right Ribbon */\\r\\n\\r\\n.ui[class*=\\\"right ribbon\\\"].label {\\r\\n  text-align: left;\\r\\n  -webkit-transform: translateX(-100%);\\r\\n  transform: translateX(-100%);\\r\\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right ribbon\\\"].label:after {\\r\\n  left: auto;\\r\\n  right: 0%;\\r\\n  border-style: solid;\\r\\n  border-width: 1.2em 1.2em 0em 0em;\\r\\n  border-color: transparent;\\r\\n  border-top-color: inherit;\\r\\n}\\r\\n\\r\\n/* Inside Table */\\r\\n\\r\\n.ui.image > .ribbon.label,\\r\\n.ui.card .image > .ribbon.label {\\r\\n  position: absolute;\\r\\n  top: 1rem;\\r\\n}\\r\\n\\r\\n.ui.card .image > .ui.ribbon.label,\\r\\n.ui.image > .ui.ribbon.label {\\r\\n  left: calc( 0.05rem  -  1.2em );\\r\\n}\\r\\n\\r\\n.ui.card .image > .ui[class*=\\\"right ribbon\\\"].label,\\r\\n.ui.image > .ui[class*=\\\"right ribbon\\\"].label {\\r\\n  left: calc(100% +  -0.05rem  +  1.2em );\\r\\n  padding-left: 0.833em;\\r\\n}\\r\\n\\r\\n/* Inside Table */\\r\\n\\r\\n.ui.table td > .ui.ribbon.label {\\r\\n  left: calc( -0.78571429em  -  1.2em );\\r\\n}\\r\\n\\r\\n.ui.table td > .ui[class*=\\\"right ribbon\\\"].label {\\r\\n  left: calc(100% +  0.78571429em  +  1.2em );\\r\\n  padding-left: 0.833em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Attached\\r\\n--------------------*/\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].label,\\r\\n.ui.attached.label {\\r\\n  width: 100%;\\r\\n  position: absolute;\\r\\n  margin: 0em;\\r\\n  top: 0em;\\r\\n  left: 0em;\\r\\n  padding: 0.75em 1em;\\r\\n  border-radius: 0.21428571rem 0.21428571rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].label {\\r\\n  top: auto;\\r\\n  bottom: 0em;\\r\\n  border-radius: 0em 0em 0.21428571rem 0.21428571rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"top left attached\\\"].label {\\r\\n  width: auto;\\r\\n  margin-top: 0em !important;\\r\\n  border-radius: 0.21428571rem 0em 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"top right attached\\\"].label {\\r\\n  width: auto;\\r\\n  left: auto;\\r\\n  right: 0em;\\r\\n  border-radius: 0em 0.21428571rem 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom left attached\\\"].label {\\r\\n  width: auto;\\r\\n  top: auto;\\r\\n  bottom: 0em;\\r\\n  border-radius: 0em 0.28571429rem 0em 0.21428571rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom right attached\\\"].label {\\r\\n  top: auto;\\r\\n  bottom: 0em;\\r\\n  left: auto;\\r\\n  right: 0em;\\r\\n  width: auto;\\r\\n  border-radius: 0.28571429rem 0em 0.21428571rem 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n      Disabled\\r\\n--------------------*/\\r\\n\\r\\n.ui.label.disabled {\\r\\n  opacity: 0.5;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Hover\\r\\n--------------------*/\\r\\n\\r\\na.ui.labels .label:hover,\\r\\na.ui.label:hover {\\r\\n  background-color: #E0E0E0;\\r\\n  border-color: #E0E0E0;\\r\\n  background-image: none;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n.ui.labels a.label:hover:before,\\r\\na.ui.label:hover:before {\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Active\\r\\n--------------------*/\\r\\n\\r\\n.ui.active.label {\\r\\n  background-color: #D0D0D0;\\r\\n  border-color: #D0D0D0;\\r\\n  background-image: none;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.active.label:before {\\r\\n  background-color: #D0D0D0;\\r\\n  background-image: none;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n     Active Hover\\r\\n--------------------*/\\r\\n\\r\\na.ui.labels .active.label:hover,\\r\\na.ui.active.label:hover {\\r\\n  background-color: #C8C8C8;\\r\\n  border-color: #C8C8C8;\\r\\n  background-image: none;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.labels a.active.label:ActiveHover:before,\\r\\na.ui.active.label:ActiveHover:before {\\r\\n  background-color: #C8C8C8;\\r\\n  background-image: none;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Visible\\r\\n--------------------*/\\r\\n\\r\\n.ui.labels.visible .label,\\r\\n.ui.label.visible:not(.dropdown) {\\r\\n  display: inline-block !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Hidden\\r\\n--------------------*/\\r\\n\\r\\n.ui.labels.hidden .label,\\r\\n.ui.label.hidden {\\r\\n  display: none !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Colors\\r\\n--------------------*/\\r\\n\\r\\n/*--- Red ---*/\\r\\n\\r\\n.ui.red.labels .label,\\r\\n.ui.red.label {\\r\\n  background-color: #DB2828 !important;\\r\\n  border-color: #DB2828 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.red.labels .label:hover,\\r\\na.ui.red.label:hover {\\r\\n  background-color: #d01919 !important;\\r\\n  border-color: #d01919 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.red.corner.label,\\r\\n.ui.red.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.red.ribbon.label {\\r\\n  border-color: #b21e1e !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.red.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #DB2828 !important;\\r\\n  border-color: #DB2828 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.red.labels a.label:hover,\\r\\na.ui.basic.red.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #d01919 !important;\\r\\n  border-color: #d01919 !important;\\r\\n}\\r\\n\\r\\n/*--- Orange ---*/\\r\\n\\r\\n.ui.orange.labels .label,\\r\\n.ui.orange.label {\\r\\n  background-color: #F2711C !important;\\r\\n  border-color: #F2711C !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.orange.labels .label:hover,\\r\\na.ui.orange.label:hover {\\r\\n  background-color: #f26202 !important;\\r\\n  border-color: #f26202 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.orange.corner.label,\\r\\n.ui.orange.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.orange.ribbon.label {\\r\\n  border-color: #cf590c !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.orange.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #F2711C !important;\\r\\n  border-color: #F2711C !important;\\r\\n}\\r\\n\\r\\n.ui.basic.orange.labels a.label:hover,\\r\\na.ui.basic.orange.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #f26202 !important;\\r\\n  border-color: #f26202 !important;\\r\\n}\\r\\n\\r\\n/*--- Yellow ---*/\\r\\n\\r\\n.ui.yellow.labels .label,\\r\\n.ui.yellow.label {\\r\\n  background-color: #FBBD08 !important;\\r\\n  border-color: #FBBD08 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.yellow.labels .label:hover,\\r\\na.ui.yellow.label:hover {\\r\\n  background-color: #eaae00 !important;\\r\\n  border-color: #eaae00 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.yellow.corner.label,\\r\\n.ui.yellow.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.yellow.ribbon.label {\\r\\n  border-color: #cd9903 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.yellow.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #FBBD08 !important;\\r\\n  border-color: #FBBD08 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.yellow.labels a.label:hover,\\r\\na.ui.basic.yellow.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #eaae00 !important;\\r\\n  border-color: #eaae00 !important;\\r\\n}\\r\\n\\r\\n/*--- Olive ---*/\\r\\n\\r\\n.ui.olive.labels .label,\\r\\n.ui.olive.label {\\r\\n  background-color: #B5CC18 !important;\\r\\n  border-color: #B5CC18 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.olive.labels .label:hover,\\r\\na.ui.olive.label:hover {\\r\\n  background-color: #a7bd0d !important;\\r\\n  border-color: #a7bd0d !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.olive.corner.label,\\r\\n.ui.olive.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.olive.ribbon.label {\\r\\n  border-color: #198f35 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.olive.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #B5CC18 !important;\\r\\n  border-color: #B5CC18 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.olive.labels a.label:hover,\\r\\na.ui.basic.olive.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #a7bd0d !important;\\r\\n  border-color: #a7bd0d !important;\\r\\n}\\r\\n\\r\\n/*--- Green ---*/\\r\\n\\r\\n.ui.green.labels .label,\\r\\n.ui.green.label {\\r\\n  background-color: #21BA45 !important;\\r\\n  border-color: #21BA45 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.green.labels .label:hover,\\r\\na.ui.green.label:hover {\\r\\n  background-color: #16ab39 !important;\\r\\n  border-color: #16ab39 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.green.corner.label,\\r\\n.ui.green.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.green.ribbon.label {\\r\\n  border-color: #198f35 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.green.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #21BA45 !important;\\r\\n  border-color: #21BA45 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.green.labels a.label:hover,\\r\\na.ui.basic.green.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #16ab39 !important;\\r\\n  border-color: #16ab39 !important;\\r\\n}\\r\\n\\r\\n/*--- Teal ---*/\\r\\n\\r\\n.ui.teal.labels .label,\\r\\n.ui.teal.label {\\r\\n  background-color: #00B5AD !important;\\r\\n  border-color: #00B5AD !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.teal.labels .label:hover,\\r\\na.ui.teal.label:hover {\\r\\n  background-color: #009c95 !important;\\r\\n  border-color: #009c95 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.teal.corner.label,\\r\\n.ui.teal.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.teal.ribbon.label {\\r\\n  border-color: #00827c !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.teal.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #00B5AD !important;\\r\\n  border-color: #00B5AD !important;\\r\\n}\\r\\n\\r\\n.ui.basic.teal.labels a.label:hover,\\r\\na.ui.basic.teal.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #009c95 !important;\\r\\n  border-color: #009c95 !important;\\r\\n}\\r\\n\\r\\n/*--- Blue ---*/\\r\\n\\r\\n.ui.blue.labels .label,\\r\\n.ui.blue.label {\\r\\n  background-color: #2185D0 !important;\\r\\n  border-color: #2185D0 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.blue.labels .label:hover,\\r\\na.ui.blue.label:hover {\\r\\n  background-color: #1678c2 !important;\\r\\n  border-color: #1678c2 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.blue.corner.label,\\r\\n.ui.blue.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.blue.ribbon.label {\\r\\n  border-color: #1a69a4 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.blue.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #2185D0 !important;\\r\\n  border-color: #2185D0 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.blue.labels a.label:hover,\\r\\na.ui.basic.blue.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #1678c2 !important;\\r\\n  border-color: #1678c2 !important;\\r\\n}\\r\\n\\r\\n/*--- Violet ---*/\\r\\n\\r\\n.ui.violet.labels .label,\\r\\n.ui.violet.label {\\r\\n  background-color: #6435C9 !important;\\r\\n  border-color: #6435C9 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.violet.labels .label:hover,\\r\\na.ui.violet.label:hover {\\r\\n  background-color: #5829bb !important;\\r\\n  border-color: #5829bb !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.violet.corner.label,\\r\\n.ui.violet.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.violet.ribbon.label {\\r\\n  border-color: #502aa1 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.violet.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #6435C9 !important;\\r\\n  border-color: #6435C9 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.violet.labels a.label:hover,\\r\\na.ui.basic.violet.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #5829bb !important;\\r\\n  border-color: #5829bb !important;\\r\\n}\\r\\n\\r\\n/*--- Purple ---*/\\r\\n\\r\\n.ui.purple.labels .label,\\r\\n.ui.purple.label {\\r\\n  background-color: #A333C8 !important;\\r\\n  border-color: #A333C8 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.purple.labels .label:hover,\\r\\na.ui.purple.label:hover {\\r\\n  background-color: #9627ba !important;\\r\\n  border-color: #9627ba !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.purple.corner.label,\\r\\n.ui.purple.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.purple.ribbon.label {\\r\\n  border-color: #82299f !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.purple.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #A333C8 !important;\\r\\n  border-color: #A333C8 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.purple.labels a.label:hover,\\r\\na.ui.basic.purple.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #9627ba !important;\\r\\n  border-color: #9627ba !important;\\r\\n}\\r\\n\\r\\n/*--- Pink ---*/\\r\\n\\r\\n.ui.pink.labels .label,\\r\\n.ui.pink.label {\\r\\n  background-color: #E03997 !important;\\r\\n  border-color: #E03997 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.pink.labels .label:hover,\\r\\na.ui.pink.label:hover {\\r\\n  background-color: #e61a8d !important;\\r\\n  border-color: #e61a8d !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.pink.corner.label,\\r\\n.ui.pink.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.pink.ribbon.label {\\r\\n  border-color: #c71f7e !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.pink.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #E03997 !important;\\r\\n  border-color: #E03997 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.pink.labels a.label:hover,\\r\\na.ui.basic.pink.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #e61a8d !important;\\r\\n  border-color: #e61a8d !important;\\r\\n}\\r\\n\\r\\n/*--- Brown ---*/\\r\\n\\r\\n.ui.brown.labels .label,\\r\\n.ui.brown.label {\\r\\n  background-color: #A5673F !important;\\r\\n  border-color: #A5673F !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.brown.labels .label:hover,\\r\\na.ui.brown.label:hover {\\r\\n  background-color: #975b33 !important;\\r\\n  border-color: #975b33 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.brown.corner.label,\\r\\n.ui.brown.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.brown.ribbon.label {\\r\\n  border-color: #805031 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.brown.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #A5673F !important;\\r\\n  border-color: #A5673F !important;\\r\\n}\\r\\n\\r\\n.ui.basic.brown.labels a.label:hover,\\r\\na.ui.basic.brown.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #975b33 !important;\\r\\n  border-color: #975b33 !important;\\r\\n}\\r\\n\\r\\n/*--- Grey ---*/\\r\\n\\r\\n.ui.grey.labels .label,\\r\\n.ui.grey.label {\\r\\n  background-color: #767676 !important;\\r\\n  border-color: #767676 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.grey.labels .label:hover,\\r\\na.ui.grey.label:hover {\\r\\n  background-color: #838383 !important;\\r\\n  border-color: #838383 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.grey.corner.label,\\r\\n.ui.grey.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.grey.ribbon.label {\\r\\n  border-color: #805031 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.grey.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #767676 !important;\\r\\n  border-color: #767676 !important;\\r\\n}\\r\\n\\r\\n.ui.basic.grey.labels a.label:hover,\\r\\na.ui.basic.grey.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #838383 !important;\\r\\n  border-color: #838383 !important;\\r\\n}\\r\\n\\r\\n/*--- Black ---*/\\r\\n\\r\\n.ui.black.labels .label,\\r\\n.ui.black.label {\\r\\n  background-color: #1B1C1D !important;\\r\\n  border-color: #1B1C1D !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.black.labels .label:hover,\\r\\na.ui.black.label:hover {\\r\\n  background-color: #27292a !important;\\r\\n  border-color: #27292a !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Corner */\\r\\n\\r\\n.ui.black.corner.label,\\r\\n.ui.black.corner.label:hover {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Ribbon */\\r\\n\\r\\n.ui.black.ribbon.label {\\r\\n  border-color: #805031 !important;\\r\\n}\\r\\n\\r\\n/* Basic */\\r\\n\\r\\n.ui.basic.black.label {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #1B1C1D !important;\\r\\n  border-color: #1B1C1D !important;\\r\\n}\\r\\n\\r\\n.ui.basic.black.labels a.label:hover,\\r\\na.ui.basic.black.label:hover {\\r\\n  background-color: #FFFFFF !important;\\r\\n  color: #27292a !important;\\r\\n  border-color: #27292a !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Basic\\r\\n--------------------*/\\r\\n\\r\\n.ui.basic.label {\\r\\n  background: none #FFFFFF;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\na.ui.basic.label:hover {\\r\\n  text-decoration: none;\\r\\n  background: none #FFFFFF;\\r\\n  color: #1e70bf;\\r\\n  box-shadow: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Pointing */\\r\\n\\r\\n.ui.basic.pointing.label:before {\\r\\n  border-color: inherit;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Fluid\\r\\n--------------------*/\\r\\n\\r\\n.ui.label.fluid,\\r\\n.ui.fluid.labels > .label {\\r\\n  width: 100%;\\r\\n  box-sizing: border-box;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Inverted\\r\\n--------------------*/\\r\\n\\r\\n.ui.inverted.labels .label,\\r\\n.ui.inverted.label {\\r\\n  color: rgba(255, 255, 255, 0.9) !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n     Horizontal\\r\\n--------------------*/\\r\\n\\r\\n.ui.horizontal.labels .label,\\r\\n.ui.horizontal.label {\\r\\n  margin: 0em 0.5em 0em 0em;\\r\\n  padding: 0.4em 0.833em;\\r\\n  min-width: 3em;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Circular\\r\\n--------------------*/\\r\\n\\r\\n.ui.circular.labels .label,\\r\\n.ui.circular.label {\\r\\n  min-width: 2em;\\r\\n  min-height: 2em;\\r\\n  padding: 0.5em !important;\\r\\n  line-height: 1em;\\r\\n  text-align: center;\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n.ui.empty.circular.labels .label,\\r\\n.ui.empty.circular.label {\\r\\n  min-width: 0em;\\r\\n  min-height: 0em;\\r\\n  overflow: hidden;\\r\\n  width: 0.5em;\\r\\n  height: 0.5em;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Pointing\\r\\n--------------------*/\\r\\n\\r\\n.ui.pointing.label {\\r\\n  position: relative;\\r\\n}\\r\\n\\r\\n.ui.attached.pointing.label {\\r\\n  position: absolute;\\r\\n}\\r\\n\\r\\n.ui.pointing.label:before {\\r\\n  background-color: inherit;\\r\\n  background-image: inherit;\\r\\n  border-width: none;\\r\\n  border-style: solid;\\r\\n  border-color: inherit;\\r\\n}\\r\\n\\r\\n/* Arrow */\\r\\n\\r\\n.ui.pointing.label:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  -webkit-transform: rotate(45deg);\\r\\n  transform: rotate(45deg);\\r\\n  background-image: none;\\r\\n  z-index: 2;\\r\\n  width: 0.6666em;\\r\\n  height: 0.6666em;\\r\\n  -webkit-transition: background 0.1s ease;\\r\\n  transition: background 0.1s ease;\\r\\n}\\r\\n\\r\\n/*--- Above ---*/\\r\\n\\r\\n.ui.pointing.label,\\r\\n.ui[class*=\\\"pointing above\\\"].label {\\r\\n  margin-top: 1em;\\r\\n}\\r\\n\\r\\n.ui.pointing.label:before,\\r\\n.ui[class*=\\\"pointing above\\\"].label:before {\\r\\n  border-width: 1px 0px 0px 1px;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  top: 0%;\\r\\n  left: 50%;\\r\\n}\\r\\n\\r\\n/*--- Below ---*/\\r\\n\\r\\n.ui[class*=\\\"bottom pointing\\\"].label,\\r\\n.ui[class*=\\\"pointing below\\\"].label {\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 1em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom pointing\\\"].label:before,\\r\\n.ui[class*=\\\"pointing below\\\"].label:before {\\r\\n  border-width: 0px 1px 1px 0px;\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  top: 100%;\\r\\n  left: 50%;\\r\\n}\\r\\n\\r\\n/*--- Left ---*/\\r\\n\\r\\n.ui[class*=\\\"left pointing\\\"].label {\\r\\n  margin-top: 0em;\\r\\n  margin-left: 0.6666em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left pointing\\\"].label:before {\\r\\n  border-width: 0px 0px 1px 1px;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  bottom: auto;\\r\\n  right: auto;\\r\\n  top: 50%;\\r\\n  left: 0em;\\r\\n}\\r\\n\\r\\n/*--- Right ---*/\\r\\n\\r\\n.ui[class*=\\\"right pointing\\\"].label {\\r\\n  margin-top: 0em;\\r\\n  margin-right: 0.6666em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right pointing\\\"].label:before {\\r\\n  border-width: 1px 1px 0px 0px;\\r\\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\\r\\n  transform: translateX(50%) translateY(-50%) rotate(45deg);\\r\\n  top: 50%;\\r\\n  right: 0%;\\r\\n  bottom: auto;\\r\\n  left: auto;\\r\\n}\\r\\n\\r\\n/* Basic Pointing */\\r\\n\\r\\n/*--- Above ---*/\\r\\n\\r\\n.ui.basic.pointing.label:before,\\r\\n.ui.basic[class*=\\\"pointing above\\\"].label:before {\\r\\n  margin-top: -1px;\\r\\n}\\r\\n\\r\\n/*--- Below ---*/\\r\\n\\r\\n.ui.basic[class*=\\\"bottom pointing\\\"].label:before,\\r\\n.ui.basic[class*=\\\"pointing below\\\"].label:before {\\r\\n  bottom: auto;\\r\\n  top: 100%;\\r\\n  margin-top: 1px;\\r\\n}\\r\\n\\r\\n/*--- Left ---*/\\r\\n\\r\\n.ui.basic[class*=\\\"left pointing\\\"].label:before {\\r\\n  top: 50%;\\r\\n  left: -1px;\\r\\n}\\r\\n\\r\\n/*--- Right ---*/\\r\\n\\r\\n.ui.basic[class*=\\\"right pointing\\\"].label:before {\\r\\n  top: 50%;\\r\\n  right: -1px;\\r\\n}\\r\\n\\r\\n/*------------------\\r\\n   Floating Label\\r\\n-------------------*/\\r\\n\\r\\n.ui.floating.label {\\r\\n  position: absolute;\\r\\n  z-index: 100;\\r\\n  top: -1em;\\r\\n  left: 100%;\\r\\n  margin: 0em 0em 0em -1.5em !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Sizes\\r\\n--------------------*/\\r\\n\\r\\n.ui.mini.labels .label,\\r\\n.ui.mini.label {\\r\\n  font-size: 0.64285714rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.labels .label,\\r\\n.ui.tiny.label {\\r\\n  font-size: 0.71428571rem;\\r\\n}\\r\\n\\r\\n.ui.small.labels .label,\\r\\n.ui.small.label {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.labels .label,\\r\\n.ui.label {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.large.labels .label,\\r\\n.ui.large.label {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.big.labels .label,\\r\\n.ui.big.label {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.labels .label,\\r\\n.ui.huge.label {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.labels .label,\\r\\n.ui.massive.label {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - List\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            List\\r\\n*******************************/\\r\\n\\r\\nul.ui.list,\\r\\nol.ui.list,\\r\\n.ui.list {\\r\\n  list-style-type: none;\\r\\n  margin: 1em 0em;\\r\\n  padding: 0em 0em;\\r\\n}\\r\\n\\r\\nul.ui.list:first-child,\\r\\nol.ui.list:first-child,\\r\\n.ui.list:first-child {\\r\\n  margin-top: 0em;\\r\\n  padding-top: 0em;\\r\\n}\\r\\n\\r\\nul.ui.list:last-child,\\r\\nol.ui.list:last-child,\\r\\n.ui.list:last-child {\\r\\n  margin-bottom: 0em;\\r\\n  padding-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Content\\r\\n*******************************/\\r\\n\\r\\n/* List Item */\\r\\n\\r\\nul.ui.list li,\\r\\nol.ui.list li,\\r\\n.ui.list > .item,\\r\\n.ui.list .list > .item {\\r\\n  display: list-item;\\r\\n  table-layout: fixed;\\r\\n  list-style-type: none;\\r\\n  list-style-position: outside;\\r\\n  padding: 0.21428571em 0em;\\r\\n  line-height: 1.14285714em;\\r\\n}\\r\\n\\r\\nul.ui.list > li:first-child:after,\\r\\nol.ui.list > li:first-child:after,\\r\\n.ui.list > .list > .item,\\r\\n.ui.list > .item:after {\\r\\n  content: '';\\r\\n  display: block;\\r\\n  height: 0;\\r\\n  clear: both;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\nul.ui.list li:first-child,\\r\\nol.ui.list li:first-child,\\r\\n.ui.list .list > .item:first-child,\\r\\n.ui.list > .item:first-child {\\r\\n  padding-top: 0em;\\r\\n}\\r\\n\\r\\nul.ui.list li:last-child,\\r\\nol.ui.list li:last-child,\\r\\n.ui.list .list > .item:last-child,\\r\\n.ui.list > .item:last-child {\\r\\n  padding-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Child List */\\r\\n\\r\\nul.ui.list ul,\\r\\nol.ui.list ol,\\r\\n.ui.list .list {\\r\\n  clear: both;\\r\\n  margin: 0em;\\r\\n  padding: 0.75em 0em 0.25em 0.5em;\\r\\n}\\r\\n\\r\\n/* Child Item */\\r\\n\\r\\nul.ui.list ul li,\\r\\nol.ui.list ol li,\\r\\n.ui.list .list > .item {\\r\\n  padding: 0.14285714em 0em;\\r\\n  line-height: inherit;\\r\\n}\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.list .list > .item > i.icon,\\r\\n.ui.list > .item > i.icon {\\r\\n  display: table-cell;\\r\\n  margin: 0em;\\r\\n  padding-top: 0.07142857em;\\r\\n  padding-right: 0.28571429em;\\r\\n  vertical-align: top;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item > i.icon:only-child,\\r\\n.ui.list > .item > i.icon:only-child {\\r\\n  display: inline-block;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n/* Image */\\r\\n\\r\\n.ui.list .list > .item > .image,\\r\\n.ui.list > .item > .image {\\r\\n  display: table-cell;\\r\\n  background-color: transparent;\\r\\n  margin: 0em;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item > .image:not(:only-child):not(img),\\r\\n.ui.list > .item > .image:not(:only-child):not(img) {\\r\\n  padding-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item > .image img,\\r\\n.ui.list > .item > .image img {\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item > img.image,\\r\\n.ui.list .list > .item > .image:only-child,\\r\\n.ui.list > .item > img.image,\\r\\n.ui.list > .item > .image:only-child {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n/* Content */\\r\\n\\r\\n.ui.list .list > .item > .content,\\r\\n.ui.list > .item > .content {\\r\\n  line-height: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item > .image + .content,\\r\\n.ui.list .list > .item > .icon + .content,\\r\\n.ui.list > .item > .image + .content,\\r\\n.ui.list > .item > .icon + .content {\\r\\n  display: table-cell;\\r\\n  padding: 0em 0em 0em 0.5em;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item > img.image + .content,\\r\\n.ui.list > .item > img.image + .content {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item > .content > .list,\\r\\n.ui.list > .item > .content > .list {\\r\\n  margin-left: 0em;\\r\\n  padding-left: 0em;\\r\\n}\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.list .list > .item .header,\\r\\n.ui.list > .item .header {\\r\\n  display: block;\\r\\n  margin: 0em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Description */\\r\\n\\r\\n.ui.list .list > .item .description,\\r\\n.ui.list > .item .description {\\r\\n  display: block;\\r\\n  color: rgba(0, 0, 0, 0.7);\\r\\n}\\r\\n\\r\\n/* Child Link */\\r\\n\\r\\n.ui.list > .item a,\\r\\n.ui.list .list > .item a {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Linking Item */\\r\\n\\r\\n.ui.list .list > a.item,\\r\\n.ui.list > a.item {\\r\\n  cursor: pointer;\\r\\n  color: #4183C4;\\r\\n}\\r\\n\\r\\n.ui.list .list > a.item:hover,\\r\\n.ui.list > a.item:hover {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/* Linked Item Icons */\\r\\n\\r\\n.ui.list .list > a.item i.icon,\\r\\n.ui.list > a.item i.icon {\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/* Header Link */\\r\\n\\r\\n.ui.list .list > .item a.header,\\r\\n.ui.list > .item a.header {\\r\\n  cursor: pointer;\\r\\n  color: #4183C4 !important;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item a.header:hover,\\r\\n.ui.list > .item a.header:hover {\\r\\n  color: #1e70bf !important;\\r\\n}\\r\\n\\r\\n/* Floated Content */\\r\\n\\r\\n.ui[class*=\\\"left floated\\\"].list {\\r\\n  float: left;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right floated\\\"].list {\\r\\n  float: right;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item [class*=\\\"left floated\\\"],\\r\\n.ui.list > .item [class*=\\\"left floated\\\"] {\\r\\n  float: left;\\r\\n  margin: 0em 1em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.list .list > .item [class*=\\\"right floated\\\"],\\r\\n.ui.list > .item [class*=\\\"right floated\\\"] {\\r\\n  float: right;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Coupling\\r\\n*******************************/\\r\\n\\r\\n.ui.menu .ui.list > .item,\\r\\n.ui.menu .ui.list .list > .item {\\r\\n  display: list-item;\\r\\n  table-layout: fixed;\\r\\n  background-color: transparent;\\r\\n  list-style-type: none;\\r\\n  list-style-position: outside;\\r\\n  padding: 0.21428571em 0em;\\r\\n  line-height: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.list .list > .item:before,\\r\\n.ui.menu .ui.list > .item:before {\\r\\n  border: none;\\r\\n  background: none;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.list .list > .item:first-child,\\r\\n.ui.menu .ui.list > .item:first-child {\\r\\n  padding-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.list .list > .item:last-child,\\r\\n.ui.menu .ui.list > .item:last-child {\\r\\n  padding-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n      Horizontal\\r\\n--------------------*/\\r\\n\\r\\n.ui.horizontal.list {\\r\\n  display: inline-block;\\r\\n  font-size: 0em;\\r\\n}\\r\\n\\r\\n.ui.horizontal.list > .item {\\r\\n  display: inline-block;\\r\\n  margin-left: 1em;\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.horizontal.list:not(.celled) > .item:first-child {\\r\\n  margin-left: 0em !important;\\r\\n  padding-left: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.horizontal.list .list {\\r\\n  padding-left: 0em;\\r\\n  padding-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.horizontal.list > .item > .image,\\r\\n.ui.horizontal.list .list > .item > .image,\\r\\n.ui.horizontal.list > .item > .icon,\\r\\n.ui.horizontal.list .list > .item > .icon,\\r\\n.ui.horizontal.list > .item > .content,\\r\\n.ui.horizontal.list .list > .item > .content {\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/* Padding on all elements */\\r\\n\\r\\n.ui.horizontal.list > .item:first-child,\\r\\n.ui.horizontal.list > .item:last-child {\\r\\n  padding-top: 0.21428571em;\\r\\n  padding-bottom: 0.21428571em;\\r\\n}\\r\\n\\r\\n/* Horizontal List */\\r\\n\\r\\n.ui.horizontal.list > .item > i.icon {\\r\\n  margin: 0em;\\r\\n  padding: 0em 0.25em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.horizontal.list > .item > .icon,\\r\\n.ui.horizontal.list > .item > .icon + .content {\\r\\n  float: none;\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Disabled\\r\\n--------------------*/\\r\\n\\r\\n.ui.list .list > .disabled.item,\\r\\n.ui.list > .disabled.item {\\r\\n  pointer-events: none;\\r\\n  color: rgba(40, 40, 40, 0.3) !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.list .list > .disabled.item,\\r\\n.ui.inverted.list > .disabled.item {\\r\\n  color: rgba(225, 225, 225, 0.3) !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Hover\\r\\n--------------------*/\\r\\n\\r\\n.ui.list .list > a.item:hover .icon,\\r\\n.ui.list > a.item:hover .icon {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Inverted\\r\\n--------------------*/\\r\\n\\r\\n.ui.inverted.list .list > a.item > .icon,\\r\\n.ui.inverted.list > a.item > .icon {\\r\\n  color: rgba(255, 255, 255, 0.7);\\r\\n}\\r\\n\\r\\n.ui.inverted.list .list > .item .header,\\r\\n.ui.inverted.list > .item .header {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.inverted.list .list > .item .description,\\r\\n.ui.inverted.list > .item .description {\\r\\n  color: rgba(255, 255, 255, 0.7);\\r\\n}\\r\\n\\r\\n/* Item Link */\\r\\n\\r\\n.ui.inverted.list .list > a.item,\\r\\n.ui.inverted.list > a.item {\\r\\n  cursor: pointer;\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.inverted.list .list > a.item:hover,\\r\\n.ui.inverted.list > a.item:hover {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/* Linking Content */\\r\\n\\r\\n.ui.inverted.list .item a:not(.ui) {\\r\\n  color: rgba(255, 255, 255, 0.9) !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.list .item a:not(.ui):hover {\\r\\n  color: #1e70bf !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Aligned\\r\\n--------------------*/\\r\\n\\r\\n.ui.list[class*=\\\"top aligned\\\"] .image,\\r\\n.ui.list[class*=\\\"top aligned\\\"] .content,\\r\\n.ui.list [class*=\\\"top aligned\\\"] {\\r\\n  vertical-align: top !important;\\r\\n}\\r\\n\\r\\n.ui.list[class*=\\\"middle aligned\\\"] .image,\\r\\n.ui.list[class*=\\\"middle aligned\\\"] .content,\\r\\n.ui.list [class*=\\\"middle aligned\\\"] {\\r\\n  vertical-align: middle !important;\\r\\n}\\r\\n\\r\\n.ui.list[class*=\\\"bottom aligned\\\"] .image,\\r\\n.ui.list[class*=\\\"bottom aligned\\\"] .content,\\r\\n.ui.list [class*=\\\"bottom aligned\\\"] {\\r\\n  vertical-align: bottom !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Link\\r\\n--------------------*/\\r\\n\\r\\n.ui.link.list .item,\\r\\n.ui.link.list a.item,\\r\\n.ui.link.list .item a:not(.ui) {\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  -webkit-transition: 0.1s color ease;\\r\\n  transition: 0.1s color ease;\\r\\n}\\r\\n\\r\\n.ui.link.list a.item:hover,\\r\\n.ui.link.list .item a:not(.ui):hover {\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n.ui.link.list a.item:active,\\r\\n.ui.link.list .item a:not(.ui):active {\\r\\n  color: rgba(0, 0, 0, 0.9);\\r\\n}\\r\\n\\r\\n.ui.link.list .active.item,\\r\\n.ui.link.list .active.item a:not(.ui) {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.link.list .item,\\r\\n.ui.inverted.link.list a.item,\\r\\n.ui.inverted.link.list .item a:not(.ui) {\\r\\n  color: rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n\\r\\n.ui.inverted.link.list a.item:hover,\\r\\n.ui.inverted.link.list .item a:not(.ui):hover {\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.link.list a.item:active,\\r\\n.ui.inverted.link.list .item a:not(.ui):active {\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.link.list a.active.item,\\r\\n.ui.inverted.link.list .active.item a:not(.ui) {\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Selection\\r\\n--------------------*/\\r\\n\\r\\n.ui.selection.list .list > .item,\\r\\n.ui.selection.list > .item {\\r\\n  cursor: pointer;\\r\\n  background: transparent;\\r\\n  padding: 0.5em 0.5em;\\r\\n  margin: 0em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  border-radius: 0.5em;\\r\\n  -webkit-transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\\r\\n  transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\\r\\n}\\r\\n\\r\\n.ui.selection.list .list > .item:last-child,\\r\\n.ui.selection.list > .item:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.selection.list.list > .item:hover,\\r\\n.ui.selection.list > .item:hover {\\r\\n  background: rgba(0, 0, 0, 0.03);\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n.ui.selection.list .list > .item:active,\\r\\n.ui.selection.list > .item:active {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.9);\\r\\n}\\r\\n\\r\\n.ui.selection.list .list > .item.active,\\r\\n.ui.selection.list > .item.active {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.selection.list > .item,\\r\\n.ui.inverted.selection.list > .item {\\r\\n  background: transparent;\\r\\n  color: rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n\\r\\n.ui.inverted.selection.list > .item:hover,\\r\\n.ui.inverted.selection.list > .item:hover {\\r\\n  background: rgba(255, 255, 255, 0.02);\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.selection.list > .item:active,\\r\\n.ui.inverted.selection.list > .item:active {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.selection.list > .item.active,\\r\\n.ui.inverted.selection.list > .item.active {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n/* Celled / Divided Selection List */\\r\\n\\r\\n.ui.celled.selection.list .list > .item,\\r\\n.ui.divided.selection.list .list > .item,\\r\\n.ui.celled.selection.list > .item,\\r\\n.ui.divided.selection.list > .item {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Animated\\r\\n--------------------*/\\r\\n\\r\\n.ui.animated.list > .item {\\r\\n  -webkit-transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\\r\\n  transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\\r\\n}\\r\\n\\r\\n.ui.animated.list:not(.horizontal) > .item:hover {\\r\\n  padding-left: 1em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Fitted\\r\\n--------------------*/\\r\\n\\r\\n.ui.fitted.list:not(.selection) .list > .item,\\r\\n.ui.fitted.list:not(.selection) > .item {\\r\\n  padding-left: 0em;\\r\\n  padding-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.fitted.selection.list .list > .item,\\r\\n.ui.fitted.selection.list > .item {\\r\\n  margin-left: -0.5em;\\r\\n  margin-right: -0.5em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Bulleted\\r\\n--------------------*/\\r\\n\\r\\nul.ui.list,\\r\\n.ui.bulleted.list {\\r\\n  margin-left: 1.25rem;\\r\\n}\\r\\n\\r\\nul.ui.list li,\\r\\n.ui.bulleted.list .list > .item,\\r\\n.ui.bulleted.list > .item {\\r\\n  position: relative;\\r\\n}\\r\\n\\r\\nul.ui.list li:before,\\r\\n.ui.bulleted.list .list > .item:before,\\r\\n.ui.bulleted.list > .item:before {\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  pointer-events: none;\\r\\n  position: absolute;\\r\\n  top: auto;\\r\\n  left: auto;\\r\\n  font-weight: normal;\\r\\n  margin-left: -1.25rem;\\r\\n  content: '\\\\2022';\\r\\n  opacity: 1;\\r\\n  color: inherit;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\nul.ui.list li:before,\\r\\n.ui.bulleted.list .list > a.item:before,\\r\\n.ui.bulleted.list > a.item:before {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\nul.ui.list ul,\\r\\n.ui.bulleted.list .list {\\r\\n  padding-left: 1.25rem;\\r\\n}\\r\\n\\r\\n/* Horizontal Bulleted */\\r\\n\\r\\nul.ui.horizontal.bulleted.list,\\r\\n.ui.horizontal.bulleted.list {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\nul.ui.horizontal.bulleted.list li,\\r\\n.ui.horizontal.bulleted.list > .item {\\r\\n  margin-left: 1.75rem;\\r\\n}\\r\\n\\r\\nul.ui.horizontal.bulleted.list li:first-child,\\r\\n.ui.horizontal.bulleted.list > .item:first-child {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\nul.ui.horizontal.bulleted.list li::before,\\r\\n.ui.horizontal.bulleted.list > .item::before {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\nul.ui.horizontal.bulleted.list li:first-child::before,\\r\\n.ui.horizontal.bulleted.list > .item:first-child::before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Ordered\\r\\n--------------------*/\\r\\n\\r\\nol.ui.list,\\r\\n.ui.ordered.list,\\r\\n.ui.ordered.list .list,\\r\\nol.ui.list ol {\\r\\n  counter-reset: ordered;\\r\\n  margin-left: 1.25rem;\\r\\n  list-style-type: none;\\r\\n}\\r\\n\\r\\nol.ui.list li,\\r\\n.ui.ordered.list .list > .item,\\r\\n.ui.ordered.list > .item {\\r\\n  list-style-type: none;\\r\\n  position: relative;\\r\\n}\\r\\n\\r\\nol.ui.list li:before,\\r\\n.ui.ordered.list .list > .item:before,\\r\\n.ui.ordered.list > .item:before {\\r\\n  position: absolute;\\r\\n  top: auto;\\r\\n  left: auto;\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  pointer-events: none;\\r\\n  margin-left: -1.25rem;\\r\\n  counter-increment: ordered;\\r\\n  content: counters(ordered, \\\".\\\") \\\" \\\";\\r\\n  text-align: right;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  vertical-align: middle;\\r\\n  opacity: 0.8;\\r\\n}\\r\\n\\r\\nol.ui.inverted.list li:before,\\r\\n.ui.ordered.inverted.list .list > .item:before,\\r\\n.ui.ordered.inverted.list > .item:before {\\r\\n  color: rgba(255, 255, 255, 0.7);\\r\\n}\\r\\n\\r\\n/* Value */\\r\\n\\r\\n.ui.ordered.list > .list > .item[data-value],\\r\\n.ui.ordered.list > .item[data-value] {\\r\\n  content: attr(data-value);\\r\\n}\\r\\n\\r\\nol.ui.list li[value]:before {\\r\\n  content: attr(value);\\r\\n}\\r\\n\\r\\n/* Child Lists */\\r\\n\\r\\nol.ui.list ol,\\r\\n.ui.ordered.list .list {\\r\\n  margin-left: 1em;\\r\\n}\\r\\n\\r\\nol.ui.list ol li:before,\\r\\n.ui.ordered.list .list > .item:before {\\r\\n  margin-left: -2em;\\r\\n}\\r\\n\\r\\n/* Horizontal Ordered */\\r\\n\\r\\nol.ui.horizontal.list,\\r\\n.ui.ordered.horizontal.list {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\nol.ui.horizontal.list li:before,\\r\\n.ui.ordered.horizontal.list .list > .item:before,\\r\\n.ui.ordered.horizontal.list > .item:before {\\r\\n  position: static;\\r\\n  margin: 0em 0.5em 0em 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Divided\\r\\n--------------------*/\\r\\n\\r\\n.ui.divided.list > .item {\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.divided.list .list > .item {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.divided.list .item .list > .item {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.divided.list .list > .item:first-child,\\r\\n.ui.divided.list > .item:first-child {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n/* Sub Menu */\\r\\n\\r\\n.ui.divided.list:not(.horizontal) .list > .item:first-child {\\r\\n  border-top-width: 1px;\\r\\n}\\r\\n\\r\\n/* Divided bulleted */\\r\\n\\r\\n.ui.divided.bulleted.list:not(.horizontal),\\r\\n.ui.divided.bulleted.list .list {\\r\\n  margin-left: 0em;\\r\\n  padding-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.divided.bulleted.list > .item:not(.horizontal) {\\r\\n  padding-left: 1.25rem;\\r\\n}\\r\\n\\r\\n/* Divided Ordered */\\r\\n\\r\\n.ui.divided.ordered.list {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.divided.ordered.list .list > .item,\\r\\n.ui.divided.ordered.list > .item {\\r\\n  padding-left: 1.25rem;\\r\\n}\\r\\n\\r\\n.ui.divided.ordered.list .item .list {\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0em;\\r\\n  padding-bottom: 0.21428571em;\\r\\n}\\r\\n\\r\\n.ui.divided.ordered.list .item .list > .item {\\r\\n  padding-left: 1em;\\r\\n}\\r\\n\\r\\n/* Divided Selection */\\r\\n\\r\\n.ui.divided.selection.list .list > .item,\\r\\n.ui.divided.selection.list > .item {\\r\\n  margin: 0em;\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n/* Divided horizontal */\\r\\n\\r\\n.ui.divided.horizontal.list {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.divided.horizontal.list > .item:not(:first-child) {\\r\\n  padding-left: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.divided.horizontal.list > .item:not(:last-child) {\\r\\n  padding-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.divided.horizontal.list > .item {\\r\\n  border-top: none;\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  margin: 0em;\\r\\n  line-height: 0.6;\\r\\n}\\r\\n\\r\\n.ui.horizontal.divided.list > .item:first-child {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.divided.inverted.list > .item,\\r\\n.ui.divided.inverted.list > .list,\\r\\n.ui.divided.inverted.horizontal.list > .item {\\r\\n  border-color: rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Celled\\r\\n--------------------*/\\r\\n\\r\\n.ui.celled.list > .item,\\r\\n.ui.celled.list > .list {\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  padding-left: 0.5em;\\r\\n  padding-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.celled.list > .item:last-child {\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Padding on all elements */\\r\\n\\r\\n.ui.celled.list > .item:first-child,\\r\\n.ui.celled.list > .item:last-child {\\r\\n  padding-top: 0.21428571em;\\r\\n  padding-bottom: 0.21428571em;\\r\\n}\\r\\n\\r\\n/* Sub Menu */\\r\\n\\r\\n.ui.celled.list .item .list > .item {\\r\\n  border-width: 0px;\\r\\n}\\r\\n\\r\\n.ui.celled.list .list > .item:first-child {\\r\\n  border-top-width: 0px;\\r\\n}\\r\\n\\r\\n/* Celled Bulleted */\\r\\n\\r\\n.ui.celled.bulleted.list {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.celled.bulleted.list .list > .item,\\r\\n.ui.celled.bulleted.list > .item {\\r\\n  padding-left: 1.25rem;\\r\\n}\\r\\n\\r\\n.ui.celled.bulleted.list .item .list {\\r\\n  margin-left: -1.25rem;\\r\\n  margin-right: -1.25rem;\\r\\n  padding-bottom: 0.21428571em;\\r\\n}\\r\\n\\r\\n/* Celled Ordered */\\r\\n\\r\\n.ui.celled.ordered.list {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.celled.ordered.list .list > .item,\\r\\n.ui.celled.ordered.list > .item {\\r\\n  padding-left: 1.25rem;\\r\\n}\\r\\n\\r\\n.ui.celled.ordered.list .item .list {\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0em;\\r\\n  padding-bottom: 0.21428571em;\\r\\n}\\r\\n\\r\\n.ui.celled.ordered.list .list > .item {\\r\\n  padding-left: 1em;\\r\\n}\\r\\n\\r\\n/* Celled Horizontal */\\r\\n\\r\\n.ui.horizontal.celled.list {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.horizontal.celled.list .list > .item,\\r\\n.ui.horizontal.celled.list > .item {\\r\\n  border-top: none;\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  margin: 0em;\\r\\n  padding-left: 0.5em;\\r\\n  padding-right: 0.5em;\\r\\n  line-height: 0.6;\\r\\n}\\r\\n\\r\\n.ui.horizontal.celled.list .list > .item:last-child,\\r\\n.ui.horizontal.celled.list > .item:last-child {\\r\\n  border-bottom: none;\\r\\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.celled.inverted.list > .item,\\r\\n.ui.celled.inverted.list > .list {\\r\\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n.ui.celled.inverted.horizontal.list .list > .item,\\r\\n.ui.celled.inverted.horizontal.list > .item {\\r\\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Relaxed\\r\\n--------------------*/\\r\\n\\r\\n.ui.relaxed.list:not(.horizontal) > .item:not(:first-child) {\\r\\n  padding-top: 0.42857143em;\\r\\n}\\r\\n\\r\\n.ui.relaxed.list:not(.horizontal) > .item:not(:last-child) {\\r\\n  padding-bottom: 0.42857143em;\\r\\n}\\r\\n\\r\\n.ui.horizontal.relaxed.list .list > .item:not(:first-child),\\r\\n.ui.horizontal.relaxed.list > .item:not(:first-child) {\\r\\n  padding-left: 1rem;\\r\\n}\\r\\n\\r\\n.ui.horizontal.relaxed.list .list > .item:not(:last-child),\\r\\n.ui.horizontal.relaxed.list > .item:not(:last-child) {\\r\\n  padding-right: 1rem;\\r\\n}\\r\\n\\r\\n/* Very Relaxed */\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].list:not(.horizontal) > .item:not(:first-child) {\\r\\n  padding-top: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].list:not(.horizontal) > .item:not(:last-child) {\\r\\n  padding-bottom: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui.horizontal[class*=\\\"very relaxed\\\"].list .list > .item:not(:first-child),\\r\\n.ui.horizontal[class*=\\\"very relaxed\\\"].list > .item:not(:first-child) {\\r\\n  padding-left: 1.5rem;\\r\\n}\\r\\n\\r\\n.ui.horizontal[class*=\\\"very relaxed\\\"].list .list > .item:not(:last-child),\\r\\n.ui.horizontal[class*=\\\"very relaxed\\\"].list > .item:not(:last-child) {\\r\\n  padding-right: 1.5rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Sizes\\r\\n--------------------*/\\r\\n\\r\\n.ui.mini.list {\\r\\n  font-size: 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.tiny.list {\\r\\n  font-size: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui.small.list {\\r\\n  font-size: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.list {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.large.list {\\r\\n  font-size: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.big.list {\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n.ui.huge.list {\\r\\n  font-size: 1.42857143em;\\r\\n}\\r\\n\\r\\n.ui.massive.list {\\r\\n  font-size: 1.71428571em;\\r\\n}\\r\\n\\r\\n.ui.mini.horizontal.list .list > .item,\\r\\n.ui.mini.horizontal.list > .item {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.horizontal.list .list > .item,\\r\\n.ui.tiny.horizontal.list > .item {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.horizontal.list .list > .item,\\r\\n.ui.small.horizontal.list > .item {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.horizontal.list .list > .item,\\r\\n.ui.horizontal.list > .item {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.horizontal.list .list > .item,\\r\\n.ui.large.horizontal.list > .item {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.horizontal.list .list > .item,\\r\\n.ui.big.horizontal.list > .item {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.horizontal.list .list > .item,\\r\\n.ui.huge.horizontal.list > .item {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.horizontal.list .list > .item,\\r\\n.ui.massive.horizontal.list > .item {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n    User Variable Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Loader\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Loader\\r\\n*******************************/\\r\\n\\r\\n/* Standard Size */\\r\\n\\r\\n.ui.loader {\\r\\n  display: none;\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: 0px;\\r\\n  text-align: center;\\r\\n  z-index: 1000;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\r\\n  transform: translateX(-50%) translateY(-50%);\\r\\n}\\r\\n\\r\\n/* Static Shape */\\r\\n\\r\\n.ui.loader:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 0%;\\r\\n  left: 50%;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  border-radius: 500rem;\\r\\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n/* Active Shape */\\r\\n\\r\\n.ui.loader:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 0%;\\r\\n  left: 50%;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  -webkit-animation: loader 0.6s linear;\\r\\n  animation: loader 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #767676 transparent transparent;\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n}\\r\\n\\r\\n/* Active Animation */\\r\\n\\r\\n@-webkit-keyframes loader {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes loader {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Sizes */\\r\\n\\r\\n.ui.mini.loader:before,\\r\\n.ui.mini.loader:after {\\r\\n  width: 1rem;\\r\\n  height: 1rem;\\r\\n  margin: 0em 0em 0em -0.5rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.loader:before,\\r\\n.ui.tiny.loader:after {\\r\\n  width: 1.14285714rem;\\r\\n  height: 1.14285714rem;\\r\\n  margin: 0em 0em 0em -0.57142857rem;\\r\\n}\\r\\n\\r\\n.ui.small.loader:before,\\r\\n.ui.small.loader:after {\\r\\n  width: 1.71428571rem;\\r\\n  height: 1.71428571rem;\\r\\n  margin: 0em 0em 0em -0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.loader:before,\\r\\n.ui.loader:after {\\r\\n  width: 2.28571429rem;\\r\\n  height: 2.28571429rem;\\r\\n  margin: 0em 0em 0em -1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.large.loader:before,\\r\\n.ui.large.loader:after {\\r\\n  width: 3.42857143rem;\\r\\n  height: 3.42857143rem;\\r\\n  margin: 0em 0em 0em -1.71428571rem;\\r\\n}\\r\\n\\r\\n.ui.big.loader:before,\\r\\n.ui.big.loader:after {\\r\\n  width: 3.71428571rem;\\r\\n  height: 3.71428571rem;\\r\\n  margin: 0em 0em 0em -1.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.huge.loader:before,\\r\\n.ui.huge.loader:after {\\r\\n  width: 4.14285714rem;\\r\\n  height: 4.14285714rem;\\r\\n  margin: 0em 0em 0em -2.07142857rem;\\r\\n}\\r\\n\\r\\n.ui.massive.loader:before,\\r\\n.ui.massive.loader:after {\\r\\n  width: 4.57142857rem;\\r\\n  height: 4.57142857rem;\\r\\n  margin: 0em 0em 0em -2.28571429rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Coupling\\r\\n--------------------*/\\r\\n\\r\\n/* Show inside active dimmer */\\r\\n\\r\\n.ui.dimmer .loader {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/* Black Dimmer */\\r\\n\\r\\n.ui.dimmer .ui.loader {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.dimmer .ui.loader:before {\\r\\n  border-color: rgba(255, 255, 255, 0.15);\\r\\n}\\r\\n\\r\\n.ui.dimmer .ui.loader:after {\\r\\n  border-color: #FFFFFF transparent transparent;\\r\\n}\\r\\n\\r\\n/* White Dimmer (Inverted) */\\r\\n\\r\\n.ui.inverted.dimmer .ui.loader {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.loader:before {\\r\\n  border-color: rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.loader:after {\\r\\n  border-color: #767676 transparent transparent;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n        Text\\r\\n--------------------*/\\r\\n\\r\\n.ui.text.loader {\\r\\n  width: auto !important;\\r\\n  height: auto !important;\\r\\n  text-align: center;\\r\\n  font-style: normal;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n.ui.indeterminate.loader:after {\\r\\n  -webkit-animation-direction: reverse;\\r\\n  animation-direction: reverse;\\r\\n  -webkit-animation-duration: 1.2s;\\r\\n  animation-duration: 1.2s;\\r\\n}\\r\\n\\r\\n.ui.loader.active,\\r\\n.ui.loader.visible {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.loader.disabled,\\r\\n.ui.loader.hidden {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n        Sizes\\r\\n--------------------*/\\r\\n\\r\\n/* Loader */\\r\\n\\r\\n.ui.inverted.dimmer .ui.mini.loader,\\r\\n.ui.mini.loader {\\r\\n  width: 1rem;\\r\\n  height: 1rem;\\r\\n  font-size: 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.tiny.loader,\\r\\n.ui.tiny.loader {\\r\\n  width: 1.14285714rem;\\r\\n  height: 1.14285714rem;\\r\\n  font-size: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.small.loader,\\r\\n.ui.small.loader {\\r\\n  width: 1.71428571rem;\\r\\n  height: 1.71428571rem;\\r\\n  font-size: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.loader,\\r\\n.ui.loader {\\r\\n  width: 2.28571429rem;\\r\\n  height: 2.28571429rem;\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.large.loader,\\r\\n.ui.large.loader {\\r\\n  width: 3.42857143rem;\\r\\n  height: 3.42857143rem;\\r\\n  font-size: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.big.loader,\\r\\n.ui.big.loader {\\r\\n  width: 3.71428571rem;\\r\\n  height: 3.71428571rem;\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.huge.loader,\\r\\n.ui.huge.loader {\\r\\n  width: 4.14285714rem;\\r\\n  height: 4.14285714rem;\\r\\n  font-size: 1.42857143em;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer .ui.massive.loader,\\r\\n.ui.massive.loader {\\r\\n  width: 4.57142857rem;\\r\\n  height: 4.57142857rem;\\r\\n  font-size: 1.71428571em;\\r\\n}\\r\\n\\r\\n/* Text Loader */\\r\\n\\r\\n.ui.mini.text.loader {\\r\\n  min-width: 1rem;\\r\\n  padding-top: 1.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.text.loader {\\r\\n  min-width: 1.14285714rem;\\r\\n  padding-top: 1.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.small.text.loader {\\r\\n  min-width: 1.71428571rem;\\r\\n  padding-top: 2.5rem;\\r\\n}\\r\\n\\r\\n.ui.text.loader {\\r\\n  min-width: 2.28571429rem;\\r\\n  padding-top: 3.07142857rem;\\r\\n}\\r\\n\\r\\n.ui.large.text.loader {\\r\\n  min-width: 3.42857143rem;\\r\\n  padding-top: 4.21428571rem;\\r\\n}\\r\\n\\r\\n.ui.big.text.loader {\\r\\n  min-width: 3.71428571rem;\\r\\n  padding-top: 4.5rem;\\r\\n}\\r\\n\\r\\n.ui.huge.text.loader {\\r\\n  min-width: 4.14285714rem;\\r\\n  padding-top: 4.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.text.loader {\\r\\n  min-width: 4.57142857rem;\\r\\n  padding-top: 5.35714286rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Inverted\\r\\n--------------------*/\\r\\n\\r\\n.ui.inverted.loader {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.inverted.loader:before {\\r\\n  border-color: rgba(255, 255, 255, 0.15);\\r\\n}\\r\\n\\r\\n.ui.inverted.loader:after {\\r\\n  border-top-color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Inline\\r\\n--------------------*/\\r\\n\\r\\n.ui.inline.loader {\\r\\n  position: relative;\\r\\n  vertical-align: middle;\\r\\n  margin: 0em;\\r\\n  left: 0em;\\r\\n  top: 0em;\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n}\\r\\n\\r\\n.ui.inline.loader.active,\\r\\n.ui.inline.loader.visible {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n/* Centered Inline */\\r\\n\\r\\n.ui.centered.inline.loader.active,\\r\\n.ui.centered.inline.loader.visible {\\r\\n  display: block;\\r\\n  margin-left: auto;\\r\\n  margin-right: auto;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Rail\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Rails\\r\\n*******************************/\\r\\n\\r\\n.ui.rail {\\r\\n  position: absolute;\\r\\n  top: 0%;\\r\\n  width: 300px;\\r\\n  height: 100%;\\r\\n}\\r\\n\\r\\n.ui.left.rail {\\r\\n  left: auto;\\r\\n  right: 100%;\\r\\n  padding: 0em 2rem 0em 0em;\\r\\n  margin: 0em 2rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.right.rail {\\r\\n  left: 100%;\\r\\n  right: auto;\\r\\n  padding: 0em 0em 0em 2rem;\\r\\n  margin: 0em 0em 0em 2rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Internal\\r\\n---------------*/\\r\\n\\r\\n.ui.left.internal.rail {\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n  padding: 0em 0em 0em 2rem;\\r\\n  margin: 0em 0em 0em 2rem;\\r\\n}\\r\\n\\r\\n.ui.right.internal.rail {\\r\\n  left: auto;\\r\\n  right: 0%;\\r\\n  padding: 0em 2rem 0em 0em;\\r\\n  margin: 0em 2rem 0em 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Dividing\\r\\n---------------*/\\r\\n\\r\\n.ui.dividing.rail {\\r\\n  width: 302.5px;\\r\\n}\\r\\n\\r\\n.ui.left.dividing.rail {\\r\\n  padding: 0em 2.5rem 0em 0em;\\r\\n  margin: 0em 2.5rem 0em 0em;\\r\\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.right.dividing.rail {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  padding: 0em 0em 0em 2.5rem;\\r\\n  margin: 0em 0em 0em 2.5rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Distance\\r\\n---------------*/\\r\\n\\r\\n.ui.close.rail {\\r\\n  width: calc( 300px  +  1em );\\r\\n}\\r\\n\\r\\n.ui.close.left.rail {\\r\\n  padding: 0em 1em 0em 0em;\\r\\n  margin: 0em 1em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.close.right.rail {\\r\\n  padding: 0em 0em 0em 1em;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.very.close.rail {\\r\\n  width: calc( 300px  +  0.5em );\\r\\n}\\r\\n\\r\\n.ui.very.close.left.rail {\\r\\n  padding: 0em 0.5em 0em 0em;\\r\\n  margin: 0em 0.5em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.very.close.right.rail {\\r\\n  padding: 0em 0em 0em 0.5em;\\r\\n  margin: 0em 0em 0em 0.5em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Attached\\r\\n---------------*/\\r\\n\\r\\n.ui.attached.left.rail,\\r\\n.ui.attached.right.rail {\\r\\n  padding: 0em;\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizing\\r\\n---------------*/\\r\\n\\r\\n.ui.mini.rail {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.rail {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.rail {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.rail {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.rail {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.rail {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.rail {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.rail {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Reveal\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Reveal\\r\\n*******************************/\\r\\n\\r\\n.ui.reveal {\\r\\n  display: inherit;\\r\\n  position: relative !important;\\r\\n  font-size: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.reveal > .visible.content {\\r\\n  position: absolute !important;\\r\\n  top: 0em !important;\\r\\n  left: 0em !important;\\r\\n  z-index: 3 !important;\\r\\n  -webkit-transition: all 0.5s ease 0.1s;\\r\\n  transition: all 0.5s ease 0.1s;\\r\\n}\\r\\n\\r\\n.ui.reveal > .hidden.content {\\r\\n  position: relative !important;\\r\\n  z-index: 2 !important;\\r\\n}\\r\\n\\r\\n/* Make sure hovered element is on top of other reveal */\\r\\n\\r\\n.ui.active.reveal .visible.content,\\r\\n.ui.reveal:hover .visible.content {\\r\\n  z-index: 4 !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n              Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Slide\\r\\n---------------*/\\r\\n\\r\\n.ui.slide.reveal {\\r\\n  position: relative !important;\\r\\n  overflow: hidden !important;\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\n.ui.slide.reveal > .content {\\r\\n  display: block;\\r\\n  width: 100%;\\r\\n  float: left;\\r\\n  margin: 0em;\\r\\n  -webkit-transition: -webkit-transform 0.5s ease 0.1s;\\r\\n  transition: -webkit-transform 0.5s ease 0.1s;\\r\\n  transition: transform 0.5s ease 0.1s;\\r\\n  transition: transform 0.5s ease 0.1s, -webkit-transform 0.5s ease 0.1s;\\r\\n}\\r\\n\\r\\n.ui.slide.reveal > .visible.content {\\r\\n  position: relative !important;\\r\\n}\\r\\n\\r\\n.ui.slide.reveal > .hidden.content {\\r\\n  position: absolute !important;\\r\\n  left: 0% !important;\\r\\n  width: 100% !important;\\r\\n  -webkit-transform: translateX(100%) !important;\\r\\n  transform: translateX(100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.active.reveal > .visible.content,\\r\\n.ui.slide.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateX(-100%) !important;\\r\\n  transform: translateX(-100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.active.reveal > .hidden.content,\\r\\n.ui.slide.reveal:hover > .hidden.content {\\r\\n  -webkit-transform: translateX(0%) !important;\\r\\n  transform: translateX(0%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.right.reveal > .visible.content {\\r\\n  -webkit-transform: translateX(0%) !important;\\r\\n  transform: translateX(0%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.right.reveal > .hidden.content {\\r\\n  -webkit-transform: translateX(-100%) !important;\\r\\n  transform: translateX(-100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.right.active.reveal > .visible.content,\\r\\n.ui.slide.right.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateX(100%) !important;\\r\\n  transform: translateX(100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.right.active.reveal > .hidden.content,\\r\\n.ui.slide.right.reveal:hover > .hidden.content {\\r\\n  -webkit-transform: translateX(0%) !important;\\r\\n  transform: translateX(0%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.up.reveal > .hidden.content {\\r\\n  -webkit-transform: translateY(100%) !important;\\r\\n  transform: translateY(100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.up.active.reveal > .visible.content,\\r\\n.ui.slide.up.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateY(-100%) !important;\\r\\n  transform: translateY(-100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.up.active.reveal > .hidden.content,\\r\\n.ui.slide.up.reveal:hover > .hidden.content {\\r\\n  -webkit-transform: translateY(0%) !important;\\r\\n  transform: translateY(0%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.down.reveal > .hidden.content {\\r\\n  -webkit-transform: translateY(-100%) !important;\\r\\n  transform: translateY(-100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.down.active.reveal > .visible.content,\\r\\n.ui.slide.down.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateY(100%) !important;\\r\\n  transform: translateY(100%) !important;\\r\\n}\\r\\n\\r\\n.ui.slide.down.active.reveal > .hidden.content,\\r\\n.ui.slide.down.reveal:hover > .hidden.content {\\r\\n  -webkit-transform: translateY(0%) !important;\\r\\n  transform: translateY(0%) !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Fade\\r\\n---------------*/\\r\\n\\r\\n.ui.fade.reveal > .visible.content {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.fade.active.reveal > .visible.content,\\r\\n.ui.fade.reveal:hover > .visible.content {\\r\\n  opacity: 0;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Move\\r\\n---------------*/\\r\\n\\r\\n.ui.move.reveal {\\r\\n  position: relative !important;\\r\\n  overflow: hidden !important;\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\n.ui.move.reveal > .content {\\r\\n  display: block;\\r\\n  float: left;\\r\\n  margin: 0em;\\r\\n  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\\r\\n  transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\\r\\n  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\\r\\n  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s, -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\\r\\n}\\r\\n\\r\\n.ui.move.reveal > .visible.content {\\r\\n  position: relative !important;\\r\\n}\\r\\n\\r\\n.ui.move.reveal > .hidden.content {\\r\\n  position: absolute !important;\\r\\n  left: 0% !important;\\r\\n  width: 100% !important;\\r\\n}\\r\\n\\r\\n.ui.move.active.reveal > .visible.content,\\r\\n.ui.move.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateX(-100%) !important;\\r\\n  transform: translateX(-100%) !important;\\r\\n}\\r\\n\\r\\n.ui.move.right.active.reveal > .visible.content,\\r\\n.ui.move.right.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateX(100%) !important;\\r\\n  transform: translateX(100%) !important;\\r\\n}\\r\\n\\r\\n.ui.move.up.active.reveal > .visible.content,\\r\\n.ui.move.up.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateY(-100%) !important;\\r\\n  transform: translateY(-100%) !important;\\r\\n}\\r\\n\\r\\n.ui.move.down.active.reveal > .visible.content,\\r\\n.ui.move.down.reveal:hover > .visible.content {\\r\\n  -webkit-transform: translateY(100%) !important;\\r\\n  transform: translateY(100%) !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Rotate\\r\\n---------------*/\\r\\n\\r\\n.ui.rotate.reveal > .visible.content {\\r\\n  -webkit-transition-duration: 0.5s;\\r\\n  transition-duration: 0.5s;\\r\\n  -webkit-transform: rotate(0deg);\\r\\n  transform: rotate(0deg);\\r\\n}\\r\\n\\r\\n.ui.rotate.reveal > .visible.content,\\r\\n.ui.rotate.right.reveal > .visible.content {\\r\\n  -webkit-transform-origin: bottom right;\\r\\n  transform-origin: bottom right;\\r\\n}\\r\\n\\r\\n.ui.rotate.active.reveal > .visible.content,\\r\\n.ui.rotate.reveal:hover > .visible.content,\\r\\n.ui.rotate.right.active.reveal > .visible.content,\\r\\n.ui.rotate.right.reveal:hover > .visible.content {\\r\\n  -webkit-transform: rotate(110deg);\\r\\n  transform: rotate(110deg);\\r\\n}\\r\\n\\r\\n.ui.rotate.left.reveal > .visible.content {\\r\\n  -webkit-transform-origin: bottom left;\\r\\n  transform-origin: bottom left;\\r\\n}\\r\\n\\r\\n.ui.rotate.left.active.reveal > .visible.content,\\r\\n.ui.rotate.left.reveal:hover > .visible.content {\\r\\n  -webkit-transform: rotate(-110deg);\\r\\n  transform: rotate(-110deg);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n              States\\r\\n*******************************/\\r\\n\\r\\n.ui.disabled.reveal:hover > .visible.visible.content {\\r\\n  position: static !important;\\r\\n  display: block !important;\\r\\n  opacity: 1 !important;\\r\\n  top: 0 !important;\\r\\n  left: 0 !important;\\r\\n  right: auto !important;\\r\\n  bottom: auto !important;\\r\\n  -webkit-transform: none !important;\\r\\n  transform: none !important;\\r\\n}\\r\\n\\r\\n.ui.disabled.reveal:hover > .hidden.hidden.content {\\r\\n  display: none !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Visible\\r\\n---------------*/\\r\\n\\r\\n.ui.visible.reveal {\\r\\n  overflow: visible;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Instant\\r\\n---------------*/\\r\\n\\r\\n.ui.instant.reveal > .content {\\r\\n  -webkit-transition-delay: 0s !important;\\r\\n  transition-delay: 0s !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizing\\r\\n---------------*/\\r\\n\\r\\n.ui.reveal > .content {\\r\\n  font-size: 1rem !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Segment\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Segment\\r\\n*******************************/\\r\\n\\r\\n.ui.segment {\\r\\n  position: relative;\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\\r\\n  margin: 1rem 0em;\\r\\n  padding: 1em 1em;\\r\\n  border-radius: 0.28571429rem;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.segment:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.segment:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Vertical */\\r\\n\\r\\n.ui.vertical.segment {\\r\\n  margin: 0em;\\r\\n  padding-left: 0em;\\r\\n  padding-right: 0em;\\r\\n  background: none transparent;\\r\\n  border-radius: 0px;\\r\\n  box-shadow: none;\\r\\n  border: none;\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.vertical.segment:last-child {\\r\\n  border-bottom: none;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n    Loose Coupling\\r\\n--------------------*/\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.inverted.segment > .ui.header {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Label */\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].segment > [class*=\\\"top attached\\\"].label {\\r\\n  border-top-left-radius: 0em;\\r\\n  border-top-right-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].segment > [class*=\\\"bottom attached\\\"].label {\\r\\n  border-bottom-left-radius: 0em;\\r\\n  border-bottom-right-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\\\"top attached\\\"].label {\\r\\n  border-top-left-radius: 0em;\\r\\n  border-top-right-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\\\"bottom attached\\\"].label {\\r\\n  border-bottom-left-radius: 0em;\\r\\n  border-bottom-right-radius: 0em;\\r\\n}\\r\\n\\r\\n/* Grid */\\r\\n\\r\\n.ui.page.grid.segment,\\r\\n.ui.grid > .row > .ui.segment.column,\\r\\n.ui.grid > .ui.segment.column {\\r\\n  padding-top: 2em;\\r\\n  padding-bottom: 2em;\\r\\n}\\r\\n\\r\\n.ui.grid.segment {\\r\\n  margin: 1rem 0em;\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Table */\\r\\n\\r\\n.ui.basic.table.segment {\\r\\n  background: #FFFFFF;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very basic\\\"].table.segment {\\r\\n  padding: 1em 1em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n        Piled\\r\\n--------------------*/\\r\\n\\r\\n.ui.piled.segments,\\r\\n.ui.piled.segment {\\r\\n  margin: 3em 0em;\\r\\n  box-shadow: '';\\r\\n  z-index: auto;\\r\\n}\\r\\n\\r\\n.ui.piled.segment:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.piled.segment:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.piled.segments:after,\\r\\n.ui.piled.segments:before,\\r\\n.ui.piled.segment:after,\\r\\n.ui.piled.segment:before {\\r\\n  background-color: #FFFFFF;\\r\\n  visibility: visible;\\r\\n  content: '';\\r\\n  display: block;\\r\\n  height: 100%;\\r\\n  left: 0px;\\r\\n  position: absolute;\\r\\n  width: 100%;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: '';\\r\\n}\\r\\n\\r\\n.ui.piled.segments:before,\\r\\n.ui.piled.segment:before {\\r\\n  -webkit-transform: rotate(-1.2deg);\\r\\n  transform: rotate(-1.2deg);\\r\\n  top: 0;\\r\\n  z-index: -2;\\r\\n}\\r\\n\\r\\n.ui.piled.segments:after,\\r\\n.ui.piled.segment:after {\\r\\n  -webkit-transform: rotate(1.2deg);\\r\\n  transform: rotate(1.2deg);\\r\\n  top: 0;\\r\\n  z-index: -1;\\r\\n}\\r\\n\\r\\n/* Piled Attached */\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].piled.segment {\\r\\n  margin-top: 3em;\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.piled.segment[class*=\\\"top attached\\\"]:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.piled.segment[class*=\\\"bottom attached\\\"] {\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 3em;\\r\\n}\\r\\n\\r\\n.ui.piled.segment[class*=\\\"bottom attached\\\"]:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Stacked\\r\\n--------------------*/\\r\\n\\r\\n.ui.stacked.segment {\\r\\n  padding-bottom: 1.4em;\\r\\n}\\r\\n\\r\\n.ui.stacked.segments:before,\\r\\n.ui.stacked.segments:after,\\r\\n.ui.stacked.segment:before,\\r\\n.ui.stacked.segment:after {\\r\\n  content: '';\\r\\n  position: absolute;\\r\\n  bottom: -3px;\\r\\n  left: 0%;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  background: rgba(0, 0, 0, 0.03);\\r\\n  width: 100%;\\r\\n  height: 6px;\\r\\n  visibility: visible;\\r\\n}\\r\\n\\r\\n.ui.stacked.segments:before,\\r\\n.ui.stacked.segment:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Add additional page */\\r\\n\\r\\n.ui.tall.stacked.segments:before,\\r\\n.ui.tall.stacked.segment:before {\\r\\n  display: block;\\r\\n  bottom: 0px;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.stacked.inverted.segments:before,\\r\\n.ui.stacked.inverted.segments:after,\\r\\n.ui.stacked.inverted.segment:before,\\r\\n.ui.stacked.inverted.segment:after {\\r\\n  background-color: rgba(0, 0, 0, 0.03);\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.35);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Padded\\r\\n--------------------*/\\r\\n\\r\\n.ui.padded.segment {\\r\\n  padding: 1.5em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very padded\\\"].segment {\\r\\n  padding: 3em;\\r\\n}\\r\\n\\r\\n/* Padded vertical */\\r\\n\\r\\n.ui.padded.segment.vertical.segment,\\r\\n.ui[class*=\\\"very padded\\\"].vertical.segment {\\r\\n  padding-left: 0px;\\r\\n  padding-right: 0px;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Compact\\r\\n--------------------*/\\r\\n\\r\\n.ui.compact.segment {\\r\\n  display: table;\\r\\n}\\r\\n\\r\\n/* Compact Group */\\r\\n\\r\\n.ui.compact.segments {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n}\\r\\n\\r\\n.ui.compact.segments .segment,\\r\\n.ui.segments .compact.segment {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 1 auto;\\r\\n  -ms-flex: 0 1 auto;\\r\\n  flex: 0 1 auto;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Circular\\r\\n--------------------*/\\r\\n\\r\\n.ui.circular.segment {\\r\\n  display: table-cell;\\r\\n  padding: 2em;\\r\\n  text-align: center;\\r\\n  vertical-align: middle;\\r\\n  border-radius: 500em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Raised\\r\\n--------------------*/\\r\\n\\r\\n.ui.raised.segments,\\r\\n.ui.raised.segment {\\r\\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Groups\\r\\n*******************************/\\r\\n\\r\\n/* Group */\\r\\n\\r\\n.ui.segments {\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  position: relative;\\r\\n  margin: 1rem 0em;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.segments:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.segments:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Nested Segment */\\r\\n\\r\\n.ui.segments > .segment {\\r\\n  top: 0px;\\r\\n  bottom: 0px;\\r\\n  border-radius: 0px;\\r\\n  margin: 0em;\\r\\n  width: auto;\\r\\n  box-shadow: none;\\r\\n  border: none;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.segments:not(.horizontal) > .segment:first-child {\\r\\n  border-top: none;\\r\\n  margin-top: 0em;\\r\\n  bottom: 0px;\\r\\n  margin-bottom: 0em;\\r\\n  top: 0px;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n/* Bottom */\\r\\n\\r\\n.ui.segments:not(.horizontal) > .segment:last-child {\\r\\n  top: 0px;\\r\\n  bottom: 0px;\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 0em;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Only */\\r\\n\\r\\n.ui.segments:not(.horizontal) > .segment:only-child {\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Nested Group */\\r\\n\\r\\n.ui.segments > .ui.segments {\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  margin: 1rem 1rem;\\r\\n}\\r\\n\\r\\n.ui.segments > .segments:first-child {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.segments > .segment + .segments:not(.horizontal) {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/* Horizontal Group */\\r\\n\\r\\n.ui.horizontal.segments {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  background-color: transparent;\\r\\n  border-radius: 0px;\\r\\n  padding: 0em;\\r\\n  background-color: #FFFFFF;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\\r\\n  margin: 1rem 0em;\\r\\n  border-radius: 0.28571429rem;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Nested Horizontal Group */\\r\\n\\r\\n.ui.segments > .horizontal.segments {\\r\\n  margin: 0em;\\r\\n  background-color: transparent;\\r\\n  border-radius: 0px;\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Horizontal Segment */\\r\\n\\r\\n.ui.horizontal.segments > .segment {\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 1 auto;\\r\\n  flex: 1 1 auto;\\r\\n  -ms-flex: 1 1 0px;\\r\\n  /* Solves #2550 MS Flex */\\r\\n  margin: 0em;\\r\\n  min-width: 0px;\\r\\n  background-color: transparent;\\r\\n  border-radius: 0px;\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Border Fixes */\\r\\n\\r\\n.ui.segments > .horizontal.segments:first-child {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.horizontal.segments > .segment:first-child {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Disabled\\r\\n---------------*/\\r\\n\\r\\n.ui.disabled.segment {\\r\\n  opacity: 0.45;\\r\\n  color: rgba(40, 40, 40, 0.3);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Loading\\r\\n---------------*/\\r\\n\\r\\n.ui.loading.segment {\\r\\n  position: relative;\\r\\n  cursor: default;\\r\\n  pointer-events: none;\\r\\n  text-shadow: none !important;\\r\\n  color: transparent !important;\\r\\n  -webkit-transition: all 0s linear;\\r\\n  transition: all 0s linear;\\r\\n}\\r\\n\\r\\n.ui.loading.segment:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 0%;\\r\\n  left: 0%;\\r\\n  background: rgba(255, 255, 255, 0.8);\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  border-radius: 0.28571429rem;\\r\\n  z-index: 100;\\r\\n}\\r\\n\\r\\n.ui.loading.segment:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -1.5em 0em 0em -1.5em;\\r\\n  width: 3em;\\r\\n  height: 3em;\\r\\n  -webkit-animation: segment-spin 0.6s linear;\\r\\n  animation: segment-spin 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n  visibility: visible;\\r\\n  z-index: 101;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes segment-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes segment-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Basic\\r\\n--------------------*/\\r\\n\\r\\n.ui.basic.segment {\\r\\n  background: none transparent;\\r\\n  box-shadow: none;\\r\\n  border: none;\\r\\n  border-radius: 0px;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Clearing\\r\\n--------------------*/\\r\\n\\r\\n.ui.clearing.segment:after {\\r\\n  content: \\\".\\\";\\r\\n  display: block;\\r\\n  height: 0;\\r\\n  clear: both;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Colors\\r\\n--------------------*/\\r\\n\\r\\n/* Red */\\r\\n\\r\\n.ui.red.segment:not(.inverted) {\\r\\n  border-top: 2px solid #DB2828;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.segment {\\r\\n  background-color: #DB2828 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Orange */\\r\\n\\r\\n.ui.orange.segment:not(.inverted) {\\r\\n  border-top: 2px solid #F2711C;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.segment {\\r\\n  background-color: #F2711C !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Yellow */\\r\\n\\r\\n.ui.yellow.segment:not(.inverted) {\\r\\n  border-top: 2px solid #FBBD08;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.segment {\\r\\n  background-color: #FBBD08 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Olive */\\r\\n\\r\\n.ui.olive.segment:not(.inverted) {\\r\\n  border-top: 2px solid #B5CC18;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.segment {\\r\\n  background-color: #B5CC18 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Green */\\r\\n\\r\\n.ui.green.segment:not(.inverted) {\\r\\n  border-top: 2px solid #21BA45;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.segment {\\r\\n  background-color: #21BA45 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Teal */\\r\\n\\r\\n.ui.teal.segment:not(.inverted) {\\r\\n  border-top: 2px solid #00B5AD;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.segment {\\r\\n  background-color: #00B5AD !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Blue */\\r\\n\\r\\n.ui.blue.segment:not(.inverted) {\\r\\n  border-top: 2px solid #2185D0;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.segment {\\r\\n  background-color: #2185D0 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Violet */\\r\\n\\r\\n.ui.violet.segment:not(.inverted) {\\r\\n  border-top: 2px solid #6435C9;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.segment {\\r\\n  background-color: #6435C9 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Purple */\\r\\n\\r\\n.ui.purple.segment:not(.inverted) {\\r\\n  border-top: 2px solid #A333C8;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.segment {\\r\\n  background-color: #A333C8 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Pink */\\r\\n\\r\\n.ui.pink.segment:not(.inverted) {\\r\\n  border-top: 2px solid #E03997;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.segment {\\r\\n  background-color: #E03997 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Brown */\\r\\n\\r\\n.ui.brown.segment:not(.inverted) {\\r\\n  border-top: 2px solid #A5673F;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.segment {\\r\\n  background-color: #A5673F !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Grey */\\r\\n\\r\\n.ui.grey.segment:not(.inverted) {\\r\\n  border-top: 2px solid #767676;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.segment {\\r\\n  background-color: #767676 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Black */\\r\\n\\r\\n.ui.black.segment:not(.inverted) {\\r\\n  border-top: 2px solid #1B1C1D;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.segment {\\r\\n  background-color: #1B1C1D !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Aligned\\r\\n--------------------*/\\r\\n\\r\\n.ui[class*=\\\"left aligned\\\"].segment {\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right aligned\\\"].segment {\\r\\n  text-align: right;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"center aligned\\\"].segment {\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Floated\\r\\n--------------------*/\\r\\n\\r\\n.ui.floated.segment,\\r\\n.ui[class*=\\\"left floated\\\"].segment {\\r\\n  float: left;\\r\\n  margin-right: 1em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right floated\\\"].segment {\\r\\n  float: right;\\r\\n  margin-left: 1em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Inverted\\r\\n--------------------*/\\r\\n\\r\\n.ui.inverted.segment {\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.inverted.segment,\\r\\n.ui.primary.inverted.segment {\\r\\n  background: #1B1C1D;\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n/* Nested */\\r\\n\\r\\n.ui.inverted.segment .segment {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.inverted.segment .inverted.segment {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n/* Attached */\\r\\n\\r\\n.ui.inverted.attached.segment {\\r\\n  border-color: #555555;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n     Emphasis\\r\\n--------------------*/\\r\\n\\r\\n/* Secondary */\\r\\n\\r\\n.ui.secondary.segment {\\r\\n  background: #F3F4F5;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.secondary.inverted.segment {\\r\\n  background: #4c4f52 -webkit-linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\\r\\n  background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\\r\\n  color: rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n\\r\\n/* Tertiary */\\r\\n\\r\\n.ui.tertiary.segment {\\r\\n  background: #DCDDDE;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.tertiary.inverted.segment {\\r\\n  background: #717579 -webkit-linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\\r\\n  background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\\r\\n  color: rgba(255, 255, 255, 0.8);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Attached\\r\\n--------------------*/\\r\\n\\r\\n/* Middle */\\r\\n\\r\\n.ui.attached.segment {\\r\\n  top: 0px;\\r\\n  bottom: 0px;\\r\\n  border-radius: 0px;\\r\\n  margin: 0em -1px;\\r\\n  width: calc(100% +  2px );\\r\\n  max-width: calc(100% +  2px );\\r\\n  box-shadow: none;\\r\\n  border: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.attached:not(.message) + .ui.attached.segment:not(.top) {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n/* Top */\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].segment {\\r\\n  bottom: 0px;\\r\\n  margin-bottom: 0em;\\r\\n  top: 0px;\\r\\n  margin-top: 1rem;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.segment[class*=\\\"top attached\\\"]:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/* Bottom */\\r\\n\\r\\n.ui.segment[class*=\\\"bottom attached\\\"] {\\r\\n  bottom: 0px;\\r\\n  margin-top: 0em;\\r\\n  top: 0px;\\r\\n  margin-bottom: 1rem;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.segment[class*=\\\"bottom attached\\\"]:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Size\\r\\n--------------------*/\\r\\n\\r\\n.ui.mini.segments .segment,\\r\\n.ui.mini.segment {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.segments .segment,\\r\\n.ui.tiny.segment {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.segments .segment,\\r\\n.ui.small.segment {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.segments .segment,\\r\\n.ui.segment {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.segments .segment,\\r\\n.ui.large.segment {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.segments .segment,\\r\\n.ui.big.segment {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.segments .segment,\\r\\n.ui.huge.segment {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.segments .segment,\\r\\n.ui.massive.segment {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Step\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Plural\\r\\n*******************************/\\r\\n\\r\\n.ui.steps {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  -webkit-box-align: stretch;\\r\\n  -webkit-align-items: stretch;\\r\\n  -ms-flex-align: stretch;\\r\\n  align-items: stretch;\\r\\n  margin: 1em 0em;\\r\\n  background: '';\\r\\n  box-shadow: none;\\r\\n  line-height: 1.14285714em;\\r\\n  border-radius: 0.28571429rem;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* First Steps */\\r\\n\\r\\n.ui.steps:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/* Last Steps */\\r\\n\\r\\n.ui.steps:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Singular\\r\\n*******************************/\\r\\n\\r\\n.ui.steps .step {\\r\\n  position: relative;\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 0 auto;\\r\\n  -ms-flex: 1 0 auto;\\r\\n  flex: 1 0 auto;\\r\\n  -webkit-flex-wrap: wrap;\\r\\n  -ms-flex-wrap: wrap;\\r\\n  flex-wrap: wrap;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  vertical-align: middle;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  align-items: center;\\r\\n  -webkit-box-pack: center;\\r\\n  -webkit-justify-content: center;\\r\\n  -ms-flex-pack: center;\\r\\n  justify-content: center;\\r\\n  margin: 0em 0em;\\r\\n  padding: 1.14285714em 2em;\\r\\n  background: #FFFFFF;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  box-shadow: none;\\r\\n  border-radius: 0em;\\r\\n  border: none;\\r\\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\\r\\n  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Arrow */\\r\\n\\r\\n.ui.steps .step:after {\\r\\n  display: none;\\r\\n  position: absolute;\\r\\n  z-index: 2;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  right: 0%;\\r\\n  border: medium none;\\r\\n  background-color: #FFFFFF;\\r\\n  width: 1.14285714em;\\r\\n  height: 1.14285714em;\\r\\n  border-style: solid;\\r\\n  border-color: rgba(34, 36, 38, 0.15);\\r\\n  border-width: 0px 1px 1px 0px;\\r\\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\\r\\n  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\\r\\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\\r\\n  transform: translateY(-50%) translateX(50%) rotate(-45deg);\\r\\n}\\r\\n\\r\\n/* First Step */\\r\\n\\r\\n.ui.steps .step:first-child {\\r\\n  padding-left: 2em;\\r\\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Last Step */\\r\\n\\r\\n.ui.steps .step:last-child {\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui.steps .step:last-child {\\r\\n  border-right: none;\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n/* Only Step */\\r\\n\\r\\n.ui.steps .step:only-child {\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Content\\r\\n*******************************/\\r\\n\\r\\n/* Title */\\r\\n\\r\\n.ui.steps .step .title {\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 1.14285714em;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n.ui.steps .step > .title {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/* Description */\\r\\n\\r\\n.ui.steps .step .description {\\r\\n  font-weight: normal;\\r\\n  font-size: 0.92857143em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.steps .step > .description {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.steps .step .title ~ .description {\\r\\n  margin-top: 0.25em;\\r\\n}\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.steps .step > .icon {\\r\\n  line-height: 1;\\r\\n  font-size: 2.5em;\\r\\n  margin: 0em 1rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.steps .step > .icon,\\r\\n.ui.steps .step > .icon ~ .content {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 1 auto;\\r\\n  -ms-flex: 0 1 auto;\\r\\n  flex: 0 1 auto;\\r\\n  -webkit-align-self: middle;\\r\\n  -ms-flex-item-align: middle;\\r\\n  align-self: middle;\\r\\n}\\r\\n\\r\\n.ui.steps .step > .icon ~ .content {\\r\\n  -webkit-box-flex: 1 0 auto;\\r\\n  -webkit-flex-grow: 1 0 auto;\\r\\n  -ms-flex-positive: 1 0 auto;\\r\\n  flex-grow: 1 0 auto;\\r\\n}\\r\\n\\r\\n/* Horizontal Icon */\\r\\n\\r\\n.ui.steps:not(.vertical) .step > .icon {\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.steps .link.step,\\r\\n.ui.steps a.step {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Ordered\\r\\n---------------*/\\r\\n\\r\\n.ui.ordered.steps {\\r\\n  counter-reset: ordered;\\r\\n}\\r\\n\\r\\n.ui.ordered.steps .step:before {\\r\\n  display: block;\\r\\n  position: static;\\r\\n  text-align: center;\\r\\n  content: counters(ordered, \\\".\\\");\\r\\n  -webkit-align-self: middle;\\r\\n  -ms-flex-item-align: middle;\\r\\n  align-self: middle;\\r\\n  margin-right: 1rem;\\r\\n  font-size: 2.5em;\\r\\n  counter-increment: ordered;\\r\\n  font-family: inherit;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n.ui.ordered.steps .step > * {\\r\\n  display: block;\\r\\n  -webkit-align-self: middle;\\r\\n  -ms-flex-item-align: middle;\\r\\n  align-self: middle;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Vertical\\r\\n---------------*/\\r\\n\\r\\n.ui.vertical.steps {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  overflow: visible;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .step {\\r\\n  -webkit-box-pack: start;\\r\\n  -webkit-justify-content: flex-start;\\r\\n  -ms-flex-pack: start;\\r\\n  justify-content: flex-start;\\r\\n  border-radius: 0em;\\r\\n  padding: 1.14285714em 2em;\\r\\n  border-right: none;\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .step:first-child {\\r\\n  padding: 1.14285714em 2em;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .step:last-child {\\r\\n  border-bottom: none;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .step:only-child {\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Arrow */\\r\\n\\r\\n.ui.vertical.steps .step:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .step:after {\\r\\n  top: 50%;\\r\\n  right: 0%;\\r\\n  border-width: 0px 1px 1px 0px;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .step:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .active.step:after {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .step:last-child:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.steps .active.step:last-child:after {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*---------------\\r\\n    Responsive\\r\\n----------------*/\\r\\n\\r\\n/* Mobile (Default) */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.steps {\\r\\n    display: -webkit-inline-box;\\r\\n    display: -webkit-inline-flex;\\r\\n    display: -ms-inline-flexbox;\\r\\n    display: inline-flex;\\r\\n    overflow: visible;\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: normal;\\r\\n    -webkit-flex-direction: column;\\r\\n    -ms-flex-direction: column;\\r\\n    flex-direction: column;\\r\\n  }\\r\\n\\r\\n  .ui.steps .step {\\r\\n    width: 100% !important;\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: normal;\\r\\n    -webkit-flex-direction: column;\\r\\n    -ms-flex-direction: column;\\r\\n    flex-direction: column;\\r\\n    border-radius: 0em;\\r\\n    padding: 1.14285714em 2em;\\r\\n  }\\r\\n\\r\\n  .ui.steps .step:first-child {\\r\\n    padding: 1.14285714em 2em;\\r\\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n  }\\r\\n\\r\\n  .ui.steps .step:last-child {\\r\\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n  }\\r\\n\\r\\n  /* Arrow */\\r\\n\\r\\n  .ui.steps .step:after {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  /* Content */\\r\\n\\r\\n  .ui.steps .step .content {\\r\\n    text-align: center;\\r\\n  }\\r\\n\\r\\n  /* Icon */\\r\\n\\r\\n  .ui.steps .step > .icon,\\r\\n  .ui.ordered.steps .step:before {\\r\\n    margin: 0em 0em 1rem 0em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/* Link Hover */\\r\\n\\r\\n.ui.steps .link.step:hover::after,\\r\\n.ui.steps .link.step:hover,\\r\\n.ui.steps a.step:hover::after,\\r\\n.ui.steps a.step:hover {\\r\\n  background: #F9FAFB;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/* Link Down */\\r\\n\\r\\n.ui.steps .link.step:active::after,\\r\\n.ui.steps .link.step:active,\\r\\n.ui.steps a.step:active::after,\\r\\n.ui.steps a.step:active {\\r\\n  background: #F3F4F5;\\r\\n  color: rgba(0, 0, 0, 0.9);\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.steps .step.active {\\r\\n  cursor: auto;\\r\\n  background: #F3F4F5;\\r\\n}\\r\\n\\r\\n.ui.steps .step.active:after {\\r\\n  background: #F3F4F5;\\r\\n}\\r\\n\\r\\n.ui.steps .step.active .title {\\r\\n  color: #4183C4;\\r\\n}\\r\\n\\r\\n.ui.ordered.steps .step.active:before,\\r\\n.ui.steps .active.step .icon {\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n/* Active Arrow */\\r\\n\\r\\n.ui.steps .step:after {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.steps .active.step:after {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.steps .step:last-child:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.steps .active.step:last-child:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Active Hover */\\r\\n\\r\\n.ui.steps .link.active.step:hover::after,\\r\\n.ui.steps .link.active.step:hover,\\r\\n.ui.steps a.active.step:hover::after,\\r\\n.ui.steps a.active.step:hover {\\r\\n  cursor: pointer;\\r\\n  background: #DCDDDE;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Completed */\\r\\n\\r\\n.ui.steps .step.completed > .icon:before,\\r\\n.ui.ordered.steps .step.completed:before {\\r\\n  color: #21BA45;\\r\\n}\\r\\n\\r\\n/* Disabled */\\r\\n\\r\\n.ui.steps .disabled.step {\\r\\n  cursor: auto;\\r\\n  background: #FFFFFF;\\r\\n  pointer-events: none;\\r\\n}\\r\\n\\r\\n.ui.steps .disabled.step,\\r\\n.ui.steps .disabled.step .title,\\r\\n.ui.steps .disabled.step .description {\\r\\n  color: rgba(40, 40, 40, 0.3);\\r\\n}\\r\\n\\r\\n.ui.steps .disabled.step:after {\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n   Stackable\\r\\n---------------*/\\r\\n\\r\\n/* Tablet Or Below */\\r\\n\\r\\n@media only screen and (max-width: 991px) {\\r\\n  .ui[class*=\\\"tablet stackable\\\"].steps {\\r\\n    display: -webkit-inline-box;\\r\\n    display: -webkit-inline-flex;\\r\\n    display: -ms-inline-flexbox;\\r\\n    display: inline-flex;\\r\\n    overflow: visible;\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: normal;\\r\\n    -webkit-flex-direction: column;\\r\\n    -ms-flex-direction: column;\\r\\n    flex-direction: column;\\r\\n  }\\r\\n\\r\\n  /* Steps */\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].steps .step {\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: normal;\\r\\n    -webkit-flex-direction: column;\\r\\n    -ms-flex-direction: column;\\r\\n    flex-direction: column;\\r\\n    border-radius: 0em;\\r\\n    padding: 1.14285714em 2em;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].steps .step:first-child {\\r\\n    padding: 1.14285714em 2em;\\r\\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].steps .step:last-child {\\r\\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n  }\\r\\n\\r\\n  /* Arrow */\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].steps .step:after {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  /* Content */\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].steps .step .content {\\r\\n    text-align: center;\\r\\n  }\\r\\n\\r\\n  /* Icon */\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].steps .step > .icon,\\r\\n  .ui[class*=\\\"tablet stackable\\\"].ordered.steps .step:before {\\r\\n    margin: 0em 0em 1rem 0em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Fluid\\r\\n---------------*/\\r\\n\\r\\n/* Fluid */\\r\\n\\r\\n.ui.fluid.steps {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Attached\\r\\n---------------*/\\r\\n\\r\\n/* Top */\\r\\n\\r\\n.ui.attached.steps {\\r\\n  width: calc(100% +  2px ) !important;\\r\\n  margin: 0em -1px 0;\\r\\n  max-width: calc(100% +  2px );\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.attached.steps .step:first-child {\\r\\n  border-radius: 0.28571429rem 0em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.attached.steps .step:last-child {\\r\\n  border-radius: 0em 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n/* Bottom */\\r\\n\\r\\n.ui.bottom.attached.steps {\\r\\n  margin: 0 -1px 0em;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.bottom.attached.steps .step:first-child {\\r\\n  border-radius: 0em 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.bottom.attached.steps .step:last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n    Evenly Divided\\r\\n--------------------*/\\r\\n\\r\\n.ui.one.steps,\\r\\n.ui.two.steps,\\r\\n.ui.three.steps,\\r\\n.ui.four.steps,\\r\\n.ui.five.steps,\\r\\n.ui.six.steps,\\r\\n.ui.seven.steps,\\r\\n.ui.eight.steps {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.one.steps > .step,\\r\\n.ui.two.steps > .step,\\r\\n.ui.three.steps > .step,\\r\\n.ui.four.steps > .step,\\r\\n.ui.five.steps > .step,\\r\\n.ui.six.steps > .step,\\r\\n.ui.seven.steps > .step,\\r\\n.ui.eight.steps > .step {\\r\\n  -webkit-flex-wrap: nowrap;\\r\\n  -ms-flex-wrap: nowrap;\\r\\n  flex-wrap: nowrap;\\r\\n}\\r\\n\\r\\n.ui.one.steps > .step {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.two.steps > .step {\\r\\n  width: 50%;\\r\\n}\\r\\n\\r\\n.ui.three.steps > .step {\\r\\n  width: 33.333%;\\r\\n}\\r\\n\\r\\n.ui.four.steps > .step {\\r\\n  width: 25%;\\r\\n}\\r\\n\\r\\n.ui.five.steps > .step {\\r\\n  width: 20%;\\r\\n}\\r\\n\\r\\n.ui.six.steps > .step {\\r\\n  width: 16.666%;\\r\\n}\\r\\n\\r\\n.ui.seven.steps > .step {\\r\\n  width: 14.285%;\\r\\n}\\r\\n\\r\\n.ui.eight.steps > .step {\\r\\n  width: 12.500%;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Sizes\\r\\n--------------------*/\\r\\n\\r\\n.ui.mini.steps .step,\\r\\n.ui.mini.step {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.steps .step,\\r\\n.ui.tiny.step {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.steps .step,\\r\\n.ui.small.step {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.steps .step,\\r\\n.ui.step {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.steps .step,\\r\\n.ui.large.step {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.steps .step,\\r\\n.ui.big.step {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.steps .step,\\r\\n.ui.huge.step {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.steps .step,\\r\\n.ui.massive.step {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n@font-face {\\r\\n  font-family: 'Step';\\r\\n  src: url(data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff');\\r\\n}\\r\\n\\r\\n.ui.steps .step.completed > .icon:before,\\r\\n.ui.ordered.steps .step.completed:before {\\r\\n  font-family: 'Step';\\r\\n  content: '\\\\E800';\\r\\n  /* '' */\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Breadcrumb\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n           Breadcrumb\\r\\n*******************************/\\r\\n\\r\\n.ui.breadcrumb {\\r\\n  line-height: 1;\\r\\n  display: inline-block;\\r\\n  margin: 0em 0em;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.breadcrumb:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.breadcrumb:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Content\\r\\n*******************************/\\r\\n\\r\\n/* Divider */\\r\\n\\r\\n.ui.breadcrumb .divider {\\r\\n  display: inline-block;\\r\\n  opacity: 0.7;\\r\\n  margin: 0em 0.21428571rem 0em;\\r\\n  font-size: 0.92857143em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.breadcrumb a {\\r\\n  color: #4183C4;\\r\\n}\\r\\n\\r\\n.ui.breadcrumb a:hover {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/* Icon Divider */\\r\\n\\r\\n.ui.breadcrumb .icon.divider {\\r\\n  font-size: 0.85714286em;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n/* Section */\\r\\n\\r\\n.ui.breadcrumb a.section {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n.ui.breadcrumb .section {\\r\\n  display: inline-block;\\r\\n  margin: 0em;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n/* Loose Coupling */\\r\\n\\r\\n.ui.breadcrumb.segment {\\r\\n  display: inline-block;\\r\\n  padding: 0.78571429em 1em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n.ui.breadcrumb .active.section {\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n.ui.mini.breadcrumb {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.breadcrumb {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.breadcrumb {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.breadcrumb {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.breadcrumb {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.breadcrumb {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.breadcrumb {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.breadcrumb {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Form\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Elements\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n        Form\\r\\n---------------------*/\\r\\n\\r\\n.ui.form {\\r\\n  position: relative;\\r\\n  max-width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Content\\r\\n---------------------*/\\r\\n\\r\\n.ui.form > p {\\r\\n  margin: 1em 0em;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Field\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .field {\\r\\n  clear: both;\\r\\n  margin: 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.form .field:last-child,\\r\\n.ui.form .fields:last-child .field {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.form .fields .field {\\r\\n  clear: both;\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Labels\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .field > label {\\r\\n  display: block;\\r\\n  margin: 0em 0em 0.28571429rem 0em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  font-size: 0.92857143em;\\r\\n  font-weight: bold;\\r\\n  text-transform: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n    Standard Inputs\\r\\n---------------------*/\\r\\n\\r\\n.ui.form textarea,\\r\\n.ui.form input:not([type]),\\r\\n.ui.form input[type=\\\"date\\\"],\\r\\n.ui.form input[type=\\\"datetime-local\\\"],\\r\\n.ui.form input[type=\\\"email\\\"],\\r\\n.ui.form input[type=\\\"number\\\"],\\r\\n.ui.form input[type=\\\"password\\\"],\\r\\n.ui.form input[type=\\\"search\\\"],\\r\\n.ui.form input[type=\\\"tel\\\"],\\r\\n.ui.form input[type=\\\"time\\\"],\\r\\n.ui.form input[type=\\\"text\\\"],\\r\\n.ui.form input[type=\\\"file\\\"],\\r\\n.ui.form input[type=\\\"url\\\"] {\\r\\n  width: 100%;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n/* Set max height on unusual input */\\r\\n\\r\\n.ui.form ::-webkit-datetime-edit,\\r\\n.ui.form ::-webkit-inner-spin-button {\\r\\n  height: 1.21428571em;\\r\\n}\\r\\n\\r\\n.ui.form input:not([type]),\\r\\n.ui.form input[type=\\\"date\\\"],\\r\\n.ui.form input[type=\\\"datetime-local\\\"],\\r\\n.ui.form input[type=\\\"email\\\"],\\r\\n.ui.form input[type=\\\"number\\\"],\\r\\n.ui.form input[type=\\\"password\\\"],\\r\\n.ui.form input[type=\\\"search\\\"],\\r\\n.ui.form input[type=\\\"tel\\\"],\\r\\n.ui.form input[type=\\\"time\\\"],\\r\\n.ui.form input[type=\\\"text\\\"],\\r\\n.ui.form input[type=\\\"file\\\"],\\r\\n.ui.form input[type=\\\"url\\\"] {\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  margin: 0em;\\r\\n  outline: none;\\r\\n  -webkit-appearance: none;\\r\\n  tap-highlight-color: rgba(255, 255, 255, 0);\\r\\n  line-height: 1.21428571em;\\r\\n  padding: 0.67857143em 1em;\\r\\n  font-size: 1em;\\r\\n  background: #FFFFFF;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0em 0em 0em 0em transparent inset;\\r\\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\\r\\n  transition: color 0.1s ease, border-color 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Text Area */\\r\\n\\r\\n.ui.form textarea {\\r\\n  margin: 0em;\\r\\n  -webkit-appearance: none;\\r\\n  tap-highlight-color: rgba(255, 255, 255, 0);\\r\\n  padding: 0.78571429em 1em;\\r\\n  background: #FFFFFF;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  outline: none;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0em 0em 0em 0em transparent inset;\\r\\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\\r\\n  transition: color 0.1s ease, border-color 0.1s ease;\\r\\n  font-size: 1em;\\r\\n  line-height: 1.2857;\\r\\n  resize: vertical;\\r\\n}\\r\\n\\r\\n.ui.form textarea:not([rows]) {\\r\\n  height: 12em;\\r\\n  min-height: 8em;\\r\\n  max-height: 24em;\\r\\n}\\r\\n\\r\\n.ui.form textarea,\\r\\n.ui.form input[type=\\\"checkbox\\\"] {\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n/*--------------------------\\r\\n  Input w/ attached Button\\r\\n---------------------------*/\\r\\n\\r\\n.ui.form input.attached {\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n     Basic Select\\r\\n---------------------*/\\r\\n\\r\\n.ui.form select {\\r\\n  display: block;\\r\\n  height: auto;\\r\\n  width: 100%;\\r\\n  background: #FFFFFF;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0em 0em 0em 0em transparent inset;\\r\\n  padding: 0.62em 1em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\\r\\n  transition: color 0.1s ease, border-color 0.1s ease;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       Dropdown\\r\\n---------------------*/\\r\\n\\r\\n/* Block */\\r\\n\\r\\n.ui.form .field > .selection.dropdown {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.form .field > .selection.dropdown > .dropdown.icon {\\r\\n  float: right;\\r\\n}\\r\\n\\r\\n/* Inline */\\r\\n\\r\\n.ui.form .inline.fields .field > .selection.dropdown,\\r\\n.ui.form .inline.field > .selection.dropdown {\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,\\r\\n.ui.form .inline.field > .selection.dropdown > .dropdown.icon {\\r\\n  float: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       UI Input\\r\\n---------------------*/\\r\\n\\r\\n/* Block */\\r\\n\\r\\n.ui.form .field .ui.input,\\r\\n.ui.form .fields .field .ui.input,\\r\\n.ui.form .wide.field .ui.input {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/* Inline  */\\r\\n\\r\\n.ui.form .inline.fields .field:not(.wide) .ui.input,\\r\\n.ui.form .inline.field:not(.wide) .ui.input {\\r\\n  width: auto;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/* Auto Input */\\r\\n\\r\\n.ui.form .fields .field .ui.input input,\\r\\n.ui.form .field .ui.input input {\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n/* Full Width Input */\\r\\n\\r\\n.ui.form .ten.fields .ui.input input,\\r\\n.ui.form .nine.fields .ui.input input,\\r\\n.ui.form .eight.fields .ui.input input,\\r\\n.ui.form .seven.fields .ui.input input,\\r\\n.ui.form .six.fields .ui.input input,\\r\\n.ui.form .five.fields .ui.input input,\\r\\n.ui.form .four.fields .ui.input input,\\r\\n.ui.form .three.fields .ui.input input,\\r\\n.ui.form .two.fields .ui.input input,\\r\\n.ui.form .wide.field .ui.input input {\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 0 auto;\\r\\n  -ms-flex: 1 0 auto;\\r\\n  flex: 1 0 auto;\\r\\n  width: 0px;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n   Types of Messages\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .success.message,\\r\\n.ui.form .warning.message,\\r\\n.ui.form .error.message {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Assumptions */\\r\\n\\r\\n.ui.form .message:first-child {\\r\\n  margin-top: 0px;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n   Validation Prompt\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .field .prompt.label {\\r\\n  white-space: normal;\\r\\n  background: #FFFFFF !important;\\r\\n  border: 1px solid #E0B4B4 !important;\\r\\n  color: #9F3A38 !important;\\r\\n}\\r\\n\\r\\n.ui.form .inline.fields .field .prompt,\\r\\n.ui.form .inline.field .prompt {\\r\\n  vertical-align: top;\\r\\n  margin: -0.25em 0em -0.5em 0.5em;\\r\\n}\\r\\n\\r\\n.ui.form .inline.fields .field .prompt:before,\\r\\n.ui.form .inline.field .prompt:before {\\r\\n  border-width: 0px 0px 1px 1px;\\r\\n  bottom: auto;\\r\\n  right: auto;\\r\\n  top: 50%;\\r\\n  left: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n      Autofilled\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .field.field input:-webkit-autofill {\\r\\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\\r\\n  border-color: #E5DFA1 !important;\\r\\n}\\r\\n\\r\\n/* Focus */\\r\\n\\r\\n.ui.form .field.field input:-webkit-autofill:focus {\\r\\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\\r\\n  border-color: #D5C315 !important;\\r\\n}\\r\\n\\r\\n/* Error */\\r\\n\\r\\n.ui.form .error.error input:-webkit-autofill {\\r\\n  box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important;\\r\\n  border-color: #E0B4B4 !important;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n      Placeholder\\r\\n---------------------*/\\r\\n\\r\\n/* browsers require these rules separate */\\r\\n\\r\\n.ui.form ::-webkit-input-placeholder {\\r\\n  color: rgba(191, 191, 191, 0.87);\\r\\n}\\r\\n\\r\\n.ui.form :-ms-input-placeholder {\\r\\n  color: rgba(191, 191, 191, 0.87);\\r\\n}\\r\\n\\r\\n.ui.form ::-moz-placeholder {\\r\\n  color: rgba(191, 191, 191, 0.87);\\r\\n}\\r\\n\\r\\n.ui.form :focus::-webkit-input-placeholder {\\r\\n  color: rgba(115, 115, 115, 0.87);\\r\\n}\\r\\n\\r\\n.ui.form :focus:-ms-input-placeholder {\\r\\n  color: rgba(115, 115, 115, 0.87);\\r\\n}\\r\\n\\r\\n.ui.form :focus::-moz-placeholder {\\r\\n  color: rgba(115, 115, 115, 0.87);\\r\\n}\\r\\n\\r\\n/* Error Placeholder */\\r\\n\\r\\n.ui.form .error ::-webkit-input-placeholder {\\r\\n  color: #e7bdbc;\\r\\n}\\r\\n\\r\\n.ui.form .error :-ms-input-placeholder {\\r\\n  color: #e7bdbc !important;\\r\\n}\\r\\n\\r\\n.ui.form .error ::-moz-placeholder {\\r\\n  color: #e7bdbc;\\r\\n}\\r\\n\\r\\n.ui.form .error :focus::-webkit-input-placeholder {\\r\\n  color: #da9796;\\r\\n}\\r\\n\\r\\n.ui.form .error :focus:-ms-input-placeholder {\\r\\n  color: #da9796 !important;\\r\\n}\\r\\n\\r\\n.ui.form .error :focus::-moz-placeholder {\\r\\n  color: #da9796;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Focus\\r\\n---------------------*/\\r\\n\\r\\n.ui.form input:not([type]):focus,\\r\\n.ui.form input[type=\\\"date\\\"]:focus,\\r\\n.ui.form input[type=\\\"datetime-local\\\"]:focus,\\r\\n.ui.form input[type=\\\"email\\\"]:focus,\\r\\n.ui.form input[type=\\\"number\\\"]:focus,\\r\\n.ui.form input[type=\\\"password\\\"]:focus,\\r\\n.ui.form input[type=\\\"search\\\"]:focus,\\r\\n.ui.form input[type=\\\"tel\\\"]:focus,\\r\\n.ui.form input[type=\\\"time\\\"]:focus,\\r\\n.ui.form input[type=\\\"text\\\"]:focus,\\r\\n.ui.form input[type=\\\"file\\\"]:focus,\\r\\n.ui.form input[type=\\\"url\\\"]:focus {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  border-color: #85B7D9;\\r\\n  border-radius: 0.28571429rem;\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\\r\\n}\\r\\n\\r\\n.ui.form textarea:focus {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  border-color: #85B7D9;\\r\\n  border-radius: 0.28571429rem;\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\\r\\n  -webkit-appearance: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Success\\r\\n---------------------*/\\r\\n\\r\\n/* On Form */\\r\\n\\r\\n.ui.form.success .success.message:not(:empty) {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.form.success .compact.success.message:not(:empty) {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n.ui.form.success .icon.success.message:not(:empty) {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Warning\\r\\n---------------------*/\\r\\n\\r\\n/* On Form */\\r\\n\\r\\n.ui.form.warning .warning.message:not(:empty) {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.form.warning .compact.warning.message:not(:empty) {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n.ui.form.warning .icon.warning.message:not(:empty) {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Error\\r\\n---------------------*/\\r\\n\\r\\n/* On Form */\\r\\n\\r\\n.ui.form.error .error.message:not(:empty) {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.form.error .compact.error.message:not(:empty) {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n.ui.form.error .icon.error.message:not(:empty) {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n}\\r\\n\\r\\n/* On Field(s) */\\r\\n\\r\\n.ui.form .fields.error .field label,\\r\\n.ui.form .field.error label,\\r\\n.ui.form .fields.error .field .input,\\r\\n.ui.form .field.error .input {\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field .corner.label,\\r\\n.ui.form .field.error .corner.label {\\r\\n  border-color: #9F3A38;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field textarea,\\r\\n.ui.form .fields.error .field select,\\r\\n.ui.form .fields.error .field input:not([type]),\\r\\n.ui.form .fields.error .field input[type=\\\"date\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"datetime-local\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"email\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"number\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"password\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"search\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"tel\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"time\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"text\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"file\\\"],\\r\\n.ui.form .fields.error .field input[type=\\\"url\\\"],\\r\\n.ui.form .field.error textarea,\\r\\n.ui.form .field.error select,\\r\\n.ui.form .field.error input:not([type]),\\r\\n.ui.form .field.error input[type=\\\"date\\\"],\\r\\n.ui.form .field.error input[type=\\\"datetime-local\\\"],\\r\\n.ui.form .field.error input[type=\\\"email\\\"],\\r\\n.ui.form .field.error input[type=\\\"number\\\"],\\r\\n.ui.form .field.error input[type=\\\"password\\\"],\\r\\n.ui.form .field.error input[type=\\\"search\\\"],\\r\\n.ui.form .field.error input[type=\\\"tel\\\"],\\r\\n.ui.form .field.error input[type=\\\"time\\\"],\\r\\n.ui.form .field.error input[type=\\\"text\\\"],\\r\\n.ui.form .field.error input[type=\\\"file\\\"],\\r\\n.ui.form .field.error input[type=\\\"url\\\"] {\\r\\n  background: #FFF6F6;\\r\\n  border-color: #E0B4B4;\\r\\n  color: #9F3A38;\\r\\n  border-radius: '';\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.form .field.error textarea:focus,\\r\\n.ui.form .field.error select:focus,\\r\\n.ui.form .field.error input:not([type]):focus,\\r\\n.ui.form .field.error input[type=\\\"date\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"datetime-local\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"email\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"number\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"password\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"search\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"tel\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"time\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"text\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"file\\\"]:focus,\\r\\n.ui.form .field.error input[type=\\\"url\\\"]:focus {\\r\\n  background: #FFF6F6;\\r\\n  border-color: #E0B4B4;\\r\\n  color: #9F3A38;\\r\\n  -webkit-appearance: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Preserve Native Select Stylings */\\r\\n\\r\\n.ui.form .field.error select {\\r\\n  -webkit-appearance: menulist-button;\\r\\n}\\r\\n\\r\\n/*------------------\\r\\n    Dropdown Error\\r\\n--------------------*/\\r\\n\\r\\n.ui.form .fields.error .field .ui.dropdown,\\r\\n.ui.form .fields.error .field .ui.dropdown .item,\\r\\n.ui.form .field.error .ui.dropdown,\\r\\n.ui.form .field.error .ui.dropdown .text,\\r\\n.ui.form .field.error .ui.dropdown .item {\\r\\n  background: #FFF6F6;\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field .ui.dropdown,\\r\\n.ui.form .field.error .ui.dropdown {\\r\\n  border-color: #E0B4B4 !important;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field .ui.dropdown:hover,\\r\\n.ui.form .field.error .ui.dropdown:hover {\\r\\n  border-color: #E0B4B4 !important;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field .ui.dropdown:hover .menu,\\r\\n.ui.form .field.error .ui.dropdown:hover .menu {\\r\\n  border-color: #E0B4B4;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,\\r\\n.ui.form .field.error .ui.multiple.selection.dropdown > .label {\\r\\n  background-color: #EACBCB;\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.form .fields.error .field .ui.dropdown .menu .item:hover,\\r\\n.ui.form .field.error .ui.dropdown .menu .item:hover {\\r\\n  background-color: #FBE7E7;\\r\\n}\\r\\n\\r\\n/* Selected */\\r\\n\\r\\n.ui.form .fields.error .field .ui.dropdown .menu .selected.item,\\r\\n.ui.form .field.error .ui.dropdown .menu .selected.item {\\r\\n  background-color: #FBE7E7;\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.form .fields.error .field .ui.dropdown .menu .active.item,\\r\\n.ui.form .field.error .ui.dropdown .menu .active.item {\\r\\n  background-color: #FDCFCF !important;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n    Checkbox Error\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,\\r\\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,\\r\\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,\\r\\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,\\r\\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,\\r\\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,\\r\\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {\\r\\n  background: #FFF6F6;\\r\\n  border-color: #E0B4B4;\\r\\n}\\r\\n\\r\\n.ui.form .fields.error .field .checkbox label:after,\\r\\n.ui.form .field.error .checkbox label:after,\\r\\n.ui.form .fields.error .field .checkbox .box:after,\\r\\n.ui.form .field.error .checkbox .box:after {\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       Disabled\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .disabled.fields .field,\\r\\n.ui.form .disabled.field,\\r\\n.ui.form .field :disabled {\\r\\n  pointer-events: none;\\r\\n  opacity: 0.45;\\r\\n}\\r\\n\\r\\n.ui.form .field.disabled > label,\\r\\n.ui.form .fields.disabled > label {\\r\\n  opacity: 0.45;\\r\\n}\\r\\n\\r\\n.ui.form .field.disabled :disabled {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Loading\\r\\n---------------*/\\r\\n\\r\\n.ui.loading.form {\\r\\n  position: relative;\\r\\n  cursor: default;\\r\\n  pointer-events: none;\\r\\n}\\r\\n\\r\\n.ui.loading.form:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 0%;\\r\\n  left: 0%;\\r\\n  background: rgba(255, 255, 255, 0.8);\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  z-index: 100;\\r\\n}\\r\\n\\r\\n.ui.loading.form:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -1.5em 0em 0em -1.5em;\\r\\n  width: 3em;\\r\\n  height: 3em;\\r\\n  -webkit-animation: form-spin 0.6s linear;\\r\\n  animation: form-spin 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n  visibility: visible;\\r\\n  z-index: 101;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes form-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes form-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Element Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n     Required Field\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .required.fields:not(.grouped) > .field > label:after,\\r\\n.ui.form .required.fields.grouped > label:after,\\r\\n.ui.form .required.field > label:after,\\r\\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\\r\\n.ui.form .required.field > .checkbox:after {\\r\\n  margin: -0.2em 0em 0em 0.2em;\\r\\n  content: '*';\\r\\n  color: #DB2828;\\r\\n}\\r\\n\\r\\n.ui.form .required.fields:not(.grouped) > .field > label:after,\\r\\n.ui.form .required.fields.grouped > label:after,\\r\\n.ui.form .required.field > label:after {\\r\\n  display: inline-block;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\\r\\n.ui.form .required.field > .checkbox:after {\\r\\n  position: absolute;\\r\\n  top: 0%;\\r\\n  left: 100%;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n    Inverted Colors\\r\\n---------------------*/\\r\\n\\r\\n.ui.inverted.form label,\\r\\n.ui.form .inverted.segment label,\\r\\n.ui.form .inverted.segment .ui.checkbox label,\\r\\n.ui.form .inverted.segment .ui.checkbox .box,\\r\\n.ui.inverted.form .ui.checkbox label,\\r\\n.ui.inverted.form .ui.checkbox .box,\\r\\n.ui.inverted.form .inline.fields > label,\\r\\n.ui.inverted.form .inline.fields .field > label,\\r\\n.ui.inverted.form .inline.fields .field > p,\\r\\n.ui.inverted.form .inline.field > label,\\r\\n.ui.inverted.form .inline.field > p {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n/* Inverted Field */\\r\\n\\r\\n.ui.inverted.form input:not([type]),\\r\\n.ui.inverted.form input[type=\\\"date\\\"],\\r\\n.ui.inverted.form input[type=\\\"datetime-local\\\"],\\r\\n.ui.inverted.form input[type=\\\"email\\\"],\\r\\n.ui.inverted.form input[type=\\\"number\\\"],\\r\\n.ui.inverted.form input[type=\\\"password\\\"],\\r\\n.ui.inverted.form input[type=\\\"search\\\"],\\r\\n.ui.inverted.form input[type=\\\"tel\\\"],\\r\\n.ui.inverted.form input[type=\\\"time\\\"],\\r\\n.ui.inverted.form input[type=\\\"text\\\"],\\r\\n.ui.inverted.form input[type=\\\"file\\\"],\\r\\n.ui.inverted.form input[type=\\\"url\\\"] {\\r\\n  background: #FFFFFF;\\r\\n  border-color: rgba(255, 255, 255, 0.1);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n     Field Groups\\r\\n---------------------*/\\r\\n\\r\\n/* Grouped Vertically */\\r\\n\\r\\n.ui.form .grouped.fields {\\r\\n  display: block;\\r\\n  margin: 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.form .grouped.fields:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.form .grouped.fields > label {\\r\\n  margin: 0em 0em 0.28571429rem 0em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  font-size: 0.92857143em;\\r\\n  font-weight: bold;\\r\\n  text-transform: none;\\r\\n}\\r\\n\\r\\n.ui.form .grouped.fields .field,\\r\\n.ui.form .grouped.inline.fields .field {\\r\\n  display: block;\\r\\n  margin: 0.5em 0em;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Fields\\r\\n---------------------*/\\r\\n\\r\\n/* Split fields */\\r\\n\\r\\n.ui.form .fields {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  margin: 0em -0.5em 1em;\\r\\n}\\r\\n\\r\\n.ui.form .fields > .field {\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 1 auto;\\r\\n  -ms-flex: 0 1 auto;\\r\\n  flex: 0 1 auto;\\r\\n  padding-left: 0.5em;\\r\\n  padding-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.form .fields > .field:first-child {\\r\\n  border-left: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Other Combinations */\\r\\n\\r\\n.ui.form .two.fields > .fields,\\r\\n.ui.form .two.fields > .field {\\r\\n  width: 50%;\\r\\n}\\r\\n\\r\\n.ui.form .three.fields > .fields,\\r\\n.ui.form .three.fields > .field {\\r\\n  width: 33.33333333%;\\r\\n}\\r\\n\\r\\n.ui.form .four.fields > .fields,\\r\\n.ui.form .four.fields > .field {\\r\\n  width: 25%;\\r\\n}\\r\\n\\r\\n.ui.form .five.fields > .fields,\\r\\n.ui.form .five.fields > .field {\\r\\n  width: 20%;\\r\\n}\\r\\n\\r\\n.ui.form .six.fields > .fields,\\r\\n.ui.form .six.fields > .field {\\r\\n  width: 16.66666667%;\\r\\n}\\r\\n\\r\\n.ui.form .seven.fields > .fields,\\r\\n.ui.form .seven.fields > .field {\\r\\n  width: 14.28571429%;\\r\\n}\\r\\n\\r\\n.ui.form .eight.fields > .fields,\\r\\n.ui.form .eight.fields > .field {\\r\\n  width: 12.5%;\\r\\n}\\r\\n\\r\\n.ui.form .nine.fields > .fields,\\r\\n.ui.form .nine.fields > .field {\\r\\n  width: 11.11111111%;\\r\\n}\\r\\n\\r\\n.ui.form .ten.fields > .fields,\\r\\n.ui.form .ten.fields > .field {\\r\\n  width: 10%;\\r\\n}\\r\\n\\r\\n/* Swap to full width on mobile */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.form .fields {\\r\\n    -webkit-flex-wrap: wrap;\\r\\n    -ms-flex-wrap: wrap;\\r\\n    flex-wrap: wrap;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"equal width\\\"].form .fields > .field,\\r\\n  .ui.form [class*=\\\"equal width\\\"].fields > .field,\\r\\n  .ui.form .two.fields > .fields,\\r\\n  .ui.form .two.fields > .field,\\r\\n  .ui.form .three.fields > .fields,\\r\\n  .ui.form .three.fields > .field,\\r\\n  .ui.form .four.fields > .fields,\\r\\n  .ui.form .four.fields > .field,\\r\\n  .ui.form .five.fields > .fields,\\r\\n  .ui.form .five.fields > .field,\\r\\n  .ui.form .six.fields > .fields,\\r\\n  .ui.form .six.fields > .field,\\r\\n  .ui.form .seven.fields > .fields,\\r\\n  .ui.form .seven.fields > .field,\\r\\n  .ui.form .eight.fields > .fields,\\r\\n  .ui.form .eight.fields > .field,\\r\\n  .ui.form .nine.fields > .fields,\\r\\n  .ui.form .nine.fields > .field,\\r\\n  .ui.form .ten.fields > .fields,\\r\\n  .ui.form .ten.fields > .field {\\r\\n    width: 100% !important;\\r\\n    margin: 0em 0em 1em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Sizing Combinations */\\r\\n\\r\\n.ui.form .fields .wide.field {\\r\\n  width: 6.25%;\\r\\n  padding-left: 0.5em;\\r\\n  padding-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.form .one.wide.field {\\r\\n  width: 6.25% !important;\\r\\n}\\r\\n\\r\\n.ui.form .two.wide.field {\\r\\n  width: 12.5% !important;\\r\\n}\\r\\n\\r\\n.ui.form .three.wide.field {\\r\\n  width: 18.75% !important;\\r\\n}\\r\\n\\r\\n.ui.form .four.wide.field {\\r\\n  width: 25% !important;\\r\\n}\\r\\n\\r\\n.ui.form .five.wide.field {\\r\\n  width: 31.25% !important;\\r\\n}\\r\\n\\r\\n.ui.form .six.wide.field {\\r\\n  width: 37.5% !important;\\r\\n}\\r\\n\\r\\n.ui.form .seven.wide.field {\\r\\n  width: 43.75% !important;\\r\\n}\\r\\n\\r\\n.ui.form .eight.wide.field {\\r\\n  width: 50% !important;\\r\\n}\\r\\n\\r\\n.ui.form .nine.wide.field {\\r\\n  width: 56.25% !important;\\r\\n}\\r\\n\\r\\n.ui.form .ten.wide.field {\\r\\n  width: 62.5% !important;\\r\\n}\\r\\n\\r\\n.ui.form .eleven.wide.field {\\r\\n  width: 68.75% !important;\\r\\n}\\r\\n\\r\\n.ui.form .twelve.wide.field {\\r\\n  width: 75% !important;\\r\\n}\\r\\n\\r\\n.ui.form .thirteen.wide.field {\\r\\n  width: 81.25% !important;\\r\\n}\\r\\n\\r\\n.ui.form .fourteen.wide.field {\\r\\n  width: 87.5% !important;\\r\\n}\\r\\n\\r\\n.ui.form .fifteen.wide.field {\\r\\n  width: 93.75% !important;\\r\\n}\\r\\n\\r\\n.ui.form .sixteen.wide.field {\\r\\n  width: 100% !important;\\r\\n}\\r\\n\\r\\n/* Swap to full width on mobile */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.form .two.fields > .fields,\\r\\n  .ui.form .two.fields > .field,\\r\\n  .ui.form .three.fields > .fields,\\r\\n  .ui.form .three.fields > .field,\\r\\n  .ui.form .four.fields > .fields,\\r\\n  .ui.form .four.fields > .field,\\r\\n  .ui.form .five.fields > .fields,\\r\\n  .ui.form .five.fields > .field,\\r\\n  .ui.form .fields > .two.wide.field,\\r\\n  .ui.form .fields > .three.wide.field,\\r\\n  .ui.form .fields > .four.wide.field,\\r\\n  .ui.form .fields > .five.wide.field,\\r\\n  .ui.form .fields > .six.wide.field,\\r\\n  .ui.form .fields > .seven.wide.field,\\r\\n  .ui.form .fields > .eight.wide.field,\\r\\n  .ui.form .fields > .nine.wide.field,\\r\\n  .ui.form .fields > .ten.wide.field,\\r\\n  .ui.form .fields > .eleven.wide.field,\\r\\n  .ui.form .fields > .twelve.wide.field,\\r\\n  .ui.form .fields > .thirteen.wide.field,\\r\\n  .ui.form .fields > .fourteen.wide.field,\\r\\n  .ui.form .fields > .fifteen.wide.field,\\r\\n  .ui.form .fields > .sixteen.wide.field {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n\\r\\n  .ui.form .fields {\\r\\n    margin-bottom: 0em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n     Equal Width\\r\\n---------------------*/\\r\\n\\r\\n.ui[class*=\\\"equal width\\\"].form .fields > .field,\\r\\n.ui.form [class*=\\\"equal width\\\"].fields > .field {\\r\\n  width: 100%;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 1 auto;\\r\\n  -ms-flex: 1 1 auto;\\r\\n  flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n    Inline Fields\\r\\n---------------------*/\\r\\n\\r\\n.ui.form .inline.fields {\\r\\n  margin: 0em 0em 1em;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  -ms-grid-row-align: center;\\r\\n  align-items: center;\\r\\n}\\r\\n\\r\\n.ui.form .inline.fields .field {\\r\\n  margin: 0em;\\r\\n  padding: 0em 1em 0em 0em;\\r\\n}\\r\\n\\r\\n/* Inline Label */\\r\\n\\r\\n.ui.form .inline.fields > label,\\r\\n.ui.form .inline.fields .field > label,\\r\\n.ui.form .inline.fields .field > p,\\r\\n.ui.form .inline.field > label,\\r\\n.ui.form .inline.field > p {\\r\\n  display: inline-block;\\r\\n  width: auto;\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 0em;\\r\\n  vertical-align: baseline;\\r\\n  font-size: 0.92857143em;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  text-transform: none;\\r\\n}\\r\\n\\r\\n/* Grouped Inline Label */\\r\\n\\r\\n.ui.form .inline.fields > label {\\r\\n  margin: 0.035714em 1em 0em 0em;\\r\\n}\\r\\n\\r\\n/* Inline Input */\\r\\n\\r\\n.ui.form .inline.fields .field > input,\\r\\n.ui.form .inline.fields .field > select,\\r\\n.ui.form .inline.field > input,\\r\\n.ui.form .inline.field > select {\\r\\n  display: inline-block;\\r\\n  width: auto;\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 0em;\\r\\n  vertical-align: middle;\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/* Label */\\r\\n\\r\\n.ui.form .inline.fields .field > :first-child,\\r\\n.ui.form .inline.field > :first-child {\\r\\n  margin: 0em 0.85714286em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.form .inline.fields .field > :only-child,\\r\\n.ui.form .inline.field > :only-child {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/* Wide */\\r\\n\\r\\n.ui.form .inline.fields .wide.field {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  align-items: center;\\r\\n}\\r\\n\\r\\n.ui.form .inline.fields .wide.field > input,\\r\\n.ui.form .inline.fields .wide.field > select {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Sizes\\r\\n---------------------*/\\r\\n\\r\\n.ui.mini.form {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.form {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.form {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.form {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.form {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.form {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.form {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.form {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Grid\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Standard\\r\\n*******************************/\\r\\n\\r\\n.ui.grid {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  -webkit-flex-wrap: wrap;\\r\\n  -ms-flex-wrap: wrap;\\r\\n  flex-wrap: wrap;\\r\\n  -webkit-box-align: stretch;\\r\\n  -webkit-align-items: stretch;\\r\\n  -ms-flex-align: stretch;\\r\\n  align-items: stretch;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n      Remove Gutters\\r\\n-----------------------*/\\r\\n\\r\\n.ui.grid {\\r\\n  margin-top: -1rem;\\r\\n  margin-bottom: -1rem;\\r\\n  margin-left: -1rem;\\r\\n  margin-right: -1rem;\\r\\n}\\r\\n\\r\\n.ui.relaxed.grid {\\r\\n  margin-left: -1.5rem;\\r\\n  margin-right: -1.5rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].grid {\\r\\n  margin-left: -2.5rem;\\r\\n  margin-right: -2.5rem;\\r\\n}\\r\\n\\r\\n/* Preserve Rows Spacing on Consecutive Grids */\\r\\n\\r\\n.ui.grid + .grid {\\r\\n  margin-top: 1rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Columns\\r\\n--------------------*/\\r\\n\\r\\n/* Standard 16 column */\\r\\n\\r\\n.ui.grid > .column:not(.row),\\r\\n.ui.grid > .row > .column {\\r\\n  position: relative;\\r\\n  display: inline-block;\\r\\n  width: 6.25%;\\r\\n  padding-left: 1rem;\\r\\n  padding-right: 1rem;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.grid > * {\\r\\n  padding-left: 1rem;\\r\\n  padding-right: 1rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Rows\\r\\n--------------------*/\\r\\n\\r\\n.ui.grid > .row {\\r\\n  position: relative;\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  -webkit-flex-wrap: wrap;\\r\\n  -ms-flex-wrap: wrap;\\r\\n  flex-wrap: wrap;\\r\\n  -webkit-box-pack: inherit;\\r\\n  -webkit-justify-content: inherit;\\r\\n  -ms-flex-pack: inherit;\\r\\n  justify-content: inherit;\\r\\n  -webkit-box-align: stretch;\\r\\n  -webkit-align-items: stretch;\\r\\n  -ms-flex-align: stretch;\\r\\n  align-items: stretch;\\r\\n  width: 100% !important;\\r\\n  padding: 0rem;\\r\\n  padding-top: 1rem;\\r\\n  padding-bottom: 1rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Columns\\r\\n--------------------*/\\r\\n\\r\\n/* Vertical padding when no rows */\\r\\n\\r\\n.ui.grid > .column:not(.row) {\\r\\n  padding-top: 1rem;\\r\\n  padding-bottom: 1rem;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > .column {\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Content\\r\\n--------------------*/\\r\\n\\r\\n.ui.grid > .row > img,\\r\\n.ui.grid > .row > .column > img {\\r\\n  max-width: 100%;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n    Loose Coupling\\r\\n--------------------*/\\r\\n\\r\\n/* Collapse Margin on Consecutive Grid */\\r\\n\\r\\n.ui.grid > .ui.grid:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.grid > .ui.grid:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Segment inside Aligned Grid */\\r\\n\\r\\n.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),\\r\\n.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/* Align Dividers with Gutter */\\r\\n\\r\\n.ui.grid .row + .ui.divider {\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex-grow: 1;\\r\\n  -ms-flex-positive: 1;\\r\\n  flex-grow: 1;\\r\\n  margin: 1rem 1rem;\\r\\n}\\r\\n\\r\\n.ui.grid .column + .ui.vertical.divider {\\r\\n  height: calc(50% -  1rem );\\r\\n}\\r\\n\\r\\n/* Remove Border on Last Horizontal Segment */\\r\\n\\r\\n.ui.grid > .row > .column:last-child > .horizontal.segment,\\r\\n.ui.grid > .column:last-child > .horizontal.segment {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-----------------------\\r\\n       Page Grid\\r\\n-------------------------*/\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.page.grid {\\r\\n    width: auto;\\r\\n    padding-left: 0em;\\r\\n    padding-right: 0em;\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui.page.grid {\\r\\n    width: auto;\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n    padding-left: 2em;\\r\\n    padding-right: 2em;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\\r\\n  .ui.page.grid {\\r\\n    width: auto;\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n    padding-left: 3%;\\r\\n    padding-right: 3%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\\r\\n  .ui.page.grid {\\r\\n    width: auto;\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n    padding-left: 15%;\\r\\n    padding-right: 15%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.page.grid {\\r\\n    width: auto;\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n    padding-left: 23%;\\r\\n    padding-right: 23%;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n     Column Count\\r\\n--------------------*/\\r\\n\\r\\n/* Assume full width with one column */\\r\\n\\r\\n.ui.grid > .column:only-child,\\r\\n.ui.grid > .row > .column:only-child {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/* Grid Based */\\r\\n\\r\\n.ui[class*=\\\"one column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"one column\\\"].grid > .column:not(.row) {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"two column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"two column\\\"].grid > .column:not(.row) {\\r\\n  width: 50%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"three column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"three column\\\"].grid > .column:not(.row) {\\r\\n  width: 33.33333333%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"four column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"four column\\\"].grid > .column:not(.row) {\\r\\n  width: 25%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"five column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"five column\\\"].grid > .column:not(.row) {\\r\\n  width: 20%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"six column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"six column\\\"].grid > .column:not(.row) {\\r\\n  width: 16.66666667%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"seven column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"seven column\\\"].grid > .column:not(.row) {\\r\\n  width: 14.28571429%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"eight column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"eight column\\\"].grid > .column:not(.row) {\\r\\n  width: 12.5%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"nine column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"nine column\\\"].grid > .column:not(.row) {\\r\\n  width: 11.11111111%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"ten column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"ten column\\\"].grid > .column:not(.row) {\\r\\n  width: 10%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"eleven column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"eleven column\\\"].grid > .column:not(.row) {\\r\\n  width: 9.09090909%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"twelve column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"twelve column\\\"].grid > .column:not(.row) {\\r\\n  width: 8.33333333%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"thirteen column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"thirteen column\\\"].grid > .column:not(.row) {\\r\\n  width: 7.69230769%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"fourteen column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"fourteen column\\\"].grid > .column:not(.row) {\\r\\n  width: 7.14285714%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"fifteen column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"fifteen column\\\"].grid > .column:not(.row) {\\r\\n  width: 6.66666667%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"sixteen column\\\"].grid > .row > .column,\\r\\n.ui[class*=\\\"sixteen column\\\"].grid > .column:not(.row) {\\r\\n  width: 6.25%;\\r\\n}\\r\\n\\r\\n/* Row Based Overrides */\\r\\n\\r\\n.ui.grid > [class*=\\\"one column\\\"].row > .column {\\r\\n  width: 100% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"two column\\\"].row > .column {\\r\\n  width: 50% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"three column\\\"].row > .column {\\r\\n  width: 33.33333333% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"four column\\\"].row > .column {\\r\\n  width: 25% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"five column\\\"].row > .column {\\r\\n  width: 20% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"six column\\\"].row > .column {\\r\\n  width: 16.66666667% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"seven column\\\"].row > .column {\\r\\n  width: 14.28571429% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"eight column\\\"].row > .column {\\r\\n  width: 12.5% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"nine column\\\"].row > .column {\\r\\n  width: 11.11111111% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"ten column\\\"].row > .column {\\r\\n  width: 10% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"eleven column\\\"].row > .column {\\r\\n  width: 9.09090909% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"twelve column\\\"].row > .column {\\r\\n  width: 8.33333333% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"thirteen column\\\"].row > .column {\\r\\n  width: 7.69230769% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"fourteen column\\\"].row > .column {\\r\\n  width: 7.14285714% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"fifteen column\\\"].row > .column {\\r\\n  width: 6.66666667% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > [class*=\\\"sixteen column\\\"].row > .column {\\r\\n  width: 6.25% !important;\\r\\n}\\r\\n\\r\\n/* Celled Page */\\r\\n\\r\\n.ui.celled.page.grid {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n    Column Width\\r\\n--------------------*/\\r\\n\\r\\n/* Sizing Combinations */\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"one wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"one wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"one wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"one wide\\\"].column {\\r\\n  width: 6.25% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"two wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"two wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"two wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"two wide\\\"].column {\\r\\n  width: 12.5% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"three wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"three wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"three wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"three wide\\\"].column {\\r\\n  width: 18.75% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"four wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"four wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"four wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"four wide\\\"].column {\\r\\n  width: 25% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"five wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"five wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"five wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"five wide\\\"].column {\\r\\n  width: 31.25% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"six wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"six wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"six wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"six wide\\\"].column {\\r\\n  width: 37.5% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"seven wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"seven wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"seven wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"seven wide\\\"].column {\\r\\n  width: 43.75% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"eight wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"eight wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"eight wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"eight wide\\\"].column {\\r\\n  width: 50% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"nine wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"nine wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"nine wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"nine wide\\\"].column {\\r\\n  width: 56.25% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"ten wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"ten wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"ten wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"ten wide\\\"].column {\\r\\n  width: 62.5% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"eleven wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"eleven wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"eleven wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"eleven wide\\\"].column {\\r\\n  width: 68.75% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"twelve wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"twelve wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"twelve wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"twelve wide\\\"].column {\\r\\n  width: 75% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"thirteen wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"thirteen wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"thirteen wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"thirteen wide\\\"].column {\\r\\n  width: 81.25% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"fourteen wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"fourteen wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"fourteen wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"fourteen wide\\\"].column {\\r\\n  width: 87.5% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"fifteen wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"fifteen wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"fifteen wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"fifteen wide\\\"].column {\\r\\n  width: 93.75% !important;\\r\\n}\\r\\n\\r\\n.ui.grid > .row > [class*=\\\"sixteen wide\\\"].column,\\r\\n.ui.grid > .column.row > [class*=\\\"sixteen wide\\\"].column,\\r\\n.ui.grid > [class*=\\\"sixteen wide\\\"].column,\\r\\n.ui.column.grid > [class*=\\\"sixteen wide\\\"].column {\\r\\n  width: 100% !important;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n    Width per Device\\r\\n-----------------------*/\\r\\n\\r\\n/* Mobile Sizing Combinations */\\r\\n\\r\\n@media only screen and (min-width: 320px) and (max-width: 767px) {\\r\\n  .ui.grid > .row > [class*=\\\"one wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"one wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"one wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"one wide mobile\\\"].column {\\r\\n    width: 6.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"two wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"two wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"two wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"two wide mobile\\\"].column {\\r\\n    width: 12.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"three wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"three wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"three wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"three wide mobile\\\"].column {\\r\\n    width: 18.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"four wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"four wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"four wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"four wide mobile\\\"].column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"five wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"five wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"five wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"five wide mobile\\\"].column {\\r\\n    width: 31.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"six wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"six wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"six wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"six wide mobile\\\"].column {\\r\\n    width: 37.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"seven wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"seven wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"seven wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"seven wide mobile\\\"].column {\\r\\n    width: 43.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eight wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eight wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eight wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eight wide mobile\\\"].column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"nine wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"nine wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"nine wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"nine wide mobile\\\"].column {\\r\\n    width: 56.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"ten wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"ten wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"ten wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"ten wide mobile\\\"].column {\\r\\n    width: 62.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eleven wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eleven wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eleven wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eleven wide mobile\\\"].column {\\r\\n    width: 68.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"twelve wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"twelve wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"twelve wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"twelve wide mobile\\\"].column {\\r\\n    width: 75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"thirteen wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"thirteen wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"thirteen wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"thirteen wide mobile\\\"].column {\\r\\n    width: 81.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fourteen wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fourteen wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fourteen wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fourteen wide mobile\\\"].column {\\r\\n    width: 87.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fifteen wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fifteen wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fifteen wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fifteen wide mobile\\\"].column {\\r\\n    width: 93.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"sixteen wide mobile\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"sixteen wide mobile\\\"].column,\\r\\n  .ui.grid > [class*=\\\"sixteen wide mobile\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"sixteen wide mobile\\\"].column {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Tablet Sizing Combinations */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui.grid > .row > [class*=\\\"one wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"one wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"one wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"one wide tablet\\\"].column {\\r\\n    width: 6.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"two wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"two wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"two wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"two wide tablet\\\"].column {\\r\\n    width: 12.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"three wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"three wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"three wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"three wide tablet\\\"].column {\\r\\n    width: 18.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"four wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"four wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"four wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"four wide tablet\\\"].column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"five wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"five wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"five wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"five wide tablet\\\"].column {\\r\\n    width: 31.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"six wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"six wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"six wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"six wide tablet\\\"].column {\\r\\n    width: 37.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"seven wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"seven wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"seven wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"seven wide tablet\\\"].column {\\r\\n    width: 43.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eight wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eight wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eight wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eight wide tablet\\\"].column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"nine wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"nine wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"nine wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"nine wide tablet\\\"].column {\\r\\n    width: 56.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"ten wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"ten wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"ten wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"ten wide tablet\\\"].column {\\r\\n    width: 62.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eleven wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eleven wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eleven wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eleven wide tablet\\\"].column {\\r\\n    width: 68.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"twelve wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"twelve wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"twelve wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"twelve wide tablet\\\"].column {\\r\\n    width: 75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"thirteen wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"thirteen wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"thirteen wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"thirteen wide tablet\\\"].column {\\r\\n    width: 81.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fourteen wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fourteen wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fourteen wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fourteen wide tablet\\\"].column {\\r\\n    width: 87.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fifteen wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fifteen wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fifteen wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fifteen wide tablet\\\"].column {\\r\\n    width: 93.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"sixteen wide tablet\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"sixteen wide tablet\\\"].column,\\r\\n  .ui.grid > [class*=\\\"sixteen wide tablet\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"sixteen wide tablet\\\"].column {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Computer/Desktop Sizing Combinations */\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui.grid > .row > [class*=\\\"one wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"one wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"one wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"one wide computer\\\"].column {\\r\\n    width: 6.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"two wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"two wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"two wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"two wide computer\\\"].column {\\r\\n    width: 12.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"three wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"three wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"three wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"three wide computer\\\"].column {\\r\\n    width: 18.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"four wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"four wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"four wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"four wide computer\\\"].column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"five wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"five wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"five wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"five wide computer\\\"].column {\\r\\n    width: 31.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"six wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"six wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"six wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"six wide computer\\\"].column {\\r\\n    width: 37.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"seven wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"seven wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"seven wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"seven wide computer\\\"].column {\\r\\n    width: 43.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eight wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eight wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eight wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eight wide computer\\\"].column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"nine wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"nine wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"nine wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"nine wide computer\\\"].column {\\r\\n    width: 56.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"ten wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"ten wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"ten wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"ten wide computer\\\"].column {\\r\\n    width: 62.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eleven wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eleven wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eleven wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eleven wide computer\\\"].column {\\r\\n    width: 68.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"twelve wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"twelve wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"twelve wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"twelve wide computer\\\"].column {\\r\\n    width: 75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"thirteen wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"thirteen wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"thirteen wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"thirteen wide computer\\\"].column {\\r\\n    width: 81.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fourteen wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fourteen wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fourteen wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fourteen wide computer\\\"].column {\\r\\n    width: 87.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fifteen wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fifteen wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fifteen wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fifteen wide computer\\\"].column {\\r\\n    width: 93.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"sixteen wide computer\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"sixteen wide computer\\\"].column,\\r\\n  .ui.grid > [class*=\\\"sixteen wide computer\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"sixteen wide computer\\\"].column {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Large Monitor Sizing Combinations */\\r\\n\\r\\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\\r\\n  .ui.grid > .row > [class*=\\\"one wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"one wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"one wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"one wide large screen\\\"].column {\\r\\n    width: 6.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"two wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"two wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"two wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"two wide large screen\\\"].column {\\r\\n    width: 12.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"three wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"three wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"three wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"three wide large screen\\\"].column {\\r\\n    width: 18.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"four wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"four wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"four wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"four wide large screen\\\"].column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"five wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"five wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"five wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"five wide large screen\\\"].column {\\r\\n    width: 31.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"six wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"six wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"six wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"six wide large screen\\\"].column {\\r\\n    width: 37.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"seven wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"seven wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"seven wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"seven wide large screen\\\"].column {\\r\\n    width: 43.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eight wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eight wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eight wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eight wide large screen\\\"].column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"nine wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"nine wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"nine wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"nine wide large screen\\\"].column {\\r\\n    width: 56.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"ten wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"ten wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"ten wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"ten wide large screen\\\"].column {\\r\\n    width: 62.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eleven wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eleven wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eleven wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eleven wide large screen\\\"].column {\\r\\n    width: 68.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"twelve wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"twelve wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"twelve wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"twelve wide large screen\\\"].column {\\r\\n    width: 75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"thirteen wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"thirteen wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"thirteen wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"thirteen wide large screen\\\"].column {\\r\\n    width: 81.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fourteen wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fourteen wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fourteen wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fourteen wide large screen\\\"].column {\\r\\n    width: 87.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fifteen wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fifteen wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fifteen wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fifteen wide large screen\\\"].column {\\r\\n    width: 93.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"sixteen wide large screen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"sixteen wide large screen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"sixteen wide large screen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"sixteen wide large screen\\\"].column {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Widescreen Sizing Combinations */\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.grid > .row > [class*=\\\"one wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"one wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"one wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"one wide widescreen\\\"].column {\\r\\n    width: 6.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"two wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"two wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"two wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"two wide widescreen\\\"].column {\\r\\n    width: 12.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"three wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"three wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"three wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"three wide widescreen\\\"].column {\\r\\n    width: 18.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"four wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"four wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"four wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"four wide widescreen\\\"].column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"five wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"five wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"five wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"five wide widescreen\\\"].column {\\r\\n    width: 31.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"six wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"six wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"six wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"six wide widescreen\\\"].column {\\r\\n    width: 37.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"seven wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"seven wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"seven wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"seven wide widescreen\\\"].column {\\r\\n    width: 43.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eight wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eight wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eight wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eight wide widescreen\\\"].column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"nine wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"nine wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"nine wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"nine wide widescreen\\\"].column {\\r\\n    width: 56.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"ten wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"ten wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"ten wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"ten wide widescreen\\\"].column {\\r\\n    width: 62.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"eleven wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"eleven wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"eleven wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"eleven wide widescreen\\\"].column {\\r\\n    width: 68.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"twelve wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"twelve wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"twelve wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"twelve wide widescreen\\\"].column {\\r\\n    width: 75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"thirteen wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"thirteen wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"thirteen wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"thirteen wide widescreen\\\"].column {\\r\\n    width: 81.25% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fourteen wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fourteen wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fourteen wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fourteen wide widescreen\\\"].column {\\r\\n    width: 87.5% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"fifteen wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"fifteen wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"fifteen wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"fifteen wide widescreen\\\"].column {\\r\\n    width: 93.75% !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .row > [class*=\\\"sixteen wide widescreen\\\"].column,\\r\\n  .ui.grid > .column.row > [class*=\\\"sixteen wide widescreen\\\"].column,\\r\\n  .ui.grid > [class*=\\\"sixteen wide widescreen\\\"].column,\\r\\n  .ui.column.grid > [class*=\\\"sixteen wide widescreen\\\"].column {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n        Centered\\r\\n-----------------------*/\\r\\n\\r\\n.ui.centered.grid,\\r\\n.ui.centered.grid > .row,\\r\\n.ui.grid > .centered.row {\\r\\n  text-align: center;\\r\\n  -webkit-box-pack: center;\\r\\n  -webkit-justify-content: center;\\r\\n  -ms-flex-pack: center;\\r\\n  justify-content: center;\\r\\n}\\r\\n\\r\\n.ui.centered.grid > .column:not(.aligned):not(.justified):not(.row),\\r\\n.ui.centered.grid > .row > .column:not(.aligned):not(.justified),\\r\\n.ui.grid .centered.row > .column:not(.aligned):not(.justified) {\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n.ui.grid > .centered.column,\\r\\n.ui.grid > .row > .centered.column {\\r\\n  display: block;\\r\\n  margin-left: auto;\\r\\n  margin-right: auto;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n        Relaxed\\r\\n-----------------------*/\\r\\n\\r\\n.ui.relaxed.grid > .column:not(.row),\\r\\n.ui.relaxed.grid > .row > .column,\\r\\n.ui.grid > .relaxed.row > .column {\\r\\n  padding-left: 1.5rem;\\r\\n  padding-right: 1.5rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].grid > .column:not(.row),\\r\\n.ui[class*=\\\"very relaxed\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"very relaxed\\\"].row > .column {\\r\\n  padding-left: 2.5rem;\\r\\n  padding-right: 2.5rem;\\r\\n}\\r\\n\\r\\n/* Coupling with UI Divider */\\r\\n\\r\\n.ui.relaxed.grid .row + .ui.divider,\\r\\n.ui.grid .relaxed.row + .ui.divider {\\r\\n  margin-left: 1.5rem;\\r\\n  margin-right: 1.5rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].grid .row + .ui.divider,\\r\\n.ui.grid [class*=\\\"very relaxed\\\"].row + .ui.divider {\\r\\n  margin-left: 2.5rem;\\r\\n  margin-right: 2.5rem;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n        Padded\\r\\n-----------------------*/\\r\\n\\r\\n.ui.padded.grid:not(.vertically):not(.horizontally) {\\r\\n  margin: 0em !important;\\r\\n}\\r\\n\\r\\n[class*=\\\"horizontally padded\\\"].ui.grid {\\r\\n  margin-left: 0em !important;\\r\\n  margin-right: 0em !important;\\r\\n}\\r\\n\\r\\n[class*=\\\"vertically padded\\\"].ui.grid {\\r\\n  margin-top: 0em !important;\\r\\n  margin-bottom: 0em !important;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n       \\\"Floated\\\"\\r\\n-----------------------*/\\r\\n\\r\\n.ui.grid [class*=\\\"left floated\\\"].column {\\r\\n  margin-right: auto;\\r\\n}\\r\\n\\r\\n.ui.grid [class*=\\\"right floated\\\"].column {\\r\\n  margin-left: auto;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n        Divided\\r\\n-----------------------*/\\r\\n\\r\\n.ui.divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:not(.row),\\r\\n.ui.divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column {\\r\\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Swap from padding to margin on columns to have dividers align */\\r\\n\\r\\n.ui[class*=\\\"vertically divided\\\"].grid > .column:not(.row),\\r\\n.ui[class*=\\\"vertically divided\\\"].grid > .row > .column {\\r\\n  margin-top: 1rem;\\r\\n  margin-bottom: 1rem;\\r\\n  padding-top: 0rem;\\r\\n  padding-bottom: 0rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"vertically divided\\\"].grid > .row {\\r\\n  margin-top: 0em;\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* No divider on first column on row */\\r\\n\\r\\n.ui.divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:first-child,\\r\\n.ui.divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:first-child {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* No space on top of first row */\\r\\n\\r\\n.ui[class*=\\\"vertically divided\\\"].grid > .row:first-child > .column {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/* Divided Row */\\r\\n\\r\\n.ui.grid > .divided.row > .column {\\r\\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.grid > .divided.row > .column:first-child {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Vertically Divided */\\r\\n\\r\\n.ui[class*=\\\"vertically divided\\\"].grid > .row {\\r\\n  position: relative;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"vertically divided\\\"].grid > .row:before {\\r\\n  position: absolute;\\r\\n  content: \\\"\\\";\\r\\n  top: 0em;\\r\\n  left: 0px;\\r\\n  width: calc(100% -  2rem );\\r\\n  height: 1px;\\r\\n  margin: 0% 1rem;\\r\\n  box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Padded Horizontally Divided */\\r\\n\\r\\n[class*=\\\"horizontally padded\\\"].ui.divided.grid,\\r\\n.ui.padded.divided.grid:not(.vertically):not(.horizontally) {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/* First Row Vertically Divided */\\r\\n\\r\\n.ui[class*=\\\"vertically divided\\\"].grid > .row:first-child:before {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Inverted Divided */\\r\\n\\r\\n.ui.inverted.divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:not(.row),\\r\\n.ui.inverted.divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column {\\r\\n  box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:not(.row):first-child,\\r\\n.ui.inverted.divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:first-child {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.inverted[class*=\\\"vertically divided\\\"].grid > .row:before {\\r\\n  box-shadow: 0px -1px 0px 0px rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n/* Relaxed */\\r\\n\\r\\n.ui.relaxed[class*=\\\"vertically divided\\\"].grid > .row:before {\\r\\n  margin-left: 1.5rem;\\r\\n  margin-right: 1.5rem;\\r\\n  width: calc(100% -  3rem );\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"][class*=\\\"vertically divided\\\"].grid > .row:before {\\r\\n  margin-left: 5rem;\\r\\n  margin-right: 5rem;\\r\\n  width: calc(100% -  5rem );\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n         Celled\\r\\n-----------------------*/\\r\\n\\r\\n.ui.celled.grid {\\r\\n  width: 100%;\\r\\n  margin: 1em 0em;\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.celled.grid > .row {\\r\\n  width: 100% !important;\\r\\n  margin: 0em;\\r\\n  padding: 0em;\\r\\n  box-shadow: 0px -1px 0px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.celled.grid > .column:not(.row),\\r\\n.ui.celled.grid > .row > .column {\\r\\n  box-shadow: -1px 0px 0px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.celled.grid > .column:first-child,\\r\\n.ui.celled.grid > .row > .column:first-child {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.celled.grid > .column:not(.row),\\r\\n.ui.celled.grid > .row > .column {\\r\\n  padding: 1em;\\r\\n}\\r\\n\\r\\n.ui.relaxed.celled.grid > .column:not(.row),\\r\\n.ui.relaxed.celled.grid > .row > .column {\\r\\n  padding: 1.5em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].celled.grid > .column:not(.row),\\r\\n.ui[class*=\\\"very relaxed\\\"].celled.grid > .row > .column {\\r\\n  padding: 2em;\\r\\n}\\r\\n\\r\\n/* Internally Celled */\\r\\n\\r\\n.ui[class*=\\\"internally celled\\\"].grid {\\r\\n  box-shadow: none;\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"internally celled\\\"].grid > .row:first-child {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"internally celled\\\"].grid > .row > .column:first-child {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n   Vertically Aligned\\r\\n-----------------------*/\\r\\n\\r\\n/* Top Aligned */\\r\\n\\r\\n.ui[class*=\\\"top aligned\\\"].grid > .column:not(.row),\\r\\n.ui[class*=\\\"top aligned\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"top aligned\\\"].row > .column,\\r\\n.ui.grid > [class*=\\\"top aligned\\\"].column:not(.row),\\r\\n.ui.grid > .row > [class*=\\\"top aligned\\\"].column {\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  vertical-align: top;\\r\\n  -webkit-align-self: flex-start !important;\\r\\n  -ms-flex-item-align: start !important;\\r\\n  align-self: flex-start !important;\\r\\n}\\r\\n\\r\\n/* Middle Aligned */\\r\\n\\r\\n.ui[class*=\\\"middle aligned\\\"].grid > .column:not(.row),\\r\\n.ui[class*=\\\"middle aligned\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"middle aligned\\\"].row > .column,\\r\\n.ui.grid > [class*=\\\"middle aligned\\\"].column:not(.row),\\r\\n.ui.grid > .row > [class*=\\\"middle aligned\\\"].column {\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  vertical-align: middle;\\r\\n  -webkit-align-self: center !important;\\r\\n  -ms-flex-item-align: center !important;\\r\\n  align-self: center !important;\\r\\n}\\r\\n\\r\\n/* Bottom Aligned */\\r\\n\\r\\n.ui[class*=\\\"bottom aligned\\\"].grid > .column:not(.row),\\r\\n.ui[class*=\\\"bottom aligned\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"bottom aligned\\\"].row > .column,\\r\\n.ui.grid > [class*=\\\"bottom aligned\\\"].column:not(.row),\\r\\n.ui.grid > .row > [class*=\\\"bottom aligned\\\"].column {\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  vertical-align: bottom;\\r\\n  -webkit-align-self: flex-end !important;\\r\\n  -ms-flex-item-align: end !important;\\r\\n  align-self: flex-end !important;\\r\\n}\\r\\n\\r\\n/* Stretched */\\r\\n\\r\\n.ui.stretched.grid > .row > .column,\\r\\n.ui.stretched.grid > .column,\\r\\n.ui.grid > .stretched.row > .column,\\r\\n.ui.grid > .stretched.column:not(.row),\\r\\n.ui.grid > .row > .stretched.column {\\r\\n  display: -webkit-inline-box !important;\\r\\n  display: -webkit-inline-flex !important;\\r\\n  display: -ms-inline-flexbox !important;\\r\\n  display: inline-flex !important;\\r\\n  -webkit-align-self: stretch;\\r\\n  -ms-flex-item-align: stretch;\\r\\n  align-self: stretch;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n}\\r\\n\\r\\n.ui.stretched.grid > .row > .column > *,\\r\\n.ui.stretched.grid > .column > *,\\r\\n.ui.grid > .stretched.row > .column > *,\\r\\n.ui.grid > .stretched.column:not(.row) > *,\\r\\n.ui.grid > .row > .stretched.column > * {\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex-grow: 1;\\r\\n  -ms-flex-positive: 1;\\r\\n  flex-grow: 1;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n  Horizontally Centered\\r\\n-----------------------*/\\r\\n\\r\\n/* Left Aligned */\\r\\n\\r\\n.ui[class*=\\\"left aligned\\\"].grid > .column,\\r\\n.ui[class*=\\\"left aligned\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"left aligned\\\"].row > .column,\\r\\n.ui.grid > [class*=\\\"left aligned\\\"].column.column,\\r\\n.ui.grid > .row > [class*=\\\"left aligned\\\"].column.column {\\r\\n  text-align: left;\\r\\n  -webkit-align-self: inherit;\\r\\n  -ms-flex-item-align: inherit;\\r\\n  align-self: inherit;\\r\\n}\\r\\n\\r\\n/* Center Aligned */\\r\\n\\r\\n.ui[class*=\\\"center aligned\\\"].grid > .column,\\r\\n.ui[class*=\\\"center aligned\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"center aligned\\\"].row > .column,\\r\\n.ui.grid > [class*=\\\"center aligned\\\"].column.column,\\r\\n.ui.grid > .row > [class*=\\\"center aligned\\\"].column.column {\\r\\n  text-align: center;\\r\\n  -webkit-align-self: inherit;\\r\\n  -ms-flex-item-align: inherit;\\r\\n  align-self: inherit;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"center aligned\\\"].grid {\\r\\n  -webkit-box-pack: center;\\r\\n  -webkit-justify-content: center;\\r\\n  -ms-flex-pack: center;\\r\\n  justify-content: center;\\r\\n}\\r\\n\\r\\n/* Right Aligned */\\r\\n\\r\\n.ui[class*=\\\"right aligned\\\"].grid > .column,\\r\\n.ui[class*=\\\"right aligned\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"right aligned\\\"].row > .column,\\r\\n.ui.grid > [class*=\\\"right aligned\\\"].column.column,\\r\\n.ui.grid > .row > [class*=\\\"right aligned\\\"].column.column {\\r\\n  text-align: right;\\r\\n  -webkit-align-self: inherit;\\r\\n  -ms-flex-item-align: inherit;\\r\\n  align-self: inherit;\\r\\n}\\r\\n\\r\\n/* Justified */\\r\\n\\r\\n.ui.justified.grid > .column,\\r\\n.ui.justified.grid > .row > .column,\\r\\n.ui.grid > .justified.row > .column,\\r\\n.ui.grid > .justified.column.column,\\r\\n.ui.grid > .row > .justified.column.column {\\r\\n  text-align: justify;\\r\\n  -webkit-hyphens: auto;\\r\\n  -ms-hyphens: auto;\\r\\n  hyphens: auto;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n         Colored\\r\\n-----------------------*/\\r\\n\\r\\n.ui.grid > .row > .red.column,\\r\\n.ui.grid > .row > .orange.column,\\r\\n.ui.grid > .row > .yellow.column,\\r\\n.ui.grid > .row > .olive.column,\\r\\n.ui.grid > .row > .green.column,\\r\\n.ui.grid > .row > .teal.column,\\r\\n.ui.grid > .row > .blue.column,\\r\\n.ui.grid > .row > .violet.column,\\r\\n.ui.grid > .row > .purple.column,\\r\\n.ui.grid > .row > .pink.column,\\r\\n.ui.grid > .row > .brown.column,\\r\\n.ui.grid > .row > .grey.column,\\r\\n.ui.grid > .row > .black.column {\\r\\n  margin-top: -1rem;\\r\\n  margin-bottom: -1rem;\\r\\n  padding-top: 1rem;\\r\\n  padding-bottom: 1rem;\\r\\n}\\r\\n\\r\\n/* Red */\\r\\n\\r\\n.ui.grid > .red.row,\\r\\n.ui.grid > .red.column,\\r\\n.ui.grid > .row > .red.column {\\r\\n  background-color: #DB2828 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Orange */\\r\\n\\r\\n.ui.grid > .orange.row,\\r\\n.ui.grid > .orange.column,\\r\\n.ui.grid > .row > .orange.column {\\r\\n  background-color: #F2711C !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Yellow */\\r\\n\\r\\n.ui.grid > .yellow.row,\\r\\n.ui.grid > .yellow.column,\\r\\n.ui.grid > .row > .yellow.column {\\r\\n  background-color: #FBBD08 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Olive */\\r\\n\\r\\n.ui.grid > .olive.row,\\r\\n.ui.grid > .olive.column,\\r\\n.ui.grid > .row > .olive.column {\\r\\n  background-color: #B5CC18 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Green */\\r\\n\\r\\n.ui.grid > .green.row,\\r\\n.ui.grid > .green.column,\\r\\n.ui.grid > .row > .green.column {\\r\\n  background-color: #21BA45 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Teal */\\r\\n\\r\\n.ui.grid > .teal.row,\\r\\n.ui.grid > .teal.column,\\r\\n.ui.grid > .row > .teal.column {\\r\\n  background-color: #00B5AD !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Blue */\\r\\n\\r\\n.ui.grid > .blue.row,\\r\\n.ui.grid > .blue.column,\\r\\n.ui.grid > .row > .blue.column {\\r\\n  background-color: #2185D0 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Violet */\\r\\n\\r\\n.ui.grid > .violet.row,\\r\\n.ui.grid > .violet.column,\\r\\n.ui.grid > .row > .violet.column {\\r\\n  background-color: #6435C9 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Purple */\\r\\n\\r\\n.ui.grid > .purple.row,\\r\\n.ui.grid > .purple.column,\\r\\n.ui.grid > .row > .purple.column {\\r\\n  background-color: #A333C8 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Pink */\\r\\n\\r\\n.ui.grid > .pink.row,\\r\\n.ui.grid > .pink.column,\\r\\n.ui.grid > .row > .pink.column {\\r\\n  background-color: #E03997 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Brown */\\r\\n\\r\\n.ui.grid > .brown.row,\\r\\n.ui.grid > .brown.column,\\r\\n.ui.grid > .row > .brown.column {\\r\\n  background-color: #A5673F !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Grey */\\r\\n\\r\\n.ui.grid > .grey.row,\\r\\n.ui.grid > .grey.column,\\r\\n.ui.grid > .row > .grey.column {\\r\\n  background-color: #767676 !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Black */\\r\\n\\r\\n.ui.grid > .black.row,\\r\\n.ui.grid > .black.column,\\r\\n.ui.grid > .row > .black.column {\\r\\n  background-color: #1B1C1D !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n      Equal Width\\r\\n-----------------------*/\\r\\n\\r\\n.ui[class*=\\\"equal width\\\"].grid > .column:not(.row),\\r\\n.ui[class*=\\\"equal width\\\"].grid > .row > .column,\\r\\n.ui.grid > [class*=\\\"equal width\\\"].row > .column {\\r\\n  display: inline-block;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex-grow: 1;\\r\\n  -ms-flex-positive: 1;\\r\\n  flex-grow: 1;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"equal width\\\"].grid > .wide.column,\\r\\n.ui[class*=\\\"equal width\\\"].grid > .row > .wide.column,\\r\\n.ui.grid > [class*=\\\"equal width\\\"].row > .wide.column {\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex-grow: 0;\\r\\n  -ms-flex-positive: 0;\\r\\n  flex-grow: 0;\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n        Reverse\\r\\n-----------------------*/\\r\\n\\r\\n/* Mobile */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui[class*=\\\"mobile reversed\\\"].grid,\\r\\n  .ui[class*=\\\"mobile reversed\\\"].grid > .row,\\r\\n  .ui.grid > [class*=\\\"mobile reversed\\\"].row {\\r\\n    -webkit-box-orient: horizontal;\\r\\n    -webkit-box-direction: reverse;\\r\\n    -webkit-flex-direction: row-reverse;\\r\\n    -ms-flex-direction: row-reverse;\\r\\n    flex-direction: row-reverse;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"mobile vertically reversed\\\"].grid,\\r\\n  .ui.stackable[class*=\\\"mobile reversed\\\"] {\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: reverse;\\r\\n    -webkit-flex-direction: column-reverse;\\r\\n    -ms-flex-direction: column-reverse;\\r\\n    flex-direction: column-reverse;\\r\\n  }\\r\\n\\r\\n  /* Divided Reversed */\\r\\n\\r\\n  .ui[class*=\\\"mobile reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:first-child,\\r\\n  .ui[class*=\\\"mobile reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:first-child {\\r\\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"mobile reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:last-child,\\r\\n  .ui[class*=\\\"mobile reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:last-child {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n\\r\\n  /* Vertically Divided Reversed */\\r\\n\\r\\n  .ui.grid[class*=\\\"vertically divided\\\"][class*=\\\"mobile vertically reversed\\\"] > .row:first-child:before {\\r\\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n  }\\r\\n\\r\\n  .ui.grid[class*=\\\"vertically divided\\\"][class*=\\\"mobile vertically reversed\\\"] > .row:last-child:before {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n\\r\\n  /* Celled Reversed */\\r\\n\\r\\n  .ui[class*=\\\"mobile reversed\\\"].celled.grid > .row > .column:first-child {\\r\\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"mobile reversed\\\"].celled.grid > .row > .column:last-child {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Tablet */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui[class*=\\\"tablet reversed\\\"].grid,\\r\\n  .ui[class*=\\\"tablet reversed\\\"].grid > .row,\\r\\n  .ui.grid > [class*=\\\"tablet reversed\\\"].row {\\r\\n    -webkit-box-orient: horizontal;\\r\\n    -webkit-box-direction: reverse;\\r\\n    -webkit-flex-direction: row-reverse;\\r\\n    -ms-flex-direction: row-reverse;\\r\\n    flex-direction: row-reverse;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet vertically reversed\\\"].grid {\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: reverse;\\r\\n    -webkit-flex-direction: column-reverse;\\r\\n    -ms-flex-direction: column-reverse;\\r\\n    flex-direction: column-reverse;\\r\\n  }\\r\\n\\r\\n  /* Divided Reversed */\\r\\n\\r\\n  .ui[class*=\\\"tablet reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:first-child,\\r\\n  .ui[class*=\\\"tablet reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:first-child {\\r\\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:last-child,\\r\\n  .ui[class*=\\\"tablet reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:last-child {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n\\r\\n  /* Vertically Divided Reversed */\\r\\n\\r\\n  .ui.grid[class*=\\\"vertically divided\\\"][class*=\\\"tablet vertically reversed\\\"] > .row:first-child:before {\\r\\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n  }\\r\\n\\r\\n  .ui.grid[class*=\\\"vertically divided\\\"][class*=\\\"tablet vertically reversed\\\"] > .row:last-child:before {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n\\r\\n  /* Celled Reversed */\\r\\n\\r\\n  .ui[class*=\\\"tablet reversed\\\"].celled.grid > .row > .column:first-child {\\r\\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet reversed\\\"].celled.grid > .row > .column:last-child {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Computer */\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui[class*=\\\"computer reversed\\\"].grid,\\r\\n  .ui[class*=\\\"computer reversed\\\"].grid > .row,\\r\\n  .ui.grid > [class*=\\\"computer reversed\\\"].row {\\r\\n    -webkit-box-orient: horizontal;\\r\\n    -webkit-box-direction: reverse;\\r\\n    -webkit-flex-direction: row-reverse;\\r\\n    -ms-flex-direction: row-reverse;\\r\\n    flex-direction: row-reverse;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"computer vertically reversed\\\"].grid {\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: reverse;\\r\\n    -webkit-flex-direction: column-reverse;\\r\\n    -ms-flex-direction: column-reverse;\\r\\n    flex-direction: column-reverse;\\r\\n  }\\r\\n\\r\\n  /* Divided Reversed */\\r\\n\\r\\n  .ui[class*=\\\"computer reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:first-child,\\r\\n  .ui[class*=\\\"computer reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:first-child {\\r\\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"computer reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .column:last-child,\\r\\n  .ui[class*=\\\"computer reversed\\\"].divided.grid:not([class*=\\\"vertically divided\\\"]) > .row > .column:last-child {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n\\r\\n  /* Vertically Divided Reversed */\\r\\n\\r\\n  .ui.grid[class*=\\\"vertically divided\\\"][class*=\\\"computer vertically reversed\\\"] > .row:first-child:before {\\r\\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n  }\\r\\n\\r\\n  .ui.grid[class*=\\\"vertically divided\\\"][class*=\\\"computer vertically reversed\\\"] > .row:last-child:before {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n\\r\\n  /* Celled Reversed */\\r\\n\\r\\n  .ui[class*=\\\"computer reversed\\\"].celled.grid > .row > .column:first-child {\\r\\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"computer reversed\\\"].celled.grid > .row > .column:last-child {\\r\\n    box-shadow: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Doubling\\r\\n--------------------*/\\r\\n\\r\\n/* Tablet Only */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui.doubling.grid {\\r\\n    width: auto;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .doubling.row,\\r\\n  .ui.doubling.grid > .row {\\r\\n    margin: 0em !important;\\r\\n    padding: 0em !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .doubling.row > .column,\\r\\n  .ui.doubling.grid > .row > .column {\\r\\n    display: inline-block !important;\\r\\n    padding-top: 1rem !important;\\r\\n    padding-bottom: 1rem !important;\\r\\n    box-shadow: none !important;\\r\\n    margin: 0em;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"two column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"two column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"two column\\\"].doubling.row.row > .column {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"three column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"three column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"three column\\\"].doubling.row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"four column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"four column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"four column\\\"].doubling.row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"five column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"five column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"five column\\\"].doubling.row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"six column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"six column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"six column\\\"].doubling.row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"seven column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"seven column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"seven column\\\"].doubling.row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"eight column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"eight column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"eight column\\\"].doubling.row.row > .column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"nine column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"nine column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"nine column\\\"].doubling.row.row > .column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"ten column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"ten column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"ten column\\\"].doubling.row.row > .column {\\r\\n    width: 20% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"eleven column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"eleven column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"eleven column\\\"].doubling.row.row > .column {\\r\\n    width: 20% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"twelve column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"twelve column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"twelve column\\\"].doubling.row.row > .column {\\r\\n    width: 16.66666667% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"thirteen column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"thirteen column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"thirteen column\\\"].doubling.row.row > .column {\\r\\n    width: 16.66666667% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"fourteen column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"fourteen column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"fourteen column\\\"].doubling.row.row > .column {\\r\\n    width: 14.28571429% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"fifteen column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"fifteen column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"fifteen column\\\"].doubling.row.row > .column {\\r\\n    width: 14.28571429% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"sixteen column\\\"].doubling.grid > .row > .column,\\r\\n  .ui[class*=\\\"sixteen column\\\"].doubling.grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"sixteen column\\\"].doubling.row.row > .column {\\r\\n    width: 12.5% !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Mobile Only */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.grid > .doubling.row,\\r\\n  .ui.doubling.grid > .row {\\r\\n    margin: 0em !important;\\r\\n    padding: 0em !important;\\r\\n  }\\r\\n\\r\\n  .ui.grid > .doubling.row > .column,\\r\\n  .ui.doubling.grid > .row > .column {\\r\\n    padding-top: 1rem !important;\\r\\n    padding-bottom: 1rem !important;\\r\\n    margin: 0em !important;\\r\\n    box-shadow: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"two column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"two column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"two column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"three column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"three column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"three column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"four column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"four column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"four column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"five column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"five column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"five column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"six column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"six column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"six column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"seven column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"seven column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"seven column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"eight column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"eight column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"eight column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 50% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"nine column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"nine column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"nine column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"ten column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"ten column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"ten column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"eleven column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"eleven column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"eleven column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"twelve column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"twelve column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"twelve column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"thirteen column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"thirteen column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"thirteen column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 33.33333333% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"fourteen column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"fourteen column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"fourteen column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"fifteen column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"fifteen column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"fifteen column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"sixteen column\\\"].doubling:not(.stackable).grid > .row > .column,\\r\\n  .ui[class*=\\\"sixteen column\\\"].doubling:not(.stackable).grid > .column:not(.row),\\r\\n  .ui.grid > [class*=\\\"sixteen column\\\"].doubling:not(.stackable).row.row > .column {\\r\\n    width: 25% !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Stackable\\r\\n--------------------*/\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.stackable.grid {\\r\\n    width: auto;\\r\\n    margin-left: 0em !important;\\r\\n    margin-right: 0em !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.grid > .row > .wide.column,\\r\\n  .ui.stackable.grid > .wide.column,\\r\\n  .ui.stackable.grid > .column.grid > .column,\\r\\n  .ui.stackable.grid > .column.row > .column,\\r\\n  .ui.stackable.grid > .row > .column,\\r\\n  .ui.stackable.grid > .column:not(.row),\\r\\n  .ui.grid > .stackable.stackable.row > .column {\\r\\n    width: 100% !important;\\r\\n    margin: 0em 0em !important;\\r\\n    box-shadow: none !important;\\r\\n    padding: 1rem 1rem !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.grid:not(.vertically) > .row {\\r\\n    margin: 0em;\\r\\n    padding: 0em;\\r\\n  }\\r\\n\\r\\n  /* Coupling */\\r\\n\\r\\n  .ui.container > .ui.stackable.grid > .column,\\r\\n  .ui.container > .ui.stackable.grid > .row > .column {\\r\\n    padding-left: 0em !important;\\r\\n    padding-right: 0em !important;\\r\\n  }\\r\\n\\r\\n  /* Don't pad inside segment or nested grid */\\r\\n\\r\\n  .ui.grid .ui.stackable.grid,\\r\\n  .ui.segment:not(.vertical) .ui.stackable.page.grid {\\r\\n    margin-left: -1rem !important;\\r\\n    margin-right: -1rem !important;\\r\\n  }\\r\\n\\r\\n  /* Divided Stackable */\\r\\n\\r\\n  .ui.stackable.divided.grid > .row:first-child > .column:first-child,\\r\\n  .ui.stackable.celled.grid > .row:first-child > .column:first-child,\\r\\n  .ui.stackable.divided.grid > .column:not(.row):first-child,\\r\\n  .ui.stackable.celled.grid > .column:not(.row):first-child {\\r\\n    border-top: none !important;\\r\\n  }\\r\\n\\r\\n  .ui.inverted.stackable.celled.grid > .column:not(.row),\\r\\n  .ui.inverted.stackable.divided.grid > .column:not(.row),\\r\\n  .ui.inverted.stackable.celled.grid > .row > .column,\\r\\n  .ui.inverted.stackable.divided.grid > .row > .column {\\r\\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\\r\\n  }\\r\\n\\r\\n  .ui.stackable.celled.grid > .column:not(.row),\\r\\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\\r\\n  .ui.stackable.celled.grid > .row > .column,\\r\\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\\r\\n    border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n    box-shadow: none !important;\\r\\n    padding-top: 2rem !important;\\r\\n    padding-bottom: 2rem !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.celled.grid > .row {\\r\\n    box-shadow: none !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\\r\\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\\r\\n    padding-left: 0em !important;\\r\\n    padding-right: 0em !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*----------------------\\r\\n     Only (Device)\\r\\n-----------------------*/\\r\\n\\r\\n/* These include arbitrary class repetitions for forced specificity */\\r\\n\\r\\n/* Mobile Only Hide */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui[class*=\\\"tablet only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"tablet only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"computer only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"computer only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"computer only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"computer only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"large screen only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"large screen only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"large screen only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"large screen only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"widescreen only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"widescreen only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Tablet Only Hide */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui[class*=\\\"mobile only\\\"].grid.grid.grid:not(.tablet),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].row:not(.tablet),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].column:not(.tablet),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"mobile only\\\"].column:not(.tablet) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"computer only\\\"].grid.grid.grid:not(.tablet),\\r\\n  .ui.grid.grid.grid > [class*=\\\"computer only\\\"].row:not(.tablet),\\r\\n  .ui.grid.grid.grid > [class*=\\\"computer only\\\"].column:not(.tablet),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"computer only\\\"].column:not(.tablet) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"large screen only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"large screen only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"large screen only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"large screen only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"widescreen only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"widescreen only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Computer Only Hide */\\r\\n\\r\\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\\r\\n  .ui[class*=\\\"mobile only\\\"].grid.grid.grid:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].row:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].column:not(.computer),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"mobile only\\\"].column:not(.computer) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet only\\\"].grid.grid.grid:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].row:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].column:not(.computer),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"tablet only\\\"].column:not(.computer) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"large screen only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"large screen only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"large screen only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"large screen only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"widescreen only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"widescreen only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Large Screen Only Hide */\\r\\n\\r\\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\\r\\n  .ui[class*=\\\"mobile only\\\"].grid.grid.grid:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].row:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].column:not(.computer),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"mobile only\\\"].column:not(.computer) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet only\\\"].grid.grid.grid:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].row:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].column:not(.computer),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"tablet only\\\"].column:not(.computer) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"widescreen only\\\"].grid.grid.grid:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].row:not(.mobile),\\r\\n  .ui.grid.grid.grid > [class*=\\\"widescreen only\\\"].column:not(.mobile),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"widescreen only\\\"].column:not(.mobile) {\\r\\n    display: none !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Widescreen Only Hide */\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui[class*=\\\"mobile only\\\"].grid.grid.grid:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].row:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"mobile only\\\"].column:not(.computer),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"mobile only\\\"].column:not(.computer) {\\r\\n    display: none !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet only\\\"].grid.grid.grid:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].row:not(.computer),\\r\\n  .ui.grid.grid.grid > [class*=\\\"tablet only\\\"].column:not(.computer),\\r\\n  .ui.grid.grid.grid > .row > [class*=\\\"tablet only\\\"].column:not(.computer) {\\r\\n    display: none !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*\\r\\n * # Semantic - Menu\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Copyright 2015 Contributor\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Standard\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Menu\\r\\n---------------*/\\r\\n\\r\\n.ui.menu {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin: 1rem 0em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  background: #FFFFFF;\\r\\n  font-weight: normal;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\\r\\n  border-radius: 0.28571429rem;\\r\\n  min-height: 2.85714286em;\\r\\n}\\r\\n\\r\\n.ui.menu:after {\\r\\n  content: '';\\r\\n  display: block;\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.menu:first-child {\\r\\n  margin-top: 0rem;\\r\\n}\\r\\n\\r\\n.ui.menu:last-child {\\r\\n  margin-bottom: 0rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Sub-Menu\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .menu {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui.menu:not(.vertical) > .menu {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Item\\r\\n---------------*/\\r\\n\\r\\n.ui.menu:not(.vertical) .item {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  align-items: center;\\r\\n}\\r\\n\\r\\n.ui.menu .item {\\r\\n  position: relative;\\r\\n  vertical-align: middle;\\r\\n  line-height: 1;\\r\\n  text-decoration: none;\\r\\n  -webkit-tap-highlight-color: transparent;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 0 auto;\\r\\n  -ms-flex: 0 0 auto;\\r\\n  flex: 0 0 auto;\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  background: none;\\r\\n  padding: 0.92857143em 1.14285714em;\\r\\n  text-transform: none;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  font-weight: normal;\\r\\n  -webkit-transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\\r\\n  transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.menu > .item:first-child {\\r\\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Border */\\r\\n\\r\\n.ui.menu .item:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 0%;\\r\\n  right: 0px;\\r\\n  height: 100%;\\r\\n  width: 1px;\\r\\n  background: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Text Content\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .text.item > *,\\r\\n.ui.menu .item > a:not(.ui),\\r\\n.ui.menu .item > p:only-child {\\r\\n  -webkit-user-select: text;\\r\\n  -moz-user-select: text;\\r\\n  -ms-user-select: text;\\r\\n  user-select: text;\\r\\n  line-height: 1.3;\\r\\n}\\r\\n\\r\\n.ui.menu .item > p:first-child {\\r\\n  margin-top: 0;\\r\\n}\\r\\n\\r\\n.ui.menu .item > p:last-child {\\r\\n  margin-bottom: 0;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Icons\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .item > i.icon {\\r\\n  opacity: 0.9;\\r\\n  float: none;\\r\\n  margin: 0em 0.35714286em 0em 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Button\\r\\n---------------*/\\r\\n\\r\\n.ui.menu:not(.vertical) .item > .button {\\r\\n  position: relative;\\r\\n  top: 0em;\\r\\n  margin: -0.5em 0em;\\r\\n  padding-bottom: 0.78571429em;\\r\\n  padding-top: 0.78571429em;\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/*----------------\\r\\n Grid / Container\\r\\n-----------------*/\\r\\n\\r\\n.ui.menu > .grid,\\r\\n.ui.menu > .container {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-align: inherit;\\r\\n  -webkit-align-items: inherit;\\r\\n  -ms-flex-align: inherit;\\r\\n  align-items: inherit;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: inherit;\\r\\n  -ms-flex-direction: inherit;\\r\\n  flex-direction: inherit;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Inputs\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .item > .input {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.menu:not(.vertical) .item > .input {\\r\\n  position: relative;\\r\\n  top: 0em;\\r\\n  margin: -0.5em 0em;\\r\\n}\\r\\n\\r\\n.ui.menu .item > .input input {\\r\\n  font-size: 1em;\\r\\n  padding-top: 0.57142857em;\\r\\n  padding-bottom: 0.57142857em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Header\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .header.item,\\r\\n.ui.vertical.menu .header.item {\\r\\n  margin: 0em;\\r\\n  background: '';\\r\\n  text-transform: normal;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .item > .header:not(.ui) {\\r\\n  margin: 0em 0em 0.5em;\\r\\n  font-size: 1em;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Dropdowns\\r\\n---------------*/\\r\\n\\r\\n/* Dropdown Icon */\\r\\n\\r\\n.ui.menu .item > i.dropdown.icon {\\r\\n  padding: 0em;\\r\\n  float: right;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n}\\r\\n\\r\\n/* Menu */\\r\\n\\r\\n.ui.menu .dropdown.item .menu {\\r\\n  left: 0px;\\r\\n  min-width: calc(100% - 1px);\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n  background: #FFFFFF;\\r\\n  margin: 0em 0px 0px;\\r\\n  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);\\r\\n  -webkit-box-orient: vertical !important;\\r\\n  -webkit-box-direction: normal !important;\\r\\n  -webkit-flex-direction: column !important;\\r\\n  -ms-flex-direction: column !important;\\r\\n  flex-direction: column !important;\\r\\n}\\r\\n\\r\\n/* Menu Items */\\r\\n\\r\\n.ui.menu .ui.dropdown .menu > .item {\\r\\n  margin: 0;\\r\\n  text-align: left;\\r\\n  font-size: 1em !important;\\r\\n  padding: 0.78571429em 1.14285714em !important;\\r\\n  background: transparent !important;\\r\\n  color: rgba(0, 0, 0, 0.87) !important;\\r\\n  text-transform: none !important;\\r\\n  font-weight: normal !important;\\r\\n  box-shadow: none !important;\\r\\n  -webkit-transition: none !important;\\r\\n  transition: none !important;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.dropdown .menu > .item:hover {\\r\\n  background: rgba(0, 0, 0, 0.05) !important;\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.dropdown .menu > .selected.item {\\r\\n  background: rgba(0, 0, 0, 0.05) !important;\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.dropdown .menu > .active.item {\\r\\n  background: rgba(0, 0, 0, 0.03) !important;\\r\\n  font-weight: bold !important;\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {\\r\\n  display: inline-block;\\r\\n  font-size: 1em !important;\\r\\n  float: none;\\r\\n  margin: 0em 0.75em 0em 0em;\\r\\n}\\r\\n\\r\\n/* Secondary */\\r\\n\\r\\n.ui.secondary.menu .dropdown.item > .menu,\\r\\n.ui.text.menu .dropdown.item > .menu {\\r\\n  border-radius: 0.28571429rem;\\r\\n  margin-top: 0.35714286em;\\r\\n}\\r\\n\\r\\n/* Pointing */\\r\\n\\r\\n.ui.menu .pointing.dropdown.item .menu {\\r\\n  margin-top: 0.75em;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.menu .search.dropdown.item > .search,\\r\\n.ui.inverted.menu .search.dropdown.item > .text {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n/* Vertical */\\r\\n\\r\\n.ui.vertical.menu .dropdown.item > .icon {\\r\\n  float: right;\\r\\n  content: \\\"\\\\F0DA\\\";\\r\\n  margin-left: 1em;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .dropdown.item .menu {\\r\\n  left: 100%;\\r\\n  min-width: 0;\\r\\n  margin: 0em 0em 0em 0em;\\r\\n  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08);\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .dropdown.item.upward .menu {\\r\\n  bottom: 0;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .dropdown.item:not(.upward) .menu {\\r\\n  top: 0;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .active.dropdown.item {\\r\\n  border-top-right-radius: 0em;\\r\\n  border-bottom-right-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .dropdown.active.item {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Evenly Divided */\\r\\n\\r\\n.ui.item.menu .dropdown .menu .item {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Labels\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .item > .label {\\r\\n  background: #999999;\\r\\n  color: #FFFFFF;\\r\\n  margin-left: 1em;\\r\\n  padding: 0.3em 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .item > .label {\\r\\n  background: #999999;\\r\\n  color: #FFFFFF;\\r\\n  margin-top: -0.15em;\\r\\n  margin-bottom: -0.15em;\\r\\n  padding: 0.3em 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.menu .item > .floating.label {\\r\\n  padding: 0.3em 0.78571429em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Images\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .item > img:not(.ui) {\\r\\n  display: inline-block;\\r\\n  vertical-align: middle;\\r\\n  margin: -0.3em 0em;\\r\\n  width: 2.5em;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .item > img:not(.ui):only-child {\\r\\n  display: block;\\r\\n  max-width: 100%;\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Coupling\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Sidebar\\r\\n---------------*/\\r\\n\\r\\n/* Show vertical dividers below last */\\r\\n\\r\\n.ui.vertical.sidebar.menu > .item:first-child:before {\\r\\n  display: block !important;\\r\\n}\\r\\n\\r\\n.ui.vertical.sidebar.menu > .item::before {\\r\\n  top: auto;\\r\\n  bottom: 0px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Container\\r\\n---------------*/\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.menu > .ui.container {\\r\\n    width: 100% !important;\\r\\n    margin-left: 0em !important;\\r\\n    margin-right: 0em !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {\\r\\n    border-left: 1px solid rgba(34, 36, 38, 0.1);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Hover\\r\\n---------------*/\\r\\n\\r\\n.ui.link.menu .item:hover,\\r\\n.ui.menu .dropdown.item:hover,\\r\\n.ui.menu .link.item:hover,\\r\\n.ui.menu a.item:hover {\\r\\n  cursor: pointer;\\r\\n  background: rgba(0, 0, 0, 0.03);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Pressed\\r\\n---------------*/\\r\\n\\r\\n.ui.link.menu .item:active,\\r\\n.ui.menu .link.item:active,\\r\\n.ui.menu a.item:active {\\r\\n  background: rgba(0, 0, 0, 0.03);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .active.item {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  font-weight: normal;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.menu .active.item > i.icon {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Active Hover\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .active.item:hover,\\r\\n.ui.vertical.menu .active.item:hover {\\r\\n  background-color: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Disabled\\r\\n---------------*/\\r\\n\\r\\n.ui.menu .item.disabled,\\r\\n.ui.menu .item.disabled:hover {\\r\\n  cursor: default;\\r\\n  background-color: transparent !important;\\r\\n  color: rgba(40, 40, 40, 0.3);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*------------------\\r\\nFloated Menu / Item\\r\\n-------------------*/\\r\\n\\r\\n/* Left Floated */\\r\\n\\r\\n.ui.menu:not(.vertical) .left.item,\\r\\n.ui.menu:not(.vertical) .left.menu {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin-right: auto !important;\\r\\n}\\r\\n\\r\\n/* Right Floated */\\r\\n\\r\\n.ui.menu:not(.vertical) .right.item,\\r\\n.ui.menu:not(.vertical) .right.menu {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin-left: auto !important;\\r\\n}\\r\\n\\r\\n/* Swapped Borders */\\r\\n\\r\\n.ui.menu .right.item::before,\\r\\n.ui.menu .right.menu > .item::before {\\r\\n  right: auto;\\r\\n  left: 0;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Vertical\\r\\n---------------*/\\r\\n\\r\\n.ui.vertical.menu {\\r\\n  display: block;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/*--- Item ---*/\\r\\n\\r\\n.ui.vertical.menu .item {\\r\\n  display: block;\\r\\n  background: none;\\r\\n  border-top: none;\\r\\n  border-right: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu > .item:first-child {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu > .item:last-child {\\r\\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n/*--- Label ---*/\\r\\n\\r\\n.ui.vertical.menu .item > .label {\\r\\n  float: right;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/*--- Icon ---*/\\r\\n\\r\\n.ui.vertical.menu .item > i.icon {\\r\\n  width: 1.18em;\\r\\n  float: right;\\r\\n  margin: 0em 0em 0em 0.5em;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .item > .label + i.icon {\\r\\n  float: none;\\r\\n  margin: 0em 0.5em 0em 0em;\\r\\n}\\r\\n\\r\\n/*--- Border ---*/\\r\\n\\r\\n.ui.vertical.menu .item:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 0%;\\r\\n  left: 0px;\\r\\n  width: 100%;\\r\\n  height: 1px;\\r\\n  background: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .item:first-child:before {\\r\\n  display: none !important;\\r\\n}\\r\\n\\r\\n/*--- Sub Menu ---*/\\r\\n\\r\\n.ui.vertical.menu .item > .menu {\\r\\n  margin: 0.5em -1.14285714em 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .menu .item {\\r\\n  background: none;\\r\\n  padding: 0.5em 1.33333333em;\\r\\n  font-size: 0.85714286em;\\r\\n  color: rgba(0, 0, 0, 0.5);\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .item .menu a.item:hover,\\r\\n.ui.vertical.menu .item .menu .link.item:hover {\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .menu .item:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Vertical Active */\\r\\n\\r\\n.ui.vertical.menu .active.item {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  border-radius: 0em;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu > .active.item:first-child {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu > .active.item:last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu > .active.item:only-child {\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .active.item .menu .active.item {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu .item .menu .active.item {\\r\\n  background-color: transparent;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Tabular\\r\\n---------------*/\\r\\n\\r\\n.ui.tabular.menu {\\r\\n  border-radius: 0em;\\r\\n  box-shadow: none !important;\\r\\n  border: none;\\r\\n  background: none transparent;\\r\\n  border-bottom: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.tabular.fluid.menu {\\r\\n  width: calc(100% +  2px ) !important;\\r\\n}\\r\\n\\r\\n.ui.tabular.menu .item {\\r\\n  background: transparent;\\r\\n  border-bottom: none;\\r\\n  border-left: 1px solid transparent;\\r\\n  border-right: 1px solid transparent;\\r\\n  border-top: 2px solid transparent;\\r\\n  padding: 0.92857143em 1.42857143em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.tabular.menu .item:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.tabular.menu .item:hover {\\r\\n  background-color: transparent;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.tabular.menu .active.item {\\r\\n  background: none #FFFFFF;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  border-top-width: 1px;\\r\\n  border-color: #D4D4D5;\\r\\n  font-weight: bold;\\r\\n  margin-bottom: -1px;\\r\\n  box-shadow: none;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px !important;\\r\\n}\\r\\n\\r\\n/* Coupling with segment for attachment */\\r\\n\\r\\n.ui.tabular.menu + .attached:not(.top).segment,\\r\\n.ui.tabular.menu + .attached:not(.top).segment + .attached:not(.top).segment {\\r\\n  border-top: none;\\r\\n  margin-left: 0px;\\r\\n  margin-top: 0px;\\r\\n  margin-right: 0px;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.top.attached.segment + .ui.bottom.tabular.menu {\\r\\n  position: relative;\\r\\n  width: calc(100% +  2px );\\r\\n  left: -1px;\\r\\n}\\r\\n\\r\\n/* Bottom Vertical Tabular */\\r\\n\\r\\n.ui.bottom.tabular.menu {\\r\\n  background: none transparent;\\r\\n  border-radius: 0em;\\r\\n  box-shadow: none !important;\\r\\n  border-bottom: none;\\r\\n  border-top: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.bottom.tabular.menu .item {\\r\\n  background: none;\\r\\n  border-left: 1px solid transparent;\\r\\n  border-right: 1px solid transparent;\\r\\n  border-bottom: 1px solid transparent;\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.bottom.tabular.menu .active.item {\\r\\n  background: none #FFFFFF;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  border-color: #D4D4D5;\\r\\n  margin: -1px 0px 0px 0px;\\r\\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n/* Vertical Tabular (Left) */\\r\\n\\r\\n.ui.vertical.tabular.menu {\\r\\n  background: none transparent;\\r\\n  border-radius: 0em;\\r\\n  box-shadow: none !important;\\r\\n  border-bottom: none;\\r\\n  border-right: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.vertical.tabular.menu .item {\\r\\n  background: none;\\r\\n  border-left: 1px solid transparent;\\r\\n  border-bottom: 1px solid transparent;\\r\\n  border-top: 1px solid transparent;\\r\\n  border-right: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.tabular.menu .active.item {\\r\\n  background: none #FFFFFF;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  border-color: #D4D4D5;\\r\\n  margin: 0px -1px 0px 0px;\\r\\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n/* Vertical Right Tabular */\\r\\n\\r\\n.ui.vertical.right.tabular.menu {\\r\\n  background: none transparent;\\r\\n  border-radius: 0em;\\r\\n  box-shadow: none !important;\\r\\n  border-bottom: none;\\r\\n  border-right: none;\\r\\n  border-left: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.vertical.right.tabular.menu .item {\\r\\n  background: none;\\r\\n  border-right: 1px solid transparent;\\r\\n  border-bottom: 1px solid transparent;\\r\\n  border-top: 1px solid transparent;\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.vertical.right.tabular.menu .active.item {\\r\\n  background: none #FFFFFF;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  border-color: #D4D4D5;\\r\\n  margin: 0px 0px 0px -1px;\\r\\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px !important;\\r\\n}\\r\\n\\r\\n/* Dropdown */\\r\\n\\r\\n.ui.tabular.menu .active.dropdown.item {\\r\\n  margin-bottom: 0px;\\r\\n  border-left: 1px solid transparent;\\r\\n  border-right: 1px solid transparent;\\r\\n  border-top: 2px solid transparent;\\r\\n  border-bottom: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Pagination\\r\\n---------------*/\\r\\n\\r\\n.ui.pagination.menu {\\r\\n  margin: 0em;\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.pagination.menu .item:last-child {\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui.compact.menu .item:last-child {\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui.pagination.menu .item:last-child:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.pagination.menu .item {\\r\\n  min-width: 3em;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.pagination.menu .icon.item i.icon {\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.pagination.menu .active.item {\\r\\n  border-top: none;\\r\\n  padding-top: 0.92857143em;\\r\\n  background-color: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Secondary\\r\\n---------------*/\\r\\n\\r\\n.ui.secondary.menu {\\r\\n  background: none;\\r\\n  margin-left: -0.35714286em;\\r\\n  margin-right: -0.35714286em;\\r\\n  border-radius: 0em;\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Item */\\r\\n\\r\\n.ui.secondary.menu .item {\\r\\n  -webkit-align-self: center;\\r\\n  -ms-flex-item-align: center;\\r\\n  align-self: center;\\r\\n  box-shadow: none;\\r\\n  border: none;\\r\\n  padding: 0.78571429em 0.92857143em;\\r\\n  margin: 0em 0.35714286em;\\r\\n  background: none;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* No Divider */\\r\\n\\r\\n.ui.secondary.menu .item:before {\\r\\n  display: none !important;\\r\\n}\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.secondary.menu .header.item {\\r\\n  border-radius: 0em;\\r\\n  border-right: none;\\r\\n  background: none transparent;\\r\\n}\\r\\n\\r\\n/* Image */\\r\\n\\r\\n.ui.secondary.menu .item > img:not(.ui) {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.secondary.menu .dropdown.item:hover,\\r\\n.ui.secondary.menu .link.item:hover,\\r\\n.ui.secondary.menu a.item:hover {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.secondary.menu .active.item {\\r\\n  box-shadow: none;\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Active Hover */\\r\\n\\r\\n.ui.secondary.menu .active.item:hover {\\r\\n  box-shadow: none;\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.secondary.inverted.menu .link.item,\\r\\n.ui.secondary.inverted.menu a.item {\\r\\n  color: rgba(255, 255, 255, 0.7) !important;\\r\\n}\\r\\n\\r\\n.ui.secondary.inverted.menu .dropdown.item:hover,\\r\\n.ui.secondary.inverted.menu .link.item:hover,\\r\\n.ui.secondary.inverted.menu a.item:hover {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n  color: #ffffff !important;\\r\\n}\\r\\n\\r\\n.ui.secondary.inverted.menu .active.item {\\r\\n  background: rgba(255, 255, 255, 0.15);\\r\\n  color: #ffffff !important;\\r\\n}\\r\\n\\r\\n/* Fix item margins */\\r\\n\\r\\n.ui.secondary.item.menu {\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.secondary.item.menu .item:last-child {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.secondary.attached.menu {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Sub Menu */\\r\\n\\r\\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {\\r\\n  margin: 0em -0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {\\r\\n  margin: 0em;\\r\\n  padding: 0.5em 1.33333333em;\\r\\n}\\r\\n\\r\\n/*---------------------\\r\\n   Secondary Vertical\\r\\n-----------------------*/\\r\\n\\r\\n.ui.secondary.vertical.menu > .item {\\r\\n  border: none;\\r\\n  margin: 0em 0em 0.35714286em;\\r\\n  border-radius: 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n.ui.secondary.vertical.menu > .header.item {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n/* Sub Menu */\\r\\n\\r\\n.ui.vertical.secondary.menu .item > .menu .item {\\r\\n  background-color: transparent;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.secondary.inverted.menu {\\r\\n  background-color: transparent;\\r\\n}\\r\\n\\r\\n/*---------------------\\r\\n   Secondary Pointing\\r\\n-----------------------*/\\r\\n\\r\\n.ui.secondary.pointing.menu {\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0em;\\r\\n  border-bottom: 2px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.secondary.pointing.menu .item {\\r\\n  border-bottom-color: transparent;\\r\\n  border-bottom-style: solid;\\r\\n  border-radius: 0em;\\r\\n  -webkit-align-self: flex-end;\\r\\n  -ms-flex-item-align: end;\\r\\n  align-self: flex-end;\\r\\n  margin: 0em 0em -2px;\\r\\n  padding: 0.85714286em 1.14285714em;\\r\\n  border-bottom-width: 2px;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Item Types */\\r\\n\\r\\n.ui.secondary.pointing.menu .header.item {\\r\\n  color: rgba(0, 0, 0, 0.85) !important;\\r\\n}\\r\\n\\r\\n.ui.secondary.pointing.menu .text.item {\\r\\n  box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.ui.secondary.pointing.menu .item:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.secondary.pointing.menu .dropdown.item:hover,\\r\\n.ui.secondary.pointing.menu .link.item:hover,\\r\\n.ui.secondary.pointing.menu a.item:hover {\\r\\n  background-color: transparent;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Pressed */\\r\\n\\r\\n.ui.secondary.pointing.menu .dropdown.item:active,\\r\\n.ui.secondary.pointing.menu .link.item:active,\\r\\n.ui.secondary.pointing.menu a.item:active {\\r\\n  background-color: transparent;\\r\\n  border-color: rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.secondary.pointing.menu .active.item {\\r\\n  background-color: transparent;\\r\\n  box-shadow: none;\\r\\n  border-color: #1B1C1D;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Active Hover */\\r\\n\\r\\n.ui.secondary.pointing.menu .active.item:hover {\\r\\n  border-color: #1B1C1D;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Active Dropdown */\\r\\n\\r\\n.ui.secondary.pointing.menu .active.dropdown.item {\\r\\n  border-color: transparent;\\r\\n}\\r\\n\\r\\n/* Vertical Pointing */\\r\\n\\r\\n.ui.secondary.vertical.pointing.menu {\\r\\n  border-bottom-width: 0px;\\r\\n  border-right-width: 2px;\\r\\n  border-right-style: solid;\\r\\n  border-right-color: rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.secondary.vertical.pointing.menu .item {\\r\\n  border-bottom: none;\\r\\n  border-right-style: solid;\\r\\n  border-right-color: transparent;\\r\\n  border-radius: 0em !important;\\r\\n  margin: 0em -2px 0em 0em;\\r\\n  border-right-width: 2px;\\r\\n}\\r\\n\\r\\n/* Vertical Active */\\r\\n\\r\\n.ui.secondary.vertical.pointing.menu .active.item {\\r\\n  border-color: #1B1C1D;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.secondary.inverted.pointing.menu {\\r\\n  border-color: rgba(255, 255, 255, 0.1);\\r\\n}\\r\\n\\r\\n.ui.secondary.inverted.pointing.menu {\\r\\n  border-width: 2px;\\r\\n  border-color: rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.secondary.inverted.pointing.menu .item {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.secondary.inverted.pointing.menu .header.item {\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.secondary.inverted.pointing.menu .link.item:hover,\\r\\n.ui.secondary.inverted.pointing.menu a.item:hover {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.secondary.inverted.pointing.menu .active.item {\\r\\n  border-color: #FFFFFF;\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Text Menu\\r\\n---------------*/\\r\\n\\r\\n.ui.text.menu {\\r\\n  background: none transparent;\\r\\n  border-radius: 0px;\\r\\n  box-shadow: none;\\r\\n  border: none;\\r\\n  margin: 1em -0.5em;\\r\\n}\\r\\n\\r\\n.ui.text.menu .item {\\r\\n  border-radius: 0px;\\r\\n  box-shadow: none;\\r\\n  -webkit-align-self: center;\\r\\n  -ms-flex-item-align: center;\\r\\n  align-self: center;\\r\\n  margin: 0em 0em;\\r\\n  padding: 0.35714286em 0.5em;\\r\\n  font-weight: normal;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Border */\\r\\n\\r\\n.ui.text.menu .item:before,\\r\\n.ui.text.menu .menu .item:before {\\r\\n  display: none !important;\\r\\n}\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.text.menu .header.item {\\r\\n  background-color: transparent;\\r\\n  opacity: 1;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n  font-size: 0.92857143em;\\r\\n  text-transform: uppercase;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n/* Image */\\r\\n\\r\\n.ui.text.menu .item > img:not(.ui) {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/*--- fluid text ---*/\\r\\n\\r\\n.ui.text.item.menu .item {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/*--- vertical text ---*/\\r\\n\\r\\n.ui.vertical.text.menu {\\r\\n  margin: 1em 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.text.menu:first-child {\\r\\n  margin-top: 0rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.text.menu:last-child {\\r\\n  margin-bottom: 0rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.text.menu .item {\\r\\n  margin: 0.57142857em 0em;\\r\\n  padding-left: 0em;\\r\\n  padding-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.text.menu .item > i.icon {\\r\\n  float: none;\\r\\n  margin: 0em 0.35714286em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.text.menu .header.item {\\r\\n  margin: 0.57142857em 0em 0.71428571em;\\r\\n}\\r\\n\\r\\n/* Vertical Sub Menu */\\r\\n\\r\\n.ui.vertical.text.menu .item:not(.dropdown) > .menu {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {\\r\\n  margin: 0em;\\r\\n  padding: 0.5em 0em;\\r\\n}\\r\\n\\r\\n/*--- hover ---*/\\r\\n\\r\\n.ui.text.menu .item:hover {\\r\\n  opacity: 1;\\r\\n  background-color: transparent;\\r\\n}\\r\\n\\r\\n/*--- active ---*/\\r\\n\\r\\n.ui.text.menu .active.item {\\r\\n  background-color: transparent;\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n  font-weight: normal;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--- active hover ---*/\\r\\n\\r\\n.ui.text.menu .active.item:hover {\\r\\n  background-color: transparent;\\r\\n}\\r\\n\\r\\n/* Disable Bariations */\\r\\n\\r\\n.ui.text.pointing.menu .active.item:after {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.text.attached.menu {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.text.menu,\\r\\n.ui.inverted.text.menu .item,\\r\\n.ui.inverted.text.menu .item:hover,\\r\\n.ui.inverted.text.menu .active.item {\\r\\n  background-color: transparent !important;\\r\\n}\\r\\n\\r\\n/* Fluid */\\r\\n\\r\\n.ui.fluid.text.menu {\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Icon Only\\r\\n---------------*/\\r\\n\\r\\n/* Vertical Menu */\\r\\n\\r\\n.ui.vertical.icon.menu {\\r\\n  display: inline-block;\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n/* Item */\\r\\n\\r\\n.ui.icon.menu .item {\\r\\n  height: auto;\\r\\n  text-align: center;\\r\\n  color: #1B1C1D;\\r\\n}\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.icon.menu .item > .icon:not(.dropdown) {\\r\\n  margin: 0;\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/* Icon Gylph */\\r\\n\\r\\n.ui.icon.menu .icon:before {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/* (x) Item Icon */\\r\\n\\r\\n.ui.menu .icon.item > .icon {\\r\\n  width: auto;\\r\\n  margin: 0em auto;\\r\\n}\\r\\n\\r\\n/* Vertical Icon */\\r\\n\\r\\n.ui.vertical.icon.menu .item > .icon:not(.dropdown) {\\r\\n  display: block;\\r\\n  opacity: 1;\\r\\n  margin: 0em auto;\\r\\n  float: none;\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.icon.menu .item {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Labeled Icon\\r\\n---------------*/\\r\\n\\r\\n/* Menu */\\r\\n\\r\\n.ui.labeled.icon.menu {\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/* Item */\\r\\n\\r\\n.ui.labeled.icon.menu .item {\\r\\n  min-width: 6em;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n}\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.labeled.icon.menu .item > .icon:not(.dropdown) {\\r\\n  height: 1em;\\r\\n  display: block;\\r\\n  font-size: 1.71428571em !important;\\r\\n  margin: 0em auto 0.5rem !important;\\r\\n}\\r\\n\\r\\n/* Fluid */\\r\\n\\r\\n.ui.fluid.labeled.icon.menu > .item {\\r\\n  min-width: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Stackable\\r\\n---------------*/\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.stackable.menu {\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: normal;\\r\\n    -webkit-flex-direction: column;\\r\\n    -ms-flex-direction: column;\\r\\n    flex-direction: column;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.menu .item {\\r\\n    width: 100% !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.menu .item:before {\\r\\n    position: absolute;\\r\\n    content: '';\\r\\n    top: auto;\\r\\n    bottom: 0px;\\r\\n    left: 0px;\\r\\n    width: 100%;\\r\\n    height: 1px;\\r\\n    background: rgba(34, 36, 38, 0.1);\\r\\n  }\\r\\n\\r\\n  .ui.stackable.menu .left.menu,\\r\\n  .ui.stackable.menu .left.item {\\r\\n    margin-right: 0 !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.menu .right.menu,\\r\\n  .ui.stackable.menu .right.item {\\r\\n    margin-left: 0 !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Colors\\r\\n---------------*/\\r\\n\\r\\n/*--- Standard Colors  ---*/\\r\\n\\r\\n.ui.menu .red.active.item,\\r\\n.ui.red.menu .active.item {\\r\\n  border-color: #DB2828 !important;\\r\\n  color: #DB2828 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .orange.active.item,\\r\\n.ui.orange.menu .active.item {\\r\\n  border-color: #F2711C !important;\\r\\n  color: #F2711C !important;\\r\\n}\\r\\n\\r\\n.ui.menu .yellow.active.item,\\r\\n.ui.yellow.menu .active.item {\\r\\n  border-color: #FBBD08 !important;\\r\\n  color: #FBBD08 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .olive.active.item,\\r\\n.ui.olive.menu .active.item {\\r\\n  border-color: #B5CC18 !important;\\r\\n  color: #B5CC18 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .green.active.item,\\r\\n.ui.green.menu .active.item {\\r\\n  border-color: #21BA45 !important;\\r\\n  color: #21BA45 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .teal.active.item,\\r\\n.ui.teal.menu .active.item {\\r\\n  border-color: #00B5AD !important;\\r\\n  color: #00B5AD !important;\\r\\n}\\r\\n\\r\\n.ui.menu .blue.active.item,\\r\\n.ui.blue.menu .active.item {\\r\\n  border-color: #2185D0 !important;\\r\\n  color: #2185D0 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .violet.active.item,\\r\\n.ui.violet.menu .active.item {\\r\\n  border-color: #6435C9 !important;\\r\\n  color: #6435C9 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .purple.active.item,\\r\\n.ui.purple.menu .active.item {\\r\\n  border-color: #A333C8 !important;\\r\\n  color: #A333C8 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .pink.active.item,\\r\\n.ui.pink.menu .active.item {\\r\\n  border-color: #E03997 !important;\\r\\n  color: #E03997 !important;\\r\\n}\\r\\n\\r\\n.ui.menu .brown.active.item,\\r\\n.ui.brown.menu .active.item {\\r\\n  border-color: #A5673F !important;\\r\\n  color: #A5673F !important;\\r\\n}\\r\\n\\r\\n.ui.menu .grey.active.item,\\r\\n.ui.grey.menu .active.item {\\r\\n  border-color: #767676 !important;\\r\\n  color: #767676 !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n.ui.inverted.menu {\\r\\n  border: 0px solid transparent;\\r\\n  background: #1B1C1D;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Menu Item */\\r\\n\\r\\n.ui.inverted.menu .item,\\r\\n.ui.inverted.menu .item > a:not(.ui) {\\r\\n  background: transparent;\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.inverted.menu .item.menu {\\r\\n  background: transparent;\\r\\n}\\r\\n\\r\\n/*--- Border ---*/\\r\\n\\r\\n.ui.inverted.menu .item:before {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n}\\r\\n\\r\\n.ui.vertical.inverted.menu .item:before {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n}\\r\\n\\r\\n/* Sub Menu */\\r\\n\\r\\n.ui.vertical.inverted.menu .menu .item,\\r\\n.ui.vertical.inverted.menu .menu .item a:not(.ui) {\\r\\n  color: rgba(255, 255, 255, 0.5);\\r\\n}\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.inverted.menu .header.item {\\r\\n  margin: 0em;\\r\\n  background: transparent;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Disabled */\\r\\n\\r\\n.ui.inverted.menu .item.disabled,\\r\\n.ui.inverted.menu .item.disabled:hover {\\r\\n  color: rgba(225, 225, 225, 0.3);\\r\\n}\\r\\n\\r\\n/*--- Hover ---*/\\r\\n\\r\\n.ui.link.inverted.menu .item:hover,\\r\\n.ui.inverted.menu .dropdown.item:hover,\\r\\n.ui.inverted.menu .link.item:hover,\\r\\n.ui.inverted.menu a.item:hover {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n.ui.vertical.inverted.menu .item .menu a.item:hover,\\r\\n.ui.vertical.inverted.menu .item .menu .link.item:hover {\\r\\n  background: transparent;\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n/*--- Pressed ---*/\\r\\n\\r\\n.ui.inverted.menu a.item:active,\\r\\n.ui.inverted.menu .link.item:active {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n/*--- Active ---*/\\r\\n\\r\\n.ui.inverted.menu .active.item {\\r\\n  background: rgba(255, 255, 255, 0.15);\\r\\n  color: #ffffff !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.vertical.menu .item .menu .active.item {\\r\\n  background: transparent;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.pointing.menu .active.item:after {\\r\\n  background: #3D3E3F !important;\\r\\n  margin: 0em !important;\\r\\n  box-shadow: none !important;\\r\\n  border: none !important;\\r\\n}\\r\\n\\r\\n/*--- Active Hover ---*/\\r\\n\\r\\n.ui.inverted.menu .active.item:hover {\\r\\n  background: rgba(255, 255, 255, 0.15);\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.pointing.menu .active.item:hover:after {\\r\\n  background: #3D3E3F !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Floated\\r\\n---------------*/\\r\\n\\r\\n.ui.floated.menu {\\r\\n  float: left;\\r\\n  margin: 0rem 0.5rem 0rem 0rem;\\r\\n}\\r\\n\\r\\n.ui.floated.menu .item:last-child:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.right.floated.menu {\\r\\n  float: right;\\r\\n  margin: 0rem 0rem 0rem 0.5rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n/* Red */\\r\\n\\r\\n.ui.inverted.menu .red.active.item,\\r\\n.ui.inverted.red.menu {\\r\\n  background-color: #DB2828;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.red.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Orange */\\r\\n\\r\\n.ui.inverted.menu .orange.active.item,\\r\\n.ui.inverted.orange.menu {\\r\\n  background-color: #F2711C;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Yellow */\\r\\n\\r\\n.ui.inverted.menu .yellow.active.item,\\r\\n.ui.inverted.yellow.menu {\\r\\n  background-color: #FBBD08;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Olive */\\r\\n\\r\\n.ui.inverted.menu .olive.active.item,\\r\\n.ui.inverted.olive.menu {\\r\\n  background-color: #B5CC18;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Green */\\r\\n\\r\\n.ui.inverted.menu .green.active.item,\\r\\n.ui.inverted.green.menu {\\r\\n  background-color: #21BA45;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.green.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Teal */\\r\\n\\r\\n.ui.inverted.menu .teal.active.item,\\r\\n.ui.inverted.teal.menu {\\r\\n  background-color: #00B5AD;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Blue */\\r\\n\\r\\n.ui.inverted.menu .blue.active.item,\\r\\n.ui.inverted.blue.menu {\\r\\n  background-color: #2185D0;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Violet */\\r\\n\\r\\n.ui.inverted.menu .violet.active.item,\\r\\n.ui.inverted.violet.menu {\\r\\n  background-color: #6435C9;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Purple */\\r\\n\\r\\n.ui.inverted.menu .purple.active.item,\\r\\n.ui.inverted.purple.menu {\\r\\n  background-color: #A333C8;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Pink */\\r\\n\\r\\n.ui.inverted.menu .pink.active.item,\\r\\n.ui.inverted.pink.menu {\\r\\n  background-color: #E03997;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Brown */\\r\\n\\r\\n.ui.inverted.menu .brown.active.item,\\r\\n.ui.inverted.brown.menu {\\r\\n  background-color: #A5673F;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/* Grey */\\r\\n\\r\\n.ui.inverted.menu .grey.active.item,\\r\\n.ui.inverted.grey.menu {\\r\\n  background-color: #767676;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.menu .item:before {\\r\\n  background-color: rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.menu .active.item {\\r\\n  background-color: rgba(0, 0, 0, 0.1) !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Fitted\\r\\n---------------*/\\r\\n\\r\\n.ui.fitted.menu .item,\\r\\n.ui.fitted.menu .item .menu .item,\\r\\n.ui.menu .fitted.item {\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n.ui.horizontally.fitted.menu .item,\\r\\n.ui.horizontally.fitted.menu .item .menu .item,\\r\\n.ui.menu .horizontally.fitted.item {\\r\\n  padding-top: 0.92857143em;\\r\\n  padding-bottom: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.vertically.fitted.menu .item,\\r\\n.ui.vertically.fitted.menu .item .menu .item,\\r\\n.ui.menu .vertically.fitted.item {\\r\\n  padding-left: 1.14285714em;\\r\\n  padding-right: 1.14285714em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Borderless\\r\\n---------------*/\\r\\n\\r\\n.ui.borderless.menu .item:before,\\r\\n.ui.borderless.menu .item .menu .item:before,\\r\\n.ui.menu .borderless.item:before {\\r\\n  background: none !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Compact\\r\\n--------------------*/\\r\\n\\r\\n.ui.compact.menu {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  margin: 0em;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.compact.vertical.menu {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n.ui.compact.menu .item:last-child {\\r\\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui.compact.menu .item:last-child:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.compact.vertical.menu {\\r\\n  width: auto !important;\\r\\n}\\r\\n\\r\\n.ui.compact.vertical.menu .item:last-child::before {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Fluid\\r\\n--------------------*/\\r\\n\\r\\n.ui.menu.fluid,\\r\\n.ui.vertical.menu.fluid {\\r\\n  width: 100% !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Evenly Sized\\r\\n--------------------*/\\r\\n\\r\\n.ui.item.menu,\\r\\n.ui.item.menu .item {\\r\\n  width: 100%;\\r\\n  padding-left: 0em !important;\\r\\n  padding-right: 0em !important;\\r\\n  margin-left: 0em !important;\\r\\n  margin-right: 0em !important;\\r\\n  text-align: center;\\r\\n  -webkit-box-pack: center;\\r\\n  -webkit-justify-content: center;\\r\\n  -ms-flex-pack: center;\\r\\n  justify-content: center;\\r\\n}\\r\\n\\r\\n.ui.item.menu .item:last-child:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.menu.two.item .item {\\r\\n  width: 50%;\\r\\n}\\r\\n\\r\\n.ui.menu.three.item .item {\\r\\n  width: 33.333%;\\r\\n}\\r\\n\\r\\n.ui.menu.four.item .item {\\r\\n  width: 25%;\\r\\n}\\r\\n\\r\\n.ui.menu.five.item .item {\\r\\n  width: 20%;\\r\\n}\\r\\n\\r\\n.ui.menu.six.item .item {\\r\\n  width: 16.666%;\\r\\n}\\r\\n\\r\\n.ui.menu.seven.item .item {\\r\\n  width: 14.285%;\\r\\n}\\r\\n\\r\\n.ui.menu.eight.item .item {\\r\\n  width: 12.500%;\\r\\n}\\r\\n\\r\\n.ui.menu.nine.item .item {\\r\\n  width: 11.11%;\\r\\n}\\r\\n\\r\\n.ui.menu.ten.item .item {\\r\\n  width: 10.0%;\\r\\n}\\r\\n\\r\\n.ui.menu.eleven.item .item {\\r\\n  width: 9.09%;\\r\\n}\\r\\n\\r\\n.ui.menu.twelve.item .item {\\r\\n  width: 8.333%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Fixed\\r\\n---------------*/\\r\\n\\r\\n.ui.menu.fixed {\\r\\n  position: fixed;\\r\\n  z-index: 101;\\r\\n  margin: 0em;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.menu.fixed,\\r\\n.ui.menu.fixed .item:first-child,\\r\\n.ui.menu.fixed .item:last-child {\\r\\n  border-radius: 0px !important;\\r\\n}\\r\\n\\r\\n.ui.fixed.menu,\\r\\n.ui[class*=\\\"top fixed\\\"].menu {\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  right: auto;\\r\\n  bottom: auto;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"top fixed\\\"].menu {\\r\\n  border-top: none;\\r\\n  border-left: none;\\r\\n  border-right: none;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right fixed\\\"].menu {\\r\\n  border-top: none;\\r\\n  border-bottom: none;\\r\\n  border-right: none;\\r\\n  top: 0px;\\r\\n  right: 0px;\\r\\n  left: auto;\\r\\n  bottom: auto;\\r\\n  width: auto;\\r\\n  height: 100%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom fixed\\\"].menu {\\r\\n  border-bottom: none;\\r\\n  border-left: none;\\r\\n  border-right: none;\\r\\n  bottom: 0px;\\r\\n  left: 0px;\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"left fixed\\\"].menu {\\r\\n  border-top: none;\\r\\n  border-bottom: none;\\r\\n  border-left: none;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  right: auto;\\r\\n  bottom: auto;\\r\\n  width: auto;\\r\\n  height: 100%;\\r\\n}\\r\\n\\r\\n/* Coupling with Grid */\\r\\n\\r\\n.ui.fixed.menu + .ui.grid {\\r\\n  padding-top: 2.75rem;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Pointing\\r\\n--------------------*/\\r\\n\\r\\n.ui.pointing.menu .item:after {\\r\\n  visibility: hidden;\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 100%;\\r\\n  left: 50%;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\\r\\n  background: none;\\r\\n  margin: 0.5px 0em 0em;\\r\\n  width: 0.57142857em;\\r\\n  height: 0.57142857em;\\r\\n  border: none;\\r\\n  border-bottom: 1px solid #D4D4D5;\\r\\n  border-right: 1px solid #D4D4D5;\\r\\n  z-index: 2;\\r\\n  -webkit-transition: background 0.1s ease;\\r\\n  transition: background 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.vertical.pointing.menu .item:after {\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  right: 0%;\\r\\n  bottom: auto;\\r\\n  left: auto;\\r\\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\\r\\n  transform: translateX(50%) translateY(-50%) rotate(45deg);\\r\\n  margin: 0em -0.5px 0em 0em;\\r\\n  border: none;\\r\\n  border-top: 1px solid #D4D4D5;\\r\\n  border-right: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.pointing.menu .active.item:after {\\r\\n  visibility: visible;\\r\\n}\\r\\n\\r\\n.ui.pointing.menu .active.dropdown.item:after {\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n/* Don't double up pointers */\\r\\n\\r\\n.ui.pointing.menu .dropdown.active.item:after,\\r\\n.ui.pointing.menu .active.item .menu .active.item:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Colors */\\r\\n\\r\\n.ui.pointing.menu .active.item:hover:after {\\r\\n  background-color: #F2F2F2;\\r\\n}\\r\\n\\r\\n.ui.pointing.menu .active.item:after {\\r\\n  background-color: #F2F2F2;\\r\\n}\\r\\n\\r\\n.ui.pointing.menu .active.item:hover:after {\\r\\n  background-color: #F2F2F2;\\r\\n}\\r\\n\\r\\n.ui.vertical.pointing.menu .active.item:hover:after {\\r\\n  background-color: #F2F2F2;\\r\\n}\\r\\n\\r\\n.ui.vertical.pointing.menu .active.item:after {\\r\\n  background-color: #F2F2F2;\\r\\n}\\r\\n\\r\\n.ui.vertical.pointing.menu .menu .active.item:after {\\r\\n  background-color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Attached\\r\\n---------------*/\\r\\n\\r\\n/* Middle */\\r\\n\\r\\n.ui.attached.menu {\\r\\n  top: 0px;\\r\\n  bottom: 0px;\\r\\n  border-radius: 0px;\\r\\n  margin: 0em -1px;\\r\\n  width: calc(100% +  2px );\\r\\n  max-width: calc(100% +  2px );\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.attached + .ui.attached.menu:not(.top) {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n/* Top */\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].menu {\\r\\n  bottom: 0px;\\r\\n  margin-bottom: 0em;\\r\\n  top: 0px;\\r\\n  margin-top: 1rem;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.menu[class*=\\\"top attached\\\"]:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/* Bottom */\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].menu {\\r\\n  bottom: 0px;\\r\\n  margin-top: 0em;\\r\\n  top: 0px;\\r\\n  margin-bottom: 1rem;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].menu:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Attached Menu Item */\\r\\n\\r\\n.ui.top.attached.menu > .item:first-child {\\r\\n  border-radius: 0.28571429rem 0em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.bottom.attached.menu > .item:first-child {\\r\\n  border-radius: 0em 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Tabular Attached */\\r\\n\\r\\n.ui.attached.menu:not(.tabular) {\\r\\n  border: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.attached.inverted.menu {\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n.ui.attached.tabular.menu {\\r\\n  margin-left: 0;\\r\\n  margin-right: 0;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizes\\r\\n---------------*/\\r\\n\\r\\n/* Mini */\\r\\n\\r\\n.ui.mini.menu {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.mini.vertical.menu {\\r\\n  width: 9rem;\\r\\n}\\r\\n\\r\\n/* Tiny */\\r\\n\\r\\n.ui.tiny.menu {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.vertical.menu {\\r\\n  width: 11rem;\\r\\n}\\r\\n\\r\\n/* Small */\\r\\n\\r\\n.ui.small.menu {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.small.vertical.menu {\\r\\n  width: 13rem;\\r\\n}\\r\\n\\r\\n/* Medium */\\r\\n\\r\\n.ui.menu {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.vertical.menu {\\r\\n  width: 15rem;\\r\\n}\\r\\n\\r\\n/* Large */\\r\\n\\r\\n.ui.large.menu {\\r\\n  font-size: 1.07142857rem;\\r\\n}\\r\\n\\r\\n.ui.large.vertical.menu {\\r\\n  width: 18rem;\\r\\n}\\r\\n\\r\\n/* Huge */\\r\\n\\r\\n.ui.huge.menu {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.huge.vertical.menu {\\r\\n  width: 20rem;\\r\\n}\\r\\n\\r\\n/* Big */\\r\\n\\r\\n.ui.big.menu {\\r\\n  font-size: 1.21428571rem;\\r\\n}\\r\\n\\r\\n.ui.big.vertical.menu {\\r\\n  width: 22rem;\\r\\n}\\r\\n\\r\\n/* Massive */\\r\\n\\r\\n.ui.massive.menu {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.massive.vertical.menu {\\r\\n  width: 25rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Message\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Message\\r\\n*******************************/\\r\\n\\r\\n.ui.message {\\r\\n  position: relative;\\r\\n  min-height: 1em;\\r\\n  margin: 1em 0em;\\r\\n  background: #F8F8F9;\\r\\n  padding: 1em 1.5em;\\r\\n  line-height: 1.4285em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\\r\\n  transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.message:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.message:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Content\\r\\n---------------*/\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.message .header {\\r\\n  display: block;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-weight: bold;\\r\\n  margin: -0.14285714em 0em 0rem 0em;\\r\\n}\\r\\n\\r\\n/* Default font size */\\r\\n\\r\\n.ui.message .header:not(.ui) {\\r\\n  font-size: 1.14285714em;\\r\\n}\\r\\n\\r\\n/* Paragraph */\\r\\n\\r\\n.ui.message p {\\r\\n  opacity: 0.85;\\r\\n  margin: 0.75em 0em;\\r\\n}\\r\\n\\r\\n.ui.message p:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.message p:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.message .header + p {\\r\\n  margin-top: 0.25em;\\r\\n}\\r\\n\\r\\n/* List */\\r\\n\\r\\n.ui.message .list:not(.ui) {\\r\\n  text-align: left;\\r\\n  padding: 0em;\\r\\n  opacity: 0.85;\\r\\n  list-style-position: inside;\\r\\n  margin: 0.5em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.message .list:not(.ui):first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.message .list:not(.ui):last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n.ui.message .list:not(.ui) li {\\r\\n  position: relative;\\r\\n  list-style-type: none;\\r\\n  margin: 0em 0em 0.3em 1em;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n.ui.message .list:not(.ui) li:before {\\r\\n  position: absolute;\\r\\n  content: '\\\\2022';\\r\\n  left: -1em;\\r\\n  height: 100%;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n.ui.message .list:not(.ui) li:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.message > .icon {\\r\\n  margin-right: 0.6em;\\r\\n}\\r\\n\\r\\n/* Close Icon */\\r\\n\\r\\n.ui.message > .close.icon {\\r\\n  cursor: pointer;\\r\\n  position: absolute;\\r\\n  margin: 0em;\\r\\n  top: 0.78575em;\\r\\n  right: 0.5em;\\r\\n  opacity: 0.7;\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.message > .close.icon:hover {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/* First / Last Element */\\r\\n\\r\\n.ui.message > :first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.message > :last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Coupling\\r\\n*******************************/\\r\\n\\r\\n.ui.dropdown .menu > .message {\\r\\n  margin: 0px -1px;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Visible\\r\\n---------------*/\\r\\n\\r\\n.ui.visible.visible.visible.visible.message {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.icon.visible.visible.visible.visible.message {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Hidden\\r\\n---------------*/\\r\\n\\r\\n.ui.hidden.hidden.hidden.hidden.message {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Compact\\r\\n---------------*/\\r\\n\\r\\n.ui.compact.message {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Attached\\r\\n---------------*/\\r\\n\\r\\n.ui.attached.message {\\r\\n  margin-bottom: -1px;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset;\\r\\n  margin-left: -1px;\\r\\n  margin-right: -1px;\\r\\n}\\r\\n\\r\\n.ui.attached + .ui.attached.message:not(.top):not(.bottom) {\\r\\n  margin-top: -1px;\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.bottom.attached.message {\\r\\n  margin-top: -1px;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset, 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.bottom.attached.message:not(:last-child) {\\r\\n  margin-bottom: 1em;\\r\\n}\\r\\n\\r\\n.ui.attached.icon.message {\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.icon.message {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  width: 100%;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  align-items: center;\\r\\n}\\r\\n\\r\\n.ui.icon.message > .icon:not(.close) {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 0 auto;\\r\\n  -ms-flex: 0 0 auto;\\r\\n  flex: 0 0 auto;\\r\\n  width: auto;\\r\\n  line-height: 1;\\r\\n  vertical-align: middle;\\r\\n  font-size: 3em;\\r\\n  opacity: 0.8;\\r\\n}\\r\\n\\r\\n.ui.icon.message > .content {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 1 auto;\\r\\n  -ms-flex: 1 1 auto;\\r\\n  flex: 1 1 auto;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.icon.message .icon:not(.close) + .content {\\r\\n  padding-left: 0rem;\\r\\n}\\r\\n\\r\\n.ui.icon.message .circular.icon {\\r\\n  width: 1em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Floating\\r\\n---------------*/\\r\\n\\r\\n.ui.floating.message {\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Colors\\r\\n---------------*/\\r\\n\\r\\n.ui.black.message {\\r\\n  background-color: #1B1C1D;\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Types\\r\\n---------------*/\\r\\n\\r\\n/* Positive */\\r\\n\\r\\n.ui.positive.message {\\r\\n  background-color: #FCFFF5;\\r\\n  color: #2C662D;\\r\\n}\\r\\n\\r\\n.ui.positive.message,\\r\\n.ui.attached.positive.message {\\r\\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.positive.message .header {\\r\\n  color: #1A531B;\\r\\n}\\r\\n\\r\\n/* Negative */\\r\\n\\r\\n.ui.negative.message {\\r\\n  background-color: #FFF6F6;\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n.ui.negative.message,\\r\\n.ui.attached.negative.message {\\r\\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.negative.message .header {\\r\\n  color: #912D2B;\\r\\n}\\r\\n\\r\\n/* Info */\\r\\n\\r\\n.ui.info.message {\\r\\n  background-color: #F8FFFF;\\r\\n  color: #276F86;\\r\\n}\\r\\n\\r\\n.ui.info.message,\\r\\n.ui.attached.info.message {\\r\\n  box-shadow: 0px 0px 0px 1px #A9D5DE inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.info.message .header {\\r\\n  color: #0E566C;\\r\\n}\\r\\n\\r\\n/* Warning */\\r\\n\\r\\n.ui.warning.message {\\r\\n  background-color: #FFFAF3;\\r\\n  color: #573A08;\\r\\n}\\r\\n\\r\\n.ui.warning.message,\\r\\n.ui.attached.warning.message {\\r\\n  box-shadow: 0px 0px 0px 1px #C9BA9B inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.warning.message .header {\\r\\n  color: #794B02;\\r\\n}\\r\\n\\r\\n/* Error */\\r\\n\\r\\n.ui.error.message {\\r\\n  background-color: #FFF6F6;\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n.ui.error.message,\\r\\n.ui.attached.error.message {\\r\\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.error.message .header {\\r\\n  color: #912D2B;\\r\\n}\\r\\n\\r\\n/* Success */\\r\\n\\r\\n.ui.success.message {\\r\\n  background-color: #FCFFF5;\\r\\n  color: #2C662D;\\r\\n}\\r\\n\\r\\n.ui.success.message,\\r\\n.ui.attached.success.message {\\r\\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.success.message .header {\\r\\n  color: #1A531B;\\r\\n}\\r\\n\\r\\n/* Colors */\\r\\n\\r\\n.ui.inverted.message,\\r\\n.ui.black.message {\\r\\n  background-color: #1B1C1D;\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.red.message {\\r\\n  background-color: #FFE8E6;\\r\\n  color: #DB2828;\\r\\n  box-shadow: 0px 0px 0px 1px #DB2828 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.red.message .header {\\r\\n  color: #c82121;\\r\\n}\\r\\n\\r\\n.ui.orange.message {\\r\\n  background-color: #FFEDDE;\\r\\n  color: #F2711C;\\r\\n  box-shadow: 0px 0px 0px 1px #F2711C inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.orange.message .header {\\r\\n  color: #e7640d;\\r\\n}\\r\\n\\r\\n.ui.yellow.message {\\r\\n  background-color: #FFF8DB;\\r\\n  color: #B58105;\\r\\n  box-shadow: 0px 0px 0px 1px #B58105 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.yellow.message .header {\\r\\n  color: #9c6f04;\\r\\n}\\r\\n\\r\\n.ui.olive.message {\\r\\n  background-color: #FBFDEF;\\r\\n  color: #8ABC1E;\\r\\n  box-shadow: 0px 0px 0px 1px #8ABC1E inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.olive.message .header {\\r\\n  color: #7aa61a;\\r\\n}\\r\\n\\r\\n.ui.green.message {\\r\\n  background-color: #E5F9E7;\\r\\n  color: #1EBC30;\\r\\n  box-shadow: 0px 0px 0px 1px #1EBC30 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.green.message .header {\\r\\n  color: #1aa62a;\\r\\n}\\r\\n\\r\\n.ui.teal.message {\\r\\n  background-color: #E1F7F7;\\r\\n  color: #10A3A3;\\r\\n  box-shadow: 0px 0px 0px 1px #10A3A3 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.teal.message .header {\\r\\n  color: #0e8c8c;\\r\\n}\\r\\n\\r\\n.ui.blue.message {\\r\\n  background-color: #DFF0FF;\\r\\n  color: #2185D0;\\r\\n  box-shadow: 0px 0px 0px 1px #2185D0 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.blue.message .header {\\r\\n  color: #1e77ba;\\r\\n}\\r\\n\\r\\n.ui.violet.message {\\r\\n  background-color: #EAE7FF;\\r\\n  color: #6435C9;\\r\\n  box-shadow: 0px 0px 0px 1px #6435C9 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.violet.message .header {\\r\\n  color: #5a30b5;\\r\\n}\\r\\n\\r\\n.ui.purple.message {\\r\\n  background-color: #F6E7FF;\\r\\n  color: #A333C8;\\r\\n  box-shadow: 0px 0px 0px 1px #A333C8 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.purple.message .header {\\r\\n  color: #922eb4;\\r\\n}\\r\\n\\r\\n.ui.pink.message {\\r\\n  background-color: #FFE3FB;\\r\\n  color: #E03997;\\r\\n  box-shadow: 0px 0px 0px 1px #E03997 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.pink.message .header {\\r\\n  color: #dd238b;\\r\\n}\\r\\n\\r\\n.ui.brown.message {\\r\\n  background-color: #F1E2D3;\\r\\n  color: #A5673F;\\r\\n  box-shadow: 0px 0px 0px 1px #A5673F inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.brown.message .header {\\r\\n  color: #935b38;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizes\\r\\n---------------*/\\r\\n\\r\\n.ui.mini.message {\\r\\n  font-size: 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.tiny.message {\\r\\n  font-size: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui.small.message {\\r\\n  font-size: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.message {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.large.message {\\r\\n  font-size: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.big.message {\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n.ui.huge.message {\\r\\n  font-size: 1.42857143em;\\r\\n}\\r\\n\\r\\n.ui.massive.message {\\r\\n  font-size: 1.71428571em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n        Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Table\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Table\\r\\n*******************************/\\r\\n\\r\\n/* Prototype */\\r\\n\\r\\n.ui.table {\\r\\n  width: 100%;\\r\\n  background: #FFFFFF;\\r\\n  margin: 1em 0em;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: none;\\r\\n  border-radius: 0.28571429rem;\\r\\n  text-align: left;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  border-collapse: separate;\\r\\n  border-spacing: 0px;\\r\\n}\\r\\n\\r\\n.ui.table:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.table:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Parts\\r\\n*******************************/\\r\\n\\r\\n/* Table Content */\\r\\n\\r\\n.ui.table th,\\r\\n.ui.table td {\\r\\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\\r\\n  transition: background 0.1s ease, color 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Headers */\\r\\n\\r\\n.ui.table thead {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.table thead th {\\r\\n  cursor: auto;\\r\\n  background: #F9FAFB;\\r\\n  text-align: inherit;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  padding: 0.92857143em 0.78571429em;\\r\\n  vertical-align: inherit;\\r\\n  font-style: none;\\r\\n  font-weight: bold;\\r\\n  text-transform: none;\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.table thead tr > th:first-child {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.table thead tr:first-child > th:first-child {\\r\\n  border-radius: 0.28571429rem 0em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.table thead tr:first-child > th:last-child {\\r\\n  border-radius: 0em 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.table thead tr:first-child > th:only-child {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n/* Footer */\\r\\n\\r\\n.ui.table tfoot {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.table tfoot th {\\r\\n  cursor: auto;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  background: #F9FAFB;\\r\\n  text-align: inherit;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  padding: 0.78571429em 0.78571429em;\\r\\n  vertical-align: middle;\\r\\n  font-style: normal;\\r\\n  font-weight: normal;\\r\\n  text-transform: none;\\r\\n}\\r\\n\\r\\n.ui.table tfoot tr > th:first-child {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.table tfoot tr:first-child > th:first-child {\\r\\n  border-radius: 0em 0em 0em 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.table tfoot tr:first-child > th:last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n.ui.table tfoot tr:first-child > th:only-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Table Row */\\r\\n\\r\\n.ui.table tr td {\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.table tr:first-child td {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n/* Table Cells */\\r\\n\\r\\n.ui.table td {\\r\\n  padding: 0.78571429em 0.78571429em;\\r\\n  text-align: inherit;\\r\\n}\\r\\n\\r\\n/* Icons */\\r\\n\\r\\n.ui.table > .icon {\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n.ui.table > .icon:only-child {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/* Table Segment */\\r\\n\\r\\n.ui.table.segment {\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n.ui.table.segment:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.table.segment.stacked:after {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/* Responsive */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.table:not(.unstackable) {\\r\\n    width: 100%;\\r\\n  }\\r\\n\\r\\n  .ui.table:not(.unstackable) tbody,\\r\\n  .ui.table:not(.unstackable) tr,\\r\\n  .ui.table:not(.unstackable) tr > th,\\r\\n  .ui.table:not(.unstackable) tr > td {\\r\\n    width: auto !important;\\r\\n    display: block !important;\\r\\n  }\\r\\n\\r\\n  .ui.table:not(.unstackable) {\\r\\n    padding: 0em;\\r\\n  }\\r\\n\\r\\n  .ui.table:not(.unstackable) thead {\\r\\n    display: block;\\r\\n  }\\r\\n\\r\\n  .ui.table:not(.unstackable) tfoot {\\r\\n    display: block;\\r\\n  }\\r\\n\\r\\n  .ui.table:not(.unstackable) tr {\\r\\n    padding-top: 1em;\\r\\n    padding-bottom: 1em;\\r\\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\\r\\n  }\\r\\n\\r\\n  .ui.table:not(.unstackable) tr > th,\\r\\n  .ui.table:not(.unstackable) tr > td {\\r\\n    background: none;\\r\\n    border: none !important;\\r\\n    padding: 0.25em 0.75em !important;\\r\\n    box-shadow: none !important;\\r\\n  }\\r\\n\\r\\n  .ui.table:not(.unstackable) th:first-child,\\r\\n  .ui.table:not(.unstackable) td:first-child {\\r\\n    font-weight: bold;\\r\\n  }\\r\\n\\r\\n  /* Definition Table */\\r\\n\\r\\n  .ui.definition.table:not(.unstackable) thead th:first-child {\\r\\n    box-shadow: none !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Coupling\\r\\n*******************************/\\r\\n\\r\\n/* UI Image */\\r\\n\\r\\n.ui.table th .image,\\r\\n.ui.table th .image img,\\r\\n.ui.table td .image,\\r\\n.ui.table td .image img {\\r\\n  max-width: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Complex\\r\\n---------------*/\\r\\n\\r\\n.ui.structured.table {\\r\\n  border-collapse: collapse;\\r\\n}\\r\\n\\r\\n.ui.structured.table thead th {\\r\\n  border-left: none;\\r\\n  border-right: none;\\r\\n}\\r\\n\\r\\n.ui.structured.sortable.table thead th {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.structured.basic.table th {\\r\\n  border-left: none;\\r\\n  border-right: none;\\r\\n}\\r\\n\\r\\n.ui.structured.celled.table tr th,\\r\\n.ui.structured.celled.table tr td {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\\r\\n  border-right: 1px solid rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Definition\\r\\n---------------*/\\r\\n\\r\\n.ui.definition.table thead:not(.full-width) th:first-child {\\r\\n  pointer-events: none;\\r\\n  background: transparent;\\r\\n  font-weight: normal;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  box-shadow: -1px -1px 0px 1px #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.definition.table tfoot:not(.full-width) th:first-child {\\r\\n  pointer-events: none;\\r\\n  background: transparent;\\r\\n  font-weight: rgba(0, 0, 0, 0.4);\\r\\n  color: normal;\\r\\n  box-shadow: 1px 1px 0px 1px #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Remove Border */\\r\\n\\r\\n.ui.celled.definition.table thead:not(.full-width) th:first-child {\\r\\n  box-shadow: 0px -1px 0px 1px #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.celled.definition.table tfoot:not(.full-width) th:first-child {\\r\\n  box-shadow: 0px 1px 0px 1px #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Highlight Defining Column */\\r\\n\\r\\n.ui.definition.table tr td:first-child:not(.ignored),\\r\\n.ui.definition.table tr td.definition {\\r\\n  background: rgba(0, 0, 0, 0.03);\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  text-transform: '';\\r\\n  box-shadow: '';\\r\\n  text-align: '';\\r\\n  font-size: 1em;\\r\\n  padding-left: '';\\r\\n  padding-right: '';\\r\\n}\\r\\n\\r\\n/* Fix 2nd Column */\\r\\n\\r\\n.ui.definition.table thead:not(.full-width) th:nth-child(2) {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.definition.table tfoot:not(.full-width) th:nth-child(2) {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.definition.table td:nth-child(2) {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Positive\\r\\n---------------*/\\r\\n\\r\\n.ui.table tr.positive,\\r\\n.ui.table td.positive {\\r\\n  box-shadow: 0px 0px 0px #A3C293 inset;\\r\\n}\\r\\n\\r\\n.ui.table tr.positive,\\r\\n.ui.table td.positive {\\r\\n  background: #FCFFF5 !important;\\r\\n  color: #2C662D !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Negative\\r\\n---------------*/\\r\\n\\r\\n.ui.table tr.negative,\\r\\n.ui.table td.negative {\\r\\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\\r\\n}\\r\\n\\r\\n.ui.table tr.negative,\\r\\n.ui.table td.negative {\\r\\n  background: #FFF6F6 !important;\\r\\n  color: #9F3A38 !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Error\\r\\n---------------*/\\r\\n\\r\\n.ui.table tr.error,\\r\\n.ui.table td.error {\\r\\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\\r\\n}\\r\\n\\r\\n.ui.table tr.error,\\r\\n.ui.table td.error {\\r\\n  background: #FFF6F6 !important;\\r\\n  color: #9F3A38 !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Warning\\r\\n---------------*/\\r\\n\\r\\n.ui.table tr.warning,\\r\\n.ui.table td.warning {\\r\\n  box-shadow: 0px 0px 0px #C9BA9B inset;\\r\\n}\\r\\n\\r\\n.ui.table tr.warning,\\r\\n.ui.table td.warning {\\r\\n  background: #FFFAF3 !important;\\r\\n  color: #573A08 !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.table tr.active,\\r\\n.ui.table td.active {\\r\\n  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.87) inset;\\r\\n}\\r\\n\\r\\n.ui.table tr.active,\\r\\n.ui.table td.active {\\r\\n  background: #E0E0E0 !important;\\r\\n  color: rgba(0, 0, 0, 0.87) !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Disabled\\r\\n---------------*/\\r\\n\\r\\n.ui.table tr.disabled td,\\r\\n.ui.table tr td.disabled,\\r\\n.ui.table tr.disabled:hover,\\r\\n.ui.table tr:hover td.disabled {\\r\\n  pointer-events: none;\\r\\n  color: rgba(40, 40, 40, 0.3);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Stackable\\r\\n---------------*/\\r\\n\\r\\n@media only screen and (max-width: 991px) {\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table,\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tbody,\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tr,\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tr > th,\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tr > td {\\r\\n    width: 100% !important;\\r\\n    display: block !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table {\\r\\n    padding: 0em;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table thead {\\r\\n    display: block;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tfoot {\\r\\n    display: block;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tr {\\r\\n    padding-top: 1em;\\r\\n    padding-bottom: 1em;\\r\\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\\r\\n  }\\r\\n\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tr > th,\\r\\n  .ui[class*=\\\"tablet stackable\\\"].table tr > td {\\r\\n    background: none;\\r\\n    border: none !important;\\r\\n    padding: 0.25em 0.75em;\\r\\n    box-shadow: none !important;\\r\\n  }\\r\\n\\r\\n  /* Definition Table */\\r\\n\\r\\n  .ui.definition[class*=\\\"tablet stackable\\\"].table thead th:first-child {\\r\\n    box-shadow: none !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n Text Alignment\\r\\n---------------*/\\r\\n\\r\\n.ui.table[class*=\\\"left aligned\\\"],\\r\\n.ui.table [class*=\\\"left aligned\\\"] {\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n.ui.table[class*=\\\"center aligned\\\"],\\r\\n.ui.table [class*=\\\"center aligned\\\"] {\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.table[class*=\\\"right aligned\\\"],\\r\\n.ui.table [class*=\\\"right aligned\\\"] {\\r\\n  text-align: right;\\r\\n}\\r\\n\\r\\n/*------------------\\r\\n Vertical Alignment\\r\\n------------------*/\\r\\n\\r\\n.ui.table[class*=\\\"top aligned\\\"],\\r\\n.ui.table [class*=\\\"top aligned\\\"] {\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.table[class*=\\\"middle aligned\\\"],\\r\\n.ui.table [class*=\\\"middle aligned\\\"] {\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.table[class*=\\\"bottom aligned\\\"],\\r\\n.ui.table [class*=\\\"bottom aligned\\\"] {\\r\\n  vertical-align: bottom;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Collapsing\\r\\n---------------*/\\r\\n\\r\\n.ui.table th.collapsing,\\r\\n.ui.table td.collapsing {\\r\\n  width: 1px;\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Fixed\\r\\n---------------*/\\r\\n\\r\\n.ui.fixed.table {\\r\\n  table-layout: fixed;\\r\\n}\\r\\n\\r\\n.ui.fixed.table th,\\r\\n.ui.fixed.table td {\\r\\n  overflow: hidden;\\r\\n  text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Selectable\\r\\n---------------*/\\r\\n\\r\\n.ui.selectable.table tbody tr:hover,\\r\\n.ui.table tbody tr td.selectable:hover {\\r\\n  background: rgba(0, 0, 0, 0.05) !important;\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.selectable.inverted.table tbody tr:hover,\\r\\n.ui.inverted.table tbody tr td.selectable:hover {\\r\\n  background: rgba(255, 255, 255, 0.08) !important;\\r\\n  color: #ffffff !important;\\r\\n}\\r\\n\\r\\n/* Selectable Cell Link */\\r\\n\\r\\n.ui.table tbody tr td.selectable {\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n.ui.table tbody tr td.selectable > a:not(.ui) {\\r\\n  display: block;\\r\\n  color: inherit;\\r\\n  padding: 0.78571429em 0.78571429em;\\r\\n}\\r\\n\\r\\n/* Other States */\\r\\n\\r\\n.ui.selectable.table tr.error:hover,\\r\\n.ui.table tr td.selectable.error:hover,\\r\\n.ui.selectable.table tr:hover td.error {\\r\\n  background: #ffe7e7 !important;\\r\\n  color: #943634 !important;\\r\\n}\\r\\n\\r\\n.ui.selectable.table tr.warning:hover,\\r\\n.ui.table tr td.selectable.warning:hover,\\r\\n.ui.selectable.table tr:hover td.warning {\\r\\n  background: #fff4e4 !important;\\r\\n  color: #493107 !important;\\r\\n}\\r\\n\\r\\n.ui.selectable.table tr.active:hover,\\r\\n.ui.table tr td.selectable.active:hover,\\r\\n.ui.selectable.table tr:hover td.active {\\r\\n  background: #E0E0E0 !important;\\r\\n  color: rgba(0, 0, 0, 0.87) !important;\\r\\n}\\r\\n\\r\\n.ui.selectable.table tr.positive:hover,\\r\\n.ui.table tr td.selectable.positive:hover,\\r\\n.ui.selectable.table tr:hover td.positive {\\r\\n  background: #f7ffe6 !important;\\r\\n  color: #275b28 !important;\\r\\n}\\r\\n\\r\\n.ui.selectable.table tr.negative:hover,\\r\\n.ui.table tr td.selectable.negative:hover,\\r\\n.ui.selectable.table tr:hover td.negative {\\r\\n  background: #ffe7e7 !important;\\r\\n  color: #943634 !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Attached\\r\\n--------------------*/\\r\\n\\r\\n/* Middle */\\r\\n\\r\\n.ui.attached.table {\\r\\n  top: 0px;\\r\\n  bottom: 0px;\\r\\n  border-radius: 0px;\\r\\n  margin: 0em -1px;\\r\\n  width: calc(100% +  2px );\\r\\n  max-width: calc(100% +  2px );\\r\\n  box-shadow: none;\\r\\n  border: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.attached + .ui.attached.table:not(.top) {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n/* Top */\\r\\n\\r\\n.ui[class*=\\\"top attached\\\"].table {\\r\\n  bottom: 0px;\\r\\n  margin-bottom: 0em;\\r\\n  top: 0px;\\r\\n  margin-top: 1em;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.table[class*=\\\"top attached\\\"]:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/* Bottom */\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].table {\\r\\n  bottom: 0px;\\r\\n  margin-top: 0em;\\r\\n  top: 0px;\\r\\n  margin-bottom: 1em;\\r\\n  box-shadow: none, none;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"bottom attached\\\"].table:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Striped\\r\\n---------------*/\\r\\n\\r\\n/* Table Striping */\\r\\n\\r\\n.ui.striped.table > tr:nth-child(2n),\\r\\n.ui.striped.table tbody tr:nth-child(2n) {\\r\\n  background-color: rgba(0, 0, 50, 0.02);\\r\\n}\\r\\n\\r\\n/* Stripes */\\r\\n\\r\\n.ui.inverted.striped.table > tr:nth-child(2n),\\r\\n.ui.inverted.striped.table tbody tr:nth-child(2n) {\\r\\n  background-color: rgba(255, 255, 255, 0.05);\\r\\n}\\r\\n\\r\\n/* Allow striped active hover */\\r\\n\\r\\n.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover {\\r\\n  background: #EFEFEF !important;\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Single Line\\r\\n---------------*/\\r\\n\\r\\n.ui.table[class*=\\\"single line\\\"],\\r\\n.ui.table [class*=\\\"single line\\\"] {\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\n.ui.table[class*=\\\"single line\\\"],\\r\\n.ui.table [class*=\\\"single line\\\"] {\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Colors\\r\\n--------------------*/\\r\\n\\r\\n/* Red */\\r\\n\\r\\n.ui.red.table {\\r\\n  border-top: 0.2em solid #DB2828;\\r\\n}\\r\\n\\r\\n.ui.inverted.red.table {\\r\\n  background-color: #DB2828 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Orange */\\r\\n\\r\\n.ui.orange.table {\\r\\n  border-top: 0.2em solid #F2711C;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.table {\\r\\n  background-color: #F2711C !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Yellow */\\r\\n\\r\\n.ui.yellow.table {\\r\\n  border-top: 0.2em solid #FBBD08;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.table {\\r\\n  background-color: #FBBD08 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Olive */\\r\\n\\r\\n.ui.olive.table {\\r\\n  border-top: 0.2em solid #B5CC18;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.table {\\r\\n  background-color: #B5CC18 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Green */\\r\\n\\r\\n.ui.green.table {\\r\\n  border-top: 0.2em solid #21BA45;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.table {\\r\\n  background-color: #21BA45 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Teal */\\r\\n\\r\\n.ui.teal.table {\\r\\n  border-top: 0.2em solid #00B5AD;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.table {\\r\\n  background-color: #00B5AD !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Blue */\\r\\n\\r\\n.ui.blue.table {\\r\\n  border-top: 0.2em solid #2185D0;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.table {\\r\\n  background-color: #2185D0 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Violet */\\r\\n\\r\\n.ui.violet.table {\\r\\n  border-top: 0.2em solid #6435C9;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.table {\\r\\n  background-color: #6435C9 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Purple */\\r\\n\\r\\n.ui.purple.table {\\r\\n  border-top: 0.2em solid #A333C8;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.table {\\r\\n  background-color: #A333C8 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Pink */\\r\\n\\r\\n.ui.pink.table {\\r\\n  border-top: 0.2em solid #E03997;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.table {\\r\\n  background-color: #E03997 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Brown */\\r\\n\\r\\n.ui.brown.table {\\r\\n  border-top: 0.2em solid #A5673F;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.table {\\r\\n  background-color: #A5673F !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Grey */\\r\\n\\r\\n.ui.grey.table {\\r\\n  border-top: 0.2em solid #767676;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.table {\\r\\n  background-color: #767676 !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/* Black */\\r\\n\\r\\n.ui.black.table {\\r\\n  border-top: 0.2em solid #1B1C1D;\\r\\n}\\r\\n\\r\\n.ui.inverted.black.table {\\r\\n  background-color: #1B1C1D !important;\\r\\n  color: #FFFFFF !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Column Count\\r\\n---------------*/\\r\\n\\r\\n/* Grid Based */\\r\\n\\r\\n.ui.one.column.table td {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.two.column.table td {\\r\\n  width: 50%;\\r\\n}\\r\\n\\r\\n.ui.three.column.table td {\\r\\n  width: 33.33333333%;\\r\\n}\\r\\n\\r\\n.ui.four.column.table td {\\r\\n  width: 25%;\\r\\n}\\r\\n\\r\\n.ui.five.column.table td {\\r\\n  width: 20%;\\r\\n}\\r\\n\\r\\n.ui.six.column.table td {\\r\\n  width: 16.66666667%;\\r\\n}\\r\\n\\r\\n.ui.seven.column.table td {\\r\\n  width: 14.28571429%;\\r\\n}\\r\\n\\r\\n.ui.eight.column.table td {\\r\\n  width: 12.5%;\\r\\n}\\r\\n\\r\\n.ui.nine.column.table td {\\r\\n  width: 11.11111111%;\\r\\n}\\r\\n\\r\\n.ui.ten.column.table td {\\r\\n  width: 10%;\\r\\n}\\r\\n\\r\\n.ui.eleven.column.table td {\\r\\n  width: 9.09090909%;\\r\\n}\\r\\n\\r\\n.ui.twelve.column.table td {\\r\\n  width: 8.33333333%;\\r\\n}\\r\\n\\r\\n.ui.thirteen.column.table td {\\r\\n  width: 7.69230769%;\\r\\n}\\r\\n\\r\\n.ui.fourteen.column.table td {\\r\\n  width: 7.14285714%;\\r\\n}\\r\\n\\r\\n.ui.fifteen.column.table td {\\r\\n  width: 6.66666667%;\\r\\n}\\r\\n\\r\\n.ui.sixteen.column.table td {\\r\\n  width: 6.25%;\\r\\n}\\r\\n\\r\\n/* Column Width */\\r\\n\\r\\n.ui.table th.one.wide,\\r\\n.ui.table td.one.wide {\\r\\n  width: 6.25%;\\r\\n}\\r\\n\\r\\n.ui.table th.two.wide,\\r\\n.ui.table td.two.wide {\\r\\n  width: 12.5%;\\r\\n}\\r\\n\\r\\n.ui.table th.three.wide,\\r\\n.ui.table td.three.wide {\\r\\n  width: 18.75%;\\r\\n}\\r\\n\\r\\n.ui.table th.four.wide,\\r\\n.ui.table td.four.wide {\\r\\n  width: 25%;\\r\\n}\\r\\n\\r\\n.ui.table th.five.wide,\\r\\n.ui.table td.five.wide {\\r\\n  width: 31.25%;\\r\\n}\\r\\n\\r\\n.ui.table th.six.wide,\\r\\n.ui.table td.six.wide {\\r\\n  width: 37.5%;\\r\\n}\\r\\n\\r\\n.ui.table th.seven.wide,\\r\\n.ui.table td.seven.wide {\\r\\n  width: 43.75%;\\r\\n}\\r\\n\\r\\n.ui.table th.eight.wide,\\r\\n.ui.table td.eight.wide {\\r\\n  width: 50%;\\r\\n}\\r\\n\\r\\n.ui.table th.nine.wide,\\r\\n.ui.table td.nine.wide {\\r\\n  width: 56.25%;\\r\\n}\\r\\n\\r\\n.ui.table th.ten.wide,\\r\\n.ui.table td.ten.wide {\\r\\n  width: 62.5%;\\r\\n}\\r\\n\\r\\n.ui.table th.eleven.wide,\\r\\n.ui.table td.eleven.wide {\\r\\n  width: 68.75%;\\r\\n}\\r\\n\\r\\n.ui.table th.twelve.wide,\\r\\n.ui.table td.twelve.wide {\\r\\n  width: 75%;\\r\\n}\\r\\n\\r\\n.ui.table th.thirteen.wide,\\r\\n.ui.table td.thirteen.wide {\\r\\n  width: 81.25%;\\r\\n}\\r\\n\\r\\n.ui.table th.fourteen.wide,\\r\\n.ui.table td.fourteen.wide {\\r\\n  width: 87.5%;\\r\\n}\\r\\n\\r\\n.ui.table th.fifteen.wide,\\r\\n.ui.table td.fifteen.wide {\\r\\n  width: 93.75%;\\r\\n}\\r\\n\\r\\n.ui.table th.sixteen.wide,\\r\\n.ui.table td.sixteen.wide {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Sortable\\r\\n---------------*/\\r\\n\\r\\n.ui.sortable.table thead th {\\r\\n  cursor: pointer;\\r\\n  white-space: nowrap;\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.sortable.table thead th:first-child {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.sortable.table thead th.sorted,\\r\\n.ui.sortable.table thead th.sorted:hover {\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n}\\r\\n\\r\\n.ui.sortable.table thead th:after {\\r\\n  display: none;\\r\\n  font-style: normal;\\r\\n  font-weight: normal;\\r\\n  text-decoration: inherit;\\r\\n  content: '';\\r\\n  height: 1em;\\r\\n  width: auto;\\r\\n  opacity: 0.8;\\r\\n  margin: 0em 0em 0em 0.5em;\\r\\n  font-family: 'Icons';\\r\\n}\\r\\n\\r\\n.ui.sortable.table thead th.ascending:after {\\r\\n  content: '\\\\F0D8';\\r\\n}\\r\\n\\r\\n.ui.sortable.table thead th.descending:after {\\r\\n  content: '\\\\F0D7';\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.sortable.table th.disabled:hover {\\r\\n  cursor: auto;\\r\\n  color: rgba(40, 40, 40, 0.3);\\r\\n}\\r\\n\\r\\n.ui.sortable.table thead th:hover {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/* Sorted */\\r\\n\\r\\n.ui.sortable.table thead th.sorted {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.sortable.table thead th.sorted:after {\\r\\n  display: inline-block;\\r\\n}\\r\\n\\r\\n/* Sorted Hover */\\r\\n\\r\\n.ui.sortable.table thead th.sorted:hover {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Inverted */\\r\\n\\r\\n.ui.inverted.sortable.table thead th.sorted {\\r\\n  background: rgba(255, 255, 255, 0.15) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.sortable.table thead th:hover {\\r\\n  background: rgba(255, 255, 255, 0.08) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n.ui.inverted.sortable.table thead th {\\r\\n  border-left-color: transparent;\\r\\n  border-right-color: transparent;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n/* Text Color */\\r\\n\\r\\n.ui.inverted.table {\\r\\n  background: #333333;\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n.ui.inverted.table th {\\r\\n  background-color: rgba(0, 0, 0, 0.15);\\r\\n  border-color: rgba(255, 255, 255, 0.1) !important;\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.inverted.table tr td {\\r\\n  border-color: rgba(255, 255, 255, 0.1) !important;\\r\\n}\\r\\n\\r\\n.ui.inverted.table tr.disabled td,\\r\\n.ui.inverted.table tr td.disabled,\\r\\n.ui.inverted.table tr.disabled:hover td,\\r\\n.ui.inverted.table tr:hover td.disabled {\\r\\n  pointer-events: none;\\r\\n  color: rgba(225, 225, 225, 0.3);\\r\\n}\\r\\n\\r\\n/* Definition */\\r\\n\\r\\n.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,\\r\\n.ui.inverted.definition.table thead:not(.full-width) th:first-child {\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.definition.table tr td:first-child {\\r\\n  background: rgba(255, 255, 255, 0.02);\\r\\n  color: #ffffff;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Collapsing\\r\\n---------------*/\\r\\n\\r\\n.ui.collapsing.table {\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Basic\\r\\n---------------*/\\r\\n\\r\\n.ui.basic.table {\\r\\n  background: transparent;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.basic.table thead,\\r\\n.ui.basic.table tfoot {\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.basic.table th {\\r\\n  background: transparent;\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n.ui.basic.table tbody tr {\\r\\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.ui.basic.table td {\\r\\n  background: transparent;\\r\\n}\\r\\n\\r\\n.ui.basic.striped.table tbody tr:nth-child(2n) {\\r\\n  background-color: rgba(0, 0, 0, 0.05) !important;\\r\\n}\\r\\n\\r\\n/* Very Basic */\\r\\n\\r\\n.ui[class*=\\\"very basic\\\"].table {\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very basic\\\"].table:not(.sortable):not(.striped) th,\\r\\n.ui[class*=\\\"very basic\\\"].table:not(.sortable):not(.striped) td {\\r\\n  padding: '';\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very basic\\\"].table:not(.sortable):not(.striped) th:first-child,\\r\\n.ui[class*=\\\"very basic\\\"].table:not(.sortable):not(.striped) td:first-child {\\r\\n  padding-left: 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very basic\\\"].table:not(.sortable):not(.striped) th:last-child,\\r\\n.ui[class*=\\\"very basic\\\"].table:not(.sortable):not(.striped) td:last-child {\\r\\n  padding-right: 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very basic\\\"].table:not(.sortable):not(.striped) thead tr:first-child th {\\r\\n  padding-top: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Celled\\r\\n---------------*/\\r\\n\\r\\n.ui.celled.table tr th,\\r\\n.ui.celled.table tr td {\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.celled.table tr th:first-child,\\r\\n.ui.celled.table tr td:first-child {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Padded\\r\\n---------------*/\\r\\n\\r\\n.ui.padded.table th {\\r\\n  padding-left: 1em;\\r\\n  padding-right: 1em;\\r\\n}\\r\\n\\r\\n.ui.padded.table th,\\r\\n.ui.padded.table td {\\r\\n  padding: 1em 1em;\\r\\n}\\r\\n\\r\\n/* Very */\\r\\n\\r\\n.ui[class*=\\\"very padded\\\"].table th {\\r\\n  padding-left: 1.5em;\\r\\n  padding-right: 1.5em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very padded\\\"].table td {\\r\\n  padding: 1.5em 1.5em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Compact\\r\\n---------------*/\\r\\n\\r\\n.ui.compact.table th {\\r\\n  padding-left: 0.7em;\\r\\n  padding-right: 0.7em;\\r\\n}\\r\\n\\r\\n.ui.compact.table td {\\r\\n  padding: 0.5em 0.7em;\\r\\n}\\r\\n\\r\\n/* Very */\\r\\n\\r\\n.ui[class*=\\\"very compact\\\"].table th {\\r\\n  padding-left: 0.6em;\\r\\n  padding-right: 0.6em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very compact\\\"].table td {\\r\\n  padding: 0.4em 0.6em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Sizes\\r\\n---------------*/\\r\\n\\r\\n/* Small */\\r\\n\\r\\n.ui.small.table {\\r\\n  font-size: 0.9em;\\r\\n}\\r\\n\\r\\n/* Standard */\\r\\n\\r\\n.ui.table {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/* Large */\\r\\n\\r\\n.ui.large.table {\\r\\n  font-size: 1.1em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Ad\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Copyright 2013 Contributors\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n         Advertisement\\r\\n*******************************/\\r\\n\\r\\n.ui.ad {\\r\\n  display: block;\\r\\n  overflow: hidden;\\r\\n  margin: 1em 0em;\\r\\n}\\r\\n\\r\\n.ui.ad:first-child {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui.ad:last-child {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui.ad iframe {\\r\\n  margin: 0em;\\r\\n  padding: 0em;\\r\\n  border: none;\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Common\\r\\n---------------*/\\r\\n\\r\\n/* Leaderboard */\\r\\n\\r\\n.ui.leaderboard.ad {\\r\\n  width: 728px;\\r\\n  height: 90px;\\r\\n}\\r\\n\\r\\n/* Medium Rectangle */\\r\\n\\r\\n.ui[class*=\\\"medium rectangle\\\"].ad {\\r\\n  width: 300px;\\r\\n  height: 250px;\\r\\n}\\r\\n\\r\\n/* Large Rectangle */\\r\\n\\r\\n.ui[class*=\\\"large rectangle\\\"].ad {\\r\\n  width: 336px;\\r\\n  height: 280px;\\r\\n}\\r\\n\\r\\n/* Half Page */\\r\\n\\r\\n.ui[class*=\\\"half page\\\"].ad {\\r\\n  width: 300px;\\r\\n  height: 600px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Square\\r\\n---------------*/\\r\\n\\r\\n/* Square */\\r\\n\\r\\n.ui.square.ad {\\r\\n  width: 250px;\\r\\n  height: 250px;\\r\\n}\\r\\n\\r\\n/* Small Square */\\r\\n\\r\\n.ui[class*=\\\"small square\\\"].ad {\\r\\n  width: 200px;\\r\\n  height: 200px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Rectangle\\r\\n---------------*/\\r\\n\\r\\n/* Small Rectangle */\\r\\n\\r\\n.ui[class*=\\\"small rectangle\\\"].ad {\\r\\n  width: 180px;\\r\\n  height: 150px;\\r\\n}\\r\\n\\r\\n/* Vertical Rectangle */\\r\\n\\r\\n.ui[class*=\\\"vertical rectangle\\\"].ad {\\r\\n  width: 240px;\\r\\n  height: 400px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Button\\r\\n---------------*/\\r\\n\\r\\n.ui.button.ad {\\r\\n  width: 120px;\\r\\n  height: 90px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"square button\\\"].ad {\\r\\n  width: 125px;\\r\\n  height: 125px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"small button\\\"].ad {\\r\\n  width: 120px;\\r\\n  height: 60px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Skyscrapers\\r\\n---------------*/\\r\\n\\r\\n/* Skyscraper */\\r\\n\\r\\n.ui.skyscraper.ad {\\r\\n  width: 120px;\\r\\n  height: 600px;\\r\\n}\\r\\n\\r\\n/* Wide Skyscraper */\\r\\n\\r\\n.ui[class*=\\\"wide skyscraper\\\"].ad {\\r\\n  width: 160px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Banners\\r\\n---------------*/\\r\\n\\r\\n/* Banner */\\r\\n\\r\\n.ui.banner.ad {\\r\\n  width: 468px;\\r\\n  height: 60px;\\r\\n}\\r\\n\\r\\n/* Vertical Banner */\\r\\n\\r\\n.ui[class*=\\\"vertical banner\\\"].ad {\\r\\n  width: 120px;\\r\\n  height: 240px;\\r\\n}\\r\\n\\r\\n/* Top Banner */\\r\\n\\r\\n.ui[class*=\\\"top banner\\\"].ad {\\r\\n  width: 930px;\\r\\n  height: 180px;\\r\\n}\\r\\n\\r\\n/* Half Banner */\\r\\n\\r\\n.ui[class*=\\\"half banner\\\"].ad {\\r\\n  width: 234px;\\r\\n  height: 60px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Boards\\r\\n---------------*/\\r\\n\\r\\n/* Leaderboard */\\r\\n\\r\\n.ui[class*=\\\"large leaderboard\\\"].ad {\\r\\n  width: 970px;\\r\\n  height: 90px;\\r\\n}\\r\\n\\r\\n/* Billboard */\\r\\n\\r\\n.ui.billboard.ad {\\r\\n  width: 970px;\\r\\n  height: 250px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Panorama\\r\\n---------------*/\\r\\n\\r\\n/* Panorama */\\r\\n\\r\\n.ui.panorama.ad {\\r\\n  width: 980px;\\r\\n  height: 120px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Netboard\\r\\n---------------*/\\r\\n\\r\\n/* Netboard */\\r\\n\\r\\n.ui.netboard.ad {\\r\\n  width: 580px;\\r\\n  height: 400px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Mobile\\r\\n---------------*/\\r\\n\\r\\n/* Large Mobile Banner */\\r\\n\\r\\n.ui[class*=\\\"large mobile banner\\\"].ad {\\r\\n  width: 320px;\\r\\n  height: 100px;\\r\\n}\\r\\n\\r\\n/* Mobile Leaderboard */\\r\\n\\r\\n.ui[class*=\\\"mobile leaderboard\\\"].ad {\\r\\n  width: 320px;\\r\\n  height: 50px;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/* Mobile Sizes */\\r\\n\\r\\n.ui.mobile.ad {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.mobile.ad {\\r\\n    display: block;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n.ui.centered.ad {\\r\\n  margin-left: auto;\\r\\n  margin-right: auto;\\r\\n}\\r\\n\\r\\n.ui.test.ad {\\r\\n  position: relative;\\r\\n  background: #545454;\\r\\n}\\r\\n\\r\\n.ui.test.ad:after {\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  width: 100%;\\r\\n  text-align: center;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\r\\n  transform: translateX(-50%) translateY(-50%);\\r\\n  content: 'Ad';\\r\\n  color: #FFFFFF;\\r\\n  font-size: 1em;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n.ui.mobile.test.ad:after {\\r\\n  font-size: 0.85714286em;\\r\\n}\\r\\n\\r\\n.ui.test.ad[data-text]:after {\\r\\n  content: attr(data-text);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n    User Variable Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Item\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Standard\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Card\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card,\\r\\n.ui.card {\\r\\n  max-width: 100%;\\r\\n  position: relative;\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  width: 290px;\\r\\n  min-height: 0px;\\r\\n  background: #FFFFFF;\\r\\n  padding: 0em;\\r\\n  border: none;\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5;\\r\\n  -webkit-transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: box-shadow 0.1s ease, transform 0.1s ease;\\r\\n  transition: box-shadow 0.1s ease, transform 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  z-index: '';\\r\\n}\\r\\n\\r\\n.ui.card {\\r\\n  margin: 1em 0em;\\r\\n}\\r\\n\\r\\n.ui.cards > .card a,\\r\\n.ui.card a {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n.ui.card:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.card:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Cards\\r\\n---------------*/\\r\\n\\r\\n.ui.cards {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin: -0.875em -0.5em;\\r\\n  -webkit-flex-wrap: wrap;\\r\\n  -ms-flex-wrap: wrap;\\r\\n  flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.ui.cards > .card {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin: 0.875em 0.5em;\\r\\n  float: none;\\r\\n}\\r\\n\\r\\n/* Clearing */\\r\\n\\r\\n.ui.cards:after,\\r\\n.ui.card:after {\\r\\n  display: block;\\r\\n  content: ' ';\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  overflow: hidden;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n/* Consecutive Card Groups Preserve Row Spacing */\\r\\n\\r\\n.ui.cards ~ .ui.cards {\\r\\n  margin-top: 0.875em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Rounded Edges\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card > :first-child,\\r\\n.ui.card > :first-child {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\\r\\n  border-top: none !important;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > :last-child,\\r\\n.ui.card > :last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > :only-child,\\r\\n.ui.card > :only-child {\\r\\n  border-radius: 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Images\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card > .image,\\r\\n.ui.card > .image {\\r\\n  position: relative;\\r\\n  display: block;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 0 auto;\\r\\n  -ms-flex: 0 0 auto;\\r\\n  flex: 0 0 auto;\\r\\n  padding: 0em;\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .image > img,\\r\\n.ui.card > .image > img {\\r\\n  display: block;\\r\\n  width: 100%;\\r\\n  height: auto;\\r\\n  border-radius: inherit;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .image:not(.ui) > img,\\r\\n.ui.card > .image:not(.ui) > img {\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Content\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card > .content,\\r\\n.ui.card > .content {\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex-grow: 1;\\r\\n  -ms-flex-positive: 1;\\r\\n  flex-grow: 1;\\r\\n  border: none;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\\r\\n  background: none;\\r\\n  margin: 0em;\\r\\n  padding: 1em 1em;\\r\\n  box-shadow: none;\\r\\n  font-size: 1em;\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content:after,\\r\\n.ui.card > .content:after {\\r\\n  display: block;\\r\\n  content: ' ';\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  overflow: hidden;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content > .header,\\r\\n.ui.card > .content > .header {\\r\\n  display: block;\\r\\n  margin: '';\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n/* Default Header Size */\\r\\n\\r\\n.ui.cards > .card > .content > .header:not(.ui),\\r\\n.ui.card > .content > .header:not(.ui) {\\r\\n  font-weight: bold;\\r\\n  font-size: 1.28571429em;\\r\\n  margin-top: -0.21425em;\\r\\n  line-height: 1.28571429em;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content > .meta + .description,\\r\\n.ui.cards > .card > .content > .header + .description,\\r\\n.ui.card > .content > .meta + .description,\\r\\n.ui.card > .content > .header + .description {\\r\\n  margin-top: 0.5em;\\r\\n}\\r\\n\\r\\n/*----------------\\r\\n Floated Content\\r\\n-----------------*/\\r\\n\\r\\n.ui.cards > .card [class*=\\\"left floated\\\"],\\r\\n.ui.card [class*=\\\"left floated\\\"] {\\r\\n  float: left;\\r\\n}\\r\\n\\r\\n.ui.cards > .card [class*=\\\"right floated\\\"],\\r\\n.ui.card [class*=\\\"right floated\\\"] {\\r\\n  float: right;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Aligned\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card [class*=\\\"left aligned\\\"],\\r\\n.ui.card [class*=\\\"left aligned\\\"] {\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n.ui.cards > .card [class*=\\\"center aligned\\\"],\\r\\n.ui.card [class*=\\\"center aligned\\\"] {\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.cards > .card [class*=\\\"right aligned\\\"],\\r\\n.ui.card [class*=\\\"right aligned\\\"] {\\r\\n  text-align: right;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Content Image\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card .content img,\\r\\n.ui.card .content img {\\r\\n  display: inline-block;\\r\\n  vertical-align: middle;\\r\\n  width: '';\\r\\n}\\r\\n\\r\\n.ui.cards > .card img.avatar,\\r\\n.ui.cards > .card .avatar img,\\r\\n.ui.card img.avatar,\\r\\n.ui.card .avatar img {\\r\\n  width: 2em;\\r\\n  height: 2em;\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Description\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card > .content > .description,\\r\\n.ui.card > .content > .description {\\r\\n  clear: both;\\r\\n  color: rgba(0, 0, 0, 0.68);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Paragraph\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card > .content p,\\r\\n.ui.card > .content p {\\r\\n  margin: 0em 0em 0.5em;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content p:last-child,\\r\\n.ui.card > .content p:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Meta\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card .meta,\\r\\n.ui.card .meta {\\r\\n  font-size: 1em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n.ui.cards > .card .meta *,\\r\\n.ui.card .meta * {\\r\\n  margin-right: 0.3em;\\r\\n}\\r\\n\\r\\n.ui.cards > .card .meta :last-child,\\r\\n.ui.card .meta :last-child {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.cards > .card .meta [class*=\\\"right floated\\\"],\\r\\n.ui.card .meta [class*=\\\"right floated\\\"] {\\r\\n  margin-right: 0em;\\r\\n  margin-left: 0.3em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Links\\r\\n---------------*/\\r\\n\\r\\n/* Generic */\\r\\n\\r\\n.ui.cards > .card > .content a:not(.ui),\\r\\n.ui.card > .content a:not(.ui) {\\r\\n  color: '';\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content a:not(.ui):hover,\\r\\n.ui.card > .content a:not(.ui):hover {\\r\\n  color: '';\\r\\n}\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.cards > .card > .content > a.header,\\r\\n.ui.card > .content > a.header {\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content > a.header:hover,\\r\\n.ui.card > .content > a.header:hover {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/* Meta */\\r\\n\\r\\n.ui.cards > .card .meta > a:not(.ui),\\r\\n.ui.card .meta > a:not(.ui) {\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n.ui.cards > .card .meta > a:not(.ui):hover,\\r\\n.ui.card .meta > a:not(.ui):hover {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Buttons\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card > .buttons,\\r\\n.ui.card > .buttons,\\r\\n.ui.cards > .card > .button,\\r\\n.ui.card > .button {\\r\\n  margin: 0px -1px;\\r\\n  width: calc(100% +  2px );\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Dimmer\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card .dimmer,\\r\\n.ui.card .dimmer {\\r\\n  background-color: '';\\r\\n  z-index: 10;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Labels\\r\\n---------------*/\\r\\n\\r\\n/*-----Star----- */\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.cards > .card > .content .star.icon,\\r\\n.ui.card > .content .star.icon {\\r\\n  cursor: pointer;\\r\\n  opacity: 0.75;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content .star.icon:hover,\\r\\n.ui.card > .content .star.icon:hover {\\r\\n  opacity: 1;\\r\\n  color: #FFB70A;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content .active.star.icon,\\r\\n.ui.card > .content .active.star.icon {\\r\\n  color: #FFE623;\\r\\n}\\r\\n\\r\\n/*-----Like----- */\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.cards > .card > .content .like.icon,\\r\\n.ui.card > .content .like.icon {\\r\\n  cursor: pointer;\\r\\n  opacity: 0.75;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content .like.icon:hover,\\r\\n.ui.card > .content .like.icon:hover {\\r\\n  opacity: 1;\\r\\n  color: #FF2733;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .content .active.like.icon,\\r\\n.ui.card > .content .active.like.icon {\\r\\n  color: #FF2733;\\r\\n}\\r\\n\\r\\n/*----------------\\r\\n  Extra Content\\r\\n-----------------*/\\r\\n\\r\\n.ui.cards > .card > .extra,\\r\\n.ui.card > .extra {\\r\\n  max-width: 100%;\\r\\n  min-height: 0em !important;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex-grow: 0;\\r\\n  -ms-flex-positive: 0;\\r\\n  flex-grow: 0;\\r\\n  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;\\r\\n  position: static;\\r\\n  background: none;\\r\\n  width: auto;\\r\\n  margin: 0em 0em;\\r\\n  padding: 0.75em 1em;\\r\\n  top: 0em;\\r\\n  left: 0em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  box-shadow: none;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .extra a:not(.ui),\\r\\n.ui.card > .extra a:not(.ui) {\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n.ui.cards > .card > .extra a:not(.ui):hover,\\r\\n.ui.card > .extra a:not(.ui):hover {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Raised\\r\\n--------------------*/\\r\\n\\r\\n.ui.raised.cards > .card,\\r\\n.ui.raised.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.raised.cards a.card:hover,\\r\\n.ui.link.cards .raised.card:hover,\\r\\na.ui.raised.card:hover,\\r\\n.ui.link.raised.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.15), 0px 2px 10px 0px rgba(34, 36, 38, 0.25);\\r\\n}\\r\\n\\r\\n.ui.raised.cards > .card,\\r\\n.ui.raised.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Centered\\r\\n--------------------*/\\r\\n\\r\\n.ui.centered.cards {\\r\\n  -webkit-box-pack: center;\\r\\n  -webkit-justify-content: center;\\r\\n  -ms-flex-pack: center;\\r\\n  justify-content: center;\\r\\n}\\r\\n\\r\\n.ui.centered.card {\\r\\n  margin-left: auto;\\r\\n  margin-right: auto;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Fluid\\r\\n--------------------*/\\r\\n\\r\\n.ui.fluid.card {\\r\\n  width: 100%;\\r\\n  max-width: 9999px;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Link\\r\\n--------------------*/\\r\\n\\r\\n.ui.cards a.card,\\r\\n.ui.link.cards .card,\\r\\na.ui.card,\\r\\n.ui.link.card {\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n}\\r\\n\\r\\n.ui.cards a.card:hover,\\r\\n.ui.link.cards .card:hover,\\r\\na.ui.card:hover,\\r\\n.ui.link.card:hover {\\r\\n  cursor: pointer;\\r\\n  z-index: 5;\\r\\n  background: #FFFFFF;\\r\\n  border: none;\\r\\n  box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5;\\r\\n  -webkit-transform: translateY(-3px);\\r\\n  transform: translateY(-3px);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Colors\\r\\n--------------------*/\\r\\n\\r\\n/* Red */\\r\\n\\r\\n.ui.red.cards > .card,\\r\\n.ui.cards > .red.card,\\r\\n.ui.red.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.red.cards > .card:hover,\\r\\n.ui.cards > .red.card:hover,\\r\\n.ui.red.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Orange */\\r\\n\\r\\n.ui.orange.cards > .card,\\r\\n.ui.cards > .orange.card,\\r\\n.ui.orange.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.orange.cards > .card:hover,\\r\\n.ui.cards > .orange.card:hover,\\r\\n.ui.orange.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Yellow */\\r\\n\\r\\n.ui.yellow.cards > .card,\\r\\n.ui.cards > .yellow.card,\\r\\n.ui.yellow.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.yellow.cards > .card:hover,\\r\\n.ui.cards > .yellow.card:hover,\\r\\n.ui.yellow.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Olive */\\r\\n\\r\\n.ui.olive.cards > .card,\\r\\n.ui.cards > .olive.card,\\r\\n.ui.olive.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.olive.cards > .card:hover,\\r\\n.ui.cards > .olive.card:hover,\\r\\n.ui.olive.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Green */\\r\\n\\r\\n.ui.green.cards > .card,\\r\\n.ui.cards > .green.card,\\r\\n.ui.green.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.green.cards > .card:hover,\\r\\n.ui.cards > .green.card:hover,\\r\\n.ui.green.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Teal */\\r\\n\\r\\n.ui.teal.cards > .card,\\r\\n.ui.cards > .teal.card,\\r\\n.ui.teal.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.teal.cards > .card:hover,\\r\\n.ui.cards > .teal.card:hover,\\r\\n.ui.teal.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Blue */\\r\\n\\r\\n.ui.blue.cards > .card,\\r\\n.ui.cards > .blue.card,\\r\\n.ui.blue.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.blue.cards > .card:hover,\\r\\n.ui.cards > .blue.card:hover,\\r\\n.ui.blue.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Violet */\\r\\n\\r\\n.ui.violet.cards > .card,\\r\\n.ui.cards > .violet.card,\\r\\n.ui.violet.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.violet.cards > .card:hover,\\r\\n.ui.cards > .violet.card:hover,\\r\\n.ui.violet.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Purple */\\r\\n\\r\\n.ui.purple.cards > .card,\\r\\n.ui.cards > .purple.card,\\r\\n.ui.purple.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.purple.cards > .card:hover,\\r\\n.ui.cards > .purple.card:hover,\\r\\n.ui.purple.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Pink */\\r\\n\\r\\n.ui.pink.cards > .card,\\r\\n.ui.cards > .pink.card,\\r\\n.ui.pink.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.pink.cards > .card:hover,\\r\\n.ui.cards > .pink.card:hover,\\r\\n.ui.pink.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Brown */\\r\\n\\r\\n.ui.brown.cards > .card,\\r\\n.ui.cards > .brown.card,\\r\\n.ui.brown.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.brown.cards > .card:hover,\\r\\n.ui.cards > .brown.card:hover,\\r\\n.ui.brown.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Grey */\\r\\n\\r\\n.ui.grey.cards > .card,\\r\\n.ui.cards > .grey.card,\\r\\n.ui.grey.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.grey.cards > .card:hover,\\r\\n.ui.cards > .grey.card:hover,\\r\\n.ui.grey.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/* Black */\\r\\n\\r\\n.ui.black.cards > .card,\\r\\n.ui.cards > .black.card,\\r\\n.ui.black.card {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5;\\r\\n}\\r\\n\\r\\n.ui.black.cards > .card:hover,\\r\\n.ui.cards > .black.card:hover,\\r\\n.ui.black.card:hover {\\r\\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Card Count\\r\\n---------------*/\\r\\n\\r\\n.ui.one.cards {\\r\\n  margin-left: 0em;\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.one.cards > .card {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.two.cards {\\r\\n  margin-left: -1em;\\r\\n  margin-right: -1em;\\r\\n}\\r\\n\\r\\n.ui.two.cards > .card {\\r\\n  width: calc( 50%  -  2em );\\r\\n  margin-left: 1em;\\r\\n  margin-right: 1em;\\r\\n}\\r\\n\\r\\n.ui.three.cards {\\r\\n  margin-left: -1em;\\r\\n  margin-right: -1em;\\r\\n}\\r\\n\\r\\n.ui.three.cards > .card {\\r\\n  width: calc( 33.33333333%  -  2em );\\r\\n  margin-left: 1em;\\r\\n  margin-right: 1em;\\r\\n}\\r\\n\\r\\n.ui.four.cards {\\r\\n  margin-left: -0.75em;\\r\\n  margin-right: -0.75em;\\r\\n}\\r\\n\\r\\n.ui.four.cards > .card {\\r\\n  width: calc( 25%  -  1.5em );\\r\\n  margin-left: 0.75em;\\r\\n  margin-right: 0.75em;\\r\\n}\\r\\n\\r\\n.ui.five.cards {\\r\\n  margin-left: -0.75em;\\r\\n  margin-right: -0.75em;\\r\\n}\\r\\n\\r\\n.ui.five.cards > .card {\\r\\n  width: calc( 20%  -  1.5em );\\r\\n  margin-left: 0.75em;\\r\\n  margin-right: 0.75em;\\r\\n}\\r\\n\\r\\n.ui.six.cards {\\r\\n  margin-left: -0.75em;\\r\\n  margin-right: -0.75em;\\r\\n}\\r\\n\\r\\n.ui.six.cards > .card {\\r\\n  width: calc( 16.66666667%  -  1.5em );\\r\\n  margin-left: 0.75em;\\r\\n  margin-right: 0.75em;\\r\\n}\\r\\n\\r\\n.ui.seven.cards {\\r\\n  margin-left: -0.5em;\\r\\n  margin-right: -0.5em;\\r\\n}\\r\\n\\r\\n.ui.seven.cards > .card {\\r\\n  width: calc( 14.28571429%  -  1em );\\r\\n  margin-left: 0.5em;\\r\\n  margin-right: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.eight.cards {\\r\\n  margin-left: -0.5em;\\r\\n  margin-right: -0.5em;\\r\\n}\\r\\n\\r\\n.ui.eight.cards > .card {\\r\\n  width: calc( 12.5%  -  1em );\\r\\n  margin-left: 0.5em;\\r\\n  margin-right: 0.5em;\\r\\n  font-size: 11px;\\r\\n}\\r\\n\\r\\n.ui.nine.cards {\\r\\n  margin-left: -0.5em;\\r\\n  margin-right: -0.5em;\\r\\n}\\r\\n\\r\\n.ui.nine.cards > .card {\\r\\n  width: calc( 11.11111111%  -  1em );\\r\\n  margin-left: 0.5em;\\r\\n  margin-right: 0.5em;\\r\\n  font-size: 10px;\\r\\n}\\r\\n\\r\\n.ui.ten.cards {\\r\\n  margin-left: -0.5em;\\r\\n  margin-right: -0.5em;\\r\\n}\\r\\n\\r\\n.ui.ten.cards > .card {\\r\\n  width: calc( 10%  -  1em );\\r\\n  margin-left: 0.5em;\\r\\n  margin-right: 0.5em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Doubling\\r\\n--------------------*/\\r\\n\\r\\n/* Mobile Only */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.two.doubling.cards {\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n  }\\r\\n\\r\\n  .ui.two.doubling.cards > .card {\\r\\n    width: 100%;\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n  }\\r\\n\\r\\n  .ui.three.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.three.doubling.cards > .card {\\r\\n    width: calc( 50%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.four.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.four.doubling.cards > .card {\\r\\n    width: calc( 50%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.five.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.five.doubling.cards > .card {\\r\\n    width: calc( 50%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.six.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.six.doubling.cards > .card {\\r\\n    width: calc( 50%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.seven.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.seven.doubling.cards > .card {\\r\\n    width: calc( 33.33333333%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.eight.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.eight.doubling.cards > .card {\\r\\n    width: calc( 33.33333333%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.nine.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.nine.doubling.cards > .card {\\r\\n    width: calc( 33.33333333%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.ten.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.ten.doubling.cards > .card {\\r\\n    width: calc( 33.33333333%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Tablet Only */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui.two.doubling.cards {\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n  }\\r\\n\\r\\n  .ui.two.doubling.cards > .card {\\r\\n    width: 100%;\\r\\n    margin-left: 0em;\\r\\n    margin-right: 0em;\\r\\n  }\\r\\n\\r\\n  .ui.three.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.three.doubling.cards > .card {\\r\\n    width: calc( 50%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.four.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.four.doubling.cards > .card {\\r\\n    width: calc( 50%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.five.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.five.doubling.cards > .card {\\r\\n    width: calc( 33.33333333%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.six.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.six.doubling.cards > .card {\\r\\n    width: calc( 33.33333333%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.eight.doubling.cards {\\r\\n    margin-left: -1em;\\r\\n    margin-right: -1em;\\r\\n  }\\r\\n\\r\\n  .ui.eight.doubling.cards > .card {\\r\\n    width: calc( 33.33333333%  -  2em );\\r\\n    margin-left: 1em;\\r\\n    margin-right: 1em;\\r\\n  }\\r\\n\\r\\n  .ui.eight.doubling.cards {\\r\\n    margin-left: -0.75em;\\r\\n    margin-right: -0.75em;\\r\\n  }\\r\\n\\r\\n  .ui.eight.doubling.cards > .card {\\r\\n    width: calc( 25%  -  1.5em );\\r\\n    margin-left: 0.75em;\\r\\n    margin-right: 0.75em;\\r\\n  }\\r\\n\\r\\n  .ui.nine.doubling.cards {\\r\\n    margin-left: -0.75em;\\r\\n    margin-right: -0.75em;\\r\\n  }\\r\\n\\r\\n  .ui.nine.doubling.cards > .card {\\r\\n    width: calc( 25%  -  1.5em );\\r\\n    margin-left: 0.75em;\\r\\n    margin-right: 0.75em;\\r\\n  }\\r\\n\\r\\n  .ui.ten.doubling.cards {\\r\\n    margin-left: -0.75em;\\r\\n    margin-right: -0.75em;\\r\\n  }\\r\\n\\r\\n  .ui.ten.doubling.cards > .card {\\r\\n    width: calc( 20%  -  1.5em );\\r\\n    margin-left: 0.75em;\\r\\n    margin-right: 0.75em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Stackable\\r\\n--------------------*/\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.stackable.cards {\\r\\n    display: block !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.cards .card:first-child {\\r\\n    margin-top: 0em !important;\\r\\n  }\\r\\n\\r\\n  .ui.stackable.cards > .card {\\r\\n    display: block !important;\\r\\n    height: auto !important;\\r\\n    margin: 1em 1em;\\r\\n    padding: 0 !important;\\r\\n    width: calc( 100%  -  2em ) !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Size\\r\\n---------------*/\\r\\n\\r\\n.ui.cards > .card {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n    User Variable Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Comment\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Standard\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Comments\\r\\n---------------*/\\r\\n\\r\\n.ui.comments {\\r\\n  margin: 1.5em 0em;\\r\\n  max-width: 650px;\\r\\n}\\r\\n\\r\\n.ui.comments:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.comments:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Comment\\r\\n---------------*/\\r\\n\\r\\n.ui.comments .comment {\\r\\n  position: relative;\\r\\n  background: none;\\r\\n  margin: 0.5em 0em 0em;\\r\\n  padding: 0.5em 0em 0em;\\r\\n  border: none;\\r\\n  border-top: none;\\r\\n  line-height: 1.2;\\r\\n}\\r\\n\\r\\n.ui.comments .comment:first-child {\\r\\n  margin-top: 0em;\\r\\n  padding-top: 0em;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n    Nested Comments\\r\\n---------------------*/\\r\\n\\r\\n.ui.comments .comment .comments {\\r\\n  margin: 0em 0em 0.5em 0.5em;\\r\\n  padding: 1em 0em 1em 1em;\\r\\n}\\r\\n\\r\\n.ui.comments .comment .comments:before {\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n}\\r\\n\\r\\n.ui.comments .comment .comments .comment {\\r\\n  border: none;\\r\\n  border-top: none;\\r\\n  background: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Avatar\\r\\n---------------*/\\r\\n\\r\\n.ui.comments .comment .avatar {\\r\\n  display: block;\\r\\n  width: 2.5em;\\r\\n  height: auto;\\r\\n  float: left;\\r\\n  margin: 0.2em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.comments .comment img.avatar,\\r\\n.ui.comments .comment .avatar img {\\r\\n  display: block;\\r\\n  margin: 0em auto;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  border-radius: 0.25rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Content\\r\\n---------------*/\\r\\n\\r\\n.ui.comments .comment > .content {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/* If there is an avatar move content over */\\r\\n\\r\\n.ui.comments .comment > .avatar ~ .content {\\r\\n  margin-left: 3.5em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Author\\r\\n---------------*/\\r\\n\\r\\n.ui.comments .comment .author {\\r\\n  font-size: 1em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n.ui.comments .comment a.author {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n.ui.comments .comment a.author:hover {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Metadata\\r\\n---------------*/\\r\\n\\r\\n.ui.comments .comment .metadata {\\r\\n  display: inline-block;\\r\\n  margin-left: 0.5em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  font-size: 0.875em;\\r\\n}\\r\\n\\r\\n.ui.comments .comment .metadata > * {\\r\\n  display: inline-block;\\r\\n  margin: 0em 0.5em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.comments .comment .metadata > :last-child {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n     Comment Text\\r\\n---------------------*/\\r\\n\\r\\n.ui.comments .comment .text {\\r\\n  margin: 0.25em 0em 0.5em;\\r\\n  font-size: 1em;\\r\\n  word-wrap: break-word;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  line-height: 1.3;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n     User Actions\\r\\n---------------------*/\\r\\n\\r\\n.ui.comments .comment .actions {\\r\\n  font-size: 0.875em;\\r\\n}\\r\\n\\r\\n.ui.comments .comment .actions a {\\r\\n  cursor: pointer;\\r\\n  display: inline-block;\\r\\n  margin: 0em 0.75em 0em 0em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n.ui.comments .comment .actions a:last-child {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.comments .comment .actions a.active,\\r\\n.ui.comments .comment .actions a:hover {\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n      Reply Form\\r\\n---------------------*/\\r\\n\\r\\n.ui.comments > .reply.form {\\r\\n  margin-top: 1em;\\r\\n}\\r\\n\\r\\n.ui.comments .comment .reply.form {\\r\\n  width: 100%;\\r\\n  margin-top: 1em;\\r\\n}\\r\\n\\r\\n.ui.comments .reply.form textarea {\\r\\n  font-size: 1em;\\r\\n  height: 12em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            State\\r\\n*******************************/\\r\\n\\r\\n.ui.collapsed.comments,\\r\\n.ui.comments .collapsed.comments,\\r\\n.ui.comments .collapsed.comment {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n        Threaded\\r\\n---------------------*/\\r\\n\\r\\n.ui.threaded.comments .comment .comments {\\r\\n  margin: -1.5em 0 -1em 1.25em;\\r\\n  padding: 3em 0em 2em 2.25em;\\r\\n  box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Minimal\\r\\n---------------------*/\\r\\n\\r\\n.ui.minimal.comments .comment .actions {\\r\\n  opacity: 0;\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  right: 0px;\\r\\n  left: auto;\\r\\n  -webkit-transition: opacity 0.2s ease;\\r\\n  transition: opacity 0.2s ease;\\r\\n  -webkit-transition-delay: 0.1s;\\r\\n  transition-delay: 0.1s;\\r\\n}\\r\\n\\r\\n.ui.minimal.comments .comment > .content:hover > .actions {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Sizes\\r\\n--------------------*/\\r\\n\\r\\n.ui.mini.comments {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.comments {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.comments {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.comments {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.comments {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.big.comments {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.huge.comments {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.comments {\\r\\n  font-size: 1.71428571rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n    User Variable Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Feed\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n         Activity Feed\\r\\n*******************************/\\r\\n\\r\\n.ui.feed {\\r\\n  margin: 1em 0em;\\r\\n}\\r\\n\\r\\n.ui.feed:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.feed:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Content\\r\\n*******************************/\\r\\n\\r\\n/* Event */\\r\\n\\r\\n.ui.feed > .event {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  width: 100%;\\r\\n  padding: 0.21428571rem 0em;\\r\\n  margin: 0em;\\r\\n  background: none;\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.feed > .event:first-child {\\r\\n  border-top: 0px;\\r\\n  padding-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.feed > .event:last-child {\\r\\n  padding-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Event Label */\\r\\n\\r\\n.ui.feed > .event > .label {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 0 auto;\\r\\n  -ms-flex: 0 0 auto;\\r\\n  flex: 0 0 auto;\\r\\n  width: 2.5em;\\r\\n  height: auto;\\r\\n  -webkit-align-self: stretch;\\r\\n  -ms-flex-item-align: stretch;\\r\\n  align-self: stretch;\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .label .icon {\\r\\n  opacity: 1;\\r\\n  font-size: 1.5em;\\r\\n  width: 100%;\\r\\n  padding: 0.25em;\\r\\n  background: none;\\r\\n  border: none;\\r\\n  border-radius: none;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .label img {\\r\\n  width: 100%;\\r\\n  height: auto;\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .label + .content {\\r\\n  margin: 0.5em 0em 0.35714286em 1.14285714em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Content\\r\\n---------------*/\\r\\n\\r\\n/* Content */\\r\\n\\r\\n.ui.feed > .event > .content {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 1 auto;\\r\\n  -ms-flex: 1 1 auto;\\r\\n  flex: 1 1 auto;\\r\\n  -webkit-align-self: stretch;\\r\\n  -ms-flex-item-align: stretch;\\r\\n  align-self: stretch;\\r\\n  text-align: left;\\r\\n  word-wrap: break-word;\\r\\n}\\r\\n\\r\\n.ui.feed > .event:last-child > .content {\\r\\n  padding-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Link */\\r\\n\\r\\n.ui.feed > .event > .content a {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Date\\r\\n---------------*/\\r\\n\\r\\n.ui.feed > .event > .content .date {\\r\\n  margin: -0.5rem 0em 0em;\\r\\n  padding: 0em;\\r\\n  font-weight: normal;\\r\\n  font-size: 1em;\\r\\n  font-style: normal;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Summary\\r\\n---------------*/\\r\\n\\r\\n.ui.feed > .event > .content .summary {\\r\\n  margin: 0em;\\r\\n  font-size: 1em;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Summary Image */\\r\\n\\r\\n.ui.feed > .event > .content .summary img {\\r\\n  display: inline-block;\\r\\n  width: auto;\\r\\n  height: 10em;\\r\\n  margin: -0.25em 0.25em 0em 0em;\\r\\n  border-radius: 0.25em;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      User\\r\\n---------------*/\\r\\n\\r\\n.ui.feed > .event > .content .user {\\r\\n  display: inline-block;\\r\\n  font-weight: bold;\\r\\n  margin-right: 0em;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .user img {\\r\\n  margin: -0.25em 0.25em 0em 0em;\\r\\n  width: auto;\\r\\n  height: 10em;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Inline Date\\r\\n---------------*/\\r\\n\\r\\n/* Date inside Summary */\\r\\n\\r\\n.ui.feed > .event > .content .summary > .date {\\r\\n  display: inline-block;\\r\\n  float: none;\\r\\n  font-weight: normal;\\r\\n  font-size: 0.85714286em;\\r\\n  font-style: normal;\\r\\n  margin: 0em 0em 0em 0.5em;\\r\\n  padding: 0em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Extra Summary\\r\\n---------------*/\\r\\n\\r\\n.ui.feed > .event > .content .extra {\\r\\n  margin: 0.5em 0em 0em;\\r\\n  background: none;\\r\\n  padding: 0em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Images */\\r\\n\\r\\n.ui.feed > .event > .content .extra.images img {\\r\\n  display: inline-block;\\r\\n  margin: 0em 0.25em 0em 0em;\\r\\n  width: 6em;\\r\\n}\\r\\n\\r\\n/* Text */\\r\\n\\r\\n.ui.feed > .event > .content .extra.text {\\r\\n  padding: 0em;\\r\\n  border-left: none;\\r\\n  font-size: 1em;\\r\\n  max-width: 500px;\\r\\n  line-height: 1.4285em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Meta\\r\\n---------------*/\\r\\n\\r\\n.ui.feed > .event > .content .meta {\\r\\n  display: inline-block;\\r\\n  font-size: 0.85714286em;\\r\\n  margin: 0.5em 0em 0em;\\r\\n  background: none;\\r\\n  border: none;\\r\\n  border-radius: 0;\\r\\n  box-shadow: none;\\r\\n  padding: 0em;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .meta > * {\\r\\n  position: relative;\\r\\n  margin-left: 0.75em;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .meta > *:after {\\r\\n  content: '';\\r\\n  color: rgba(0, 0, 0, 0.2);\\r\\n  top: 0em;\\r\\n  left: -1em;\\r\\n  opacity: 1;\\r\\n  position: absolute;\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .meta .like {\\r\\n  color: '';\\r\\n  -webkit-transition: 0.2s color ease;\\r\\n  transition: 0.2s color ease;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .meta .like:hover .icon {\\r\\n  color: #FF2733;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .meta .active.like .icon {\\r\\n  color: #EF404A;\\r\\n}\\r\\n\\r\\n/* First element */\\r\\n\\r\\n.ui.feed > .event > .content .meta > :first-child {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .meta > :first-child::after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Action */\\r\\n\\r\\n.ui.feed > .event > .content .meta a,\\r\\n.ui.feed > .event > .content .meta > .icon {\\r\\n  cursor: pointer;\\r\\n  opacity: 1;\\r\\n  color: rgba(0, 0, 0, 0.5);\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.feed > .event > .content .meta a:hover,\\r\\n.ui.feed > .event > .content .meta a:hover .icon,\\r\\n.ui.feed > .event > .content .meta > .icon:hover {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Variations\\r\\n*******************************/\\r\\n\\r\\n.ui.small.feed {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.feed {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.feed {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n    User Variable Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Item\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Standard\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Item\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin: 1em 0em;\\r\\n  width: 100%;\\r\\n  min-height: 0px;\\r\\n  background: transparent;\\r\\n  padding: 0em;\\r\\n  border: none;\\r\\n  border-radius: 0rem;\\r\\n  box-shadow: none;\\r\\n  -webkit-transition: box-shadow 0.1s ease;\\r\\n  transition: box-shadow 0.1s ease;\\r\\n  z-index: '';\\r\\n}\\r\\n\\r\\n.ui.items > .item a {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Items\\r\\n---------------*/\\r\\n\\r\\n.ui.items {\\r\\n  margin: 1.5em 0em;\\r\\n}\\r\\n\\r\\n.ui.items:first-child {\\r\\n  margin-top: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.items:last-child {\\r\\n  margin-bottom: 0em !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Item\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item:after {\\r\\n  display: block;\\r\\n  content: ' ';\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  overflow: hidden;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.items > .item:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.items > .item:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Images\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item > .image {\\r\\n  position: relative;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 0 auto;\\r\\n  -ms-flex: 0 0 auto;\\r\\n  flex: 0 0 auto;\\r\\n  display: block;\\r\\n  float: none;\\r\\n  margin: 0em;\\r\\n  padding: 0em;\\r\\n  max-height: '';\\r\\n  -webkit-align-self: top;\\r\\n  -ms-flex-item-align: top;\\r\\n  align-self: top;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .image > img {\\r\\n  display: block;\\r\\n  width: 100%;\\r\\n  height: auto;\\r\\n  border-radius: 0.125rem;\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .image:only-child > img {\\r\\n  border-radius: 0rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Content\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item > .content {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 1 auto;\\r\\n  -ms-flex: 1 1 auto;\\r\\n  flex: 1 1 auto;\\r\\n  background: none;\\r\\n  margin: 0em;\\r\\n  padding: 0em;\\r\\n  box-shadow: none;\\r\\n  font-size: 1em;\\r\\n  border: none;\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content:after {\\r\\n  display: block;\\r\\n  content: ' ';\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  overflow: hidden;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .image + .content {\\r\\n  min-width: 0;\\r\\n  width: auto;\\r\\n  display: block;\\r\\n  margin-left: 0em;\\r\\n  -webkit-align-self: top;\\r\\n  -ms-flex-item-align: top;\\r\\n  align-self: top;\\r\\n  padding-left: 1.5em;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content > .header {\\r\\n  display: inline-block;\\r\\n  margin: -0.21425em 0em 0em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n/* Default Header Size */\\r\\n\\r\\n.ui.items > .item > .content > .header:not(.ui) {\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Floated\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item [class*=\\\"left floated\\\"] {\\r\\n  float: left;\\r\\n}\\r\\n\\r\\n.ui.items > .item [class*=\\\"right floated\\\"] {\\r\\n  float: right;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Content Image\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item .content img {\\r\\n  -webkit-align-self: middle;\\r\\n  -ms-flex-item-align: middle;\\r\\n  align-self: middle;\\r\\n  width: '';\\r\\n}\\r\\n\\r\\n.ui.items > .item img.avatar,\\r\\n.ui.items > .item .avatar img {\\r\\n  width: '';\\r\\n  height: '';\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Description\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item > .content > .description {\\r\\n  margin-top: 0.6em;\\r\\n  max-width: auto;\\r\\n  font-size: 1em;\\r\\n  line-height: 1.4285em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Paragraph\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item > .content p {\\r\\n  margin: 0em 0em 0.5em;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content p:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Meta\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item .meta {\\r\\n  margin: 0.5em 0em 0.5em;\\r\\n  font-size: 1em;\\r\\n  line-height: 1em;\\r\\n  color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.ui.items > .item .meta * {\\r\\n  margin-right: 0.3em;\\r\\n}\\r\\n\\r\\n.ui.items > .item .meta :last-child {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n.ui.items > .item .meta [class*=\\\"right floated\\\"] {\\r\\n  margin-right: 0em;\\r\\n  margin-left: 0.3em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Links\\r\\n---------------*/\\r\\n\\r\\n/* Generic */\\r\\n\\r\\n.ui.items > .item > .content a:not(.ui) {\\r\\n  color: '';\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content a:not(.ui):hover {\\r\\n  color: '';\\r\\n}\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.items > .item > .content > a.header {\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content > a.header:hover {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/* Meta */\\r\\n\\r\\n.ui.items > .item .meta > a:not(.ui) {\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n.ui.items > .item .meta > a:not(.ui):hover {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Labels\\r\\n---------------*/\\r\\n\\r\\n/*-----Star----- */\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.items > .item > .content .favorite.icon {\\r\\n  cursor: pointer;\\r\\n  opacity: 0.75;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content .favorite.icon:hover {\\r\\n  opacity: 1;\\r\\n  color: #FFB70A;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content .active.favorite.icon {\\r\\n  color: #FFE623;\\r\\n}\\r\\n\\r\\n/*-----Like----- */\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.items > .item > .content .like.icon {\\r\\n  cursor: pointer;\\r\\n  opacity: 0.75;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content .like.icon:hover {\\r\\n  opacity: 1;\\r\\n  color: #FF2733;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .content .active.like.icon {\\r\\n  color: #FF2733;\\r\\n}\\r\\n\\r\\n/*----------------\\r\\n  Extra Content\\r\\n-----------------*/\\r\\n\\r\\n.ui.items > .item .extra {\\r\\n  display: block;\\r\\n  position: relative;\\r\\n  background: none;\\r\\n  margin: 0.5rem 0em 0em;\\r\\n  width: 100%;\\r\\n  padding: 0em 0em 0em;\\r\\n  top: 0em;\\r\\n  left: 0em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  box-shadow: none;\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.items > .item .extra > * {\\r\\n  margin: 0.25rem 0.5rem 0.25rem 0em;\\r\\n}\\r\\n\\r\\n.ui.items > .item .extra > [class*=\\\"right floated\\\"] {\\r\\n  margin: 0.25rem 0em 0.25rem 0.5rem;\\r\\n}\\r\\n\\r\\n.ui.items > .item .extra:after {\\r\\n  display: block;\\r\\n  content: ' ';\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  overflow: hidden;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Responsive\\r\\n*******************************/\\r\\n\\r\\n/* Default Image Width */\\r\\n\\r\\n.ui.items > .item > .image:not(.ui) {\\r\\n  width: 175px;\\r\\n}\\r\\n\\r\\n/* Tablet Only */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 991px) {\\r\\n  .ui.items > .item {\\r\\n    margin: 1em 0em;\\r\\n  }\\r\\n\\r\\n  .ui.items > .item > .image:not(.ui) {\\r\\n    width: 150px;\\r\\n  }\\r\\n\\r\\n  .ui.items > .item > .image + .content {\\r\\n    display: block;\\r\\n    padding: 0em 0em 0em 1em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Mobile Only */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.items:not(.unstackable) > .item {\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: normal;\\r\\n    -webkit-flex-direction: column;\\r\\n    -ms-flex-direction: column;\\r\\n    flex-direction: column;\\r\\n    margin: 2em 0em;\\r\\n  }\\r\\n\\r\\n  .ui.items:not(.unstackable) > .item > .image {\\r\\n    display: block;\\r\\n    margin-left: auto;\\r\\n    margin-right: auto;\\r\\n  }\\r\\n\\r\\n  .ui.items:not(.unstackable) > .item > .image,\\r\\n  .ui.items:not(.unstackable) > .item > .image > img {\\r\\n    max-width: 100% !important;\\r\\n    width: auto !important;\\r\\n    max-height: 250px !important;\\r\\n  }\\r\\n\\r\\n  .ui.items:not(.unstackable) > .item > .image + .content {\\r\\n    display: block;\\r\\n    padding: 1.5em 0em 0em;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Aligned\\r\\n--------------------*/\\r\\n\\r\\n.ui.items > .item > .image + [class*=\\\"top aligned\\\"].content {\\r\\n  -webkit-align-self: flex-start;\\r\\n  -ms-flex-item-align: start;\\r\\n  align-self: flex-start;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .image + [class*=\\\"middle aligned\\\"].content {\\r\\n  -webkit-align-self: center;\\r\\n  -ms-flex-item-align: center;\\r\\n  align-self: center;\\r\\n}\\r\\n\\r\\n.ui.items > .item > .image + [class*=\\\"bottom aligned\\\"].content {\\r\\n  -webkit-align-self: flex-end;\\r\\n  -ms-flex-item-align: end;\\r\\n  align-self: flex-end;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Relaxed\\r\\n---------------*/\\r\\n\\r\\n.ui.relaxed.items > .item {\\r\\n  margin: 1.5em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].items > .item {\\r\\n  margin: 2em 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n      Divided\\r\\n--------------------*/\\r\\n\\r\\n.ui.divided.items > .item {\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  margin: 0em;\\r\\n  padding: 1em 0em;\\r\\n}\\r\\n\\r\\n.ui.divided.items > .item:first-child {\\r\\n  border-top: none;\\r\\n  margin-top: 0em !important;\\r\\n  padding-top: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.divided.items > .item:last-child {\\r\\n  margin-bottom: 0em !important;\\r\\n  padding-bottom: 0em !important;\\r\\n}\\r\\n\\r\\n/* Relaxed Divided */\\r\\n\\r\\n.ui.relaxed.divided.items > .item {\\r\\n  margin: 0em;\\r\\n  padding: 1.5em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very relaxed\\\"].divided.items > .item {\\r\\n  margin: 0em;\\r\\n  padding: 2em 0em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Link\\r\\n--------------------*/\\r\\n\\r\\n.ui.items a.item:hover,\\r\\n.ui.link.items > .item:hover {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n.ui.items a.item:hover .content .header,\\r\\n.ui.link.items > .item:hover .content .header {\\r\\n  color: #1e70bf;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Size\\r\\n---------------*/\\r\\n\\r\\n.ui.items > .item {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n/*---------------\\r\\n   Unstackable\\r\\n----------------*/\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.unstackable.items > .item > .image,\\r\\n  .ui.unstackable.items > .item > .image > img {\\r\\n    width: 125px !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n    User Variable Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Statistic\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n           Statistic\\r\\n*******************************/\\r\\n\\r\\n/* Standalone */\\r\\n\\r\\n.ui.statistic {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  margin: 1em 0em;\\r\\n  max-width: auto;\\r\\n}\\r\\n\\r\\n.ui.statistic + .ui.statistic {\\r\\n  margin: 0em 0em 0em 1.5em;\\r\\n}\\r\\n\\r\\n.ui.statistic:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.statistic:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Group\\r\\n*******************************/\\r\\n\\r\\n/* Grouped */\\r\\n\\r\\n.ui.statistics {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-align: start;\\r\\n  -webkit-align-items: flex-start;\\r\\n  -ms-flex-align: start;\\r\\n  align-items: flex-start;\\r\\n  -webkit-flex-wrap: wrap;\\r\\n  -ms-flex-wrap: wrap;\\r\\n  flex-wrap: wrap;\\r\\n}\\r\\n\\r\\n.ui.statistics > .statistic {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 1 auto;\\r\\n  -ms-flex: 0 1 auto;\\r\\n  flex: 0 1 auto;\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  margin: 0em 1.5em 2em;\\r\\n  max-width: auto;\\r\\n}\\r\\n\\r\\n.ui.statistics {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin: 1em -1.5em -2em;\\r\\n}\\r\\n\\r\\n/* Clearing */\\r\\n\\r\\n.ui.statistics:after {\\r\\n  display: block;\\r\\n  content: ' ';\\r\\n  height: 0px;\\r\\n  clear: both;\\r\\n  overflow: hidden;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.statistics:first-child {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.statistics:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Content\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Value\\r\\n---------------*/\\r\\n\\r\\n.ui.statistics .statistic > .value,\\r\\n.ui.statistic > .value {\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 4rem;\\r\\n  font-weight: normal;\\r\\n  line-height: 1em;\\r\\n  color: #1B1C1D;\\r\\n  text-transform: uppercase;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Label\\r\\n---------------*/\\r\\n\\r\\n.ui.statistics .statistic > .label,\\r\\n.ui.statistic > .label {\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 1em;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  text-transform: uppercase;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/* Top Label */\\r\\n\\r\\n.ui.statistics .statistic > .label ~ .value,\\r\\n.ui.statistic > .label ~ .value {\\r\\n  margin-top: 0rem;\\r\\n}\\r\\n\\r\\n/* Bottom Label */\\r\\n\\r\\n.ui.statistics .statistic > .value ~ .label,\\r\\n.ui.statistic > .value ~ .label {\\r\\n  margin-top: 0rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n   Icon Value\\r\\n---------------*/\\r\\n\\r\\n.ui.statistics .statistic > .value .icon,\\r\\n.ui.statistic > .value .icon {\\r\\n  opacity: 1;\\r\\n  width: auto;\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Text Value\\r\\n---------------*/\\r\\n\\r\\n.ui.statistics .statistic > .text.value,\\r\\n.ui.statistic > .text.value {\\r\\n  line-height: 1em;\\r\\n  min-height: 2em;\\r\\n  font-weight: bold;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.statistics .statistic > .text.value + .label,\\r\\n.ui.statistic > .text.value + .label {\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Image Value\\r\\n---------------*/\\r\\n\\r\\n.ui.statistics .statistic > .value img,\\r\\n.ui.statistic > .value img {\\r\\n  max-height: 3rem;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Count\\r\\n---------------*/\\r\\n\\r\\n.ui.ten.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.ten.statistics .statistic {\\r\\n  min-width: 10%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.nine.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.nine.statistics .statistic {\\r\\n  min-width: 11.11111111%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.eight.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.eight.statistics .statistic {\\r\\n  min-width: 12.5%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.seven.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.seven.statistics .statistic {\\r\\n  min-width: 14.28571429%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.six.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.six.statistics .statistic {\\r\\n  min-width: 16.66666667%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.five.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.five.statistics .statistic {\\r\\n  min-width: 20%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.four.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.four.statistics .statistic {\\r\\n  min-width: 25%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.three.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.three.statistics .statistic {\\r\\n  min-width: 33.33333333%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.two.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.two.statistics .statistic {\\r\\n  min-width: 50%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n.ui.one.statistics {\\r\\n  margin: 0em 0em -2em;\\r\\n}\\r\\n\\r\\n.ui.one.statistics .statistic {\\r\\n  min-width: 100%;\\r\\n  margin: 0em 0em 2em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Horizontal\\r\\n---------------*/\\r\\n\\r\\n.ui.horizontal.statistic {\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  -ms-grid-row-align: center;\\r\\n  align-items: center;\\r\\n}\\r\\n\\r\\n.ui.horizontal.statistics {\\r\\n  -webkit-box-orient: vertical;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: column;\\r\\n  -ms-flex-direction: column;\\r\\n  flex-direction: column;\\r\\n  margin: 0em;\\r\\n  max-width: none;\\r\\n}\\r\\n\\r\\n.ui.horizontal.statistics .statistic {\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n  -webkit-box-align: center;\\r\\n  -webkit-align-items: center;\\r\\n  -ms-flex-align: center;\\r\\n  -ms-grid-row-align: center;\\r\\n  align-items: center;\\r\\n  max-width: none;\\r\\n  margin: 1em 0em;\\r\\n}\\r\\n\\r\\n.ui.horizontal.statistic > .text.value,\\r\\n.ui.horizontal.statistics > .statistic > .text.value {\\r\\n  min-height: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.horizontal.statistics .statistic > .value .icon,\\r\\n.ui.horizontal.statistic > .value .icon {\\r\\n  width: 1.18em;\\r\\n}\\r\\n\\r\\n.ui.horizontal.statistics .statistic > .value,\\r\\n.ui.horizontal.statistic > .value {\\r\\n  display: inline-block;\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n.ui.horizontal.statistics .statistic > .label,\\r\\n.ui.horizontal.statistic > .label {\\r\\n  display: inline-block;\\r\\n  vertical-align: middle;\\r\\n  margin: 0em 0em 0em 0.75em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Colors\\r\\n---------------*/\\r\\n\\r\\n.ui.red.statistics .statistic > .value,\\r\\n.ui.statistics .red.statistic > .value,\\r\\n.ui.red.statistic > .value {\\r\\n  color: #DB2828;\\r\\n}\\r\\n\\r\\n.ui.orange.statistics .statistic > .value,\\r\\n.ui.statistics .orange.statistic > .value,\\r\\n.ui.orange.statistic > .value {\\r\\n  color: #F2711C;\\r\\n}\\r\\n\\r\\n.ui.yellow.statistics .statistic > .value,\\r\\n.ui.statistics .yellow.statistic > .value,\\r\\n.ui.yellow.statistic > .value {\\r\\n  color: #FBBD08;\\r\\n}\\r\\n\\r\\n.ui.olive.statistics .statistic > .value,\\r\\n.ui.statistics .olive.statistic > .value,\\r\\n.ui.olive.statistic > .value {\\r\\n  color: #B5CC18;\\r\\n}\\r\\n\\r\\n.ui.green.statistics .statistic > .value,\\r\\n.ui.statistics .green.statistic > .value,\\r\\n.ui.green.statistic > .value {\\r\\n  color: #21BA45;\\r\\n}\\r\\n\\r\\n.ui.teal.statistics .statistic > .value,\\r\\n.ui.statistics .teal.statistic > .value,\\r\\n.ui.teal.statistic > .value {\\r\\n  color: #00B5AD;\\r\\n}\\r\\n\\r\\n.ui.blue.statistics .statistic > .value,\\r\\n.ui.statistics .blue.statistic > .value,\\r\\n.ui.blue.statistic > .value {\\r\\n  color: #2185D0;\\r\\n}\\r\\n\\r\\n.ui.violet.statistics .statistic > .value,\\r\\n.ui.statistics .violet.statistic > .value,\\r\\n.ui.violet.statistic > .value {\\r\\n  color: #6435C9;\\r\\n}\\r\\n\\r\\n.ui.purple.statistics .statistic > .value,\\r\\n.ui.statistics .purple.statistic > .value,\\r\\n.ui.purple.statistic > .value {\\r\\n  color: #A333C8;\\r\\n}\\r\\n\\r\\n.ui.pink.statistics .statistic > .value,\\r\\n.ui.statistics .pink.statistic > .value,\\r\\n.ui.pink.statistic > .value {\\r\\n  color: #E03997;\\r\\n}\\r\\n\\r\\n.ui.brown.statistics .statistic > .value,\\r\\n.ui.statistics .brown.statistic > .value,\\r\\n.ui.brown.statistic > .value {\\r\\n  color: #A5673F;\\r\\n}\\r\\n\\r\\n.ui.grey.statistics .statistic > .value,\\r\\n.ui.statistics .grey.statistic > .value,\\r\\n.ui.grey.statistic > .value {\\r\\n  color: #767676;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n.ui.inverted.statistics .statistic > .value,\\r\\n.ui.inverted.statistic .value {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.statistics .statistic > .label,\\r\\n.ui.inverted.statistic .label {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n.ui.inverted.red.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.red.statistic > .value,\\r\\n.ui.inverted.red.statistic > .value {\\r\\n  color: #FF695E;\\r\\n}\\r\\n\\r\\n.ui.inverted.orange.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.orange.statistic > .value,\\r\\n.ui.inverted.orange.statistic > .value {\\r\\n  color: #FF851B;\\r\\n}\\r\\n\\r\\n.ui.inverted.yellow.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.yellow.statistic > .value,\\r\\n.ui.inverted.yellow.statistic > .value {\\r\\n  color: #FFE21F;\\r\\n}\\r\\n\\r\\n.ui.inverted.olive.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.olive.statistic > .value,\\r\\n.ui.inverted.olive.statistic > .value {\\r\\n  color: #D9E778;\\r\\n}\\r\\n\\r\\n.ui.inverted.green.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.green.statistic > .value,\\r\\n.ui.inverted.green.statistic > .value {\\r\\n  color: #2ECC40;\\r\\n}\\r\\n\\r\\n.ui.inverted.teal.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.teal.statistic > .value,\\r\\n.ui.inverted.teal.statistic > .value {\\r\\n  color: #6DFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.blue.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.blue.statistic > .value,\\r\\n.ui.inverted.blue.statistic > .value {\\r\\n  color: #54C8FF;\\r\\n}\\r\\n\\r\\n.ui.inverted.violet.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.violet.statistic > .value,\\r\\n.ui.inverted.violet.statistic > .value {\\r\\n  color: #A291FB;\\r\\n}\\r\\n\\r\\n.ui.inverted.purple.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.purple.statistic > .value,\\r\\n.ui.inverted.purple.statistic > .value {\\r\\n  color: #DC73FF;\\r\\n}\\r\\n\\r\\n.ui.inverted.pink.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.pink.statistic > .value,\\r\\n.ui.inverted.pink.statistic > .value {\\r\\n  color: #FF8EDF;\\r\\n}\\r\\n\\r\\n.ui.inverted.brown.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.brown.statistic > .value,\\r\\n.ui.inverted.brown.statistic > .value {\\r\\n  color: #D67C1C;\\r\\n}\\r\\n\\r\\n.ui.inverted.grey.statistics .statistic > .value,\\r\\n.ui.statistics .inverted.grey.statistic > .value,\\r\\n.ui.inverted.grey.statistic > .value {\\r\\n  color: #DCDDDE;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Floated\\r\\n---------------*/\\r\\n\\r\\n.ui[class*=\\\"left floated\\\"].statistic {\\r\\n  float: left;\\r\\n  margin: 0em 2em 1em 0em;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right floated\\\"].statistic {\\r\\n  float: right;\\r\\n  margin: 0em 0em 1em 2em;\\r\\n}\\r\\n\\r\\n.ui.floated.statistic:last-child {\\r\\n  margin-bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizes\\r\\n---------------*/\\r\\n\\r\\n/* Mini */\\r\\n\\r\\n.ui.mini.statistics .statistic > .value,\\r\\n.ui.mini.statistic > .value {\\r\\n  font-size: 1.5rem !important;\\r\\n}\\r\\n\\r\\n.ui.mini.horizontal.statistics .statistic > .value,\\r\\n.ui.mini.horizontal.statistic > .value {\\r\\n  font-size: 1.5rem !important;\\r\\n}\\r\\n\\r\\n.ui.mini.statistics .statistic > .text.value,\\r\\n.ui.mini.statistic > .text.value {\\r\\n  font-size: 1rem !important;\\r\\n}\\r\\n\\r\\n/* Tiny */\\r\\n\\r\\n.ui.tiny.statistics .statistic > .value,\\r\\n.ui.tiny.statistic > .value {\\r\\n  font-size: 2rem !important;\\r\\n}\\r\\n\\r\\n.ui.tiny.horizontal.statistics .statistic > .value,\\r\\n.ui.tiny.horizontal.statistic > .value {\\r\\n  font-size: 2rem !important;\\r\\n}\\r\\n\\r\\n.ui.tiny.statistics .statistic > .text.value,\\r\\n.ui.tiny.statistic > .text.value {\\r\\n  font-size: 1rem !important;\\r\\n}\\r\\n\\r\\n/* Small */\\r\\n\\r\\n.ui.small.statistics .statistic > .value,\\r\\n.ui.small.statistic > .value {\\r\\n  font-size: 3rem !important;\\r\\n}\\r\\n\\r\\n.ui.small.horizontal.statistics .statistic > .value,\\r\\n.ui.small.horizontal.statistic > .value {\\r\\n  font-size: 2rem !important;\\r\\n}\\r\\n\\r\\n.ui.small.statistics .statistic > .text.value,\\r\\n.ui.small.statistic > .text.value {\\r\\n  font-size: 1rem !important;\\r\\n}\\r\\n\\r\\n/* Medium */\\r\\n\\r\\n.ui.statistics .statistic > .value,\\r\\n.ui.statistic > .value {\\r\\n  font-size: 4rem !important;\\r\\n}\\r\\n\\r\\n.ui.horizontal.statistics .statistic > .value,\\r\\n.ui.horizontal.statistic > .value {\\r\\n  font-size: 3rem !important;\\r\\n}\\r\\n\\r\\n.ui.statistics .statistic > .text.value,\\r\\n.ui.statistic > .text.value {\\r\\n  font-size: 2rem !important;\\r\\n}\\r\\n\\r\\n/* Large */\\r\\n\\r\\n.ui.large.statistics .statistic > .value,\\r\\n.ui.large.statistic > .value {\\r\\n  font-size: 5rem !important;\\r\\n}\\r\\n\\r\\n.ui.large.horizontal.statistics .statistic > .value,\\r\\n.ui.large.horizontal.statistic > .value {\\r\\n  font-size: 4rem !important;\\r\\n}\\r\\n\\r\\n.ui.large.statistics .statistic > .text.value,\\r\\n.ui.large.statistic > .text.value {\\r\\n  font-size: 2.5rem !important;\\r\\n}\\r\\n\\r\\n/* Huge */\\r\\n\\r\\n.ui.huge.statistics .statistic > .value,\\r\\n.ui.huge.statistic > .value {\\r\\n  font-size: 6rem !important;\\r\\n}\\r\\n\\r\\n.ui.huge.horizontal.statistics .statistic > .value,\\r\\n.ui.huge.horizontal.statistic > .value {\\r\\n  font-size: 5rem !important;\\r\\n}\\r\\n\\r\\n.ui.huge.statistics .statistic > .text.value,\\r\\n.ui.huge.statistic > .text.value {\\r\\n  font-size: 2.5rem !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n    User Variable Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Accordion\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Accordion\\r\\n*******************************/\\r\\n\\r\\n.ui.accordion,\\r\\n.ui.accordion .accordion {\\r\\n  max-width: 100%;\\r\\n}\\r\\n\\r\\n.ui.accordion .accordion {\\r\\n  margin: 1em 0em 0em;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n/* Title */\\r\\n\\r\\n.ui.accordion .title,\\r\\n.ui.accordion .accordion .title {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n/* Default Styling */\\r\\n\\r\\n.ui.accordion .title:not(.ui) {\\r\\n  padding: 0.5em 0em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 1em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Content */\\r\\n\\r\\n.ui.accordion .title ~ .content,\\r\\n.ui.accordion .accordion .title ~ .content {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Default Styling */\\r\\n\\r\\n.ui.accordion:not(.styled) .title ~ .content:not(.ui),\\r\\n.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {\\r\\n  margin: '';\\r\\n  padding: 0.5em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {\\r\\n  padding-bottom: 0em;\\r\\n}\\r\\n\\r\\n/* Arrow */\\r\\n\\r\\n.ui.accordion .title .dropdown.icon,\\r\\n.ui.accordion .accordion .title .dropdown.icon {\\r\\n  display: inline-block;\\r\\n  float: none;\\r\\n  opacity: 1;\\r\\n  width: 1.25em;\\r\\n  height: 1em;\\r\\n  margin: 0em 0.25rem 0em 0rem;\\r\\n  padding: 0em;\\r\\n  font-size: 1em;\\r\\n  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: opacity 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: transform 0.1s ease, opacity 0.1s ease;\\r\\n  transition: transform 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  vertical-align: baseline;\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Coupling\\r\\n---------------*/\\r\\n\\r\\n/* Menu */\\r\\n\\r\\n.ui.accordion.menu .item .title {\\r\\n  display: block;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n.ui.accordion.menu .item .title > .dropdown.icon {\\r\\n  float: right;\\r\\n  margin: 0.21425em 0em 0em 1em;\\r\\n  -webkit-transform: rotate(180deg);\\r\\n  transform: rotate(180deg);\\r\\n}\\r\\n\\r\\n/* Header */\\r\\n\\r\\n.ui.accordion .ui.header .dropdown.icon {\\r\\n  font-size: 1em;\\r\\n  margin: 0em 0.25rem 0em 0rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n.ui.accordion .active.title .dropdown.icon,\\r\\n.ui.accordion .accordion .active.title .dropdown.icon {\\r\\n  -webkit-transform: rotate(90deg);\\r\\n  transform: rotate(90deg);\\r\\n}\\r\\n\\r\\n.ui.accordion.menu .item .active.title > .dropdown.icon {\\r\\n  -webkit-transform: rotate(90deg);\\r\\n  transform: rotate(90deg);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Styled\\r\\n---------------*/\\r\\n\\r\\n.ui.styled.accordion {\\r\\n  width: 600px;\\r\\n}\\r\\n\\r\\n.ui.styled.accordion,\\r\\n.ui.styled.accordion .accordion {\\r\\n  border-radius: 0.28571429rem;\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.styled.accordion .title,\\r\\n.ui.styled.accordion .accordion .title {\\r\\n  margin: 0em;\\r\\n  padding: 0.75em 1em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n  font-weight: bold;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\\r\\n  transition: background 0.1s ease, color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.styled.accordion > .title:first-child,\\r\\n.ui.styled.accordion .accordion .title:first-child {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n/* Content */\\r\\n\\r\\n.ui.styled.accordion .content,\\r\\n.ui.styled.accordion .accordion .content {\\r\\n  margin: 0em;\\r\\n  padding: 0.5em 1em 1.5em;\\r\\n}\\r\\n\\r\\n.ui.styled.accordion .accordion .content {\\r\\n  padding: 0em;\\r\\n  padding: 0.5em 1em 1.5em;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.styled.accordion .title:hover,\\r\\n.ui.styled.accordion .active.title,\\r\\n.ui.styled.accordion .accordion .title:hover,\\r\\n.ui.styled.accordion .accordion .active.title {\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.styled.accordion .accordion .title:hover,\\r\\n.ui.styled.accordion .accordion .active.title {\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.styled.accordion .active.title {\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.styled.accordion .accordion .active.title {\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.accordion .active.content,\\r\\n.ui.accordion .accordion .active.content {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Fluid\\r\\n---------------*/\\r\\n\\r\\n.ui.fluid.accordion,\\r\\n.ui.fluid.accordion .accordion {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Inverted\\r\\n---------------*/\\r\\n\\r\\n.ui.inverted.accordion .title:not(.ui) {\\r\\n  color: rgba(255, 255, 255, 0.9);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n@font-face {\\r\\n  font-family: 'Accordion';\\r\\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n}\\r\\n\\r\\n/* Dropdown Icon */\\r\\n\\r\\n.ui.accordion .title .dropdown.icon,\\r\\n.ui.accordion .accordion .title .dropdown.icon {\\r\\n  font-family: Accordion;\\r\\n  line-height: 1;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.accordion .title .dropdown.icon:before,\\r\\n.ui.accordion .accordion .title .dropdown.icon:before {\\r\\n  content: '\\\\F0DA';\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n        User Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Checkbox\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n           Checkbox\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Content\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox {\\r\\n  position: relative;\\r\\n  display: inline-block;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  outline: none;\\r\\n  vertical-align: baseline;\\r\\n  font-style: normal;\\r\\n  min-height: 17px;\\r\\n  font-size: 1rem;\\r\\n  line-height: 17px;\\r\\n  min-width: 17px;\\r\\n}\\r\\n\\r\\n/* HTML Checkbox */\\r\\n\\r\\n.ui.checkbox input[type=\\\"checkbox\\\"],\\r\\n.ui.checkbox input[type=\\\"radio\\\"] {\\r\\n  cursor: pointer;\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  opacity: 0 !important;\\r\\n  outline: none;\\r\\n  z-index: 3;\\r\\n  width: 17px;\\r\\n  height: 17px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Box\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox .box,\\r\\n.ui.checkbox label {\\r\\n  cursor: auto;\\r\\n  position: relative;\\r\\n  display: block;\\r\\n  padding-left: 1.85714em;\\r\\n  outline: none;\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.checkbox .box:before,\\r\\n.ui.checkbox label:before {\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  width: 17px;\\r\\n  height: 17px;\\r\\n  content: '';\\r\\n  background: #FFFFFF;\\r\\n  border-radius: 0.21428571rem;\\r\\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\\r\\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  border: 1px solid #D4D4D5;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Checkmark\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox .box:after,\\r\\n.ui.checkbox label:after {\\r\\n  position: absolute;\\r\\n  font-size: 14px;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  width: 17px;\\r\\n  height: 17px;\\r\\n  text-align: center;\\r\\n  opacity: 0;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: border 0.1s ease, opacity 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\\r\\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Label\\r\\n---------------*/\\r\\n\\r\\n/* Inside */\\r\\n\\r\\n.ui.checkbox label,\\r\\n.ui.checkbox + label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  -webkit-transition: color 0.1s ease;\\r\\n  transition: color 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Outside */\\r\\n\\r\\n.ui.checkbox + label {\\r\\n  vertical-align: middle;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Hover\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox .box:hover::before,\\r\\n.ui.checkbox label:hover::before {\\r\\n  background: #FFFFFF;\\r\\n  border-color: rgba(34, 36, 38, 0.35);\\r\\n}\\r\\n\\r\\n.ui.checkbox label:hover,\\r\\n.ui.checkbox + label:hover {\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Down\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox .box:active::before,\\r\\n.ui.checkbox label:active::before {\\r\\n  background: #F9FAFB;\\r\\n  border-color: rgba(34, 36, 38, 0.35);\\r\\n}\\r\\n\\r\\n.ui.checkbox .box:active::after,\\r\\n.ui.checkbox label:active::after {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.checkbox input:active ~ label {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Focus\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox input:focus ~ .box:before,\\r\\n.ui.checkbox input:focus ~ label:before {\\r\\n  background: #FFFFFF;\\r\\n  border-color: #96C8DA;\\r\\n}\\r\\n\\r\\n.ui.checkbox input:focus ~ .box:after,\\r\\n.ui.checkbox input:focus ~ label:after {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n.ui.checkbox input:focus ~ label {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox input:checked ~ .box:before,\\r\\n.ui.checkbox input:checked ~ label:before {\\r\\n  background: #FFFFFF;\\r\\n  border-color: rgba(34, 36, 38, 0.35);\\r\\n}\\r\\n\\r\\n.ui.checkbox input:checked ~ .box:after,\\r\\n.ui.checkbox input:checked ~ label:after {\\r\\n  opacity: 1;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Indeterminate\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox input:not([type=radio]):indeterminate ~ .box:before,\\r\\n.ui.checkbox input:not([type=radio]):indeterminate ~ label:before {\\r\\n  background: #FFFFFF;\\r\\n  border-color: rgba(34, 36, 38, 0.35);\\r\\n}\\r\\n\\r\\n.ui.checkbox input:not([type=radio]):indeterminate ~ .box:after,\\r\\n.ui.checkbox input:not([type=radio]):indeterminate ~ label:after {\\r\\n  opacity: 1;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Active Focus\\r\\n---------------*/\\r\\n\\r\\n.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:before,\\r\\n.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before,\\r\\n.ui.checkbox input:checked:focus ~ .box:before,\\r\\n.ui.checkbox input:checked:focus ~ label:before {\\r\\n  background: #FFFFFF;\\r\\n  border-color: #96C8DA;\\r\\n}\\r\\n\\r\\n.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:after,\\r\\n.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after,\\r\\n.ui.checkbox input:checked:focus ~ .box:after,\\r\\n.ui.checkbox input:checked:focus ~ label:after {\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Read-Only\\r\\n---------------*/\\r\\n\\r\\n.ui.read-only.checkbox,\\r\\n.ui.read-only.checkbox label {\\r\\n  cursor: default;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Disabled\\r\\n---------------*/\\r\\n\\r\\n.ui.disabled.checkbox .box:after,\\r\\n.ui.disabled.checkbox label,\\r\\n.ui.checkbox input[disabled] ~ .box:after,\\r\\n.ui.checkbox input[disabled] ~ label {\\r\\n  cursor: default !important;\\r\\n  opacity: 0.5;\\r\\n  color: #000000;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Hidden\\r\\n---------------*/\\r\\n\\r\\n/* Initialized checkbox moves input below element\\r\\n to prevent manually triggering */\\r\\n\\r\\n.ui.checkbox input.hidden {\\r\\n  z-index: -1;\\r\\n}\\r\\n\\r\\n/* Selectable Label */\\r\\n\\r\\n.ui.checkbox input.hidden + label {\\r\\n  cursor: pointer;\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Radio\\r\\n---------------*/\\r\\n\\r\\n.ui.radio.checkbox {\\r\\n  min-height: 15px;\\r\\n}\\r\\n\\r\\n.ui.radio.checkbox .box,\\r\\n.ui.radio.checkbox label {\\r\\n  padding-left: 1.85714em;\\r\\n}\\r\\n\\r\\n/* Box */\\r\\n\\r\\n.ui.radio.checkbox .box:before,\\r\\n.ui.radio.checkbox label:before {\\r\\n  content: '';\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n  width: 15px;\\r\\n  height: 15px;\\r\\n  border-radius: 500rem;\\r\\n  top: 1px;\\r\\n  left: 0px;\\r\\n}\\r\\n\\r\\n/* Bullet */\\r\\n\\r\\n.ui.radio.checkbox .box:after,\\r\\n.ui.radio.checkbox label:after {\\r\\n  border: none;\\r\\n  content: '' !important;\\r\\n  width: 15px;\\r\\n  height: 15px;\\r\\n  line-height: 15px;\\r\\n}\\r\\n\\r\\n/* Radio Checkbox */\\r\\n\\r\\n.ui.radio.checkbox .box:after,\\r\\n.ui.radio.checkbox label:after {\\r\\n  top: 1px;\\r\\n  left: 0px;\\r\\n  width: 15px;\\r\\n  height: 15px;\\r\\n  border-radius: 500rem;\\r\\n  -webkit-transform: scale(0.46666667);\\r\\n  transform: scale(0.46666667);\\r\\n  background-color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Focus */\\r\\n\\r\\n.ui.radio.checkbox input:focus ~ .box:before,\\r\\n.ui.radio.checkbox input:focus ~ label:before {\\r\\n  background-color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.radio.checkbox input:focus ~ .box:after,\\r\\n.ui.radio.checkbox input:focus ~ label:after {\\r\\n  background-color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Indeterminate */\\r\\n\\r\\n.ui.radio.checkbox input:indeterminate ~ .box:after,\\r\\n.ui.radio.checkbox input:indeterminate ~ label:after {\\r\\n  opacity: 0;\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.radio.checkbox input:checked ~ .box:before,\\r\\n.ui.radio.checkbox input:checked ~ label:before {\\r\\n  background-color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.radio.checkbox input:checked ~ .box:after,\\r\\n.ui.radio.checkbox input:checked ~ label:after {\\r\\n  background-color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/* Active Focus */\\r\\n\\r\\n.ui.radio.checkbox input:focus:checked ~ .box:before,\\r\\n.ui.radio.checkbox input:focus:checked ~ label:before {\\r\\n  background-color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.radio.checkbox input:focus:checked ~ .box:after,\\r\\n.ui.radio.checkbox input:focus:checked ~ label:after {\\r\\n  background-color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Slider\\r\\n---------------*/\\r\\n\\r\\n.ui.slider.checkbox {\\r\\n  min-height: 1.25rem;\\r\\n}\\r\\n\\r\\n/* Input */\\r\\n\\r\\n.ui.slider.checkbox input {\\r\\n  width: 3.5rem;\\r\\n  height: 1.25rem;\\r\\n}\\r\\n\\r\\n/* Label */\\r\\n\\r\\n.ui.slider.checkbox .box,\\r\\n.ui.slider.checkbox label {\\r\\n  padding-left: 4.5rem;\\r\\n  line-height: 1rem;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/* Line */\\r\\n\\r\\n.ui.slider.checkbox .box:before,\\r\\n.ui.slider.checkbox label:before {\\r\\n  display: block;\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  border: none !important;\\r\\n  left: 0em;\\r\\n  z-index: 1;\\r\\n  top: 0.4rem;\\r\\n  background-color: rgba(0, 0, 0, 0.05);\\r\\n  width: 3.5rem;\\r\\n  height: 0.21428571rem;\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n  border-radius: 500rem;\\r\\n  -webkit-transition: background 0.3s ease;\\r\\n  transition: background 0.3s ease;\\r\\n}\\r\\n\\r\\n/* Handle */\\r\\n\\r\\n.ui.slider.checkbox .box:after,\\r\\n.ui.slider.checkbox label:after {\\r\\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  position: absolute;\\r\\n  content: '' !important;\\r\\n  opacity: 1;\\r\\n  z-index: 2;\\r\\n  border: none;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\\r\\n  width: 1.5rem;\\r\\n  height: 1.5rem;\\r\\n  top: -0.25rem;\\r\\n  left: 0em;\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n  border-radius: 500rem;\\r\\n  -webkit-transition: left 0.3s ease;\\r\\n  transition: left 0.3s ease;\\r\\n}\\r\\n\\r\\n/* Focus */\\r\\n\\r\\n.ui.slider.checkbox input:focus ~ .box:before,\\r\\n.ui.slider.checkbox input:focus ~ label:before {\\r\\n  background-color: rgba(0, 0, 0, 0.15);\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.slider.checkbox .box:hover,\\r\\n.ui.slider.checkbox label:hover {\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n.ui.slider.checkbox .box:hover::before,\\r\\n.ui.slider.checkbox label:hover::before {\\r\\n  background: rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.slider.checkbox input:checked ~ .box,\\r\\n.ui.slider.checkbox input:checked ~ label {\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.slider.checkbox input:checked ~ .box:before,\\r\\n.ui.slider.checkbox input:checked ~ label:before {\\r\\n  background-color: #545454 !important;\\r\\n}\\r\\n\\r\\n.ui.slider.checkbox input:checked ~ .box:after,\\r\\n.ui.slider.checkbox input:checked ~ label:after {\\r\\n  left: 2rem;\\r\\n}\\r\\n\\r\\n/* Active Focus */\\r\\n\\r\\n.ui.slider.checkbox input:focus:checked ~ .box,\\r\\n.ui.slider.checkbox input:focus:checked ~ label {\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.slider.checkbox input:focus:checked ~ .box:before,\\r\\n.ui.slider.checkbox input:focus:checked ~ label:before {\\r\\n  background-color: #000000 !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Toggle\\r\\n---------------*/\\r\\n\\r\\n.ui.toggle.checkbox {\\r\\n  min-height: 1.5rem;\\r\\n}\\r\\n\\r\\n/* Input */\\r\\n\\r\\n.ui.toggle.checkbox input {\\r\\n  width: 3.5rem;\\r\\n  height: 1.5rem;\\r\\n}\\r\\n\\r\\n/* Label */\\r\\n\\r\\n.ui.toggle.checkbox .box,\\r\\n.ui.toggle.checkbox label {\\r\\n  min-height: 1.5rem;\\r\\n  padding-left: 4.5rem;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.toggle.checkbox label {\\r\\n  padding-top: 0.15em;\\r\\n}\\r\\n\\r\\n/* Switch */\\r\\n\\r\\n.ui.toggle.checkbox .box:before,\\r\\n.ui.toggle.checkbox label:before {\\r\\n  display: block;\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  z-index: 1;\\r\\n  -webkit-transform: none;\\r\\n  transform: none;\\r\\n  border: none;\\r\\n  top: 0rem;\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  box-shadow: none;\\r\\n  width: 3.5rem;\\r\\n  height: 1.5rem;\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n/* Handle */\\r\\n\\r\\n.ui.toggle.checkbox .box:after,\\r\\n.ui.toggle.checkbox label:after {\\r\\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\\r\\n  position: absolute;\\r\\n  content: '' !important;\\r\\n  opacity: 1;\\r\\n  z-index: 2;\\r\\n  border: none;\\r\\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\\r\\n  width: 1.5rem;\\r\\n  height: 1.5rem;\\r\\n  top: 0rem;\\r\\n  left: 0em;\\r\\n  border-radius: 500rem;\\r\\n  -webkit-transition: background 0.3s ease, left 0.3s ease;\\r\\n  transition: background 0.3s ease, left 0.3s ease;\\r\\n}\\r\\n\\r\\n.ui.toggle.checkbox input ~ .box:after,\\r\\n.ui.toggle.checkbox input ~ label:after {\\r\\n  left: -0.05rem;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Focus */\\r\\n\\r\\n.ui.toggle.checkbox input:focus ~ .box:before,\\r\\n.ui.toggle.checkbox input:focus ~ label:before {\\r\\n  background-color: rgba(0, 0, 0, 0.15);\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.toggle.checkbox .box:hover::before,\\r\\n.ui.toggle.checkbox label:hover::before {\\r\\n  background-color: rgba(0, 0, 0, 0.15);\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.toggle.checkbox input:checked ~ .box,\\r\\n.ui.toggle.checkbox input:checked ~ label {\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.toggle.checkbox input:checked ~ .box:before,\\r\\n.ui.toggle.checkbox input:checked ~ label:before {\\r\\n  background-color: #2185D0 !important;\\r\\n}\\r\\n\\r\\n.ui.toggle.checkbox input:checked ~ .box:after,\\r\\n.ui.toggle.checkbox input:checked ~ label:after {\\r\\n  left: 2.15rem;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Active Focus */\\r\\n\\r\\n.ui.toggle.checkbox input:focus:checked ~ .box,\\r\\n.ui.toggle.checkbox input:focus:checked ~ label {\\r\\n  color: rgba(0, 0, 0, 0.95) !important;\\r\\n}\\r\\n\\r\\n.ui.toggle.checkbox input:focus:checked ~ .box:before,\\r\\n.ui.toggle.checkbox input:focus:checked ~ label:before {\\r\\n  background-color: #0d71bb !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Fitted\\r\\n---------------*/\\r\\n\\r\\n.ui.fitted.checkbox .box,\\r\\n.ui.fitted.checkbox label {\\r\\n  padding-left: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.fitted.toggle.checkbox,\\r\\n.ui.fitted.toggle.checkbox {\\r\\n  width: 3.5rem;\\r\\n}\\r\\n\\r\\n.ui.fitted.slider.checkbox,\\r\\n.ui.fitted.slider.checkbox {\\r\\n  width: 3.5rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n@font-face {\\r\\n  font-family: 'Checkbox';\\r\\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype');\\r\\n}\\r\\n\\r\\n/* Checkmark */\\r\\n\\r\\n.ui.checkbox label:after,\\r\\n.ui.checkbox .box:after {\\r\\n  font-family: 'Checkbox';\\r\\n}\\r\\n\\r\\n/* Checked */\\r\\n\\r\\n.ui.checkbox input:checked ~ .box:after,\\r\\n.ui.checkbox input:checked ~ label:after {\\r\\n  content: '\\\\E800';\\r\\n}\\r\\n\\r\\n/* Indeterminate */\\r\\n\\r\\n.ui.checkbox input:indeterminate ~ .box:after,\\r\\n.ui.checkbox input:indeterminate ~ label:after {\\r\\n  font-size: 12px;\\r\\n  content: '\\\\E801';\\r\\n}\\r\\n\\r\\n/*  UTF Reference\\r\\n.check:before { content: '\\\\e800'; }\\r\\n.dash:before  { content: '\\\\e801'; }\\r\\n.plus:before { content: '\\\\e802'; }\\r\\n*/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Dimmer\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Dimmer\\r\\n*******************************/\\r\\n\\r\\n.dimmable:not(.body) {\\r\\n  position: relative;\\r\\n}\\r\\n\\r\\n.ui.dimmer {\\r\\n  display: none;\\r\\n  position: absolute;\\r\\n  top: 0em !important;\\r\\n  left: 0em !important;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  text-align: center;\\r\\n  vertical-align: middle;\\r\\n  background-color: rgba(0, 0, 0, 0.85);\\r\\n  opacity: 0;\\r\\n  line-height: 1;\\r\\n  -webkit-animation-fill-mode: both;\\r\\n  animation-fill-mode: both;\\r\\n  -webkit-animation-duration: 0.5s;\\r\\n  animation-duration: 0.5s;\\r\\n  -webkit-transition: background-color 0.5s linear;\\r\\n  transition: background-color 0.5s linear;\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  will-change: opacity;\\r\\n  z-index: 1000;\\r\\n}\\r\\n\\r\\n/* Dimmer Content */\\r\\n\\r\\n.ui.dimmer > .content {\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  display: table;\\r\\n  -webkit-user-select: text;\\r\\n  -moz-user-select: text;\\r\\n  -ms-user-select: text;\\r\\n  user-select: text;\\r\\n}\\r\\n\\r\\n.ui.dimmer > .content > * {\\r\\n  display: table-cell;\\r\\n  vertical-align: middle;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Loose Coupling */\\r\\n\\r\\n.ui.segment > .ui.dimmer {\\r\\n  border-radius: inherit !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n.animating.dimmable:not(body),\\r\\n.dimmed.dimmable:not(body) {\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\n.dimmed.dimmable > .ui.animating.dimmer,\\r\\n.dimmed.dimmable > .ui.visible.dimmer,\\r\\n.ui.active.dimmer {\\r\\n  display: block;\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.disabled.dimmer {\\r\\n  width: 0 !important;\\r\\n  height: 0 !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Page\\r\\n---------------*/\\r\\n\\r\\n.ui.page.dimmer {\\r\\n  position: fixed;\\r\\n  -webkit-transform-style: '';\\r\\n  transform-style: '';\\r\\n  -webkit-perspective: 2000px;\\r\\n  perspective: 2000px;\\r\\n  -webkit-transform-origin: center center;\\r\\n  transform-origin: center center;\\r\\n}\\r\\n\\r\\nbody.animating.in.dimmable,\\r\\nbody.dimmed.dimmable {\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\nbody.dimmable > .dimmer {\\r\\n  position: fixed;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Blurring\\r\\n---------------*/\\r\\n\\r\\n.blurring.dimmable > :not(.dimmer) {\\r\\n  -webkit-filter: blur(0px) grayscale(0);\\r\\n  filter: blur(0px) grayscale(0);\\r\\n  -webkit-transition: 800ms filter ease;\\r\\n  transition: 800ms filter ease;\\r\\n}\\r\\n\\r\\n.blurring.dimmed.dimmable > :not(.dimmer) {\\r\\n  -webkit-filter: blur(5px) grayscale(0.7);\\r\\n  filter: blur(5px) grayscale(0.7);\\r\\n}\\r\\n\\r\\n/* Dimmer Color */\\r\\n\\r\\n.blurring.dimmable > .dimmer {\\r\\n  background-color: rgba(0, 0, 0, 0.6);\\r\\n}\\r\\n\\r\\n.blurring.dimmable > .inverted.dimmer {\\r\\n  background-color: rgba(255, 255, 255, 0.6);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Aligned\\r\\n---------------*/\\r\\n\\r\\n.ui.dimmer > .top.aligned.content > * {\\r\\n  vertical-align: top;\\r\\n}\\r\\n\\r\\n.ui.dimmer > .bottom.aligned.content > * {\\r\\n  vertical-align: bottom;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n.ui.inverted.dimmer {\\r\\n  background-color: rgba(255, 255, 255, 0.85);\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer > .content > * {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Simple\\r\\n---------------*/\\r\\n\\r\\n/* Displays without javascript */\\r\\n\\r\\n.ui.simple.dimmer {\\r\\n  display: block;\\r\\n  overflow: hidden;\\r\\n  opacity: 1;\\r\\n  width: 0%;\\r\\n  height: 0%;\\r\\n  z-index: -100;\\r\\n  background-color: rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n.dimmed.dimmable > .ui.simple.dimmer {\\r\\n  overflow: visible;\\r\\n  opacity: 1;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  background-color: rgba(0, 0, 0, 0.85);\\r\\n  z-index: 1;\\r\\n}\\r\\n\\r\\n.ui.simple.inverted.dimmer {\\r\\n  background-color: rgba(255, 255, 255, 0);\\r\\n}\\r\\n\\r\\n.dimmed.dimmable > .ui.simple.inverted.dimmer {\\r\\n  background-color: rgba(255, 255, 255, 0.85);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n        User Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Dropdown\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Dropdown\\r\\n*******************************/\\r\\n\\r\\n.ui.dropdown {\\r\\n  cursor: pointer;\\r\\n  position: relative;\\r\\n  display: inline-block;\\r\\n  outline: none;\\r\\n  text-align: left;\\r\\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\\r\\n  transition: box-shadow 0.1s ease, width 0.1s ease;\\r\\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Content\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Menu\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown .menu {\\r\\n  cursor: auto;\\r\\n  position: absolute;\\r\\n  display: none;\\r\\n  outline: none;\\r\\n  top: 100%;\\r\\n  min-width: -webkit-max-content;\\r\\n  min-width: -moz-max-content;\\r\\n  min-width: max-content;\\r\\n  margin: 0em;\\r\\n  padding: 0em 0em;\\r\\n  background: #FFFFFF;\\r\\n  font-size: 1em;\\r\\n  text-shadow: none;\\r\\n  text-align: left;\\r\\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-radius: 0.28571429rem;\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n  z-index: 11;\\r\\n  will-change: transform, opacity;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > * {\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Hidden Input\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown > input:not(.search):first-child,\\r\\n.ui.dropdown > select {\\r\\n  display: none !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n Dropdown Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown > .dropdown.icon {\\r\\n  position: relative;\\r\\n  width: auto;\\r\\n  font-size: 0.85714286em;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .item .dropdown.icon {\\r\\n  width: auto;\\r\\n  float: right;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .item .dropdown.icon + .text {\\r\\n  margin-right: 1em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Text\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown > .text {\\r\\n  display: inline-block;\\r\\n  -webkit-transition: none;\\r\\n  transition: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Menu Item\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown .menu > .item {\\r\\n  position: relative;\\r\\n  cursor: pointer;\\r\\n  display: block;\\r\\n  border: none;\\r\\n  height: auto;\\r\\n  text-align: left;\\r\\n  border-top: none;\\r\\n  line-height: 1em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  padding: 0.78571429rem 1.14285714rem !important;\\r\\n  font-size: 1rem;\\r\\n  text-transform: none;\\r\\n  font-weight: normal;\\r\\n  box-shadow: none;\\r\\n  -webkit-touch-callout: none;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .item:first-child {\\r\\n  border-top-width: 0px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Floated Content\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown > .text > [class*=\\\"right floated\\\"],\\r\\n.ui.dropdown .menu .item > [class*=\\\"right floated\\\"] {\\r\\n  float: right !important;\\r\\n  margin-right: 0em !important;\\r\\n  margin-left: 1em !important;\\r\\n}\\r\\n\\r\\n.ui.dropdown > .text > [class*=\\\"left floated\\\"],\\r\\n.ui.dropdown .menu .item > [class*=\\\"left floated\\\"] {\\r\\n  float: left !important;\\r\\n  margin-left: 0em !important;\\r\\n  margin-right: 1em !important;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu .item > .icon.floated,\\r\\n.ui.dropdown .menu .item > .flag.floated,\\r\\n.ui.dropdown .menu .item > .image.floated,\\r\\n.ui.dropdown .menu .item > img.floated {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n  Menu Divider\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown .menu > .header {\\r\\n  margin: 1rem 0rem 0.75rem;\\r\\n  padding: 0em 1.14285714rem;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n  font-size: 0.78571429em;\\r\\n  font-weight: bold;\\r\\n  text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .divider {\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\\r\\n  height: 0em;\\r\\n  margin: 0.5em 0em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .input {\\r\\n  width: auto;\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  margin: 1.14285714rem 0.78571429rem;\\r\\n  min-width: 10rem;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .header + .input {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .input:not(.transparent) input {\\r\\n  padding: 0.5em 1em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .input:not(.transparent) .button,\\r\\n.ui.dropdown .menu > .input:not(.transparent) .icon,\\r\\n.ui.dropdown .menu > .input:not(.transparent) .label {\\r\\n  padding-top: 0.5em;\\r\\n  padding-bottom: 0.5em;\\r\\n}\\r\\n\\r\\n/*-----------------\\r\\n  Item Description\\r\\n-------------------*/\\r\\n\\r\\n.ui.dropdown > .text > .description,\\r\\n.ui.dropdown .menu > .item > .description {\\r\\n  float: right;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/*-----------------\\r\\n       Message\\r\\n-------------------*/\\r\\n\\r\\n.ui.dropdown .menu > .message {\\r\\n  padding: 0.78571429rem 1.14285714rem;\\r\\n  font-weight: normal;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .message:not(.ui) {\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Sub Menu\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown .menu .menu {\\r\\n  top: 0% !important;\\r\\n  left: 100% !important;\\r\\n  right: auto !important;\\r\\n  margin: 0em 0em 0em -0.5em !important;\\r\\n  border-radius: 0.28571429rem !important;\\r\\n  z-index: 21 !important;\\r\\n}\\r\\n\\r\\n/* Hide Arrow */\\r\\n\\r\\n.ui.dropdown .menu .menu:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Sub Elements\\r\\n---------------*/\\r\\n\\r\\n/* Icons / Flags / Labels / Image */\\r\\n\\r\\n.ui.dropdown > .text > .icon,\\r\\n.ui.dropdown > .text > .label,\\r\\n.ui.dropdown > .text > .flag,\\r\\n.ui.dropdown > .text > img,\\r\\n.ui.dropdown > .text > .image {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu > .item > .icon,\\r\\n.ui.dropdown .menu > .item > .label,\\r\\n.ui.dropdown .menu > .item > .flag,\\r\\n.ui.dropdown .menu > .item > .image,\\r\\n.ui.dropdown .menu > .item > img {\\r\\n  margin-top: 0em;\\r\\n}\\r\\n\\r\\n.ui.dropdown > .text > .icon,\\r\\n.ui.dropdown > .text > .label,\\r\\n.ui.dropdown > .text > .flag,\\r\\n.ui.dropdown > .text > img,\\r\\n.ui.dropdown > .text > .image,\\r\\n.ui.dropdown .menu > .item > .icon,\\r\\n.ui.dropdown .menu > .item > .label,\\r\\n.ui.dropdown .menu > .item > .flag,\\r\\n.ui.dropdown .menu > .item > .image,\\r\\n.ui.dropdown .menu > .item > img {\\r\\n  margin-left: 0em;\\r\\n  float: none;\\r\\n  margin-right: 0.78571429rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Image\\r\\n---------------*/\\r\\n\\r\\n.ui.dropdown > .text > img,\\r\\n.ui.dropdown > .text > .image,\\r\\n.ui.dropdown .menu > .item > .image,\\r\\n.ui.dropdown .menu > .item > img {\\r\\n  display: inline-block;\\r\\n  vertical-align: middle;\\r\\n  width: auto;\\r\\n  max-height: 2em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Coupling\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n      Menu\\r\\n---------------*/\\r\\n\\r\\n/* Remove Menu Item Divider */\\r\\n\\r\\n.ui.dropdown .ui.menu > .item:before,\\r\\n.ui.menu .ui.dropdown .menu > .item:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Prevent Menu Item Border */\\r\\n\\r\\n.ui.menu .ui.dropdown .menu .active.item {\\r\\n  border-left: none;\\r\\n}\\r\\n\\r\\n/* Automatically float dropdown menu right on last menu item */\\r\\n\\r\\n.ui.menu .right.menu .dropdown:last-child .menu,\\r\\n.ui.menu .right.dropdown.item .menu,\\r\\n.ui.buttons > .ui.dropdown:last-child .menu {\\r\\n  left: auto;\\r\\n  right: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Label\\r\\n---------------*/\\r\\n\\r\\n/* Dropdown Menu */\\r\\n\\r\\n.ui.label.dropdown .menu {\\r\\n  min-width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Button\\r\\n---------------*/\\r\\n\\r\\n/* No Margin On Icon Button */\\r\\n\\r\\n.ui.dropdown.icon.button > .dropdown.icon {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui.button.dropdown .menu {\\r\\n  min-width: 100%;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n              Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Selection\\r\\n---------------*/\\r\\n\\r\\n/* Displays like a select box */\\r\\n\\r\\n.ui.selection.dropdown {\\r\\n  cursor: pointer;\\r\\n  word-wrap: break-word;\\r\\n  line-height: 1em;\\r\\n  white-space: normal;\\r\\n  outline: 0;\\r\\n  -webkit-transform: rotateZ(0deg);\\r\\n  transform: rotateZ(0deg);\\r\\n  min-width: 14em;\\r\\n  min-height: 2.71428571em;\\r\\n  background: #FFFFFF;\\r\\n  display: inline-block;\\r\\n  padding: 0.78571429em 2.1em 0.78571429em 1em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  box-shadow: none;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-radius: 0.28571429rem;\\r\\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\\r\\n  transition: box-shadow 0.1s ease, width 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown.visible,\\r\\n.ui.selection.dropdown.active {\\r\\n  z-index: 10;\\r\\n}\\r\\n\\r\\nselect.ui.dropdown {\\r\\n  height: 38px;\\r\\n  padding: 0.5em;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  visibility: visible;\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown > .search.icon,\\r\\n.ui.selection.dropdown > .delete.icon,\\r\\n.ui.selection.dropdown > .dropdown.icon {\\r\\n  cursor: pointer;\\r\\n  position: absolute;\\r\\n  width: auto;\\r\\n  height: auto;\\r\\n  line-height: 1.21428571em;\\r\\n  top: 0.78571429em;\\r\\n  right: 1em;\\r\\n  z-index: 3;\\r\\n  margin: -0.78571429em;\\r\\n  padding: 0.78571429em;\\r\\n  opacity: 0.8;\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Compact */\\r\\n\\r\\n.ui.compact.selection.dropdown {\\r\\n  min-width: 0px;\\r\\n}\\r\\n\\r\\n/*  Selection Menu */\\r\\n\\r\\n.ui.selection.dropdown .menu {\\r\\n  overflow-x: hidden;\\r\\n  overflow-y: auto;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n  border-top-width: 0px !important;\\r\\n  width: auto;\\r\\n  outline: none;\\r\\n  margin: 0px -1px;\\r\\n  min-width: calc(100% +  2px );\\r\\n  width: calc(100% +  2px );\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown .menu:after,\\r\\n.ui.selection.dropdown .menu:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Message\\r\\n---------------*/\\r\\n\\r\\n.ui.selection.dropdown .menu > .message {\\r\\n  padding: 0.78571429rem 1.14285714rem;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.selection.dropdown .menu {\\r\\n    max-height: 8.01428571rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n  .ui.selection.dropdown .menu {\\r\\n    max-height: 10.68571429rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui.selection.dropdown .menu {\\r\\n    max-height: 16.02857143rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.selection.dropdown .menu {\\r\\n    max-height: 21.37142857rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Menu Item */\\r\\n\\r\\n.ui.selection.dropdown .menu > .item {\\r\\n  border-top: 1px solid #FAFAFA;\\r\\n  padding: 0.78571429rem 1.14285714rem !important;\\r\\n  white-space: normal;\\r\\n  word-wrap: normal;\\r\\n}\\r\\n\\r\\n/* User Item */\\r\\n\\r\\n.ui.selection.dropdown .menu > .hidden.addition.item {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.selection.dropdown:hover {\\r\\n  border-color: rgba(34, 36, 38, 0.35);\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.selection.active.dropdown {\\r\\n  border-color: #96C8DA;\\r\\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.selection.active.dropdown .menu {\\r\\n  border-color: #96C8DA;\\r\\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Focus */\\r\\n\\r\\n.ui.selection.dropdown:focus {\\r\\n  border-color: #96C8DA;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown:focus .menu {\\r\\n  border-color: #96C8DA;\\r\\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Visible */\\r\\n\\r\\n.ui.selection.visible.dropdown > .text:not(.default) {\\r\\n  font-weight: normal;\\r\\n  color: rgba(0, 0, 0, 0.8);\\r\\n}\\r\\n\\r\\n/* Visible Hover */\\r\\n\\r\\n.ui.selection.active.dropdown:hover {\\r\\n  border-color: #96C8DA;\\r\\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.selection.active.dropdown:hover .menu {\\r\\n  border-color: #96C8DA;\\r\\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Dropdown Icon */\\r\\n\\r\\n.ui.active.selection.dropdown > .dropdown.icon,\\r\\n.ui.visible.selection.dropdown > .dropdown.icon {\\r\\n  opacity: 1;\\r\\n  z-index: 3;\\r\\n}\\r\\n\\r\\n/* Connecting Border */\\r\\n\\r\\n.ui.active.selection.dropdown {\\r\\n  border-bottom-left-radius: 0em !important;\\r\\n  border-bottom-right-radius: 0em !important;\\r\\n}\\r\\n\\r\\n/* Empty Connecting Border */\\r\\n\\r\\n.ui.active.empty.selection.dropdown {\\r\\n  border-radius: 0.28571429rem !important;\\r\\n  box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.ui.active.empty.selection.dropdown .menu {\\r\\n  border: none !important;\\r\\n  box-shadow: none !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Searchable\\r\\n---------------*/\\r\\n\\r\\n/* Search Selection */\\r\\n\\r\\n.ui.search.dropdown {\\r\\n  min-width: '';\\r\\n}\\r\\n\\r\\n/* Search Dropdown */\\r\\n\\r\\n.ui.search.dropdown > input.search {\\r\\n  background: none transparent !important;\\r\\n  border: none !important;\\r\\n  box-shadow: none !important;\\r\\n  cursor: text;\\r\\n  top: 0em;\\r\\n  left: 1px;\\r\\n  width: 100%;\\r\\n  outline: none;\\r\\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\\r\\n  padding: inherit;\\r\\n}\\r\\n\\r\\n/* Text Layering */\\r\\n\\r\\n.ui.search.dropdown > input.search {\\r\\n  position: absolute;\\r\\n  z-index: 2;\\r\\n}\\r\\n\\r\\n.ui.search.dropdown > .text {\\r\\n  cursor: text;\\r\\n  position: relative;\\r\\n  left: 1px;\\r\\n  z-index: 3;\\r\\n}\\r\\n\\r\\n/* Search Selection */\\r\\n\\r\\n.ui.search.selection.dropdown > input.search {\\r\\n  line-height: 1.21428571em;\\r\\n  padding: 0.67857143em 2.1em 0.67857143em 1em;\\r\\n}\\r\\n\\r\\n/* Used to size multi select input to character width */\\r\\n\\r\\n.ui.search.selection.dropdown > span.sizer {\\r\\n  line-height: 1.21428571em;\\r\\n  padding: 0.67857143em 2.1em 0.67857143em 1em;\\r\\n  display: none;\\r\\n  white-space: pre;\\r\\n}\\r\\n\\r\\n/* Active/Visible Search */\\r\\n\\r\\n.ui.search.dropdown.active > input.search,\\r\\n.ui.search.dropdown.visible > input.search {\\r\\n  cursor: auto;\\r\\n}\\r\\n\\r\\n.ui.search.dropdown.active > .text,\\r\\n.ui.search.dropdown.visible > .text {\\r\\n  pointer-events: none;\\r\\n}\\r\\n\\r\\n/* Filtered Text */\\r\\n\\r\\n.ui.active.search.dropdown input.search:focus + .text .icon,\\r\\n.ui.active.search.dropdown input.search:focus + .text .flag {\\r\\n  opacity: 0.45;\\r\\n}\\r\\n\\r\\n.ui.active.search.dropdown input.search:focus + .text {\\r\\n  color: rgba(115, 115, 115, 0.87) !important;\\r\\n}\\r\\n\\r\\n/* Search Menu */\\r\\n\\r\\n.ui.search.dropdown .menu {\\r\\n  overflow-x: hidden;\\r\\n  overflow-y: auto;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.search.dropdown .menu {\\r\\n    max-height: 8.01428571rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n  .ui.search.dropdown .menu {\\r\\n    max-height: 10.68571429rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui.search.dropdown .menu {\\r\\n    max-height: 16.02857143rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.search.dropdown .menu {\\r\\n    max-height: 21.37142857rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Multiple\\r\\n---------------*/\\r\\n\\r\\n/* Multiple Selection */\\r\\n\\r\\n.ui.multiple.dropdown {\\r\\n  padding: 0.22619048em 2.1em 0.22619048em 0.35714286em;\\r\\n}\\r\\n\\r\\n.ui.multiple.dropdown .menu {\\r\\n  cursor: auto;\\r\\n}\\r\\n\\r\\n/* Multiple Search Selection */\\r\\n\\r\\n.ui.multiple.search.dropdown,\\r\\n.ui.multiple.search.dropdown > input.search {\\r\\n  cursor: text;\\r\\n}\\r\\n\\r\\n/* Selection Label */\\r\\n\\r\\n.ui.multiple.dropdown > .label {\\r\\n  -webkit-user-select: none;\\r\\n  -moz-user-select: none;\\r\\n  -ms-user-select: none;\\r\\n  user-select: none;\\r\\n  display: inline-block;\\r\\n  vertical-align: top;\\r\\n  white-space: normal;\\r\\n  font-size: 1em;\\r\\n  padding: 0.35714286em 0.78571429em;\\r\\n  margin: 0.14285714rem 0.28571429rem 0.14285714rem 0em;\\r\\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\\r\\n}\\r\\n\\r\\n/* Dropdown Icon */\\r\\n\\r\\n.ui.multiple.dropdown .dropdown.icon {\\r\\n  margin: '';\\r\\n  padding: '';\\r\\n}\\r\\n\\r\\n/* Text */\\r\\n\\r\\n.ui.multiple.dropdown > .text {\\r\\n  position: static;\\r\\n  padding: 0;\\r\\n  max-width: 100%;\\r\\n  margin: 0.45238095em 0em 0.45238095em 0.64285714em;\\r\\n  line-height: 1.21428571em;\\r\\n}\\r\\n\\r\\n.ui.multiple.dropdown > .label ~ input.search {\\r\\n  margin-left: 0.14285714em !important;\\r\\n}\\r\\n\\r\\n.ui.multiple.dropdown > .label ~ .text {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*-----------------\\r\\n  Multiple Search\\r\\n-----------------*/\\r\\n\\r\\n/* Prompt Text */\\r\\n\\r\\n.ui.multiple.search.dropdown > .text {\\r\\n  display: inline-block;\\r\\n  position: absolute;\\r\\n  top: 0;\\r\\n  left: 0;\\r\\n  padding: inherit;\\r\\n  margin: 0.45238095em 0em 0.45238095em 0.64285714em;\\r\\n  line-height: 1.21428571em;\\r\\n}\\r\\n\\r\\n.ui.multiple.search.dropdown > .label ~ .text {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/* Search */\\r\\n\\r\\n.ui.multiple.search.dropdown > input.search {\\r\\n  position: static;\\r\\n  padding: 0;\\r\\n  max-width: 100%;\\r\\n  margin: 0.45238095em 0em 0.45238095em 0.64285714em;\\r\\n  width: 2.2em;\\r\\n  line-height: 1.21428571em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Inline\\r\\n---------------*/\\r\\n\\r\\n.ui.inline.dropdown {\\r\\n  cursor: pointer;\\r\\n  display: inline-block;\\r\\n  color: inherit;\\r\\n}\\r\\n\\r\\n.ui.inline.dropdown .dropdown.icon {\\r\\n  margin: 0em 0.5em 0em 0.21428571em;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n.ui.inline.dropdown > .text {\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n.ui.inline.dropdown .menu {\\r\\n  cursor: auto;\\r\\n  margin-top: 0.21428571em;\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n        Active\\r\\n----------------------*/\\r\\n\\r\\n/* Menu Item Active */\\r\\n\\r\\n.ui.dropdown .menu .active.item {\\r\\n  background: transparent;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  box-shadow: none;\\r\\n  z-index: 12;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Hover\\r\\n----------------------*/\\r\\n\\r\\n/* Menu Item Hover */\\r\\n\\r\\n.ui.dropdown .menu > .item:hover {\\r\\n  background: rgba(0, 0, 0, 0.05);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n  z-index: 13;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       Loading\\r\\n---------------------*/\\r\\n\\r\\n.ui.loading.dropdown > i.icon {\\r\\n  height: 1em !important;\\r\\n  padding: 1.14285714em 1.07142857em !important;\\r\\n}\\r\\n\\r\\n.ui.loading.dropdown > i.icon:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  border-radius: 500rem;\\r\\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.ui.loading.dropdown > i.icon:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  -webkit-animation: dropdown-spin 0.6s linear;\\r\\n  animation: dropdown-spin 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #767676 transparent transparent;\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n}\\r\\n\\r\\n/* Coupling */\\r\\n\\r\\n.ui.loading.dropdown.button > i.icon:before,\\r\\n.ui.loading.dropdown.button > i.icon:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes dropdown-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes dropdown-spin {\\r\\n  from {\\r\\n    -webkit-transform: rotate(0deg);\\r\\n    transform: rotate(0deg);\\r\\n  }\\r\\n\\r\\n  to {\\r\\n    -webkit-transform: rotate(360deg);\\r\\n    transform: rotate(360deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n     Default Text\\r\\n----------------------*/\\r\\n\\r\\n.ui.dropdown:not(.button) > .default.text,\\r\\n.ui.default.dropdown:not(.button) > .text {\\r\\n  color: rgba(191, 191, 191, 0.87);\\r\\n}\\r\\n\\r\\n.ui.dropdown:not(.button) > input:focus + .default.text,\\r\\n.ui.default.dropdown:not(.button) > input:focus + .text {\\r\\n  color: rgba(115, 115, 115, 0.87);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Loading\\r\\n----------------------*/\\r\\n\\r\\n.ui.loading.dropdown > .text {\\r\\n  -webkit-transition: none;\\r\\n  transition: none;\\r\\n}\\r\\n\\r\\n/* Used To Check Position */\\r\\n\\r\\n.ui.dropdown .loading.menu {\\r\\n  display: block;\\r\\n  visibility: hidden;\\r\\n  z-index: -1;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n    Keyboard Select\\r\\n----------------------*/\\r\\n\\r\\n/* Selected Item */\\r\\n\\r\\n.ui.dropdown.selected,\\r\\n.ui.dropdown .menu .selected.item {\\r\\n  background: rgba(0, 0, 0, 0.03);\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n    Search Filtered\\r\\n----------------------*/\\r\\n\\r\\n/* Filtered Item */\\r\\n\\r\\n.ui.dropdown > .filtered.text {\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.dropdown .filtered.item {\\r\\n  display: none !important;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Error\\r\\n----------------------*/\\r\\n\\r\\n.ui.dropdown.error,\\r\\n.ui.dropdown.error > .text,\\r\\n.ui.dropdown.error > .default.text {\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown.error {\\r\\n  background: #FFF6F6;\\r\\n  border-color: #E0B4B4;\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown.error:hover {\\r\\n  border-color: #E0B4B4;\\r\\n}\\r\\n\\r\\n.ui.dropdown.error > .menu,\\r\\n.ui.dropdown.error > .menu .menu {\\r\\n  border-color: #E0B4B4;\\r\\n}\\r\\n\\r\\n.ui.dropdown.error > .menu > .item {\\r\\n  color: #9F3A38;\\r\\n}\\r\\n\\r\\n.ui.multiple.selection.error.dropdown > .label {\\r\\n  border-color: #E0B4B4;\\r\\n}\\r\\n\\r\\n/* Item Hover */\\r\\n\\r\\n.ui.dropdown.error > .menu > .item:hover {\\r\\n  background-color: #FFF2F2;\\r\\n}\\r\\n\\r\\n/* Item Active */\\r\\n\\r\\n.ui.dropdown.error > .menu .active.item {\\r\\n  background-color: #FDCFCF;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n        Disabled\\r\\n----------------------*/\\r\\n\\r\\n/* Disabled */\\r\\n\\r\\n.ui.disabled.dropdown,\\r\\n.ui.dropdown .menu > .disabled.item {\\r\\n  cursor: default;\\r\\n  pointer-events: none;\\r\\n  opacity: 0.45;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Direction\\r\\n---------------*/\\r\\n\\r\\n/* Flyout Direction */\\r\\n\\r\\n.ui.dropdown .menu {\\r\\n  left: 0px;\\r\\n}\\r\\n\\r\\n/* Default Side (Right) */\\r\\n\\r\\n.ui.dropdown .right.menu > .menu,\\r\\n.ui.dropdown .menu .right.menu {\\r\\n  left: 100% !important;\\r\\n  right: auto !important;\\r\\n  border-radius: 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n/* Left Flyout Menu */\\r\\n\\r\\n.ui.dropdown > .left.menu .menu,\\r\\n.ui.dropdown .menu .left.menu {\\r\\n  left: auto !important;\\r\\n  right: 100% !important;\\r\\n  border-radius: 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n.ui.dropdown .item .left.dropdown.icon,\\r\\n.ui.dropdown .left.menu .item .dropdown.icon {\\r\\n  width: auto;\\r\\n  float: left;\\r\\n  margin: 0em 0.78571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .item .left.dropdown.icon,\\r\\n.ui.dropdown .left.menu .item .dropdown.icon {\\r\\n  width: auto;\\r\\n  float: left;\\r\\n  margin: 0em 0.78571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.dropdown .item .left.dropdown.icon + .text,\\r\\n.ui.dropdown .left.menu .item .dropdown.icon + .text {\\r\\n  margin-left: 1em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Upward\\r\\n---------------*/\\r\\n\\r\\n/* Upward Main Menu */\\r\\n\\r\\n.ui.upward.dropdown > .menu {\\r\\n  top: auto;\\r\\n  bottom: 100%;\\r\\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n/* Upward Sub Menu */\\r\\n\\r\\n.ui.dropdown .upward.menu {\\r\\n  top: auto !important;\\r\\n  bottom: 0 !important;\\r\\n}\\r\\n\\r\\n/* Active Upward */\\r\\n\\r\\n.ui.simple.upward.active.dropdown,\\r\\n.ui.simple.upward.dropdown:hover {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\\r\\n}\\r\\n\\r\\n.ui.upward.dropdown.button:not(.pointing):not(.floating).active {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n/* Selection */\\r\\n\\r\\n.ui.upward.selection.dropdown .menu {\\r\\n  border-top-width: 1px !important;\\r\\n  border-bottom-width: 0px !important;\\r\\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\\r\\n}\\r\\n\\r\\n.ui.upward.selection.dropdown:hover {\\r\\n  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n/* Active Upward */\\r\\n\\r\\n.ui.active.upward.selection.dropdown {\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n/* Visible Upward */\\r\\n\\r\\n.ui.upward.selection.dropdown.visible {\\r\\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n/* Visible Hover Upward */\\r\\n\\r\\n.ui.upward.active.selection.dropdown:hover {\\r\\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n.ui.upward.active.selection.dropdown:hover .menu {\\r\\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Simple\\r\\n---------------*/\\r\\n\\r\\n/*  Selection Menu */\\r\\n\\r\\n.ui.scrolling.dropdown .menu,\\r\\n.ui.dropdown .scrolling.menu {\\r\\n  overflow-x: hidden;\\r\\n  overflow-y: auto;\\r\\n}\\r\\n\\r\\n.ui.scrolling.dropdown .menu {\\r\\n  overflow-x: hidden;\\r\\n  overflow-y: auto;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n  min-width: 100% !important;\\r\\n  width: auto !important;\\r\\n}\\r\\n\\r\\n.ui.dropdown .scrolling.menu {\\r\\n  position: static;\\r\\n  overflow-y: auto;\\r\\n  border: none;\\r\\n  box-shadow: none !important;\\r\\n  border-radius: 0 !important;\\r\\n  margin: 0 !important;\\r\\n  min-width: 100% !important;\\r\\n  width: auto !important;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.scrolling.dropdown .menu .item.item.item,\\r\\n.ui.dropdown .scrolling.menu > .item.item.item {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.scrolling.dropdown .menu .item:first-child,\\r\\n.ui.dropdown .scrolling.menu .item:first-child {\\r\\n  border-top: none;\\r\\n}\\r\\n\\r\\n.ui.dropdown > .animating.menu .scrolling.menu,\\r\\n.ui.dropdown > .visible.menu .scrolling.menu {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/* Scrollbar in IE */\\r\\n\\r\\n@media all and (-ms-high-contrast: none) {\\r\\n  .ui.scrolling.dropdown .menu,\\r\\n  .ui.dropdown .scrolling.menu {\\r\\n    min-width: calc(100% -  17px );\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.scrolling.dropdown .menu,\\r\\n  .ui.dropdown .scrolling.menu {\\r\\n    max-height: 10.28571429rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n  .ui.scrolling.dropdown .menu,\\r\\n  .ui.dropdown .scrolling.menu {\\r\\n    max-height: 15.42857143rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui.scrolling.dropdown .menu,\\r\\n  .ui.dropdown .scrolling.menu {\\r\\n    max-height: 20.57142857rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.scrolling.dropdown .menu,\\r\\n  .ui.dropdown .scrolling.menu {\\r\\n    max-height: 20.57142857rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Simple\\r\\n---------------*/\\r\\n\\r\\n/* Displays without javascript */\\r\\n\\r\\n.ui.simple.dropdown .menu:before,\\r\\n.ui.simple.dropdown .menu:after {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.simple.dropdown .menu {\\r\\n  position: absolute;\\r\\n  display: block;\\r\\n  overflow: hidden;\\r\\n  top: -9999px !important;\\r\\n  opacity: 0;\\r\\n  width: 0;\\r\\n  height: 0;\\r\\n  -webkit-transition: opacity 0.1s ease;\\r\\n  transition: opacity 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.simple.active.dropdown,\\r\\n.ui.simple.dropdown:hover {\\r\\n  border-bottom-left-radius: 0em !important;\\r\\n  border-bottom-right-radius: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.simple.active.dropdown > .menu,\\r\\n.ui.simple.dropdown:hover > .menu {\\r\\n  overflow: visible;\\r\\n  width: auto;\\r\\n  height: auto;\\r\\n  top: 100% !important;\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.simple.dropdown > .menu > .item:active > .menu,\\r\\n.ui.simple.dropdown:hover > .menu > .item:hover > .menu {\\r\\n  overflow: visible;\\r\\n  width: auto;\\r\\n  height: auto;\\r\\n  top: 0% !important;\\r\\n  left: 100% !important;\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.simple.disabled.dropdown:hover .menu {\\r\\n  display: none;\\r\\n  height: 0px;\\r\\n  width: 0px;\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\n/* Visible */\\r\\n\\r\\n.ui.simple.visible.dropdown > .menu {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Fluid\\r\\n---------------*/\\r\\n\\r\\n.ui.fluid.dropdown {\\r\\n  display: block;\\r\\n  width: 100%;\\r\\n  min-width: 0em;\\r\\n}\\r\\n\\r\\n.ui.fluid.dropdown > .dropdown.icon {\\r\\n  float: right;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Floating\\r\\n---------------*/\\r\\n\\r\\n.ui.floating.dropdown .menu {\\r\\n  left: 0;\\r\\n  right: auto;\\r\\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15) !important;\\r\\n  border-radius: 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n.ui.floating.dropdown > .menu {\\r\\n  margin-top: 0.5em !important;\\r\\n  border-radius: 0.28571429rem !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Pointing\\r\\n---------------*/\\r\\n\\r\\n.ui.pointing.dropdown > .menu {\\r\\n  top: 100%;\\r\\n  margin-top: 0.78571429rem;\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.pointing.dropdown > .menu:after {\\r\\n  display: block;\\r\\n  position: absolute;\\r\\n  pointer-events: none;\\r\\n  content: '';\\r\\n  visibility: visible;\\r\\n  -webkit-transform: rotate(45deg);\\r\\n  transform: rotate(45deg);\\r\\n  width: 0.5em;\\r\\n  height: 0.5em;\\r\\n  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);\\r\\n  background: #FFFFFF;\\r\\n  z-index: 2;\\r\\n}\\r\\n\\r\\n.ui.pointing.dropdown > .menu:after {\\r\\n  top: -0.25em;\\r\\n  left: 50%;\\r\\n  margin: 0em 0em 0em -0.25em;\\r\\n}\\r\\n\\r\\n/* Top Left Pointing */\\r\\n\\r\\n.ui.top.left.pointing.dropdown > .menu {\\r\\n  top: 100%;\\r\\n  bottom: auto;\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n  margin: 1em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.top.left.pointing.dropdown > .menu {\\r\\n  top: 100%;\\r\\n  bottom: auto;\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n  margin: 1em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.top.left.pointing.dropdown > .menu:after {\\r\\n  top: -0.25em;\\r\\n  left: 1em;\\r\\n  right: auto;\\r\\n  margin: 0em;\\r\\n  -webkit-transform: rotate(45deg);\\r\\n  transform: rotate(45deg);\\r\\n}\\r\\n\\r\\n/* Top Right  Pointing */\\r\\n\\r\\n.ui.top.right.pointing.dropdown > .menu {\\r\\n  top: 100%;\\r\\n  bottom: auto;\\r\\n  right: 0%;\\r\\n  left: auto;\\r\\n  margin: 1em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.top.right.pointing.dropdown > .menu:after {\\r\\n  top: -0.25em;\\r\\n  left: auto;\\r\\n  right: 1em;\\r\\n  margin: 0em;\\r\\n  -webkit-transform: rotate(45deg);\\r\\n  transform: rotate(45deg);\\r\\n}\\r\\n\\r\\n/* Left Pointing */\\r\\n\\r\\n.ui.left.pointing.dropdown > .menu {\\r\\n  top: 0%;\\r\\n  left: 100%;\\r\\n  right: auto;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.left.pointing.dropdown > .menu:after {\\r\\n  top: 1em;\\r\\n  left: -0.25em;\\r\\n  margin: 0em 0em 0em 0em;\\r\\n  -webkit-transform: rotate(-45deg);\\r\\n  transform: rotate(-45deg);\\r\\n}\\r\\n\\r\\n/* Right Pointing */\\r\\n\\r\\n.ui.right.pointing.dropdown > .menu {\\r\\n  top: 0%;\\r\\n  left: auto;\\r\\n  right: 100%;\\r\\n  margin: 0em 1em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.right.pointing.dropdown > .menu:after {\\r\\n  top: 1em;\\r\\n  left: auto;\\r\\n  right: -0.25em;\\r\\n  margin: 0em 0em 0em 0em;\\r\\n  -webkit-transform: rotate(135deg);\\r\\n  transform: rotate(135deg);\\r\\n}\\r\\n\\r\\n/* Bottom Pointing */\\r\\n\\r\\n.ui.bottom.pointing.dropdown > .menu {\\r\\n  top: auto;\\r\\n  bottom: 100%;\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n  margin: 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.bottom.pointing.dropdown > .menu:after {\\r\\n  top: auto;\\r\\n  bottom: -0.25em;\\r\\n  right: auto;\\r\\n  margin: 0em;\\r\\n  -webkit-transform: rotate(-135deg);\\r\\n  transform: rotate(-135deg);\\r\\n}\\r\\n\\r\\n/* Reverse Sub-Menu Direction */\\r\\n\\r\\n.ui.bottom.pointing.dropdown > .menu .menu {\\r\\n  top: auto !important;\\r\\n  bottom: 0px !important;\\r\\n}\\r\\n\\r\\n/* Bottom Left */\\r\\n\\r\\n.ui.bottom.left.pointing.dropdown > .menu {\\r\\n  left: 0%;\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n.ui.bottom.left.pointing.dropdown > .menu:after {\\r\\n  left: 1em;\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n/* Bottom Right */\\r\\n\\r\\n.ui.bottom.right.pointing.dropdown > .menu {\\r\\n  right: 0%;\\r\\n  left: auto;\\r\\n}\\r\\n\\r\\n.ui.bottom.right.pointing.dropdown > .menu:after {\\r\\n  left: auto;\\r\\n  right: 1em;\\r\\n}\\r\\n\\r\\n/* Upward pointing */\\r\\n\\r\\n.ui.upward.pointing.dropdown > .menu,\\r\\n.ui.upward.top.pointing.dropdown > .menu {\\r\\n  top: auto;\\r\\n  bottom: 100%;\\r\\n  margin: 0em 0em 0.78571429rem;\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.upward.pointing.dropdown > .menu:after,\\r\\n.ui.upward.top.pointing.dropdown > .menu:after {\\r\\n  top: 100%;\\r\\n  bottom: auto;\\r\\n  box-shadow: 1px 1px 0px 1px rgba(34, 36, 38, 0.15);\\r\\n  margin: -0.25em 0em 0em;\\r\\n}\\r\\n\\r\\n/* Right Pointing Upward */\\r\\n\\r\\n.ui.upward.right.pointing.dropdown:not(.top):not(.bottom) > .menu {\\r\\n  top: auto;\\r\\n  bottom: 0;\\r\\n  margin: 0em 1em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.upward.right.pointing.dropdown:not(.top):not(.bottom) > .menu:after {\\r\\n  top: auto;\\r\\n  bottom: 0;\\r\\n  margin: 0em 0em 1em 0em;\\r\\n  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Left Pointing Upward */\\r\\n\\r\\n.ui.upward.left.pointing.dropdown:not(.top):not(.bottom) > .menu {\\r\\n  top: auto;\\r\\n  bottom: 0;\\r\\n  margin: 0em 0em 0em 1em;\\r\\n}\\r\\n\\r\\n.ui.upward.left.pointing.dropdown:not(.top):not(.bottom) > .menu:after {\\r\\n  top: auto;\\r\\n  bottom: 0;\\r\\n  margin: 0em 0em 1em 0em;\\r\\n  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/* Dropdown Carets */\\r\\n\\r\\n@font-face {\\r\\n  font-family: 'Dropdown';\\r\\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n}\\r\\n\\r\\n.ui.dropdown > .dropdown.icon {\\r\\n  font-family: 'Dropdown';\\r\\n  line-height: 1;\\r\\n  height: 1em;\\r\\n  width: 1.23em;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n.ui.dropdown > .dropdown.icon {\\r\\n  width: auto;\\r\\n}\\r\\n\\r\\n.ui.dropdown > .dropdown.icon:before {\\r\\n  content: '\\\\F0D7';\\r\\n}\\r\\n\\r\\n/* Sub Menu */\\r\\n\\r\\n.ui.dropdown .menu .item .dropdown.icon:before {\\r\\n  content: '\\\\F0DA';\\r\\n}\\r\\n\\r\\n.ui.dropdown .item .left.dropdown.icon:before,\\r\\n.ui.dropdown .left.menu .item .dropdown.icon:before {\\r\\n  content: \\\"\\\\F0D9\\\";\\r\\n}\\r\\n\\r\\n/* Vertical Menu Dropdown */\\r\\n\\r\\n.ui.vertical.menu .dropdown.item > .dropdown.icon:before {\\r\\n  content: \\\"\\\\F0DA\\\";\\r\\n}\\r\\n\\r\\n/* Icons for Reference\\r\\n.dropdown.down.icon {\\r\\n  content: \\\"\\\\f0d7\\\";\\r\\n}\\r\\n.dropdown.up.icon {\\r\\n  content: \\\"\\\\f0d8\\\";\\r\\n}\\r\\n.dropdown.left.icon {\\r\\n  content: \\\"\\\\f0d9\\\";\\r\\n}\\r\\n.dropdown.icon.icon {\\r\\n  content: \\\"\\\\f0da\\\";\\r\\n}\\r\\n*/\\r\\n\\r\\n/*******************************\\r\\n        User Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Video\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n.ui.embed {\\r\\n  position: relative;\\r\\n  max-width: 100%;\\r\\n  height: 0px;\\r\\n  overflow: hidden;\\r\\n  background: #DCDDDE;\\r\\n  padding-bottom: 56.25%;\\r\\n}\\r\\n\\r\\n/*-----------------\\r\\n  Embedded Content\\r\\n------------------*/\\r\\n\\r\\n.ui.embed iframe,\\r\\n.ui.embed embed,\\r\\n.ui.embed object {\\r\\n  position: absolute;\\r\\n  border: none;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  margin: 0em;\\r\\n  padding: 0em;\\r\\n}\\r\\n\\r\\n/*-----------------\\r\\n      Embed\\r\\n------------------*/\\r\\n\\r\\n.ui.embed > .embed {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Placeholder\\r\\n---------------*/\\r\\n\\r\\n.ui.embed > .placeholder {\\r\\n  position: absolute;\\r\\n  cursor: pointer;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  display: block;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.embed > .icon {\\r\\n  cursor: pointer;\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  z-index: 2;\\r\\n}\\r\\n\\r\\n.ui.embed > .icon:after {\\r\\n  position: absolute;\\r\\n  top: 0%;\\r\\n  left: 0%;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  z-index: 3;\\r\\n  content: '';\\r\\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\\r\\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\\r\\n  opacity: 0.5;\\r\\n  -webkit-transition: opacity 0.5s ease;\\r\\n  transition: opacity 0.5s ease;\\r\\n}\\r\\n\\r\\n.ui.embed > .icon:before {\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  z-index: 4;\\r\\n  -webkit-transform: translateX(-50%) translateY(-50%);\\r\\n  transform: translateX(-50%) translateY(-50%);\\r\\n  color: #FFFFFF;\\r\\n  font-size: 6rem;\\r\\n  text-shadow: 0px 2px 10px rgba(34, 36, 38, 0.2);\\r\\n  -webkit-transition: opacity 0.5s ease, color 0.5s ease;\\r\\n  transition: opacity 0.5s ease, color 0.5s ease;\\r\\n  z-index: 10;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Hover\\r\\n---------------*/\\r\\n\\r\\n.ui.embed .icon:hover:after {\\r\\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\\r\\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.embed .icon:hover:before {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.active.embed > .icon,\\r\\n.ui.active.embed > .placeholder {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.active.embed > .embed {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n        Video Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n.ui.square.embed {\\r\\n  padding-bottom: 100%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"4:3\\\"].embed {\\r\\n  padding-bottom: 75%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"16:9\\\"].embed {\\r\\n  padding-bottom: 56.25%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"21:9\\\"].embed {\\r\\n  padding-bottom: 42.85714286%;\\r\\n}\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Modal\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Modal\\r\\n*******************************/\\r\\n\\r\\n.ui.modal {\\r\\n  display: none;\\r\\n  position: fixed;\\r\\n  z-index: 1001;\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  text-align: left;\\r\\n  background: #FFFFFF;\\r\\n  border: none;\\r\\n  box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);\\r\\n  -webkit-transform-origin: 50% 25%;\\r\\n  transform-origin: 50% 25%;\\r\\n  border-radius: 0.28571429rem;\\r\\n  -webkit-user-select: text;\\r\\n  -moz-user-select: text;\\r\\n  -ms-user-select: text;\\r\\n  user-select: text;\\r\\n  will-change: top, left, margin, transform, opacity;\\r\\n}\\r\\n\\r\\n.ui.modal > :first-child:not(.icon),\\r\\n.ui.modal > .icon:first-child + * {\\r\\n  border-top-left-radius: 0.28571429rem;\\r\\n  border-top-right-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.modal > :last-child {\\r\\n  border-bottom-left-radius: 0.28571429rem;\\r\\n  border-bottom-right-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Content\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Close\\r\\n---------------*/\\r\\n\\r\\n.ui.modal > .close {\\r\\n  cursor: pointer;\\r\\n  position: absolute;\\r\\n  top: -2.5rem;\\r\\n  right: -2.5rem;\\r\\n  z-index: 1;\\r\\n  opacity: 0.8;\\r\\n  font-size: 1.25em;\\r\\n  color: #FFFFFF;\\r\\n  width: 2.25rem;\\r\\n  height: 2.25rem;\\r\\n  padding: 0.625rem 0rem 0rem 0rem;\\r\\n}\\r\\n\\r\\n.ui.modal > .close:hover {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Header\\r\\n---------------*/\\r\\n\\r\\n.ui.modal > .header {\\r\\n  display: block;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  background: #FFFFFF;\\r\\n  margin: 0em;\\r\\n  padding: 1.25rem 1.5rem;\\r\\n  box-shadow: none;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.modal > .header:not(.ui) {\\r\\n  font-size: 1.42857143rem;\\r\\n  line-height: 1.28571429em;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Content\\r\\n---------------*/\\r\\n\\r\\n.ui.modal > .content {\\r\\n  display: block;\\r\\n  width: 100%;\\r\\n  font-size: 1em;\\r\\n  line-height: 1.4;\\r\\n  padding: 1.5rem;\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.modal > .image.content {\\r\\n  display: -webkit-box;\\r\\n  display: -webkit-flex;\\r\\n  display: -ms-flexbox;\\r\\n  display: flex;\\r\\n  -webkit-box-orient: horizontal;\\r\\n  -webkit-box-direction: normal;\\r\\n  -webkit-flex-direction: row;\\r\\n  -ms-flex-direction: row;\\r\\n  flex-direction: row;\\r\\n}\\r\\n\\r\\n/* Image */\\r\\n\\r\\n.ui.modal > .content > .image {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 1 auto;\\r\\n  -ms-flex: 0 1 auto;\\r\\n  flex: 0 1 auto;\\r\\n  width: '';\\r\\n  -webkit-align-self: top;\\r\\n  -ms-flex-item-align: top;\\r\\n  align-self: top;\\r\\n}\\r\\n\\r\\n.ui.modal > [class*=\\\"top aligned\\\"] {\\r\\n  -webkit-align-self: top;\\r\\n  -ms-flex-item-align: top;\\r\\n  align-self: top;\\r\\n}\\r\\n\\r\\n.ui.modal > [class*=\\\"middle aligned\\\"] {\\r\\n  -webkit-align-self: middle;\\r\\n  -ms-flex-item-align: middle;\\r\\n  align-self: middle;\\r\\n}\\r\\n\\r\\n.ui.modal > [class*=\\\"stretched\\\"] {\\r\\n  -webkit-align-self: stretch;\\r\\n  -ms-flex-item-align: stretch;\\r\\n  align-self: stretch;\\r\\n}\\r\\n\\r\\n/* Description */\\r\\n\\r\\n.ui.modal > .content > .description {\\r\\n  display: block;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 0 auto;\\r\\n  -ms-flex: 1 0 auto;\\r\\n  flex: 1 0 auto;\\r\\n  min-width: 0px;\\r\\n  -webkit-align-self: top;\\r\\n  -ms-flex-item-align: top;\\r\\n  align-self: top;\\r\\n}\\r\\n\\r\\n.ui.modal > .content > .icon + .description,\\r\\n.ui.modal > .content > .image + .description {\\r\\n  -webkit-box-flex: 0;\\r\\n  -webkit-flex: 0 1 auto;\\r\\n  -ms-flex: 0 1 auto;\\r\\n  flex: 0 1 auto;\\r\\n  min-width: '';\\r\\n  width: auto;\\r\\n  padding-left: 2em;\\r\\n}\\r\\n\\r\\n/*rtl:ignore*/\\r\\n\\r\\n.ui.modal > .content > .image > i.icon {\\r\\n  margin: 0em;\\r\\n  opacity: 1;\\r\\n  width: auto;\\r\\n  line-height: 1;\\r\\n  font-size: 8rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Actions\\r\\n---------------*/\\r\\n\\r\\n.ui.modal > .actions {\\r\\n  background: #F9FAFB;\\r\\n  padding: 1rem 1rem;\\r\\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  text-align: right;\\r\\n}\\r\\n\\r\\n.ui.modal .actions > .button {\\r\\n  margin-left: 0.75em;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n       Responsive\\r\\n--------------------*/\\r\\n\\r\\n/* Modal Width */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.modal {\\r\\n    width: 95%;\\r\\n    margin: 0em 0em 0em -47.5%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n  .ui.modal {\\r\\n    width: 88%;\\r\\n    margin: 0em 0em 0em -44%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui.modal {\\r\\n    width: 850px;\\r\\n    margin: 0em 0em 0em -425px;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1200px) {\\r\\n  .ui.modal {\\r\\n    width: 900px;\\r\\n    margin: 0em 0em 0em -450px;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.modal {\\r\\n    width: 950px;\\r\\n    margin: 0em 0em 0em -475px;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Tablet and Mobile */\\r\\n\\r\\n@media only screen and (max-width: 991px) {\\r\\n  .ui.modal > .header {\\r\\n    padding-right: 2.25rem;\\r\\n  }\\r\\n\\r\\n  .ui.modal > .close {\\r\\n    top: 1.0535rem;\\r\\n    right: 1rem;\\r\\n    color: rgba(0, 0, 0, 0.87);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Mobile */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.modal > .header {\\r\\n    padding: 0.75rem 1rem !important;\\r\\n    padding-right: 2.25rem !important;\\r\\n  }\\r\\n\\r\\n  .ui.modal > .content {\\r\\n    display: block;\\r\\n    padding: 1rem !important;\\r\\n  }\\r\\n\\r\\n  .ui.modal > .close {\\r\\n    top: 0.5rem !important;\\r\\n    right: 0.5rem !important;\\r\\n  }\\r\\n\\r\\n  /*rtl:ignore*/\\r\\n\\r\\n  .ui.modal .image.content {\\r\\n    -webkit-box-orient: vertical;\\r\\n    -webkit-box-direction: normal;\\r\\n    -webkit-flex-direction: column;\\r\\n    -ms-flex-direction: column;\\r\\n    flex-direction: column;\\r\\n  }\\r\\n\\r\\n  .ui.modal .content > .image {\\r\\n    display: block;\\r\\n    max-width: 100%;\\r\\n    margin: 0em auto !important;\\r\\n    text-align: center;\\r\\n    padding: 0rem 0rem 1rem !important;\\r\\n  }\\r\\n\\r\\n  .ui.modal > .content > .image > i.icon {\\r\\n    font-size: 5rem;\\r\\n    text-align: center;\\r\\n  }\\r\\n\\r\\n  /*rtl:ignore*/\\r\\n\\r\\n  .ui.modal .content > .description {\\r\\n    display: block;\\r\\n    width: 100% !important;\\r\\n    margin: 0em !important;\\r\\n    padding: 1rem 0rem !important;\\r\\n    box-shadow: none;\\r\\n  }\\r\\n\\r\\n  /* Let Buttons Stack */\\r\\n\\r\\n  .ui.modal > .actions {\\r\\n    padding: 1rem 1rem 0rem !important;\\r\\n  }\\r\\n\\r\\n  .ui.modal .actions > .buttons,\\r\\n  .ui.modal .actions > .button {\\r\\n    margin-bottom: 1rem;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Coupling\\r\\n---------------*/\\r\\n\\r\\n.ui.inverted.dimmer > .ui.modal {\\r\\n  box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n.ui.basic.modal {\\r\\n  background-color: transparent;\\r\\n  border: none;\\r\\n  border-radius: 0em;\\r\\n  box-shadow: none !important;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.basic.modal > .header,\\r\\n.ui.basic.modal > .content,\\r\\n.ui.basic.modal > .actions {\\r\\n  background-color: transparent;\\r\\n}\\r\\n\\r\\n.ui.basic.modal > .header {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.basic.modal > .close {\\r\\n  top: 1rem;\\r\\n  right: 1.5rem;\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer > .basic.modal {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.inverted.dimmer > .ui.basic.modal > .header {\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n/* Tablet and Mobile */\\r\\n\\r\\n@media only screen and (max-width: 991px) {\\r\\n  .ui.basic.modal > .close {\\r\\n    color: #FFFFFF;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n.ui.active.modal {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Scrolling\\r\\n---------------*/\\r\\n\\r\\n/* A modal that cannot fit on the page */\\r\\n\\r\\n.scrolling.dimmable.dimmed {\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\n.scrolling.dimmable.dimmed > .dimmer {\\r\\n  overflow: auto;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n}\\r\\n\\r\\n.scrolling.dimmable > .dimmer {\\r\\n  position: fixed;\\r\\n}\\r\\n\\r\\n.modals.dimmer .ui.scrolling.modal {\\r\\n  position: static !important;\\r\\n  margin: 3.5rem auto !important;\\r\\n}\\r\\n\\r\\n/* undetached scrolling */\\r\\n\\r\\n.scrolling.undetached.dimmable.dimmed {\\r\\n  overflow: auto;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n}\\r\\n\\r\\n.scrolling.undetached.dimmable.dimmed > .dimmer {\\r\\n  overflow: hidden;\\r\\n}\\r\\n\\r\\n.scrolling.undetached.dimmable .ui.scrolling.modal {\\r\\n  position: absolute;\\r\\n  left: 50%;\\r\\n  margin-top: 3.5rem !important;\\r\\n}\\r\\n\\r\\n/* Coupling with Sidebar */\\r\\n\\r\\n.undetached.dimmable.dimmed > .pusher {\\r\\n  z-index: auto;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 991px) {\\r\\n  .modals.dimmer .ui.scrolling.modal {\\r\\n    margin-top: 1rem !important;\\r\\n    margin-bottom: 1rem !important;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Full Screen\\r\\n---------------*/\\r\\n\\r\\n.ui.fullscreen.modal {\\r\\n  width: 95% !important;\\r\\n  left: 2.5% !important;\\r\\n  margin: 1em auto;\\r\\n}\\r\\n\\r\\n.ui.fullscreen.scrolling.modal {\\r\\n  left: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.fullscreen.modal > .header {\\r\\n  padding-right: 2.25rem;\\r\\n}\\r\\n\\r\\n.ui.fullscreen.modal > .close {\\r\\n  top: 1.0535rem;\\r\\n  right: 1rem;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Size\\r\\n---------------*/\\r\\n\\r\\n.ui.modal {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n/* Small */\\r\\n\\r\\n.ui.small.modal > .header:not(.ui) {\\r\\n  font-size: 1.3em;\\r\\n}\\r\\n\\r\\n/* Small Modal Width */\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.small.modal {\\r\\n    width: 95%;\\r\\n    margin: 0em 0em 0em -47.5%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n  .ui.small.modal {\\r\\n    width: 70.4%;\\r\\n    margin: 0em 0em 0em -35.2%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui.small.modal {\\r\\n    width: 680px;\\r\\n    margin: 0em 0em 0em -340px;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1200px) {\\r\\n  .ui.small.modal {\\r\\n    width: 720px;\\r\\n    margin: 0em 0em 0em -360px;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.small.modal {\\r\\n    width: 760px;\\r\\n    margin: 0em 0em 0em -380px;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Large Modal Width */\\r\\n\\r\\n.ui.large.modal > .header {\\r\\n  font-size: 1.6em;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.large.modal {\\r\\n    width: 95%;\\r\\n    margin: 0em 0em 0em -47.5%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n  .ui.large.modal {\\r\\n    width: 88%;\\r\\n    margin: 0em 0em 0em -44%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 992px) {\\r\\n  .ui.large.modal {\\r\\n    width: 1020px;\\r\\n    margin: 0em 0em 0em -510px;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1200px) {\\r\\n  .ui.large.modal {\\r\\n    width: 1080px;\\r\\n    margin: 0em 0em 0em -540px;\\r\\n  }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1920px) {\\r\\n  .ui.large.modal {\\r\\n    width: 1140px;\\r\\n    margin: 0em 0em 0em -570px;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Nag\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Nag\\r\\n*******************************/\\r\\n\\r\\n.ui.nag {\\r\\n  display: none;\\r\\n  opacity: 0.95;\\r\\n  position: relative;\\r\\n  top: 0em;\\r\\n  left: 0px;\\r\\n  z-index: 999;\\r\\n  min-height: 0em;\\r\\n  width: 100%;\\r\\n  margin: 0em;\\r\\n  padding: 0.75em 1em;\\r\\n  background: #555555;\\r\\n  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);\\r\\n  font-size: 1rem;\\r\\n  text-align: center;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n  -webkit-transition: 0.2s background ease;\\r\\n  transition: 0.2s background ease;\\r\\n}\\r\\n\\r\\na.ui.nag {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n.ui.nag > .title {\\r\\n  display: inline-block;\\r\\n  margin: 0em 0.5em;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.nag > .close.icon {\\r\\n  cursor: pointer;\\r\\n  opacity: 0.4;\\r\\n  position: absolute;\\r\\n  top: 50%;\\r\\n  right: 1em;\\r\\n  font-size: 1em;\\r\\n  margin: -0.5em 0em 0em;\\r\\n  color: #FFFFFF;\\r\\n  -webkit-transition: opacity 0.2s ease;\\r\\n  transition: opacity 0.2s ease;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/* Hover */\\r\\n\\r\\n.ui.nag:hover {\\r\\n  background: #555555;\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.nag .close:hover {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Static\\r\\n---------------*/\\r\\n\\r\\n.ui.overlay.nag {\\r\\n  position: absolute;\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Fixed\\r\\n---------------*/\\r\\n\\r\\n.ui.fixed.nag {\\r\\n  position: fixed;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Bottom\\r\\n---------------*/\\r\\n\\r\\n.ui.bottom.nags,\\r\\n.ui.bottom.nag {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n  top: auto;\\r\\n  bottom: 0em;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     White\\r\\n---------------*/\\r\\n\\r\\n.ui.inverted.nags .nag,\\r\\n.ui.inverted.nag {\\r\\n  background-color: #F3F4F5;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n.ui.inverted.nags .nag .close,\\r\\n.ui.inverted.nags .nag .title,\\r\\n.ui.inverted.nag .close,\\r\\n.ui.inverted.nag .title {\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Groups\\r\\n*******************************/\\r\\n\\r\\n.ui.nags .nag {\\r\\n  border-radius: 0em !important;\\r\\n}\\r\\n\\r\\n.ui.nags .nag:last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.bottom.nags .nag:last-child {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n        User Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Popup\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Popup\\r\\n*******************************/\\r\\n\\r\\n.ui.popup {\\r\\n  display: none;\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  right: 0px;\\r\\n  /* Fixes content being squished when inline (moz only) */\\r\\n  min-width: -webkit-min-content;\\r\\n  min-width: -moz-min-content;\\r\\n  min-width: min-content;\\r\\n  z-index: 1900;\\r\\n  border: 1px solid #D4D4D5;\\r\\n  line-height: 1.4285em;\\r\\n  max-width: 250px;\\r\\n  background: #FFFFFF;\\r\\n  padding: 0.833em 1em;\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.popup > .header {\\r\\n  padding: 0em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 1.14285714em;\\r\\n  line-height: 1.2;\\r\\n  font-weight: bold;\\r\\n}\\r\\n\\r\\n.ui.popup > .header + .content {\\r\\n  padding-top: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.popup:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  width: 0.71428571em;\\r\\n  height: 0.71428571em;\\r\\n  background: #FFFFFF;\\r\\n  -webkit-transform: rotate(45deg);\\r\\n  transform: rotate(45deg);\\r\\n  z-index: 2;\\r\\n  box-shadow: 1px 1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Tooltip\\r\\n---------------*/\\r\\n\\r\\n/* Content */\\r\\n\\r\\n[data-tooltip] {\\r\\n  position: relative;\\r\\n}\\r\\n\\r\\n/* Arrow */\\r\\n\\r\\n[data-tooltip]:before {\\r\\n  pointer-events: none;\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  font-size: 1rem;\\r\\n  width: 0.71428571em;\\r\\n  height: 0.71428571em;\\r\\n  background: #FFFFFF;\\r\\n  -webkit-transform: rotate(45deg);\\r\\n  transform: rotate(45deg);\\r\\n  z-index: 2;\\r\\n  box-shadow: 1px 1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n/* Popup */\\r\\n\\r\\n[data-tooltip]:after {\\r\\n  pointer-events: none;\\r\\n  content: attr(data-tooltip);\\r\\n  position: absolute;\\r\\n  text-transform: none;\\r\\n  text-align: left;\\r\\n  white-space: nowrap;\\r\\n  font-size: 1rem;\\r\\n  border: 1px solid #D4D4D5;\\r\\n  line-height: 1.4285em;\\r\\n  max-width: none;\\r\\n  background: #FFFFFF;\\r\\n  padding: 0.833em 1em;\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15);\\r\\n  z-index: 1;\\r\\n}\\r\\n\\r\\n/* Default Position (Top Center) */\\r\\n\\r\\n[data-tooltip]:not([data-position]):before {\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  bottom: 100%;\\r\\n  left: 50%;\\r\\n  background: #FFFFFF;\\r\\n  margin-left: -0.07142857rem;\\r\\n  margin-bottom: 0.14285714rem;\\r\\n}\\r\\n\\r\\n[data-tooltip]:not([data-position]):after {\\r\\n  left: 50%;\\r\\n  -webkit-transform: translateX(-50%);\\r\\n  transform: translateX(-50%);\\r\\n  bottom: 100%;\\r\\n  margin-bottom: 0.5em;\\r\\n}\\r\\n\\r\\n/* Animation */\\r\\n\\r\\n[data-tooltip]:before,\\r\\n[data-tooltip]:after {\\r\\n  pointer-events: none;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n[data-tooltip]:before {\\r\\n  opacity: 0;\\r\\n  -webkit-transform: rotate(45deg) scale(0) !important;\\r\\n  transform: rotate(45deg) scale(0) !important;\\r\\n  -webkit-transform-origin: center top;\\r\\n  transform-origin: center top;\\r\\n  -webkit-transition: all 0.1s ease;\\r\\n  transition: all 0.1s ease;\\r\\n}\\r\\n\\r\\n[data-tooltip]:after {\\r\\n  opacity: 1;\\r\\n  -webkit-transform-origin: center bottom;\\r\\n  transform-origin: center bottom;\\r\\n  -webkit-transition: all 0.1s ease;\\r\\n  transition: all 0.1s ease;\\r\\n}\\r\\n\\r\\n[data-tooltip]:hover:before,\\r\\n[data-tooltip]:hover:after {\\r\\n  visibility: visible;\\r\\n  pointer-events: auto;\\r\\n}\\r\\n\\r\\n[data-tooltip]:hover:before {\\r\\n  -webkit-transform: rotate(45deg) scale(1) !important;\\r\\n  transform: rotate(45deg) scale(1) !important;\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/* Animation Position */\\r\\n\\r\\n[data-tooltip]:after,\\r\\n[data-tooltip][data-position=\\\"top center\\\"]:after,\\r\\n[data-tooltip][data-position=\\\"bottom center\\\"]:after {\\r\\n  -webkit-transform: translateX(-50%) scale(0) !important;\\r\\n  transform: translateX(-50%) scale(0) !important;\\r\\n}\\r\\n\\r\\n[data-tooltip]:hover:after,\\r\\n[data-tooltip][data-position=\\\"bottom center\\\"]:hover:after {\\r\\n  -webkit-transform: translateX(-50%) scale(1) !important;\\r\\n  transform: translateX(-50%) scale(1) !important;\\r\\n}\\r\\n\\r\\n[data-tooltip][data-position=\\\"left center\\\"]:after,\\r\\n[data-tooltip][data-position=\\\"right center\\\"]:after {\\r\\n  -webkit-transform: translateY(-50%) scale(0) !important;\\r\\n  transform: translateY(-50%) scale(0) !important;\\r\\n}\\r\\n\\r\\n[data-tooltip][data-position=\\\"left center\\\"]:hover:after,\\r\\n[data-tooltip][data-position=\\\"right center\\\"]:hover:after {\\r\\n  -webkit-transform: translateY(-50%) scale(1) !important;\\r\\n  transform: translateY(-50%) scale(1) !important;\\r\\n}\\r\\n\\r\\n[data-tooltip][data-position=\\\"top left\\\"]:after,\\r\\n[data-tooltip][data-position=\\\"top right\\\"]:after,\\r\\n[data-tooltip][data-position=\\\"bottom left\\\"]:after,\\r\\n[data-tooltip][data-position=\\\"bottom right\\\"]:after {\\r\\n  -webkit-transform: scale(0) !important;\\r\\n  transform: scale(0) !important;\\r\\n}\\r\\n\\r\\n[data-tooltip][data-position=\\\"top left\\\"]:hover:after,\\r\\n[data-tooltip][data-position=\\\"top right\\\"]:hover:after,\\r\\n[data-tooltip][data-position=\\\"bottom left\\\"]:hover:after,\\r\\n[data-tooltip][data-position=\\\"bottom right\\\"]:hover:after {\\r\\n  -webkit-transform: scale(1) !important;\\r\\n  transform: scale(1) !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n/* Arrow */\\r\\n\\r\\n[data-tooltip][data-inverted]:before {\\r\\n  box-shadow: none !important;\\r\\n}\\r\\n\\r\\n/* Arrow Position */\\r\\n\\r\\n[data-tooltip][data-inverted]:before {\\r\\n  background: #1B1C1D;\\r\\n}\\r\\n\\r\\n/* Popup  */\\r\\n\\r\\n[data-tooltip][data-inverted]:after {\\r\\n  background: #1B1C1D;\\r\\n  color: #FFFFFF;\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n[data-tooltip][data-inverted]:after .header {\\r\\n  background-color: none;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Position\\r\\n---------------*/\\r\\n\\r\\n/* Top Center */\\r\\n\\r\\n[data-position=\\\"top center\\\"][data-tooltip]:after {\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  left: 50%;\\r\\n  bottom: 100%;\\r\\n  -webkit-transform: translateX(-50%);\\r\\n  transform: translateX(-50%);\\r\\n  margin-bottom: 0.5em;\\r\\n}\\r\\n\\r\\n[data-position=\\\"top center\\\"][data-tooltip]:before {\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  bottom: 100%;\\r\\n  left: 50%;\\r\\n  background: #FFFFFF;\\r\\n  margin-left: -0.07142857rem;\\r\\n  margin-bottom: 0.14285714rem;\\r\\n}\\r\\n\\r\\n/* Top Left */\\r\\n\\r\\n[data-position=\\\"top left\\\"][data-tooltip]:after {\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  left: 0;\\r\\n  bottom: 100%;\\r\\n  margin-bottom: 0.5em;\\r\\n}\\r\\n\\r\\n[data-position=\\\"top left\\\"][data-tooltip]:before {\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  bottom: 100%;\\r\\n  left: 1em;\\r\\n  margin-left: -0.07142857rem;\\r\\n  margin-bottom: 0.14285714rem;\\r\\n}\\r\\n\\r\\n/* Top Right */\\r\\n\\r\\n[data-position=\\\"top right\\\"][data-tooltip]:after {\\r\\n  top: auto;\\r\\n  left: auto;\\r\\n  right: 0;\\r\\n  bottom: 100%;\\r\\n  margin-bottom: 0.5em;\\r\\n}\\r\\n\\r\\n[data-position=\\\"top right\\\"][data-tooltip]:before {\\r\\n  top: auto;\\r\\n  left: auto;\\r\\n  bottom: 100%;\\r\\n  right: 1em;\\r\\n  margin-left: -0.07142857rem;\\r\\n  margin-bottom: 0.14285714rem;\\r\\n}\\r\\n\\r\\n/* Bottom Center */\\r\\n\\r\\n[data-position=\\\"bottom center\\\"][data-tooltip]:after {\\r\\n  bottom: auto;\\r\\n  right: auto;\\r\\n  left: 50%;\\r\\n  top: 100%;\\r\\n  -webkit-transform: translateX(-50%);\\r\\n  transform: translateX(-50%);\\r\\n  margin-top: 0.5em;\\r\\n}\\r\\n\\r\\n[data-position=\\\"bottom center\\\"][data-tooltip]:before {\\r\\n  bottom: auto;\\r\\n  right: auto;\\r\\n  top: 100%;\\r\\n  left: 50%;\\r\\n  margin-left: -0.07142857rem;\\r\\n  margin-top: 0.14285714rem;\\r\\n}\\r\\n\\r\\n/* Bottom Left */\\r\\n\\r\\n[data-position=\\\"bottom left\\\"][data-tooltip]:after {\\r\\n  left: 0;\\r\\n  top: 100%;\\r\\n  margin-top: 0.5em;\\r\\n}\\r\\n\\r\\n[data-position=\\\"bottom left\\\"][data-tooltip]:before {\\r\\n  bottom: auto;\\r\\n  right: auto;\\r\\n  top: 100%;\\r\\n  left: 1em;\\r\\n  margin-left: -0.07142857rem;\\r\\n  margin-top: 0.14285714rem;\\r\\n}\\r\\n\\r\\n/* Bottom Right */\\r\\n\\r\\n[data-position=\\\"bottom right\\\"][data-tooltip]:after {\\r\\n  right: 0;\\r\\n  top: 100%;\\r\\n  margin-top: 0.5em;\\r\\n}\\r\\n\\r\\n[data-position=\\\"bottom right\\\"][data-tooltip]:before {\\r\\n  bottom: auto;\\r\\n  left: auto;\\r\\n  top: 100%;\\r\\n  right: 1em;\\r\\n  margin-left: -0.14285714rem;\\r\\n  margin-top: 0.07142857rem;\\r\\n}\\r\\n\\r\\n/* Left Center */\\r\\n\\r\\n[data-position=\\\"left center\\\"][data-tooltip]:after {\\r\\n  right: 100%;\\r\\n  top: 50%;\\r\\n  margin-right: 0.5em;\\r\\n  -webkit-transform: translateY(-50%);\\r\\n  transform: translateY(-50%);\\r\\n}\\r\\n\\r\\n[data-position=\\\"left center\\\"][data-tooltip]:before {\\r\\n  right: 100%;\\r\\n  top: 50%;\\r\\n  margin-top: -0.14285714rem;\\r\\n  margin-right: -0.07142857rem;\\r\\n}\\r\\n\\r\\n/* Right Center */\\r\\n\\r\\n[data-position=\\\"right center\\\"][data-tooltip]:after {\\r\\n  left: 100%;\\r\\n  top: 50%;\\r\\n  margin-left: 0.5em;\\r\\n  -webkit-transform: translateY(-50%);\\r\\n  transform: translateY(-50%);\\r\\n}\\r\\n\\r\\n[data-position=\\\"right center\\\"][data-tooltip]:before {\\r\\n  left: 100%;\\r\\n  top: 50%;\\r\\n  margin-top: -0.07142857rem;\\r\\n  margin-left: 0.14285714rem;\\r\\n}\\r\\n\\r\\n/* Arrow */\\r\\n\\r\\n[data-position~=\\\"bottom\\\"][data-tooltip]:before {\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: -1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n[data-position=\\\"left center\\\"][data-tooltip]:before {\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: 1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n[data-position=\\\"right center\\\"][data-tooltip]:before {\\r\\n  background: #FFFFFF;\\r\\n  box-shadow: -1px 1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n[data-position~=\\\"top\\\"][data-tooltip]:before {\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Inverted Arrow Color */\\r\\n\\r\\n[data-inverted][data-position~=\\\"bottom\\\"][data-tooltip]:before {\\r\\n  background: #1B1C1D;\\r\\n  box-shadow: -1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n[data-inverted][data-position=\\\"left center\\\"][data-tooltip]:before {\\r\\n  background: #1B1C1D;\\r\\n  box-shadow: 1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n[data-inverted][data-position=\\\"right center\\\"][data-tooltip]:before {\\r\\n  background: #1B1C1D;\\r\\n  box-shadow: -1px 1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n[data-inverted][data-position~=\\\"top\\\"][data-tooltip]:before {\\r\\n  background: #1B1C1D;\\r\\n}\\r\\n\\r\\n[data-position~=\\\"bottom\\\"][data-tooltip]:before {\\r\\n  -webkit-transform-origin: center bottom;\\r\\n  transform-origin: center bottom;\\r\\n}\\r\\n\\r\\n[data-position~=\\\"bottom\\\"][data-tooltip]:after {\\r\\n  -webkit-transform-origin: center top;\\r\\n  transform-origin: center top;\\r\\n}\\r\\n\\r\\n[data-position=\\\"left center\\\"][data-tooltip]:before {\\r\\n  -webkit-transform-origin: top center;\\r\\n  transform-origin: top center;\\r\\n}\\r\\n\\r\\n[data-position=\\\"left center\\\"][data-tooltip]:after {\\r\\n  -webkit-transform-origin: right center;\\r\\n  transform-origin: right center;\\r\\n}\\r\\n\\r\\n[data-position=\\\"right center\\\"][data-tooltip]:before {\\r\\n  -webkit-transform-origin: right center;\\r\\n  transform-origin: right center;\\r\\n}\\r\\n\\r\\n[data-position=\\\"right center\\\"][data-tooltip]:after {\\r\\n  -webkit-transform-origin: left center;\\r\\n  transform-origin: left center;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Spacing\\r\\n---------------*/\\r\\n\\r\\n.ui.popup {\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n/* Extending from Top */\\r\\n\\r\\n.ui.top.popup {\\r\\n  margin: 0em 0em 0.71428571em;\\r\\n}\\r\\n\\r\\n.ui.top.left.popup {\\r\\n  -webkit-transform-origin: left bottom;\\r\\n  transform-origin: left bottom;\\r\\n}\\r\\n\\r\\n.ui.top.center.popup {\\r\\n  -webkit-transform-origin: center bottom;\\r\\n  transform-origin: center bottom;\\r\\n}\\r\\n\\r\\n.ui.top.right.popup {\\r\\n  -webkit-transform-origin: right bottom;\\r\\n  transform-origin: right bottom;\\r\\n}\\r\\n\\r\\n/* Extending from Vertical Center */\\r\\n\\r\\n.ui.left.center.popup {\\r\\n  margin: 0em 0.71428571em 0em 0em;\\r\\n  -webkit-transform-origin: right 50%;\\r\\n  transform-origin: right 50%;\\r\\n}\\r\\n\\r\\n.ui.right.center.popup {\\r\\n  margin: 0em 0em 0em 0.71428571em;\\r\\n  -webkit-transform-origin: left 50%;\\r\\n  transform-origin: left 50%;\\r\\n}\\r\\n\\r\\n/* Extending from Bottom */\\r\\n\\r\\n.ui.bottom.popup {\\r\\n  margin: 0.71428571em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.bottom.left.popup {\\r\\n  -webkit-transform-origin: left top;\\r\\n  transform-origin: left top;\\r\\n}\\r\\n\\r\\n.ui.bottom.center.popup {\\r\\n  -webkit-transform-origin: center top;\\r\\n  transform-origin: center top;\\r\\n}\\r\\n\\r\\n.ui.bottom.right.popup {\\r\\n  -webkit-transform-origin: right top;\\r\\n  transform-origin: right top;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Pointer\\r\\n---------------*/\\r\\n\\r\\n/*--- Below ---*/\\r\\n\\r\\n.ui.bottom.center.popup:before {\\r\\n  margin-left: -0.30714286em;\\r\\n  top: -0.30714286em;\\r\\n  left: 50%;\\r\\n  right: auto;\\r\\n  bottom: auto;\\r\\n  box-shadow: -1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n.ui.bottom.left.popup {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n/*rtl:rename*/\\r\\n\\r\\n.ui.bottom.left.popup:before {\\r\\n  top: -0.30714286em;\\r\\n  left: 1em;\\r\\n  right: auto;\\r\\n  bottom: auto;\\r\\n  margin-left: 0em;\\r\\n  box-shadow: -1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n.ui.bottom.right.popup {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n/*rtl:rename*/\\r\\n\\r\\n.ui.bottom.right.popup:before {\\r\\n  top: -0.30714286em;\\r\\n  right: 1em;\\r\\n  bottom: auto;\\r\\n  left: auto;\\r\\n  margin-left: 0em;\\r\\n  box-shadow: -1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n/*--- Above ---*/\\r\\n\\r\\n.ui.top.center.popup:before {\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  bottom: -0.30714286em;\\r\\n  left: 50%;\\r\\n  margin-left: -0.30714286em;\\r\\n}\\r\\n\\r\\n.ui.top.left.popup {\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n/*rtl:rename*/\\r\\n\\r\\n.ui.top.left.popup:before {\\r\\n  bottom: -0.30714286em;\\r\\n  left: 1em;\\r\\n  top: auto;\\r\\n  right: auto;\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n.ui.top.right.popup {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n/*rtl:rename*/\\r\\n\\r\\n.ui.top.right.popup:before {\\r\\n  bottom: -0.30714286em;\\r\\n  right: 1em;\\r\\n  top: auto;\\r\\n  left: auto;\\r\\n  margin-left: 0em;\\r\\n}\\r\\n\\r\\n/*--- Left Center ---*/\\r\\n\\r\\n/*rtl:rename*/\\r\\n\\r\\n.ui.left.center.popup:before {\\r\\n  top: 50%;\\r\\n  right: -0.30714286em;\\r\\n  bottom: auto;\\r\\n  left: auto;\\r\\n  margin-top: -0.30714286em;\\r\\n  box-shadow: 1px -1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n/*--- Right Center  ---*/\\r\\n\\r\\n/*rtl:rename*/\\r\\n\\r\\n.ui.right.center.popup:before {\\r\\n  top: 50%;\\r\\n  left: -0.30714286em;\\r\\n  bottom: auto;\\r\\n  right: auto;\\r\\n  margin-top: -0.30714286em;\\r\\n  box-shadow: -1px 1px 0px 0px #bababc;\\r\\n}\\r\\n\\r\\n/* Arrow Color By Location */\\r\\n\\r\\n.ui.bottom.popup:before {\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.right.center.popup:before,\\r\\n.ui.left.center.popup:before {\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.top.popup:before {\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Inverted Arrow Color */\\r\\n\\r\\n.ui.inverted.bottom.popup:before {\\r\\n  background: #1B1C1D;\\r\\n}\\r\\n\\r\\n.ui.inverted.right.center.popup:before,\\r\\n.ui.inverted.left.center.popup:before {\\r\\n  background: #1B1C1D;\\r\\n}\\r\\n\\r\\n.ui.inverted.top.popup:before {\\r\\n  background: #1B1C1D;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Coupling\\r\\n*******************************/\\r\\n\\r\\n/* Immediate Nested Grid */\\r\\n\\r\\n.ui.popup > .ui.grid:not(.padded) {\\r\\n  width: calc(100% + 1.75rem);\\r\\n  margin: -0.7rem -0.875rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n.ui.loading.popup {\\r\\n  display: block;\\r\\n  visibility: hidden;\\r\\n  z-index: -1;\\r\\n}\\r\\n\\r\\n.ui.animating.popup,\\r\\n.ui.visible.popup {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n.ui.visible.popup {\\r\\n  -webkit-transform: translateZ(0px);\\r\\n  transform: translateZ(0px);\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Basic\\r\\n---------------*/\\r\\n\\r\\n.ui.basic.popup:before {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Wide\\r\\n---------------*/\\r\\n\\r\\n.ui.wide.popup {\\r\\n  max-width: 350px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very wide\\\"].popup {\\r\\n  max-width: 550px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n  .ui.wide.popup,\\r\\n  .ui[class*=\\\"very wide\\\"].popup {\\r\\n    max-width: 250px;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Fluid\\r\\n---------------*/\\r\\n\\r\\n.ui.fluid.popup {\\r\\n  width: 100%;\\r\\n  max-width: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Colors\\r\\n---------------*/\\r\\n\\r\\n/* Inverted colors  */\\r\\n\\r\\n.ui.inverted.popup {\\r\\n  background: #1B1C1D;\\r\\n  color: #FFFFFF;\\r\\n  border: none;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.inverted.popup .header {\\r\\n  background-color: none;\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.popup:before {\\r\\n  background-color: #1B1C1D;\\r\\n  box-shadow: none !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Flowing\\r\\n---------------*/\\r\\n\\r\\n.ui.flowing.popup {\\r\\n  max-width: none;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizes\\r\\n---------------*/\\r\\n\\r\\n.ui.mini.popup {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.popup {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.popup {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.popup {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.popup {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.huge.popup {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n        User Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Progress Bar\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Progress\\r\\n*******************************/\\r\\n\\r\\n.ui.progress {\\r\\n  position: relative;\\r\\n  display: block;\\r\\n  max-width: 100%;\\r\\n  border: none;\\r\\n  margin: 1em 0em 2.5em;\\r\\n  box-shadow: none;\\r\\n  background: rgba(0, 0, 0, 0.1);\\r\\n  padding: 0em;\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.progress:first-child {\\r\\n  margin: 0em 0em 2.5em;\\r\\n}\\r\\n\\r\\n.ui.progress:last-child {\\r\\n  margin: 0em 0em 1.5em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Content\\r\\n*******************************/\\r\\n\\r\\n/* Activity Bar */\\r\\n\\r\\n.ui.progress .bar {\\r\\n  display: block;\\r\\n  line-height: 1;\\r\\n  position: relative;\\r\\n  width: 0%;\\r\\n  min-width: 2em;\\r\\n  background: #888888;\\r\\n  border-radius: 0.28571429rem;\\r\\n  -webkit-transition: width 0.1s ease, background-color 0.1s ease;\\r\\n  transition: width 0.1s ease, background-color 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Percent Complete */\\r\\n\\r\\n.ui.progress .bar > .progress {\\r\\n  white-space: nowrap;\\r\\n  position: absolute;\\r\\n  width: auto;\\r\\n  font-size: 0.92857143em;\\r\\n  top: 50%;\\r\\n  right: 0.5em;\\r\\n  left: auto;\\r\\n  bottom: auto;\\r\\n  color: rgba(255, 255, 255, 0.7);\\r\\n  text-shadow: none;\\r\\n  margin-top: -0.5em;\\r\\n  font-weight: bold;\\r\\n  text-align: left;\\r\\n}\\r\\n\\r\\n/* Label */\\r\\n\\r\\n.ui.progress > .label {\\r\\n  position: absolute;\\r\\n  width: 100%;\\r\\n  font-size: 1em;\\r\\n  top: 100%;\\r\\n  right: auto;\\r\\n  left: 0%;\\r\\n  bottom: auto;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  font-weight: bold;\\r\\n  text-shadow: none;\\r\\n  margin-top: 0.2em;\\r\\n  text-align: center;\\r\\n  -webkit-transition: color 0.4s ease;\\r\\n  transition: color 0.4s ease;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n/* Indicating */\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"1\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent^=\\\"2\\\"] .bar {\\r\\n  background-color: #D95C5C;\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"3\\\"] .bar {\\r\\n  background-color: #EFBC72;\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"4\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent^=\\\"5\\\"] .bar {\\r\\n  background-color: #E6BB48;\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"6\\\"] .bar {\\r\\n  background-color: #DDC928;\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"7\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent^=\\\"8\\\"] .bar {\\r\\n  background-color: #B4D95C;\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"9\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent^=\\\"100\\\"] .bar {\\r\\n  background-color: #66DA81;\\r\\n}\\r\\n\\r\\n/* Indicating Label */\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"1\\\"] .label,\\r\\n.ui.indicating.progress[data-percent^=\\\"2\\\"] .label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"3\\\"] .label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"4\\\"] .label,\\r\\n.ui.indicating.progress[data-percent^=\\\"5\\\"] .label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"6\\\"] .label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"7\\\"] .label,\\r\\n.ui.indicating.progress[data-percent^=\\\"8\\\"] .label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent^=\\\"9\\\"] .label,\\r\\n.ui.indicating.progress[data-percent^=\\\"100\\\"] .label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Single Digits */\\r\\n\\r\\n.ui.indicating.progress[data-percent=\\\"1\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"2\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"3\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"4\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"5\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"6\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"7\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"8\\\"] .bar,\\r\\n.ui.indicating.progress[data-percent=\\\"9\\\"] .bar {\\r\\n  background-color: #D95C5C;\\r\\n}\\r\\n\\r\\n.ui.indicating.progress[data-percent=\\\"1\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"2\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"3\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"4\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"5\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"6\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"7\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"8\\\"] .label,\\r\\n.ui.indicating.progress[data-percent=\\\"9\\\"] .label {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* Indicating Success */\\r\\n\\r\\n.ui.indicating.progress.success .label {\\r\\n  color: #1A531B;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Success\\r\\n---------------*/\\r\\n\\r\\n.ui.progress.success .bar {\\r\\n  background-color: #21BA45 !important;\\r\\n}\\r\\n\\r\\n.ui.progress.success .bar,\\r\\n.ui.progress.success .bar::after {\\r\\n  -webkit-animation: none !important;\\r\\n  animation: none !important;\\r\\n}\\r\\n\\r\\n.ui.progress.success > .label {\\r\\n  color: #1A531B;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Warning\\r\\n---------------*/\\r\\n\\r\\n.ui.progress.warning .bar {\\r\\n  background-color: #F2C037 !important;\\r\\n}\\r\\n\\r\\n.ui.progress.warning .bar,\\r\\n.ui.progress.warning .bar::after {\\r\\n  -webkit-animation: none !important;\\r\\n  animation: none !important;\\r\\n}\\r\\n\\r\\n.ui.progress.warning > .label {\\r\\n  color: #794B02;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Error\\r\\n---------------*/\\r\\n\\r\\n.ui.progress.error .bar {\\r\\n  background-color: #DB2828 !important;\\r\\n}\\r\\n\\r\\n.ui.progress.error .bar,\\r\\n.ui.progress.error .bar::after {\\r\\n  -webkit-animation: none !important;\\r\\n  animation: none !important;\\r\\n}\\r\\n\\r\\n.ui.progress.error > .label {\\r\\n  color: #912D2B;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.active.progress .bar {\\r\\n  position: relative;\\r\\n  min-width: 2em;\\r\\n}\\r\\n\\r\\n.ui.active.progress .bar::after {\\r\\n  content: '';\\r\\n  opacity: 0;\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  right: 0px;\\r\\n  bottom: 0px;\\r\\n  background: #FFFFFF;\\r\\n  border-radius: 0.28571429rem;\\r\\n  -webkit-animation: progress-active 2s ease infinite;\\r\\n  animation: progress-active 2s ease infinite;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes progress-active {\\r\\n  0% {\\r\\n    opacity: 0.3;\\r\\n    width: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    width: 100%;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes progress-active {\\r\\n  0% {\\r\\n    opacity: 0.3;\\r\\n    width: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    width: 100%;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Disabled\\r\\n---------------*/\\r\\n\\r\\n.ui.disabled.progress {\\r\\n  opacity: 0.35;\\r\\n}\\r\\n\\r\\n.ui.disabled.progress .bar,\\r\\n.ui.disabled.progress .bar::after {\\r\\n  -webkit-animation: none !important;\\r\\n  animation: none !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Inverted\\r\\n---------------*/\\r\\n\\r\\n.ui.inverted.progress {\\r\\n  background: rgba(255, 255, 255, 0.08);\\r\\n  border: none;\\r\\n}\\r\\n\\r\\n.ui.inverted.progress .bar {\\r\\n  background: #888888;\\r\\n}\\r\\n\\r\\n.ui.inverted.progress .bar > .progress {\\r\\n  color: #F9FAFB;\\r\\n}\\r\\n\\r\\n.ui.inverted.progress > .label {\\r\\n  color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.ui.inverted.progress.success > .label {\\r\\n  color: #21BA45;\\r\\n}\\r\\n\\r\\n.ui.inverted.progress.warning > .label {\\r\\n  color: #F2C037;\\r\\n}\\r\\n\\r\\n.ui.inverted.progress.error > .label {\\r\\n  color: #DB2828;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Attached\\r\\n---------------*/\\r\\n\\r\\n/* bottom attached */\\r\\n\\r\\n.ui.progress.attached {\\r\\n  background: transparent;\\r\\n  position: relative;\\r\\n  border: none;\\r\\n  margin: 0em;\\r\\n}\\r\\n\\r\\n.ui.progress.attached,\\r\\n.ui.progress.attached .bar {\\r\\n  display: block;\\r\\n  height: 0.2rem;\\r\\n  padding: 0px;\\r\\n  overflow: hidden;\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.progress.attached .bar {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n/* top attached */\\r\\n\\r\\n.ui.progress.top.attached,\\r\\n.ui.progress.top.attached .bar {\\r\\n  top: 0px;\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.progress.top.attached .bar {\\r\\n  border-radius: 0em;\\r\\n}\\r\\n\\r\\n/* Coupling */\\r\\n\\r\\n.ui.segment > .ui.attached.progress,\\r\\n.ui.card > .ui.attached.progress {\\r\\n  position: absolute;\\r\\n  top: auto;\\r\\n  left: 0;\\r\\n  bottom: 100%;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.ui.segment > .ui.bottom.attached.progress,\\r\\n.ui.card > .ui.bottom.attached.progress {\\r\\n  top: 100%;\\r\\n  bottom: auto;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Colors\\r\\n---------------*/\\r\\n\\r\\n/* Red */\\r\\n\\r\\n.ui.red.progress .bar {\\r\\n  background-color: #DB2828;\\r\\n}\\r\\n\\r\\n.ui.red.inverted.progress .bar {\\r\\n  background-color: #FF695E;\\r\\n}\\r\\n\\r\\n/* Orange */\\r\\n\\r\\n.ui.orange.progress .bar {\\r\\n  background-color: #F2711C;\\r\\n}\\r\\n\\r\\n.ui.orange.inverted.progress .bar {\\r\\n  background-color: #FF851B;\\r\\n}\\r\\n\\r\\n/* Yellow */\\r\\n\\r\\n.ui.yellow.progress .bar {\\r\\n  background-color: #FBBD08;\\r\\n}\\r\\n\\r\\n.ui.yellow.inverted.progress .bar {\\r\\n  background-color: #FFE21F;\\r\\n}\\r\\n\\r\\n/* Olive */\\r\\n\\r\\n.ui.olive.progress .bar {\\r\\n  background-color: #B5CC18;\\r\\n}\\r\\n\\r\\n.ui.olive.inverted.progress .bar {\\r\\n  background-color: #D9E778;\\r\\n}\\r\\n\\r\\n/* Green */\\r\\n\\r\\n.ui.green.progress .bar {\\r\\n  background-color: #21BA45;\\r\\n}\\r\\n\\r\\n.ui.green.inverted.progress .bar {\\r\\n  background-color: #2ECC40;\\r\\n}\\r\\n\\r\\n/* Teal */\\r\\n\\r\\n.ui.teal.progress .bar {\\r\\n  background-color: #00B5AD;\\r\\n}\\r\\n\\r\\n.ui.teal.inverted.progress .bar {\\r\\n  background-color: #6DFFFF;\\r\\n}\\r\\n\\r\\n/* Blue */\\r\\n\\r\\n.ui.blue.progress .bar {\\r\\n  background-color: #2185D0;\\r\\n}\\r\\n\\r\\n.ui.blue.inverted.progress .bar {\\r\\n  background-color: #54C8FF;\\r\\n}\\r\\n\\r\\n/* Violet */\\r\\n\\r\\n.ui.violet.progress .bar {\\r\\n  background-color: #6435C9;\\r\\n}\\r\\n\\r\\n.ui.violet.inverted.progress .bar {\\r\\n  background-color: #A291FB;\\r\\n}\\r\\n\\r\\n/* Purple */\\r\\n\\r\\n.ui.purple.progress .bar {\\r\\n  background-color: #A333C8;\\r\\n}\\r\\n\\r\\n.ui.purple.inverted.progress .bar {\\r\\n  background-color: #DC73FF;\\r\\n}\\r\\n\\r\\n/* Pink */\\r\\n\\r\\n.ui.pink.progress .bar {\\r\\n  background-color: #E03997;\\r\\n}\\r\\n\\r\\n.ui.pink.inverted.progress .bar {\\r\\n  background-color: #FF8EDF;\\r\\n}\\r\\n\\r\\n/* Brown */\\r\\n\\r\\n.ui.brown.progress .bar {\\r\\n  background-color: #A5673F;\\r\\n}\\r\\n\\r\\n.ui.brown.inverted.progress .bar {\\r\\n  background-color: #D67C1C;\\r\\n}\\r\\n\\r\\n/* Grey */\\r\\n\\r\\n.ui.grey.progress .bar {\\r\\n  background-color: #767676;\\r\\n}\\r\\n\\r\\n.ui.grey.inverted.progress .bar {\\r\\n  background-color: #DCDDDE;\\r\\n}\\r\\n\\r\\n/* Black */\\r\\n\\r\\n.ui.black.progress .bar {\\r\\n  background-color: #1B1C1D;\\r\\n}\\r\\n\\r\\n.ui.black.inverted.progress .bar {\\r\\n  background-color: #545454;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Sizes\\r\\n---------------*/\\r\\n\\r\\n.ui.tiny.progress {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.progress .bar {\\r\\n  height: 0.5em;\\r\\n}\\r\\n\\r\\n.ui.small.progress {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.small.progress .bar {\\r\\n  height: 1em;\\r\\n}\\r\\n\\r\\n.ui.progress {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.progress .bar {\\r\\n  height: 1.75em;\\r\\n}\\r\\n\\r\\n.ui.large.progress {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.large.progress .bar {\\r\\n  height: 2.5em;\\r\\n}\\r\\n\\r\\n.ui.big.progress {\\r\\n  font-size: 1.28571429rem;\\r\\n}\\r\\n\\r\\n.ui.big.progress .bar {\\r\\n  height: 3.5em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Progress\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Rating\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n           Rating\\r\\n*******************************/\\r\\n\\r\\n.ui.rating {\\r\\n  display: -webkit-inline-box;\\r\\n  display: -webkit-inline-flex;\\r\\n  display: -ms-inline-flexbox;\\r\\n  display: inline-flex;\\r\\n  white-space: nowrap;\\r\\n  vertical-align: baseline;\\r\\n}\\r\\n\\r\\n.ui.rating:last-child {\\r\\n  margin-right: 0em;\\r\\n}\\r\\n\\r\\n/* Icon */\\r\\n\\r\\n.ui.rating .icon {\\r\\n  padding: 0em;\\r\\n  margin: 0em;\\r\\n  text-align: center;\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n  -webkit-box-flex: 1;\\r\\n  -webkit-flex: 1 0 auto;\\r\\n  -ms-flex: 1 0 auto;\\r\\n  flex: 1 0 auto;\\r\\n  cursor: pointer;\\r\\n  width: 1.25em;\\r\\n  height: auto;\\r\\n  -webkit-transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\\r\\n  transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n      Standard\\r\\n--------------------*/\\r\\n\\r\\n/* Inactive Icon */\\r\\n\\r\\n.ui.rating .icon {\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.15);\\r\\n}\\r\\n\\r\\n/* Active Icon */\\r\\n\\r\\n.ui.rating .active.icon {\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n/* Selected Icon */\\r\\n\\r\\n.ui.rating .icon.selected,\\r\\n.ui.rating .icon.selected.active {\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Star\\r\\n--------------------*/\\r\\n\\r\\n/* Inactive */\\r\\n\\r\\n.ui.star.rating .icon {\\r\\n  width: 1.25em;\\r\\n  height: auto;\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.15);\\r\\n  text-shadow: none;\\r\\n}\\r\\n\\r\\n/* Active Star */\\r\\n\\r\\n.ui.star.rating .active.icon {\\r\\n  background: transparent !important;\\r\\n  color: #FFE623 !important;\\r\\n  text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important;\\r\\n}\\r\\n\\r\\n/* Selected Star */\\r\\n\\r\\n.ui.star.rating .icon.selected,\\r\\n.ui.star.rating .icon.selected.active {\\r\\n  background: transparent !important;\\r\\n  color: #FFCC00 !important;\\r\\n  text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Heart\\r\\n--------------------*/\\r\\n\\r\\n.ui.heart.rating .icon {\\r\\n  width: 1.4em;\\r\\n  height: auto;\\r\\n  background: transparent;\\r\\n  color: rgba(0, 0, 0, 0.15);\\r\\n  text-shadow: none !important;\\r\\n}\\r\\n\\r\\n/* Active Heart */\\r\\n\\r\\n.ui.heart.rating .active.icon {\\r\\n  background: transparent !important;\\r\\n  color: #FF6D75 !important;\\r\\n  text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important;\\r\\n}\\r\\n\\r\\n/* Selected Heart */\\r\\n\\r\\n.ui.heart.rating .icon.selected,\\r\\n.ui.heart.rating .icon.selected.active {\\r\\n  background: transparent !important;\\r\\n  color: #FF3000 !important;\\r\\n  text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n       Disabled\\r\\n--------------------*/\\r\\n\\r\\n/* disabled rating */\\r\\n\\r\\n.ui.disabled.rating .icon {\\r\\n  cursor: default;\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n   User Interactive\\r\\n--------------------*/\\r\\n\\r\\n/* Selected Rating */\\r\\n\\r\\n.ui.rating.selected .active.icon {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.rating.selected .icon.selected,\\r\\n.ui.rating .icon.selected {\\r\\n  opacity: 1;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n.ui.mini.rating {\\r\\n  font-size: 0.78571429rem;\\r\\n}\\r\\n\\r\\n.ui.tiny.rating {\\r\\n  font-size: 0.85714286rem;\\r\\n}\\r\\n\\r\\n.ui.small.rating {\\r\\n  font-size: 0.92857143rem;\\r\\n}\\r\\n\\r\\n.ui.rating {\\r\\n  font-size: 1rem;\\r\\n}\\r\\n\\r\\n.ui.large.rating {\\r\\n  font-size: 1.14285714rem;\\r\\n}\\r\\n\\r\\n.ui.huge.rating {\\r\\n  font-size: 1.42857143rem;\\r\\n}\\r\\n\\r\\n.ui.massive.rating {\\r\\n  font-size: 2rem;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n@font-face {\\r\\n  font-family: 'Rating';\\r\\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n}\\r\\n\\r\\n.ui.rating .icon {\\r\\n  font-family: 'Rating';\\r\\n  line-height: 1;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  font-weight: normal;\\r\\n  font-style: normal;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/* Empty Star */\\r\\n\\r\\n.ui.rating .icon:before {\\r\\n  content: '\\\\F005';\\r\\n}\\r\\n\\r\\n/* Active Star */\\r\\n\\r\\n.ui.rating .active.icon:before {\\r\\n  content: '\\\\F005';\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Star\\r\\n--------------------*/\\r\\n\\r\\n/* Unfilled Star */\\r\\n\\r\\n.ui.star.rating .icon:before {\\r\\n  content: '\\\\F005';\\r\\n}\\r\\n\\r\\n/* Active Star */\\r\\n\\r\\n.ui.star.rating .active.icon:before {\\r\\n  content: '\\\\F005';\\r\\n}\\r\\n\\r\\n/* Partial */\\r\\n\\r\\n.ui.star.rating .partial.icon:before {\\r\\n  content: '\\\\F006';\\r\\n}\\r\\n\\r\\n.ui.star.rating .partial.icon {\\r\\n  content: '\\\\F005';\\r\\n}\\r\\n\\r\\n/*-------------------\\r\\n        Heart\\r\\n--------------------*/\\r\\n\\r\\n/* Empty Heart\\r\\n.ui.heart.rating .icon:before {\\r\\n  content: '\\\\f08a';\\r\\n}\\r\\n*/\\r\\n\\r\\n.ui.heart.rating .icon:before {\\r\\n  content: '\\\\F004';\\r\\n}\\r\\n\\r\\n/* Active */\\r\\n\\r\\n.ui.heart.rating .active.icon:before {\\r\\n  content: '\\\\F004';\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Search\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n             Search\\r\\n*******************************/\\r\\n\\r\\n.ui.search {\\r\\n  position: relative;\\r\\n}\\r\\n\\r\\n.ui.search > .prompt {\\r\\n  margin: 0em;\\r\\n  outline: none;\\r\\n  -webkit-appearance: none;\\r\\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\\r\\n  text-shadow: none;\\r\\n  font-style: normal;\\r\\n  font-weight: normal;\\r\\n  line-height: 1.21428571em;\\r\\n  padding: 0.67857143em 1em;\\r\\n  font-size: 1em;\\r\\n  background: #FFFFFF;\\r\\n  border: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  box-shadow: 0em 0em 0em 0em transparent inset;\\r\\n  -webkit-transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\\r\\n  transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.search .prompt {\\r\\n  border-radius: 500rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Icon\\r\\n---------------*/\\r\\n\\r\\n.ui.search .prompt ~ .search.icon {\\r\\n  cursor: pointer;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Results\\r\\n---------------*/\\r\\n\\r\\n.ui.search > .results {\\r\\n  display: none;\\r\\n  position: absolute;\\r\\n  top: 100%;\\r\\n  left: 0%;\\r\\n  -webkit-transform-origin: center top;\\r\\n  transform-origin: center top;\\r\\n  white-space: normal;\\r\\n  background: #FFFFFF;\\r\\n  margin-top: 0.5em;\\r\\n  width: 18em;\\r\\n  border-radius: 0.28571429rem;\\r\\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15);\\r\\n  border: 1px solid #D4D4D5;\\r\\n  z-index: 998;\\r\\n}\\r\\n\\r\\n.ui.search > .results > :first-child {\\r\\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.search > .results > :last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Result\\r\\n---------------*/\\r\\n\\r\\n.ui.search > .results .result {\\r\\n  cursor: pointer;\\r\\n  display: block;\\r\\n  overflow: hidden;\\r\\n  font-size: 1em;\\r\\n  padding: 0.85714286em 1.14285714em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  line-height: 1.33;\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\\r\\n}\\r\\n\\r\\n.ui.search > .results .result:last-child {\\r\\n  border-bottom: none !important;\\r\\n}\\r\\n\\r\\n/* Image */\\r\\n\\r\\n.ui.search > .results .result .image {\\r\\n  float: right;\\r\\n  overflow: hidden;\\r\\n  background: none;\\r\\n  width: 5em;\\r\\n  height: 3em;\\r\\n  border-radius: 0.25em;\\r\\n}\\r\\n\\r\\n.ui.search > .results .result .image img {\\r\\n  display: block;\\r\\n  width: auto;\\r\\n  height: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Info\\r\\n---------------*/\\r\\n\\r\\n.ui.search > .results .result .image + .content {\\r\\n  margin: 0em 6em 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.search > .results .result .title {\\r\\n  margin: -0.14285714em 0em 0em;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-weight: bold;\\r\\n  font-size: 1em;\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n.ui.search > .results .result .description {\\r\\n  margin-top: 0;\\r\\n  font-size: 0.92857143em;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n.ui.search > .results .result .price {\\r\\n  float: right;\\r\\n  color: #21BA45;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Message\\r\\n---------------*/\\r\\n\\r\\n.ui.search > .results > .message {\\r\\n  padding: 1em 1em;\\r\\n}\\r\\n\\r\\n.ui.search > .results > .message .header {\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 1rem;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.search > .results > .message .description {\\r\\n  margin-top: 0.25rem;\\r\\n  font-size: 1em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n/* View All Results */\\r\\n\\r\\n.ui.search > .results > .action {\\r\\n  display: block;\\r\\n  border-top: none;\\r\\n  background: #F3F4F5;\\r\\n  padding: 0.92857143em 1em;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  font-weight: bold;\\r\\n  text-align: center;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n       Focus\\r\\n---------------------*/\\r\\n\\r\\n.ui.search > .prompt:focus {\\r\\n  border-color: rgba(34, 36, 38, 0.35);\\r\\n  background: #FFFFFF;\\r\\n  color: rgba(0, 0, 0, 0.95);\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       Loading\\r\\n---------------------*/\\r\\n\\r\\n.ui.loading.search .input > i.icon:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  border-radius: 500rem;\\r\\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.ui.loading.search .input > i.icon:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 50%;\\r\\n  left: 50%;\\r\\n  margin: -0.64285714em 0em 0em -0.64285714em;\\r\\n  width: 1.28571429em;\\r\\n  height: 1.28571429em;\\r\\n  -webkit-animation: button-spin 0.6s linear;\\r\\n  animation: button-spin 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #767676 transparent transparent;\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Hover\\r\\n---------------*/\\r\\n\\r\\n.ui.search > .results .result:hover,\\r\\n.ui.category.search > .results .category .result:hover {\\r\\n  background: #F9FAFB;\\r\\n}\\r\\n\\r\\n.ui.search .action:hover {\\r\\n  background: #E0E0E0;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Active\\r\\n---------------*/\\r\\n\\r\\n.ui.category.search > .results .category.active {\\r\\n  background: #F3F4F5;\\r\\n}\\r\\n\\r\\n.ui.category.search > .results .category.active > .name {\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n}\\r\\n\\r\\n.ui.search > .results .result.active,\\r\\n.ui.category.search > .results .category .result.active {\\r\\n  position: relative;\\r\\n  border-left-color: rgba(34, 36, 38, 0.1);\\r\\n  background: #F3F4F5;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.ui.search > .results .result.active .title {\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n.ui.search > .results .result.active .description {\\r\\n  color: rgba(0, 0, 0, 0.85);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Types\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Selection\\r\\n---------------*/\\r\\n\\r\\n.ui.search.selection .prompt {\\r\\n  border-radius: 0.28571429rem;\\r\\n}\\r\\n\\r\\n/* Remove input */\\r\\n\\r\\n.ui.search.selection > .icon.input > .remove.icon {\\r\\n  pointer-events: none;\\r\\n  position: absolute;\\r\\n  left: auto;\\r\\n  opacity: 0;\\r\\n  color: '';\\r\\n  top: 0em;\\r\\n  right: 0em;\\r\\n  -webkit-transition: color 0.1s ease, opacity 0.1s ease;\\r\\n  transition: color 0.1s ease, opacity 0.1s ease;\\r\\n}\\r\\n\\r\\n.ui.search.selection > .icon.input > .active.remove.icon {\\r\\n  cursor: pointer;\\r\\n  opacity: 0.8;\\r\\n  pointer-events: auto;\\r\\n}\\r\\n\\r\\n.ui.search.selection > .icon.input:not([class*=\\\"left icon\\\"]) > .icon ~ .remove.icon {\\r\\n  right: 1.85714em;\\r\\n}\\r\\n\\r\\n.ui.search.selection > .icon.input > .remove.icon:hover {\\r\\n  opacity: 1;\\r\\n  color: #DB2828;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Category\\r\\n---------------*/\\r\\n\\r\\n.ui.category.search .results {\\r\\n  width: 28em;\\r\\n}\\r\\n\\r\\n/* Category */\\r\\n\\r\\n.ui.category.search > .results .category {\\r\\n  background: #F3F4F5;\\r\\n  box-shadow: none;\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\\r\\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\\r\\n  transition: background 0.1s ease, border-color 0.1s ease;\\r\\n}\\r\\n\\r\\n/* Last Category */\\r\\n\\r\\n.ui.category.search > .results .category:last-child {\\r\\n  border-bottom: none;\\r\\n}\\r\\n\\r\\n/* First / Last */\\r\\n\\r\\n.ui.category.search > .results .category:first-child .name + .result {\\r\\n  border-radius: 0em 0.28571429rem 0em 0em;\\r\\n}\\r\\n\\r\\n.ui.category.search > .results .category:last-child .result:last-child {\\r\\n  border-radius: 0em 0em 0.28571429rem 0em;\\r\\n}\\r\\n\\r\\n/* Category Result */\\r\\n\\r\\n.ui.category.search > .results .category .result {\\r\\n  background: #FFFFFF;\\r\\n  margin-left: 100px;\\r\\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\\r\\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\\r\\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\\r\\n  transition: background 0.1s ease, border-color 0.1s ease;\\r\\n  padding: 0.85714286em 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.category.search > .results .category:last-child .result:last-child {\\r\\n  border-bottom: none;\\r\\n}\\r\\n\\r\\n/* Category Result Name */\\r\\n\\r\\n.ui.category.search > .results .category > .name {\\r\\n  width: 100px;\\r\\n  background: transparent;\\r\\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\\r\\n  font-size: 1em;\\r\\n  float: 1em;\\r\\n  float: left;\\r\\n  padding: 0.4em 1em;\\r\\n  font-weight: bold;\\r\\n  color: rgba(0, 0, 0, 0.4);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n           Variations\\r\\n*******************************/\\r\\n\\r\\n/*-------------------\\r\\n     Left / Right\\r\\n--------------------*/\\r\\n\\r\\n.ui[class*=\\\"left aligned\\\"].search > .results {\\r\\n  right: auto;\\r\\n  left: 0%;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"right aligned\\\"].search > .results {\\r\\n  right: 0%;\\r\\n  left: auto;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Fluid\\r\\n---------------*/\\r\\n\\r\\n.ui.fluid.search .results {\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Sizes\\r\\n---------------*/\\r\\n\\r\\n.ui.mini.search {\\r\\n  font-size: 0.78571429em;\\r\\n}\\r\\n\\r\\n.ui.small.search {\\r\\n  font-size: 0.92857143em;\\r\\n}\\r\\n\\r\\n.ui.search {\\r\\n  font-size: 1em;\\r\\n}\\r\\n\\r\\n.ui.large.search {\\r\\n  font-size: 1.14285714em;\\r\\n}\\r\\n\\r\\n.ui.big.search {\\r\\n  font-size: 1.28571429em;\\r\\n}\\r\\n\\r\\n.ui.huge.search {\\r\\n  font-size: 1.42857143em;\\r\\n}\\r\\n\\r\\n.ui.massive.search {\\r\\n  font-size: 1.71428571em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Shape\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n              Shape\\r\\n*******************************/\\r\\n\\r\\n.ui.shape {\\r\\n  position: relative;\\r\\n  vertical-align: top;\\r\\n  display: inline-block;\\r\\n  -webkit-perspective: 2000px;\\r\\n  perspective: 2000px;\\r\\n  -webkit-transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\\r\\n  transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\\r\\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\\r\\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\\r\\n}\\r\\n\\r\\n.ui.shape .sides {\\r\\n  -webkit-transform-style: preserve-3d;\\r\\n  transform-style: preserve-3d;\\r\\n}\\r\\n\\r\\n.ui.shape .side {\\r\\n  opacity: 1;\\r\\n  width: 100%;\\r\\n  margin: 0em !important;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n}\\r\\n\\r\\n.ui.shape .side {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n.ui.shape .side * {\\r\\n  -webkit-backface-visibility: visible !important;\\r\\n  backface-visibility: visible !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             Types\\r\\n*******************************/\\r\\n\\r\\n.ui.cube.shape .side {\\r\\n  min-width: 15em;\\r\\n  height: 15em;\\r\\n  padding: 2em;\\r\\n  background-color: #E6E6E6;\\r\\n  color: rgba(0, 0, 0, 0.87);\\r\\n  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);\\r\\n}\\r\\n\\r\\n.ui.cube.shape .side > .content {\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  display: table;\\r\\n  text-align: center;\\r\\n  -webkit-user-select: text;\\r\\n  -moz-user-select: text;\\r\\n  -ms-user-select: text;\\r\\n  user-select: text;\\r\\n}\\r\\n\\r\\n.ui.cube.shape .side > .content > div {\\r\\n  display: table-cell;\\r\\n  vertical-align: middle;\\r\\n  font-size: 2em;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n.ui.text.shape.animating .sides {\\r\\n  position: static;\\r\\n}\\r\\n\\r\\n.ui.text.shape .side {\\r\\n  white-space: nowrap;\\r\\n}\\r\\n\\r\\n.ui.text.shape .side > * {\\r\\n  white-space: normal;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Loading\\r\\n---------------*/\\r\\n\\r\\n.ui.loading.shape {\\r\\n  position: absolute;\\r\\n  top: -9999px;\\r\\n  left: -9999px;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Animating\\r\\n---------------*/\\r\\n\\r\\n.ui.shape .animating.side {\\r\\n  position: absolute;\\r\\n  top: 0px;\\r\\n  left: 0px;\\r\\n  display: block;\\r\\n  z-index: 100;\\r\\n}\\r\\n\\r\\n.ui.shape .hidden.side {\\r\\n  opacity: 0.6;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      CSS\\r\\n---------------*/\\r\\n\\r\\n.ui.shape.animating .sides {\\r\\n  position: absolute;\\r\\n}\\r\\n\\r\\n.ui.shape.animating .sides {\\r\\n  -webkit-transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\\r\\n  transition: left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\\r\\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\\r\\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\\r\\n}\\r\\n\\r\\n.ui.shape.animating .side {\\r\\n  -webkit-transition: opacity 0.6s ease-in-out;\\r\\n  transition: opacity 0.6s ease-in-out;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Active\\r\\n---------------*/\\r\\n\\r\\n.ui.shape .active.side {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n        User Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Sidebar\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Sidebar\\r\\n*******************************/\\r\\n\\r\\n/* Sidebar Menu */\\r\\n\\r\\n.ui.sidebar {\\r\\n  position: fixed;\\r\\n  top: 0;\\r\\n  left: 0;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  -webkit-transition: none;\\r\\n  transition: none;\\r\\n  will-change: transform;\\r\\n  -webkit-transform: translate3d(0, 0, 0);\\r\\n  transform: translate3d(0, 0, 0);\\r\\n  visibility: hidden;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n  height: 100% !important;\\r\\n  max-height: 100%;\\r\\n  border-radius: 0em !important;\\r\\n  margin: 0em !important;\\r\\n  overflow-y: auto !important;\\r\\n  z-index: 102;\\r\\n}\\r\\n\\r\\n/* GPU Layers for Child Elements */\\r\\n\\r\\n.ui.sidebar > * {\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Direction\\r\\n---------------*/\\r\\n\\r\\n.ui.left.sidebar {\\r\\n  right: auto;\\r\\n  left: 0px;\\r\\n  -webkit-transform: translate3d(-100%, 0, 0);\\r\\n  transform: translate3d(-100%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.right.sidebar {\\r\\n  right: 0px !important;\\r\\n  left: auto !important;\\r\\n  -webkit-transform: translate3d(100%, 0%, 0);\\r\\n  transform: translate3d(100%, 0%, 0);\\r\\n}\\r\\n\\r\\n.ui.top.sidebar,\\r\\n.ui.bottom.sidebar {\\r\\n  width: 100% !important;\\r\\n  height: auto !important;\\r\\n}\\r\\n\\r\\n.ui.top.sidebar {\\r\\n  top: 0px !important;\\r\\n  bottom: auto !important;\\r\\n  -webkit-transform: translate3d(0, -100%, 0);\\r\\n  transform: translate3d(0, -100%, 0);\\r\\n}\\r\\n\\r\\n.ui.bottom.sidebar {\\r\\n  top: auto !important;\\r\\n  bottom: 0px !important;\\r\\n  -webkit-transform: translate3d(0, 100%, 0);\\r\\n  transform: translate3d(0, 100%, 0);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Pushable\\r\\n---------------*/\\r\\n\\r\\n.pushable {\\r\\n  height: 100%;\\r\\n  overflow-x: hidden;\\r\\n  padding: 0em !important;\\r\\n}\\r\\n\\r\\n/* Whole Page */\\r\\n\\r\\nbody.pushable {\\r\\n  background: #545454 !important;\\r\\n}\\r\\n\\r\\n/* Page Context */\\r\\n\\r\\n.pushable:not(body) {\\r\\n  -webkit-transform: translate3d(0, 0, 0);\\r\\n  transform: translate3d(0, 0, 0);\\r\\n}\\r\\n\\r\\n.pushable:not(body) > .ui.sidebar,\\r\\n.pushable:not(body) > .fixed,\\r\\n.pushable:not(body) > .pusher:after {\\r\\n  position: absolute;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Fixed\\r\\n---------------*/\\r\\n\\r\\n.pushable > .fixed {\\r\\n  position: fixed;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n  will-change: transform;\\r\\n  z-index: 101;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Page\\r\\n---------------*/\\r\\n\\r\\n.pushable > .pusher {\\r\\n  position: relative;\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  overflow: hidden;\\r\\n  min-height: 100%;\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n  z-index: 2;\\r\\n}\\r\\n\\r\\nbody.pushable > .pusher {\\r\\n  background: #FFFFFF;\\r\\n}\\r\\n\\r\\n/* Pusher should inherit background from context */\\r\\n\\r\\n.pushable > .pusher {\\r\\n  background: inherit;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Dimmer\\r\\n---------------*/\\r\\n\\r\\n.pushable > .pusher:after {\\r\\n  position: fixed;\\r\\n  top: 0px;\\r\\n  right: 0px;\\r\\n  content: '';\\r\\n  background-color: rgba(0, 0, 0, 0.4);\\r\\n  overflow: hidden;\\r\\n  opacity: 0;\\r\\n  -webkit-transition: opacity 500ms;\\r\\n  transition: opacity 500ms;\\r\\n  will-change: opacity;\\r\\n  z-index: 1000;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Coupling\\r\\n---------------*/\\r\\n\\r\\n.ui.sidebar.menu .item {\\r\\n  border-radius: 0em !important;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Dimmed\\r\\n---------------*/\\r\\n\\r\\n.pushable > .pusher.dimmed:after {\\r\\n  width: 100% !important;\\r\\n  height: 100% !important;\\r\\n  opacity: 1 !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Animating\\r\\n---------------*/\\r\\n\\r\\n.ui.animating.sidebar {\\r\\n  visibility: visible;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Visible\\r\\n---------------*/\\r\\n\\r\\n.ui.visible.sidebar {\\r\\n  visibility: visible;\\r\\n  -webkit-transform: translate3d(0, 0, 0);\\r\\n  transform: translate3d(0, 0, 0);\\r\\n}\\r\\n\\r\\n/* Shadow Direction */\\r\\n\\r\\n.ui.left.visible.sidebar,\\r\\n.ui.right.visible.sidebar {\\r\\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n.ui.top.visible.sidebar,\\r\\n.ui.bottom.visible.sidebar {\\r\\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\\r\\n}\\r\\n\\r\\n/* Visible On Load */\\r\\n\\r\\n.ui.visible.left.sidebar ~ .fixed,\\r\\n.ui.visible.left.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(260px, 0, 0);\\r\\n  transform: translate3d(260px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.right.sidebar ~ .fixed,\\r\\n.ui.visible.right.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(-260px, 0, 0);\\r\\n  transform: translate3d(-260px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.top.sidebar ~ .fixed,\\r\\n.ui.visible.top.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(0, 36px, 0);\\r\\n  transform: translate3d(0, 36px, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.bottom.sidebar ~ .fixed,\\r\\n.ui.visible.bottom.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(0, -36px, 0);\\r\\n  transform: translate3d(0, -36px, 0);\\r\\n}\\r\\n\\r\\n/* opposite sides visible forces content overlay */\\r\\n\\r\\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,\\r\\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,\\r\\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,\\r\\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(0, 0, 0);\\r\\n  transform: translate3d(0, 0, 0);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n       iOS\\r\\n---------------*/\\r\\n\\r\\n/*\\r\\n  iOS incorrectly sizes document when content\\r\\n  is presented outside of view with 2Dtranslate\\r\\n*/\\r\\n\\r\\nhtml.ios {\\r\\n  overflow-x: hidden;\\r\\n  -webkit-overflow-scrolling: touch;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n     Width\\r\\n---------------*/\\r\\n\\r\\n/* Left / Right */\\r\\n\\r\\n.ui.thin.left.sidebar,\\r\\n.ui.thin.right.sidebar {\\r\\n  width: 150px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very thin\\\"].left.sidebar,\\r\\n.ui[class*=\\\"very thin\\\"].right.sidebar {\\r\\n  width: 60px;\\r\\n}\\r\\n\\r\\n.ui.left.sidebar,\\r\\n.ui.right.sidebar {\\r\\n  width: 260px;\\r\\n}\\r\\n\\r\\n.ui.wide.left.sidebar,\\r\\n.ui.wide.right.sidebar {\\r\\n  width: 350px;\\r\\n}\\r\\n\\r\\n.ui[class*=\\\"very wide\\\"].left.sidebar,\\r\\n.ui[class*=\\\"very wide\\\"].right.sidebar {\\r\\n  width: 475px;\\r\\n}\\r\\n\\r\\n/* Left Visible */\\r\\n\\r\\n.ui.visible.thin.left.sidebar ~ .fixed,\\r\\n.ui.visible.thin.left.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(150px, 0, 0);\\r\\n  transform: translate3d(150px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible[class*=\\\"very thin\\\"].left.sidebar ~ .fixed,\\r\\n.ui.visible[class*=\\\"very thin\\\"].left.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(60px, 0, 0);\\r\\n  transform: translate3d(60px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.wide.left.sidebar ~ .fixed,\\r\\n.ui.visible.wide.left.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(350px, 0, 0);\\r\\n  transform: translate3d(350px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible[class*=\\\"very wide\\\"].left.sidebar ~ .fixed,\\r\\n.ui.visible[class*=\\\"very wide\\\"].left.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(475px, 0, 0);\\r\\n  transform: translate3d(475px, 0, 0);\\r\\n}\\r\\n\\r\\n/* Right Visible */\\r\\n\\r\\n.ui.visible.thin.right.sidebar ~ .fixed,\\r\\n.ui.visible.thin.right.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(-150px, 0, 0);\\r\\n  transform: translate3d(-150px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible[class*=\\\"very thin\\\"].right.sidebar ~ .fixed,\\r\\n.ui.visible[class*=\\\"very thin\\\"].right.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(-60px, 0, 0);\\r\\n  transform: translate3d(-60px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.wide.right.sidebar ~ .fixed,\\r\\n.ui.visible.wide.right.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(-350px, 0, 0);\\r\\n  transform: translate3d(-350px, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible[class*=\\\"very wide\\\"].right.sidebar ~ .fixed,\\r\\n.ui.visible[class*=\\\"very wide\\\"].right.sidebar ~ .pusher {\\r\\n  -webkit-transform: translate3d(-475px, 0, 0);\\r\\n  transform: translate3d(-475px, 0, 0);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Animations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Overlay\\r\\n---------------*/\\r\\n\\r\\n/* Set-up */\\r\\n\\r\\n.ui.overlay.sidebar {\\r\\n  z-index: 102;\\r\\n}\\r\\n\\r\\n/* Initial */\\r\\n\\r\\n.ui.left.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(-100%, 0%, 0);\\r\\n  transform: translate3d(-100%, 0%, 0);\\r\\n}\\r\\n\\r\\n.ui.right.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(100%, 0%, 0);\\r\\n  transform: translate3d(100%, 0%, 0);\\r\\n}\\r\\n\\r\\n.ui.top.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(0%, -100%, 0);\\r\\n  transform: translate3d(0%, -100%, 0);\\r\\n}\\r\\n\\r\\n.ui.bottom.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 100%, 0);\\r\\n  transform: translate3d(0%, 100%, 0);\\r\\n}\\r\\n\\r\\n/* Animation */\\r\\n\\r\\n.animating.ui.overlay.sidebar,\\r\\n.ui.visible.overlay.sidebar {\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n}\\r\\n\\r\\n/* End - Sidebar */\\r\\n\\r\\n.ui.visible.left.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 0%, 0);\\r\\n  transform: translate3d(0%, 0%, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.right.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 0%, 0);\\r\\n  transform: translate3d(0%, 0%, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.top.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 0%, 0);\\r\\n  transform: translate3d(0%, 0%, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.bottom.overlay.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 0%, 0);\\r\\n  transform: translate3d(0%, 0%, 0);\\r\\n}\\r\\n\\r\\n/* End - Pusher */\\r\\n\\r\\n.ui.visible.overlay.sidebar ~ .fixed,\\r\\n.ui.visible.overlay.sidebar ~ .pusher {\\r\\n  -webkit-transform: none !important;\\r\\n  transform: none !important;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Push\\r\\n---------------*/\\r\\n\\r\\n/* Initial */\\r\\n\\r\\n.ui.push.sidebar {\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n  z-index: 102;\\r\\n}\\r\\n\\r\\n/* Sidebar - Initial */\\r\\n\\r\\n.ui.left.push.sidebar {\\r\\n  -webkit-transform: translate3d(-100%, 0, 0);\\r\\n  transform: translate3d(-100%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.right.push.sidebar {\\r\\n  -webkit-transform: translate3d(100%, 0, 0);\\r\\n  transform: translate3d(100%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.top.push.sidebar {\\r\\n  -webkit-transform: translate3d(0%, -100%, 0);\\r\\n  transform: translate3d(0%, -100%, 0);\\r\\n}\\r\\n\\r\\n.ui.bottom.push.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 100%, 0);\\r\\n  transform: translate3d(0%, 100%, 0);\\r\\n}\\r\\n\\r\\n/* End */\\r\\n\\r\\n.ui.visible.push.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 0, 0);\\r\\n  transform: translate3d(0%, 0, 0);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n    Uncover\\r\\n---------------*/\\r\\n\\r\\n/* Initial */\\r\\n\\r\\n.ui.uncover.sidebar {\\r\\n  -webkit-transform: translate3d(0, 0, 0);\\r\\n  transform: translate3d(0, 0, 0);\\r\\n  z-index: 1;\\r\\n}\\r\\n\\r\\n/* End */\\r\\n\\r\\n.ui.visible.uncover.sidebar {\\r\\n  -webkit-transform: translate3d(0, 0, 0);\\r\\n  transform: translate3d(0, 0, 0);\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Slide Along\\r\\n---------------*/\\r\\n\\r\\n/* Initial */\\r\\n\\r\\n.ui.slide.along.sidebar {\\r\\n  z-index: 1;\\r\\n}\\r\\n\\r\\n/* Sidebar - Initial */\\r\\n\\r\\n.ui.left.slide.along.sidebar {\\r\\n  -webkit-transform: translate3d(-50%, 0, 0);\\r\\n  transform: translate3d(-50%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.right.slide.along.sidebar {\\r\\n  -webkit-transform: translate3d(50%, 0, 0);\\r\\n  transform: translate3d(50%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.top.slide.along.sidebar {\\r\\n  -webkit-transform: translate3d(0, -50%, 0);\\r\\n  transform: translate3d(0, -50%, 0);\\r\\n}\\r\\n\\r\\n.ui.bottom.slide.along.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 50%, 0);\\r\\n  transform: translate3d(0%, 50%, 0);\\r\\n}\\r\\n\\r\\n/* Animation */\\r\\n\\r\\n.ui.animating.slide.along.sidebar {\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n}\\r\\n\\r\\n/* End */\\r\\n\\r\\n.ui.visible.slide.along.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 0, 0);\\r\\n  transform: translate3d(0%, 0, 0);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Slide Out\\r\\n---------------*/\\r\\n\\r\\n/* Initial */\\r\\n\\r\\n.ui.slide.out.sidebar {\\r\\n  z-index: 1;\\r\\n}\\r\\n\\r\\n/* Sidebar - Initial */\\r\\n\\r\\n.ui.left.slide.out.sidebar {\\r\\n  -webkit-transform: translate3d(50%, 0, 0);\\r\\n  transform: translate3d(50%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.right.slide.out.sidebar {\\r\\n  -webkit-transform: translate3d(-50%, 0, 0);\\r\\n  transform: translate3d(-50%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.top.slide.out.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 50%, 0);\\r\\n  transform: translate3d(0%, 50%, 0);\\r\\n}\\r\\n\\r\\n.ui.bottom.slide.out.sidebar {\\r\\n  -webkit-transform: translate3d(0%, -50%, 0);\\r\\n  transform: translate3d(0%, -50%, 0);\\r\\n}\\r\\n\\r\\n/* Animation */\\r\\n\\r\\n.ui.animating.slide.out.sidebar {\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n}\\r\\n\\r\\n/* End */\\r\\n\\r\\n.ui.visible.slide.out.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 0, 0);\\r\\n  transform: translate3d(0%, 0, 0);\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n   Scale Down\\r\\n---------------*/\\r\\n\\r\\n/* Initial */\\r\\n\\r\\n.ui.scale.down.sidebar {\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n  z-index: 102;\\r\\n}\\r\\n\\r\\n/* Sidebar - Initial  */\\r\\n\\r\\n.ui.left.scale.down.sidebar {\\r\\n  -webkit-transform: translate3d(-100%, 0, 0);\\r\\n  transform: translate3d(-100%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.right.scale.down.sidebar {\\r\\n  -webkit-transform: translate3d(100%, 0, 0);\\r\\n  transform: translate3d(100%, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.top.scale.down.sidebar {\\r\\n  -webkit-transform: translate3d(0%, -100%, 0);\\r\\n  transform: translate3d(0%, -100%, 0);\\r\\n}\\r\\n\\r\\n.ui.bottom.scale.down.sidebar {\\r\\n  -webkit-transform: translate3d(0%, 100%, 0);\\r\\n  transform: translate3d(0%, 100%, 0);\\r\\n}\\r\\n\\r\\n/* Pusher - Initial */\\r\\n\\r\\n.ui.scale.down.left.sidebar ~ .pusher {\\r\\n  -webkit-transform-origin: 75% 50%;\\r\\n  transform-origin: 75% 50%;\\r\\n}\\r\\n\\r\\n.ui.scale.down.right.sidebar ~ .pusher {\\r\\n  -webkit-transform-origin: 25% 50%;\\r\\n  transform-origin: 25% 50%;\\r\\n}\\r\\n\\r\\n.ui.scale.down.top.sidebar ~ .pusher {\\r\\n  -webkit-transform-origin: 50% 75%;\\r\\n  transform-origin: 50% 75%;\\r\\n}\\r\\n\\r\\n.ui.scale.down.bottom.sidebar ~ .pusher {\\r\\n  -webkit-transform-origin: 50% 25%;\\r\\n  transform-origin: 50% 25%;\\r\\n}\\r\\n\\r\\n/* Animation */\\r\\n\\r\\n.ui.animating.scale.down > .visible.ui.sidebar {\\r\\n  -webkit-transition: -webkit-transform 500ms ease;\\r\\n  transition: -webkit-transform 500ms ease;\\r\\n  transition: transform 500ms ease;\\r\\n  transition: transform 500ms ease, -webkit-transform 500ms ease;\\r\\n}\\r\\n\\r\\n.ui.visible.scale.down.sidebar ~ .pusher,\\r\\n.ui.animating.scale.down.sidebar ~ .pusher {\\r\\n  display: block !important;\\r\\n  width: 100%;\\r\\n  height: 100%;\\r\\n  overflow: hidden !important;\\r\\n}\\r\\n\\r\\n/* End */\\r\\n\\r\\n.ui.visible.scale.down.sidebar {\\r\\n  -webkit-transform: translate3d(0, 0, 0);\\r\\n  transform: translate3d(0, 0, 0);\\r\\n}\\r\\n\\r\\n.ui.visible.scale.down.sidebar ~ .pusher {\\r\\n  -webkit-transform: scale(0.75);\\r\\n  transform: scale(0.75);\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Sticky\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n            Sticky\\r\\n*******************************/\\r\\n\\r\\n.ui.sticky {\\r\\n  position: static;\\r\\n  -webkit-transition: none;\\r\\n  transition: none;\\r\\n  z-index: 800;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/* Bound */\\r\\n\\r\\n.ui.sticky.bound {\\r\\n  position: absolute;\\r\\n  left: auto;\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n/* Fixed */\\r\\n\\r\\n.ui.sticky.fixed {\\r\\n  position: fixed;\\r\\n  left: auto;\\r\\n  right: auto;\\r\\n}\\r\\n\\r\\n/* Bound/Fixed Position */\\r\\n\\r\\n.ui.sticky.bound.top,\\r\\n.ui.sticky.fixed.top {\\r\\n  top: 0px;\\r\\n  bottom: auto;\\r\\n}\\r\\n\\r\\n.ui.sticky.bound.bottom,\\r\\n.ui.sticky.fixed.bottom {\\r\\n  top: auto;\\r\\n  bottom: 0px;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            Types\\r\\n*******************************/\\r\\n\\r\\n.ui.native.sticky {\\r\\n  position: -webkit-sticky;\\r\\n  position: -moz-sticky;\\r\\n  position: -ms-sticky;\\r\\n  position: -o-sticky;\\r\\n  position: sticky;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Theme Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Tab\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n           UI Tabs\\r\\n*******************************/\\r\\n\\r\\n.ui.tab {\\r\\n  display: none;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n             States\\r\\n*******************************/\\r\\n\\r\\n/*--------------------\\r\\n       Active\\r\\n---------------------*/\\r\\n\\r\\n.ui.tab.active,\\r\\n.ui.tab.open {\\r\\n  display: block;\\r\\n}\\r\\n\\r\\n/*--------------------\\r\\n       Loading\\r\\n---------------------*/\\r\\n\\r\\n.ui.tab.loading {\\r\\n  position: relative;\\r\\n  overflow: hidden;\\r\\n  display: block;\\r\\n  min-height: 250px;\\r\\n}\\r\\n\\r\\n.ui.tab.loading * {\\r\\n  position: relative !important;\\r\\n  left: -10000px !important;\\r\\n}\\r\\n\\r\\n.ui.tab.loading:before,\\r\\n.ui.tab.loading.segment:before {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 100px;\\r\\n  left: 50%;\\r\\n  margin: -1.25em 0em 0em -1.25em;\\r\\n  width: 2.5em;\\r\\n  height: 2.5em;\\r\\n  border-radius: 500rem;\\r\\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.ui.tab.loading:after,\\r\\n.ui.tab.loading.segment:after {\\r\\n  position: absolute;\\r\\n  content: '';\\r\\n  top: 100px;\\r\\n  left: 50%;\\r\\n  margin: -1.25em 0em 0em -1.25em;\\r\\n  width: 2.5em;\\r\\n  height: 2.5em;\\r\\n  -webkit-animation: button-spin 0.6s linear;\\r\\n  animation: button-spin 0.6s linear;\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n  border-radius: 500rem;\\r\\n  border-color: #767676 transparent transparent;\\r\\n  border-style: solid;\\r\\n  border-width: 0.2em;\\r\\n  box-shadow: 0px 0px 0px 1px transparent;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Tab Overrides\\r\\n*******************************/\\r\\n\\r\\n/*******************************\\r\\n        User Overrides\\r\\n*******************************/\\r\\n/*!\\r\\n * # Semantic UI 2.2.10 - Transition\\r\\n * http://github.com/semantic-org/semantic-ui/\\r\\n *\\r\\n *\\r\\n * Released under the MIT license\\r\\n * http://opensource.org/licenses/MIT\\r\\n *\\r\\n */\\r\\n\\r\\n/*******************************\\r\\n          Transitions\\r\\n*******************************/\\r\\n\\r\\n.transition {\\r\\n  -webkit-animation-iteration-count: 1;\\r\\n  animation-iteration-count: 1;\\r\\n  -webkit-animation-duration: 300ms;\\r\\n  animation-duration: 300ms;\\r\\n  -webkit-animation-timing-function: ease;\\r\\n  animation-timing-function: ease;\\r\\n  -webkit-animation-fill-mode: both;\\r\\n  animation-fill-mode: both;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n            States\\r\\n*******************************/\\r\\n\\r\\n/* Animating */\\r\\n\\r\\n.animating.transition {\\r\\n  -webkit-backface-visibility: hidden;\\r\\n  backface-visibility: hidden;\\r\\n  visibility: visible !important;\\r\\n}\\r\\n\\r\\n/* Loading */\\r\\n\\r\\n.loading.transition {\\r\\n  position: absolute;\\r\\n  top: -99999px;\\r\\n  left: -99999px;\\r\\n}\\r\\n\\r\\n/* Hidden */\\r\\n\\r\\n.hidden.transition {\\r\\n  display: none;\\r\\n  visibility: hidden;\\r\\n}\\r\\n\\r\\n/* Visible */\\r\\n\\r\\n.visible.transition {\\r\\n  display: block !important;\\r\\n  visibility: visible !important;\\r\\n  /*  backface-visibility: @backfaceVisibility;\\r\\n  transform: @use3DAcceleration;*/\\r\\n}\\r\\n\\r\\n/* Disabled */\\r\\n\\r\\n.disabled.transition {\\r\\n  -webkit-animation-play-state: paused;\\r\\n  animation-play-state: paused;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Variations\\r\\n*******************************/\\r\\n\\r\\n.looping.transition {\\r\\n  -webkit-animation-iteration-count: infinite;\\r\\n  animation-iteration-count: infinite;\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n          Transitions\\r\\n*******************************/\\r\\n\\r\\n/*\\r\\n  Some transitions adapted from Animate CSS\\r\\n  https://github.com/daneden/animate.css\\r\\n\\r\\n  Additional transitions adapted from Glide\\r\\n  by Nick Pettit - https://github.com/nickpettit/glide\\r\\n*/\\r\\n\\r\\n/*--------------\\r\\n     Browse\\r\\n---------------*/\\r\\n\\r\\n.transition.browse {\\r\\n  -webkit-animation-duration: 500ms;\\r\\n  animation-duration: 500ms;\\r\\n}\\r\\n\\r\\n.transition.browse.in {\\r\\n  -webkit-animation-name: browseIn;\\r\\n  animation-name: browseIn;\\r\\n}\\r\\n\\r\\n.transition.browse.out,\\r\\n.transition.browse.left.out {\\r\\n  -webkit-animation-name: browseOutLeft;\\r\\n  animation-name: browseOutLeft;\\r\\n}\\r\\n\\r\\n.transition.browse.right.out {\\r\\n  -webkit-animation-name: browseOutRight;\\r\\n  animation-name: browseOutRight;\\r\\n}\\r\\n\\r\\n/* In */\\r\\n\\r\\n@-webkit-keyframes browseIn {\\r\\n  0% {\\r\\n    -webkit-transform: scale(0.8) translateZ(0px);\\r\\n    transform: scale(0.8) translateZ(0px);\\r\\n    z-index: -1;\\r\\n  }\\r\\n\\r\\n  10% {\\r\\n    -webkit-transform: scale(0.8) translateZ(0px);\\r\\n    transform: scale(0.8) translateZ(0px);\\r\\n    z-index: -1;\\r\\n    opacity: 0.7;\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: scale(1.05) translateZ(0px);\\r\\n    transform: scale(1.05) translateZ(0px);\\r\\n    opacity: 1;\\r\\n    z-index: 999;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale(1) translateZ(0px);\\r\\n    transform: scale(1) translateZ(0px);\\r\\n    z-index: 999;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes browseIn {\\r\\n  0% {\\r\\n    -webkit-transform: scale(0.8) translateZ(0px);\\r\\n    transform: scale(0.8) translateZ(0px);\\r\\n    z-index: -1;\\r\\n  }\\r\\n\\r\\n  10% {\\r\\n    -webkit-transform: scale(0.8) translateZ(0px);\\r\\n    transform: scale(0.8) translateZ(0px);\\r\\n    z-index: -1;\\r\\n    opacity: 0.7;\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: scale(1.05) translateZ(0px);\\r\\n    transform: scale(1.05) translateZ(0px);\\r\\n    opacity: 1;\\r\\n    z-index: 999;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale(1) translateZ(0px);\\r\\n    transform: scale(1) translateZ(0px);\\r\\n    z-index: 999;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Out */\\r\\n\\r\\n@-webkit-keyframes browseOutLeft {\\r\\n  0% {\\r\\n    z-index: 999;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    z-index: -1;\\r\\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    z-index: -1;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes browseOutLeft {\\r\\n  0% {\\r\\n    z-index: 999;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    z-index: -1;\\r\\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    z-index: -1;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes browseOutRight {\\r\\n  0% {\\r\\n    z-index: 999;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    z-index: 1;\\r\\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    z-index: 1;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes browseOutRight {\\r\\n  0% {\\r\\n    z-index: 999;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    z-index: 1;\\r\\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    z-index: 1;\\r\\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Drop\\r\\n---------------*/\\r\\n\\r\\n.drop.transition {\\r\\n  -webkit-transform-origin: top center;\\r\\n  transform-origin: top center;\\r\\n  -webkit-animation-duration: 400ms;\\r\\n  animation-duration: 400ms;\\r\\n  -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\\r\\n  animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\\r\\n}\\r\\n\\r\\n.drop.transition.in {\\r\\n  -webkit-animation-name: dropIn;\\r\\n  animation-name: dropIn;\\r\\n}\\r\\n\\r\\n.drop.transition.out {\\r\\n  -webkit-animation-name: dropOut;\\r\\n  animation-name: dropOut;\\r\\n}\\r\\n\\r\\n/* Drop */\\r\\n\\r\\n@-webkit-keyframes dropIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0);\\r\\n    transform: scale(0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes dropIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0);\\r\\n    transform: scale(0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes dropOut {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0);\\r\\n    transform: scale(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes dropOut {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0);\\r\\n    transform: scale(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Fade\\r\\n---------------*/\\r\\n\\r\\n.transition.fade.in {\\r\\n  -webkit-animation-name: fadeIn;\\r\\n  animation-name: fadeIn;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade up\\\"].in {\\r\\n  -webkit-animation-name: fadeInUp;\\r\\n  animation-name: fadeInUp;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade down\\\"].in {\\r\\n  -webkit-animation-name: fadeInDown;\\r\\n  animation-name: fadeInDown;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade left\\\"].in {\\r\\n  -webkit-animation-name: fadeInLeft;\\r\\n  animation-name: fadeInLeft;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade right\\\"].in {\\r\\n  -webkit-animation-name: fadeInRight;\\r\\n  animation-name: fadeInRight;\\r\\n}\\r\\n\\r\\n.transition.fade.out {\\r\\n  -webkit-animation-name: fadeOut;\\r\\n  animation-name: fadeOut;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade up\\\"].out {\\r\\n  -webkit-animation-name: fadeOutUp;\\r\\n  animation-name: fadeOutUp;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade down\\\"].out {\\r\\n  -webkit-animation-name: fadeOutDown;\\r\\n  animation-name: fadeOutDown;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade left\\\"].out {\\r\\n  -webkit-animation-name: fadeOutLeft;\\r\\n  animation-name: fadeOutLeft;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fade right\\\"].out {\\r\\n  -webkit-animation-name: fadeOutRight;\\r\\n  animation-name: fadeOutRight;\\r\\n}\\r\\n\\r\\n/* In */\\r\\n\\r\\n@-webkit-keyframes fadeIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeInUp {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(10%);\\r\\n    transform: translateY(10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeInUp {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(10%);\\r\\n    transform: translateY(10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeInDown {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(-10%);\\r\\n    transform: translateY(-10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeInDown {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(-10%);\\r\\n    transform: translateY(-10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeInLeft {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(10%);\\r\\n    transform: translateX(10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeInLeft {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(10%);\\r\\n    transform: translateX(10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeInRight {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(-10%);\\r\\n    transform: translateX(-10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeInRight {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(-10%);\\r\\n    transform: translateX(-10%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Out */\\r\\n\\r\\n@-webkit-keyframes fadeOut {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeOut {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeOutUp {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(5%);\\r\\n    transform: translateY(5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeOutUp {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(5%);\\r\\n    transform: translateY(5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeOutDown {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(-5%);\\r\\n    transform: translateY(-5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeOutDown {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateY(0%);\\r\\n    transform: translateY(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateY(-5%);\\r\\n    transform: translateY(-5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeOutLeft {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(5%);\\r\\n    transform: translateX(5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeOutLeft {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(5%);\\r\\n    transform: translateX(5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes fadeOutRight {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(-5%);\\r\\n    transform: translateX(-5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes fadeOutRight {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translateX(0%);\\r\\n    transform: translateX(0%);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translateX(-5%);\\r\\n    transform: translateX(-5%);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Flips\\r\\n---------------*/\\r\\n\\r\\n.flip.transition.in,\\r\\n.flip.transition.out {\\r\\n  -webkit-animation-duration: 600ms;\\r\\n  animation-duration: 600ms;\\r\\n}\\r\\n\\r\\n.horizontal.flip.transition.in {\\r\\n  -webkit-animation-name: horizontalFlipIn;\\r\\n  animation-name: horizontalFlipIn;\\r\\n}\\r\\n\\r\\n.horizontal.flip.transition.out {\\r\\n  -webkit-animation-name: horizontalFlipOut;\\r\\n  animation-name: horizontalFlipOut;\\r\\n}\\r\\n\\r\\n.vertical.flip.transition.in {\\r\\n  -webkit-animation-name: verticalFlipIn;\\r\\n  animation-name: verticalFlipIn;\\r\\n}\\r\\n\\r\\n.vertical.flip.transition.out {\\r\\n  -webkit-animation-name: verticalFlipOut;\\r\\n  animation-name: verticalFlipOut;\\r\\n}\\r\\n\\r\\n/* In */\\r\\n\\r\\n@-webkit-keyframes horizontalFlipIn {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\\r\\n    transform: perspective(2000px) rotateY(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(0deg);\\r\\n    transform: perspective(2000px) rotateY(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes horizontalFlipIn {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\\r\\n    transform: perspective(2000px) rotateY(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(0deg);\\r\\n    transform: perspective(2000px) rotateY(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes verticalFlipIn {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\\r\\n    transform: perspective(2000px) rotateX(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(0deg);\\r\\n    transform: perspective(2000px) rotateX(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes verticalFlipIn {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\\r\\n    transform: perspective(2000px) rotateX(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(0deg);\\r\\n    transform: perspective(2000px) rotateX(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Out */\\r\\n\\r\\n@-webkit-keyframes horizontalFlipOut {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(0deg);\\r\\n    transform: perspective(2000px) rotateY(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(90deg);\\r\\n    transform: perspective(2000px) rotateY(90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes horizontalFlipOut {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(0deg);\\r\\n    transform: perspective(2000px) rotateY(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateY(90deg);\\r\\n    transform: perspective(2000px) rotateY(90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes verticalFlipOut {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(0deg);\\r\\n    transform: perspective(2000px) rotateX(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\\r\\n    transform: perspective(2000px) rotateX(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes verticalFlipOut {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(0deg);\\r\\n    transform: perspective(2000px) rotateX(0deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\\r\\n    transform: perspective(2000px) rotateX(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Scale\\r\\n---------------*/\\r\\n\\r\\n.scale.transition.in {\\r\\n  -webkit-animation-name: scaleIn;\\r\\n  animation-name: scaleIn;\\r\\n}\\r\\n\\r\\n.scale.transition.out {\\r\\n  -webkit-animation-name: scaleOut;\\r\\n  animation-name: scaleOut;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes scaleIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0.8);\\r\\n    transform: scale(0.8);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes scaleIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0.8);\\r\\n    transform: scale(0.8);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Out */\\r\\n\\r\\n@-webkit-keyframes scaleOut {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0.9);\\r\\n    transform: scale(0.9);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes scaleOut {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale(0.9);\\r\\n    transform: scale(0.9);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n      Fly\\r\\n---------------*/\\r\\n\\r\\n/* Inward */\\r\\n\\r\\n.transition.fly {\\r\\n  -webkit-animation-duration: 0.6s;\\r\\n  animation-duration: 0.6s;\\r\\n  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\r\\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\r\\n}\\r\\n\\r\\n.transition.fly.in {\\r\\n  -webkit-animation-name: flyIn;\\r\\n  animation-name: flyIn;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly up\\\"].in {\\r\\n  -webkit-animation-name: flyInUp;\\r\\n  animation-name: flyInUp;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly down\\\"].in {\\r\\n  -webkit-animation-name: flyInDown;\\r\\n  animation-name: flyInDown;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly left\\\"].in {\\r\\n  -webkit-animation-name: flyInLeft;\\r\\n  animation-name: flyInLeft;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly right\\\"].in {\\r\\n  -webkit-animation-name: flyInRight;\\r\\n  animation-name: flyInRight;\\r\\n}\\r\\n\\r\\n/* Outward */\\r\\n\\r\\n.transition.fly.out {\\r\\n  -webkit-animation-name: flyOut;\\r\\n  animation-name: flyOut;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly up\\\"].out {\\r\\n  -webkit-animation-name: flyOutUp;\\r\\n  animation-name: flyOutUp;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly down\\\"].out {\\r\\n  -webkit-animation-name: flyOutDown;\\r\\n  animation-name: flyOutDown;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly left\\\"].out {\\r\\n  -webkit-animation-name: flyOutLeft;\\r\\n  animation-name: flyOutLeft;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"fly right\\\"].out {\\r\\n  -webkit-animation-name: flyOutRight;\\r\\n  animation-name: flyOutRight;\\r\\n}\\r\\n\\r\\n/* In */\\r\\n\\r\\n@-webkit-keyframes flyIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\r\\n    transform: scale3d(0.3, 0.3, 0.3);\\r\\n  }\\r\\n\\r\\n  20% {\\r\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\r\\n    transform: scale3d(1.1, 1.1, 1.1);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\r\\n    transform: scale3d(0.9, 0.9, 0.9);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\\r\\n    transform: scale3d(1.03, 1.03, 1.03);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\\r\\n    transform: scale3d(0.97, 0.97, 0.97);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale3d(1, 1, 1);\\r\\n    transform: scale3d(1, 1, 1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyIn {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\r\\n    transform: scale3d(0.3, 0.3, 0.3);\\r\\n  }\\r\\n\\r\\n  20% {\\r\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\r\\n    transform: scale3d(1.1, 1.1, 1.1);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\r\\n    transform: scale3d(0.9, 0.9, 0.9);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\\r\\n    transform: scale3d(1.03, 1.03, 1.03);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\\r\\n    transform: scale3d(0.97, 0.97, 0.97);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale3d(1, 1, 1);\\r\\n    transform: scale3d(1, 1, 1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyInUp {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, 1500px, 0);\\r\\n    transform: translate3d(0, 1500px, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, -20px, 0);\\r\\n    transform: translate3d(0, -20px, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(0, 10px, 0);\\r\\n    transform: translate3d(0, 10px, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(0, -5px, 0);\\r\\n    transform: translate3d(0, -5px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: translate3d(0, 0, 0);\\r\\n    transform: translate3d(0, 0, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyInUp {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, 1500px, 0);\\r\\n    transform: translate3d(0, 1500px, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, -20px, 0);\\r\\n    transform: translate3d(0, -20px, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(0, 10px, 0);\\r\\n    transform: translate3d(0, 10px, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(0, -5px, 0);\\r\\n    transform: translate3d(0, -5px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: translate3d(0, 0, 0);\\r\\n    transform: translate3d(0, 0, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyInDown {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, -1500px, 0);\\r\\n    transform: translate3d(0, -1500px, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, 25px, 0);\\r\\n    transform: translate3d(0, 25px, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(0, -10px, 0);\\r\\n    transform: translate3d(0, -10px, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(0, 5px, 0);\\r\\n    transform: translate3d(0, 5px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: none;\\r\\n    transform: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyInDown {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, -1500px, 0);\\r\\n    transform: translate3d(0, -1500px, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, 25px, 0);\\r\\n    transform: translate3d(0, 25px, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(0, -10px, 0);\\r\\n    transform: translate3d(0, -10px, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(0, 5px, 0);\\r\\n    transform: translate3d(0, 5px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: none;\\r\\n    transform: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyInLeft {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(1500px, 0, 0);\\r\\n    transform: translate3d(1500px, 0, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(-25px, 0, 0);\\r\\n    transform: translate3d(-25px, 0, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(10px, 0, 0);\\r\\n    transform: translate3d(10px, 0, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(-5px, 0, 0);\\r\\n    transform: translate3d(-5px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: none;\\r\\n    transform: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyInLeft {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(1500px, 0, 0);\\r\\n    transform: translate3d(1500px, 0, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(-25px, 0, 0);\\r\\n    transform: translate3d(-25px, 0, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(10px, 0, 0);\\r\\n    transform: translate3d(10px, 0, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(-5px, 0, 0);\\r\\n    transform: translate3d(-5px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: none;\\r\\n    transform: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyInRight {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(-1500px, 0, 0);\\r\\n    transform: translate3d(-1500px, 0, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(25px, 0, 0);\\r\\n    transform: translate3d(25px, 0, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(-10px, 0, 0);\\r\\n    transform: translate3d(-10px, 0, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(5px, 0, 0);\\r\\n    transform: translate3d(5px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: none;\\r\\n    transform: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyInRight {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(-1500px, 0, 0);\\r\\n    transform: translate3d(-1500px, 0, 0);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(25px, 0, 0);\\r\\n    transform: translate3d(25px, 0, 0);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: translate3d(-10px, 0, 0);\\r\\n    transform: translate3d(-10px, 0, 0);\\r\\n  }\\r\\n\\r\\n  90% {\\r\\n    -webkit-transform: translate3d(5px, 0, 0);\\r\\n    transform: translate3d(5px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: none;\\r\\n    transform: none;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Out */\\r\\n\\r\\n@-webkit-keyframes flyOut {\\r\\n  20% {\\r\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\r\\n    transform: scale3d(0.9, 0.9, 0.9);\\r\\n  }\\r\\n\\r\\n  50%, 55% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\r\\n    transform: scale3d(1.1, 1.1, 1.1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\r\\n    transform: scale3d(0.3, 0.3, 0.3);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyOut {\\r\\n  20% {\\r\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\r\\n    transform: scale3d(0.9, 0.9, 0.9);\\r\\n  }\\r\\n\\r\\n  50%, 55% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\r\\n    transform: scale3d(1.1, 1.1, 1.1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\r\\n    transform: scale3d(0.3, 0.3, 0.3);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyOutUp {\\r\\n  20% {\\r\\n    -webkit-transform: translate3d(0, 10px, 0);\\r\\n    transform: translate3d(0, 10px, 0);\\r\\n  }\\r\\n\\r\\n  40%, 45% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, -20px, 0);\\r\\n    transform: translate3d(0, -20px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, 2000px, 0);\\r\\n    transform: translate3d(0, 2000px, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyOutUp {\\r\\n  20% {\\r\\n    -webkit-transform: translate3d(0, 10px, 0);\\r\\n    transform: translate3d(0, 10px, 0);\\r\\n  }\\r\\n\\r\\n  40%, 45% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, -20px, 0);\\r\\n    transform: translate3d(0, -20px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, 2000px, 0);\\r\\n    transform: translate3d(0, 2000px, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyOutDown {\\r\\n  20% {\\r\\n    -webkit-transform: translate3d(0, -10px, 0);\\r\\n    transform: translate3d(0, -10px, 0);\\r\\n  }\\r\\n\\r\\n  40%, 45% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, 20px, 0);\\r\\n    transform: translate3d(0, 20px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, -2000px, 0);\\r\\n    transform: translate3d(0, -2000px, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyOutDown {\\r\\n  20% {\\r\\n    -webkit-transform: translate3d(0, -10px, 0);\\r\\n    transform: translate3d(0, -10px, 0);\\r\\n  }\\r\\n\\r\\n  40%, 45% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(0, 20px, 0);\\r\\n    transform: translate3d(0, 20px, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(0, -2000px, 0);\\r\\n    transform: translate3d(0, -2000px, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyOutRight {\\r\\n  20% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(20px, 0, 0);\\r\\n    transform: translate3d(20px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\r\\n    transform: translate3d(-2000px, 0, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyOutRight {\\r\\n  20% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(20px, 0, 0);\\r\\n    transform: translate3d(20px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\r\\n    transform: translate3d(-2000px, 0, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes flyOutLeft {\\r\\n  20% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(-20px, 0, 0);\\r\\n    transform: translate3d(-20px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(2000px, 0, 0);\\r\\n    transform: translate3d(2000px, 0, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flyOutLeft {\\r\\n  20% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: translate3d(-20px, 0, 0);\\r\\n    transform: translate3d(-20px, 0, 0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: translate3d(2000px, 0, 0);\\r\\n    transform: translate3d(2000px, 0, 0);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Slide\\r\\n---------------*/\\r\\n\\r\\n.transition.slide.in,\\r\\n.transition[class*=\\\"slide down\\\"].in {\\r\\n  -webkit-animation-name: slideInY;\\r\\n  animation-name: slideInY;\\r\\n  -webkit-transform-origin: top center;\\r\\n  transform-origin: top center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"slide up\\\"].in {\\r\\n  -webkit-animation-name: slideInY;\\r\\n  animation-name: slideInY;\\r\\n  -webkit-transform-origin: bottom center;\\r\\n  transform-origin: bottom center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"slide left\\\"].in {\\r\\n  -webkit-animation-name: slideInX;\\r\\n  animation-name: slideInX;\\r\\n  -webkit-transform-origin: center right;\\r\\n  transform-origin: center right;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"slide right\\\"].in {\\r\\n  -webkit-animation-name: slideInX;\\r\\n  animation-name: slideInX;\\r\\n  -webkit-transform-origin: center left;\\r\\n  transform-origin: center left;\\r\\n}\\r\\n\\r\\n.transition.slide.out,\\r\\n.transition[class*=\\\"slide down\\\"].out {\\r\\n  -webkit-animation-name: slideOutY;\\r\\n  animation-name: slideOutY;\\r\\n  -webkit-transform-origin: top center;\\r\\n  transform-origin: top center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"slide up\\\"].out {\\r\\n  -webkit-animation-name: slideOutY;\\r\\n  animation-name: slideOutY;\\r\\n  -webkit-transform-origin: bottom center;\\r\\n  transform-origin: bottom center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"slide left\\\"].out {\\r\\n  -webkit-animation-name: slideOutX;\\r\\n  animation-name: slideOutX;\\r\\n  -webkit-transform-origin: center right;\\r\\n  transform-origin: center right;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"slide right\\\"].out {\\r\\n  -webkit-animation-name: slideOutX;\\r\\n  animation-name: slideOutX;\\r\\n  -webkit-transform-origin: center left;\\r\\n  transform-origin: center left;\\r\\n}\\r\\n\\r\\n/* In */\\r\\n\\r\\n@-webkit-keyframes slideInY {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleY(0);\\r\\n    transform: scaleY(0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleY(1);\\r\\n    transform: scaleY(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes slideInY {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleY(0);\\r\\n    transform: scaleY(0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleY(1);\\r\\n    transform: scaleY(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes slideInX {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleX(0);\\r\\n    transform: scaleX(0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleX(1);\\r\\n    transform: scaleX(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes slideInX {\\r\\n  0% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleX(0);\\r\\n    transform: scaleX(0);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleX(1);\\r\\n    transform: scaleX(1);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Out */\\r\\n\\r\\n@-webkit-keyframes slideOutY {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleY(1);\\r\\n    transform: scaleY(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleY(0);\\r\\n    transform: scaleY(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes slideOutY {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleY(1);\\r\\n    transform: scaleY(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleY(0);\\r\\n    transform: scaleY(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes slideOutX {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleX(1);\\r\\n    transform: scaleX(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleX(0);\\r\\n    transform: scaleX(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes slideOutX {\\r\\n  0% {\\r\\n    opacity: 1;\\r\\n    -webkit-transform: scaleX(1);\\r\\n    transform: scaleX(1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    opacity: 0;\\r\\n    -webkit-transform: scaleX(0);\\r\\n    transform: scaleX(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*--------------\\r\\n     Swing\\r\\n---------------*/\\r\\n\\r\\n.transition.swing {\\r\\n  -webkit-animation-duration: 800ms;\\r\\n  animation-duration: 800ms;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"swing down\\\"].in {\\r\\n  -webkit-animation-name: swingInX;\\r\\n  animation-name: swingInX;\\r\\n  -webkit-transform-origin: top center;\\r\\n  transform-origin: top center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"swing up\\\"].in {\\r\\n  -webkit-animation-name: swingInX;\\r\\n  animation-name: swingInX;\\r\\n  -webkit-transform-origin: bottom center;\\r\\n  transform-origin: bottom center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"swing left\\\"].in {\\r\\n  -webkit-animation-name: swingInY;\\r\\n  animation-name: swingInY;\\r\\n  -webkit-transform-origin: center right;\\r\\n  transform-origin: center right;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"swing right\\\"].in {\\r\\n  -webkit-animation-name: swingInY;\\r\\n  animation-name: swingInY;\\r\\n  -webkit-transform-origin: center left;\\r\\n  transform-origin: center left;\\r\\n}\\r\\n\\r\\n.transition.swing.out,\\r\\n.transition[class*=\\\"swing down\\\"].out {\\r\\n  -webkit-animation-name: swingOutX;\\r\\n  animation-name: swingOutX;\\r\\n  -webkit-transform-origin: top center;\\r\\n  transform-origin: top center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"swing up\\\"].out {\\r\\n  -webkit-animation-name: swingOutX;\\r\\n  animation-name: swingOutX;\\r\\n  -webkit-transform-origin: bottom center;\\r\\n  transform-origin: bottom center;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"swing left\\\"].out {\\r\\n  -webkit-animation-name: swingOutY;\\r\\n  animation-name: swingOutY;\\r\\n  -webkit-transform-origin: center right;\\r\\n  transform-origin: center right;\\r\\n}\\r\\n\\r\\n.transition[class*=\\\"swing right\\\"].out {\\r\\n  -webkit-animation-name: swingOutY;\\r\\n  animation-name: swingOutY;\\r\\n  -webkit-transform-origin: center left;\\r\\n  transform-origin: center left;\\r\\n}\\r\\n\\r\\n/* In */\\r\\n\\r\\n@-webkit-keyframes swingInX {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(90deg);\\r\\n    transform: perspective(1000px) rotateX(90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\\r\\n    transform: perspective(1000px) rotateX(-30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(15deg);\\r\\n    transform: perspective(1000px) rotateX(15deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\\r\\n    transform: perspective(1000px) rotateX(-7.5deg);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(0deg);\\r\\n    transform: perspective(1000px) rotateX(0deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes swingInX {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(90deg);\\r\\n    transform: perspective(1000px) rotateX(90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\\r\\n    transform: perspective(1000px) rotateX(-30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(15deg);\\r\\n    transform: perspective(1000px) rotateX(15deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\\r\\n    transform: perspective(1000px) rotateX(-7.5deg);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(0deg);\\r\\n    transform: perspective(1000px) rotateX(0deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes swingInY {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\\r\\n    transform: perspective(1000px) rotateY(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(30deg);\\r\\n    transform: perspective(1000px) rotateY(30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\\r\\n    transform: perspective(1000px) rotateY(-17.5deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\\r\\n    transform: perspective(1000px) rotateY(7.5deg);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(0deg);\\r\\n    transform: perspective(1000px) rotateY(0deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes swingInY {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\\r\\n    transform: perspective(1000px) rotateY(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(30deg);\\r\\n    transform: perspective(1000px) rotateY(30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\\r\\n    transform: perspective(1000px) rotateY(-17.5deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\\r\\n    transform: perspective(1000px) rotateY(7.5deg);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(0deg);\\r\\n    transform: perspective(1000px) rotateY(0deg);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Out */\\r\\n\\r\\n@-webkit-keyframes swingOutX {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(0deg);\\r\\n    transform: perspective(1000px) rotateX(0deg);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\\r\\n    transform: perspective(1000px) rotateX(-7.5deg);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\\r\\n    transform: perspective(1000px) rotateX(17.5deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\\r\\n    transform: perspective(1000px) rotateX(-30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(90deg);\\r\\n    transform: perspective(1000px) rotateX(90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes swingOutX {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(0deg);\\r\\n    transform: perspective(1000px) rotateX(0deg);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\\r\\n    transform: perspective(1000px) rotateX(-7.5deg);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\\r\\n    transform: perspective(1000px) rotateX(17.5deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\\r\\n    transform: perspective(1000px) rotateX(-30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateX(90deg);\\r\\n    transform: perspective(1000px) rotateX(90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@-webkit-keyframes swingOutY {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(0deg);\\r\\n    transform: perspective(1000px) rotateY(0deg);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\\r\\n    transform: perspective(1000px) rotateY(7.5deg);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\\r\\n    transform: perspective(1000px) rotateY(-10deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(30deg);\\r\\n    transform: perspective(1000px) rotateY(30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\\r\\n    transform: perspective(1000px) rotateY(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes swingOutY {\\r\\n  0% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(0deg);\\r\\n    transform: perspective(1000px) rotateY(0deg);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\\r\\n    transform: perspective(1000px) rotateY(7.5deg);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\\r\\n    transform: perspective(1000px) rotateY(-10deg);\\r\\n  }\\r\\n\\r\\n  80% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(30deg);\\r\\n    transform: perspective(1000px) rotateY(30deg);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\\r\\n    transform: perspective(1000px) rotateY(-90deg);\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n       Static Animations\\r\\n*******************************/\\r\\n\\r\\n/*--------------\\r\\n    Emphasis\\r\\n---------------*/\\r\\n\\r\\n.flash.transition {\\r\\n  -webkit-animation-duration: 750ms;\\r\\n  animation-duration: 750ms;\\r\\n  -webkit-animation-name: flash;\\r\\n  animation-name: flash;\\r\\n}\\r\\n\\r\\n.shake.transition {\\r\\n  -webkit-animation-duration: 750ms;\\r\\n  animation-duration: 750ms;\\r\\n  -webkit-animation-name: shake;\\r\\n  animation-name: shake;\\r\\n}\\r\\n\\r\\n.bounce.transition {\\r\\n  -webkit-animation-duration: 750ms;\\r\\n  animation-duration: 750ms;\\r\\n  -webkit-animation-name: bounce;\\r\\n  animation-name: bounce;\\r\\n}\\r\\n\\r\\n.tada.transition {\\r\\n  -webkit-animation-duration: 750ms;\\r\\n  animation-duration: 750ms;\\r\\n  -webkit-animation-name: tada;\\r\\n  animation-name: tada;\\r\\n}\\r\\n\\r\\n.pulse.transition {\\r\\n  -webkit-animation-duration: 500ms;\\r\\n  animation-duration: 500ms;\\r\\n  -webkit-animation-name: pulse;\\r\\n  animation-name: pulse;\\r\\n}\\r\\n\\r\\n.jiggle.transition {\\r\\n  -webkit-animation-duration: 750ms;\\r\\n  animation-duration: 750ms;\\r\\n  -webkit-animation-name: jiggle;\\r\\n  animation-name: jiggle;\\r\\n}\\r\\n\\r\\n/* Flash */\\r\\n\\r\\n@-webkit-keyframes flash {\\r\\n  0%, 50%, 100% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  25%, 75% {\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes flash {\\r\\n  0%, 50%, 100% {\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  25%, 75% {\\r\\n    opacity: 0;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Shake */\\r\\n\\r\\n@-webkit-keyframes shake {\\r\\n  0%, 100% {\\r\\n    -webkit-transform: translateX(0);\\r\\n    transform: translateX(0);\\r\\n  }\\r\\n\\r\\n  10%, 30%, 50%, 70%, 90% {\\r\\n    -webkit-transform: translateX(-10px);\\r\\n    transform: translateX(-10px);\\r\\n  }\\r\\n\\r\\n  20%, 40%, 60%, 80% {\\r\\n    -webkit-transform: translateX(10px);\\r\\n    transform: translateX(10px);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes shake {\\r\\n  0%, 100% {\\r\\n    -webkit-transform: translateX(0);\\r\\n    transform: translateX(0);\\r\\n  }\\r\\n\\r\\n  10%, 30%, 50%, 70%, 90% {\\r\\n    -webkit-transform: translateX(-10px);\\r\\n    transform: translateX(-10px);\\r\\n  }\\r\\n\\r\\n  20%, 40%, 60%, 80% {\\r\\n    -webkit-transform: translateX(10px);\\r\\n    transform: translateX(10px);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Bounce */\\r\\n\\r\\n@-webkit-keyframes bounce {\\r\\n  0%, 20%, 50%, 80%, 100% {\\r\\n    -webkit-transform: translateY(0);\\r\\n    transform: translateY(0);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: translateY(-30px);\\r\\n    transform: translateY(-30px);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: translateY(-15px);\\r\\n    transform: translateY(-15px);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes bounce {\\r\\n  0%, 20%, 50%, 80%, 100% {\\r\\n    -webkit-transform: translateY(0);\\r\\n    transform: translateY(0);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: translateY(-30px);\\r\\n    transform: translateY(-30px);\\r\\n  }\\r\\n\\r\\n  60% {\\r\\n    -webkit-transform: translateY(-15px);\\r\\n    transform: translateY(-15px);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Tada */\\r\\n\\r\\n@-webkit-keyframes tada {\\r\\n  0% {\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n\\r\\n  10%, 20% {\\r\\n    -webkit-transform: scale(0.9) rotate(-3deg);\\r\\n    transform: scale(0.9) rotate(-3deg);\\r\\n  }\\r\\n\\r\\n  30%, 50%, 70%, 90% {\\r\\n    -webkit-transform: scale(1.1) rotate(3deg);\\r\\n    transform: scale(1.1) rotate(3deg);\\r\\n  }\\r\\n\\r\\n  40%, 60%, 80% {\\r\\n    -webkit-transform: scale(1.1) rotate(-3deg);\\r\\n    transform: scale(1.1) rotate(-3deg);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale(1) rotate(0);\\r\\n    transform: scale(1) rotate(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes tada {\\r\\n  0% {\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n  }\\r\\n\\r\\n  10%, 20% {\\r\\n    -webkit-transform: scale(0.9) rotate(-3deg);\\r\\n    transform: scale(0.9) rotate(-3deg);\\r\\n  }\\r\\n\\r\\n  30%, 50%, 70%, 90% {\\r\\n    -webkit-transform: scale(1.1) rotate(3deg);\\r\\n    transform: scale(1.1) rotate(3deg);\\r\\n  }\\r\\n\\r\\n  40%, 60%, 80% {\\r\\n    -webkit-transform: scale(1.1) rotate(-3deg);\\r\\n    transform: scale(1.1) rotate(-3deg);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale(1) rotate(0);\\r\\n    transform: scale(1) rotate(0);\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Pulse */\\r\\n\\r\\n@-webkit-keyframes pulse {\\r\\n  0% {\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    -webkit-transform: scale(0.9);\\r\\n    transform: scale(0.9);\\r\\n    opacity: 0.7;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes pulse {\\r\\n  0% {\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n    opacity: 1;\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    -webkit-transform: scale(0.9);\\r\\n    transform: scale(0.9);\\r\\n    opacity: 0.7;\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n    opacity: 1;\\r\\n  }\\r\\n}\\r\\n\\r\\n/* Rubberband */\\r\\n\\r\\n@-webkit-keyframes jiggle {\\r\\n  0% {\\r\\n    -webkit-transform: scale3d(1, 1, 1);\\r\\n    transform: scale3d(1, 1, 1);\\r\\n  }\\r\\n\\r\\n  30% {\\r\\n    -webkit-transform: scale3d(1.25, 0.75, 1);\\r\\n    transform: scale3d(1.25, 0.75, 1);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: scale3d(0.75, 1.25, 1);\\r\\n    transform: scale3d(0.75, 1.25, 1);\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    -webkit-transform: scale3d(1.15, 0.85, 1);\\r\\n    transform: scale3d(1.15, 0.85, 1);\\r\\n  }\\r\\n\\r\\n  65% {\\r\\n    -webkit-transform: scale3d(0.95, 1.05, 1);\\r\\n    transform: scale3d(0.95, 1.05, 1);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: scale3d(1.05, 0.95, 1);\\r\\n    transform: scale3d(1.05, 0.95, 1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale3d(1, 1, 1);\\r\\n    transform: scale3d(1, 1, 1);\\r\\n  }\\r\\n}\\r\\n\\r\\n@keyframes jiggle {\\r\\n  0% {\\r\\n    -webkit-transform: scale3d(1, 1, 1);\\r\\n    transform: scale3d(1, 1, 1);\\r\\n  }\\r\\n\\r\\n  30% {\\r\\n    -webkit-transform: scale3d(1.25, 0.75, 1);\\r\\n    transform: scale3d(1.25, 0.75, 1);\\r\\n  }\\r\\n\\r\\n  40% {\\r\\n    -webkit-transform: scale3d(0.75, 1.25, 1);\\r\\n    transform: scale3d(0.75, 1.25, 1);\\r\\n  }\\r\\n\\r\\n  50% {\\r\\n    -webkit-transform: scale3d(1.15, 0.85, 1);\\r\\n    transform: scale3d(1.15, 0.85, 1);\\r\\n  }\\r\\n\\r\\n  65% {\\r\\n    -webkit-transform: scale3d(0.95, 1.05, 1);\\r\\n    transform: scale3d(0.95, 1.05, 1);\\r\\n  }\\r\\n\\r\\n  75% {\\r\\n    -webkit-transform: scale3d(1.05, 0.95, 1);\\r\\n    transform: scale3d(1.05, 0.95, 1);\\r\\n  }\\r\\n\\r\\n  100% {\\r\\n    -webkit-transform: scale3d(1, 1, 1);\\r\\n    transform: scale3d(1, 1, 1);\\r\\n  }\\r\\n}\\r\\n\\r\\n/*******************************\\r\\n         Site Overrides\\r\\n*******************************/\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/Semantic/semantic.css\n// module id = 1173\n// module chunks = 3","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*\\r\\n * A colorselector for Twitter Bootstrap which lets you select a color from a predefined set of colors only.\\r\\n * https://github.com/flaute/bootstrap-colorselector\\r\\n *\\r\\n * Copyright (C) 2014 Flaute\\r\\n *\\r\\n * Licensed under the MIT license\\r\\n */\\r\\n\\r\\n/* colorselector dropdown */\\r\\n.dropdown-colorselector>.dropdown-menu {\\r\\n  top: 80%;\\r\\n  left: -7px;\\r\\n  padding: 4px;\\r\\n  min-width: 130px;\\r\\n  max-width: 130px;\\r\\n}\\r\\n\\r\\n/*\\r\\n.dropdown-colorselector>.dropdown-menu.pull-right {\\r\\n  right: -7px;\\r\\n  left: auto;\\r\\n}\\r\\n*/\\r\\n.dropdown-colorselector>.dropdown-menu>li {\\r\\n  display: block;\\r\\n  float: left;\\r\\n  width: 20px;\\r\\n  height: 20px;\\r\\n  margin: 2px;\\r\\n}\\r\\n\\r\\n.dropdown-colorselector>.dropdown-menu>li>.color-btn {\\r\\n  display: block;\\r\\n  width: 20px;\\r\\n  height: 20px;\\r\\n  margin: 0;\\r\\n  padding: 0;\\r\\n  border-radius: 0;\\r\\n  position: relative;\\r\\n  -webkit-transition: all ease 0.1s;\\r\\n  transition: all ease 0.1s;\\r\\n}\\r\\n\\r\\n.dropdown-colorselector>.dropdown-menu>li>.color-btn:hover {\\r\\n  text-decoration: none;\\r\\n  opacity: 0.8;\\r\\n  filter: alpha(opacity = 80);\\r\\n  -webkit-transform: scale(1.08);\\r\\n  -ms-transform: scale(1.08);\\r\\n  transform: scale(1.08);\\r\\n}\\r\\n\\r\\n.dropdown-colorselector>.dropdown-menu>li>.color-btn.selected:after {\\r\\n  content: \\\"\\\\E013\\\";\\r\\n  font-family: 'Glyphicons Halflings';\\r\\n  display: inline-block;\\r\\n  font-size: 11px;\\r\\n  color: #FFF;\\r\\n  position: absolute;\\r\\n  left: 0;\\r\\n  right: 0;\\r\\n  text-align: center;\\r\\n  line-height: 20px;\\r\\n}\\r\\n\\r\\n.btn-colorselector {\\r\\n  display: inline-block;\\r\\n  width: 20px;\\r\\n  height: 20px;\\r\\n  background-color: #DDD;\\r\\n  vertical-align: middle;\\r\\n  border-radius: 0;\\r\\n}\\r\\n\\r\\n.dropdown-menu.dropdown-caret:before {\\r\\n  border-bottom: 7px solid rgba(0, 0, 0, 0.2);\\r\\n  border-left: 7px solid transparent;\\r\\n  border-right: 7px solid transparent;\\r\\n  content: \\\"\\\";\\r\\n  display: inline-block;\\r\\n  left: 9px;\\r\\n  position: absolute;\\r\\n  top: -7px;\\r\\n}\\r\\n\\r\\n.dropdown-menu.dropdown-caret:after {\\r\\n  border-bottom: 6px solid #FFFFFF;\\r\\n  border-left: 6px solid transparent;\\r\\n  border-right: 6px solid transparent;\\r\\n  content: \\\"\\\";\\r\\n  display: inline-block;\\r\\n  left: 10px;\\r\\n  position: absolute;\\r\\n  top: -6px;\\r\\n}\\r\\n\\r\\n/*\\r\\n.dropdown-menu.pull-right.dropdown-caret:before {\\r\\n  left: auto;\\r\\n  right: 9px;\\r\\n}\\r\\n\\r\\n.dropdown-menu.pull-right.dropdown-caret:after {\\r\\n  left: auto;\\r\\n  right: 10px;\\r\\n}\\r\\n*/\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/bootstrap-colorselector-0.2.0/css/bootstrap-colorselector.css\n// module id = 1174\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".dtp { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); z-index: 2000; font-size: 15px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }\\r\\n.dtp > .dtp-content { background: #fff; max-width: 300px; box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); max-height: 520px; position: relative; left: 50%; }\\r\\n.dtp > .dtp-content > .dtp-date-view > header.dtp-header { background: #689F38; color: #fff; text-align: center; padding: 0.3em; }\\r\\n\\r\\n.dtp div.dtp-date, .dtp div.dtp-time { background: #8BC34A; text-align: center; color: #fff; padding: 10px; }\\r\\n.dtp div.dtp-date > div { padding: 0; margin: 0; }\\r\\n.dtp div.dtp-actual-month { font-size: 1.5em; }\\r\\n.dtp div.dtp-actual-num { font-size: 3em; line-height: 0.9; }\\r\\n.dtp div.dtp-actual-maxtime { font-size: 3em; line-height: 0.9; }\\r\\n.dtp div.dtp-actual-year { font-size: 1.5em; color: #DCEDC8; }\\r\\n.dtp div.dtp-picker { padding: 1em; text-align: center; }\\r\\n\\r\\n.dtp div.dtp-picker-month, .dtp div.dtp-actual-time { font-weight: 500; text-align: center; }\\r\\n.dtp div.dtp-picker-month { padding-bottom:20px!important; text-transform: uppercase!important; }\\r\\n\\r\\n.dtp .dtp-close { position: absolute; top: 0.5em; right: 1em; }\\r\\n.dtp .dtp-close > a { color: #fff; }\\r\\n.dtp .dtp-close > a > i { font-size: 1em; }\\r\\n\\r\\n.dtp table.dtp-picker-days { margin: 0; min-height: 251px;}\\r\\n.dtp table.dtp-picker-days, .dtp table.dtp-picker-days tr, .dtp table.dtp-picker-days tr > td { border: none; }\\r\\n.dtp table.dtp-picker-days tr > td {  font-weight: 700; font-size: 0.8em; text-align: center; padding: 0.5em 0.3em; }\\r\\n.dtp table.dtp-picker-days tr > td > span.dtp-select-day { color: #BDBDBD!important; padding: 0.4em 0.5em 0.5em 0.6em;}\\r\\n.dtp table.dtp-picker-days tr > td > a, .dtp .dtp-picker-time > a { color: #212121; text-decoration: none; padding: 0.4em 0.5em 0.5em 0.6em; border-radius: 50%!important; }\\r\\n.dtp table.dtp-picker-days tr > td > a.selected{ background: #8BC34A; color: #fff; }\\r\\n.dtp table.dtp-picker-days tr > th { color: #757575; text-align: center; font-weight: 700; padding: 0.4em 0.3em; }\\r\\n\\r\\n.dtp .p10 > a { color: #689F38; text-decoration: none; }\\r\\n.dtp .p10 { width: 10%; display: inline-block; }\\r\\n.dtp .p20 { width: 20%; display: inline-block; }\\r\\n.dtp .p60 { width: 60%; display: inline-block; }\\r\\n.dtp .p80 { width: 80%; display: inline-block; }\\r\\n\\r\\n.dtp a.dtp-meridien-am, .dtp a.dtp-meridien-pm { position: relative; top: 10px; color: #212121; font-weight: 500; padding: 0.7em 0.5em; border-radius: 50%!important;text-decoration: none; background: #eee; font-size:1em; }\\r\\n.dtp .dtp-actual-meridien a.selected { background: #689F38; color: #fff; }\\r\\n\\r\\n.dtp .dtp-picker-time > .dtp-select-hour { cursor: pointer; }\\r\\n.dtp .dtp-picker-time > .dtp-select-minute { cursor: pointer; }\\r\\n\\r\\n.dtp .dtp-buttons { padding: 0 1em 1em 1em; text-align: right; }\\r\\n\\r\\n.dtp.hidden, .dtp .hidden { display: none; }\\r\\n.dtp .invisible { visibility: hidden; }\\r\\n\\r\\n.dtp .left { float: left; }\\r\\n.dtp .right { float: right; }\\r\\n.dtp .clearfix { clear: both; }\\r\\n\\r\\n.dtp .center { text-align: center; }\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/datapicker/bootstrap-material-datetimepicker.css\n// module id = 1175\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr[role=\\\"row\\\"]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role=\\\"row\\\"]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role=\\\"row\\\"]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role=\\\"row\\\"]>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/datatable/responsive.dataTables.min.css\n// module id = 1176\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"table.dt-rowReorder-float{position:absolute !important;opacity:0.8;table-layout:fixed;outline:2px solid #888;outline-offset:-2px;z-index:2001}tr.dt-rowReorder-moving{outline:2px solid #555;outline-offset:-2px}body.dt-rowReorder-noOverflow{overflow-x:hidden}table.dataTable td.reorder{text-align:center;cursor:move}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/datatable/rowReorder.dataTables.min.css\n// module id = 1177\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * bootstrap-fileinput v4.3.9\\r\\n * http://plugins.krajee.com/file-input\\r\\n *\\r\\n * Krajee default styling for bootstrap-fileinput.\\r\\n *\\r\\n * Author: Kartik Visweswaran\\r\\n * Copyright: 2014 - 2017, Kartik Visweswaran, Krajee.com\\r\\n *\\r\\n * Licensed under the BSD 3-Clause\\r\\n * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md\\r\\n */.file-loading{top:0;right:0;width:25px;height:25px;font-size:999px;text-align:right;color:#fff;background:url(\" + require(\"../img/loading.gif\") + \") top left no-repeat;border:none}.file-object{margin:0 0 -5px;padding:0}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;text-align:right;opacity:0;background:none;cursor:inherit;display:block}.file-caption-name{display:inline-block;overflow:hidden;height:20px;word-break:break-all}.input-group-lg .file-caption-name{height:25px}.file-zoom-dialog{text-align:left}.file-error-message{color:#a94442;background-color:#f2dede;margin:5px;border:1px solid #ebccd1;border-radius:4px;padding:15px}.file-error-message pre,.file-error-message ul{margin:0;text-align:left}.file-error-message pre{margin:5px 0}.file-caption-disabled{background-color:#EEE;cursor:not-allowed;opacity:1}.file-preview{border-radius:5px;border:1px solid #ddd;padding:5px;width:100%;margin-bottom:5px}.krajee-default.file-preview-frame{position:relative;display:table;margin:8px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left;text-align:center}.krajee-default.file-preview-frame:not(.file-preview-error):hover{box-shadow:3px 3px 5px 0 #333}.krajee-default.file-preview-frame .kv-file-content{height:170px}.krajee-default.file-preview-frame .file-thumbnail-footer{height:70px}.krajee-default .file-preview-image{vertical-align:middle;image-orientation:from-image}.krajee-default .file-preview-text{display:block;color:#428bca;border:1px solid #ddd;font-family:Menlo,Monaco,Consolas,\\\"Courier New\\\",monospace;outline:0;padding:8px;resize:none}.krajee-default .file-preview-html{border:1px solid #ddd;padding:8px;overflow:auto}.krajee-default[data-template=audio] .file-preview-audio{display:table-cell;vertical-align:middle;height:170px;border:1px solid #ddd;border-radius:5px}.krajee-default .file-preview-audio audio{vertical-align:middle}.krajee-default .file-zoom-dialog .file-preview-text{font-size:1.2em}.krajee-default .file-preview-other{left:0;top:0;right:0;bottom:0;margin:auto;text-align:center;vertical-align:middle;padding:10px}.krajee-default .file-preview-other:hover{opacity:.8}.krajee-default .file-actions,.krajee-default .file-other-error{text-align:left}.krajee-default .file-other-icon{font-size:8em}.krajee-default .file-actions{margin-top:15px}.krajee-default .file-footer-buttons{float:right}.krajee-default .file-footer-caption{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:160px;text-align:center;padding-top:4px;font-size:11px;color:#777;margin:5px auto}.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-ajax-new .no-browse .input-group-btn,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file,.file-input-new .no-browse .input-group-btn{display:none}.krajee-default .file-preview-error{opacity:.65;box-shadow:none}.krajee-default .file-preview-frame:not(.file-preview-error) .file-footer-caption:hover{color:#000}.krajee-default .file-drag-handle,.krajee-default .file-upload-indicator{position:absolute;text-align:center;bottom:-6px;left:-6px;padding:8px 8px 1px 3px;border-left:none;border-bottom:none;border-right:1px solid #8a6d3b;border-top:1px solid #8a6d3b;border-top-right-radius:24px;font-size:12px}.krajee-default .file-drag-handle{background-color:#d9edf7;border-color:#bce8f1}.krajee-default .file-upload-indicator{font-size:13px;background-color:#fcf8e3;border-color:#faebcc;padding-bottom:0}.krajee-default.file-preview-error .file-upload-indicator{background-color:#f2dede;border-color:#ebccd1}.krajee-default.file-preview-success .file-upload-indicator{background-color:#dff0d8;border-color:#d6e9c6}.krajee-default.file-preview-loading .file-upload-indicator{background-color:#e5e5e5;border-color:#777}.krajee-default .file-thumb-progress .progress,.krajee-default .file-thumb-progress .progress-bar{height:10px;font-size:9px;line-height:10px}.krajee-default .file-thumbnail-footer{position:relative}.krajee-default .file-thumb-progress{height:10px;position:absolute;top:35px;left:0;right:0}.krajee-default.kvsortable-ghost{background:#e1edf7;border:2px solid #a1abff}.file-zoom-dialog .file-other-icon{font-size:8em;font-size:65vmin}.file-caption-main{width:100%}.file-input-ajax-new .no-browse .form-control,.file-input-new .no-browse .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.file-thumb-loading{background:url(\" + require(\"../img/loading.gif\") + \") center center no-repeat content-box!important}.file-sortable .file-drag-handle{cursor:move;cursor:-webkit-grabbing;opacity:1}.file-sortable .file-drag-handle:hover{opacity:.7}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone-title{color:#aaa;font-size:1.6em;padding:85px 10px;cursor:default}.clickable .file-drop-zone-title,.file-preview .clickable{cursor:pointer}.file-drop-zone.clickable:hover{border:2px dashed #999}.file-drop-zone.clickable:focus{border:2px solid #5acde2}.file-drop-zone .file-preview-thumbnails{cursor:default}.file-highlighted{border:2px dashed #999!important;background-color:#f0f0f0}.file-uploading{background:url(\" + require(\"../img/loading-sm.gif\") + \") center bottom 10px no-repeat;opacity:.65}.file-zoom-fullscreen.modal{position:fixed;top:0;right:0;bottom:0;left:0}.file-zoom-fullscreen .modal-dialog{position:fixed;margin:0;width:100%;height:100%;padding:0}.file-zoom-fullscreen .modal-content{border-radius:0;box-shadow:none}.file-zoom-fullscreen .modal-body{overflow-y:auto}.file-zoom-dialog .modal-body{position:relative!important}.file-zoom-dialog .btn-navigate{position:absolute;padding:0;margin:0;background:0 0;text-decoration:none;outline:0;opacity:.7;top:45%;font-size:4em;color:#1c94c4}.file-zoom-dialog .floating-buttons{position:absolute;top:5px;right:10px}.floating-buttons,.floating-buttons .btn{z-index:3000}.file-zoom-dialog .kv-zoom-actions .btn,.floating-buttons .btn{margin-left:3px}.file-zoom-dialog .btn-navigate:not([disabled]):focus,.file-zoom-dialog .btn-navigate:not([disabled]):hover{outline:0;box-shadow:none;opacity:.5}.file-zoom-dialog .btn-navigate[disabled]{opacity:.3}.file-zoom-dialog .btn-prev{left:1px}.file-zoom-dialog .btn-next{right:1px}.file-zoom-content{height:480px;text-align:center}.file-preview-initial.sortable-chosen{background-color:#d9edf7}.btn-file ::-ms-browse{width:100%;height:100%}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/fileinput/fileinput.min.css\n// module id = 1178\n// module chunks = 3","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\nexports.i(require(\"-!../../node_modules/css-loader/index.js!./steps/smart_wizard.min.css\"), \"\");\nexports.i(require(\"-!../../node_modules/css-loader/index.js!./steps/smart_wizard_theme_arrows.min.css\"), \"\");\nexports.i(require(\"-!../../node_modules/css-loader/index.js!./steps/smart_wizard_theme_circles.min.css\"), \"\");\nexports.i(require(\"-!../../node_modules/css-loader/index.js!./steps/smart_wizard_theme_dots.min.css\"), \"\");\n\n// module\nexports.push([module.id, \"@font-face {\\r\\n    font-family: roboto;\\r\\n    src: url(\" + require(\"./fonts/roboto/Roboto-Light.ttf\") + \");\\r\\n}\\r\\n\\r\\nbody {\\r\\n    font-family: roboto;\\r\\n}\\r\\n\\r\\n/* Estilo paera menuTop*/\\r\\n.skin-blue .main-header .navbar {\\r\\n    background-color: #ec003d;\\r\\n}\\r\\n\\r\\n.skin-blue .main-header .logo {\\r\\n    background-color: #ec003d;\\r\\n    color: #fff;\\r\\n    border-bottom: 0 solid transparent;\\r\\n}\\r\\n.skin-blue .main-header .navbar .sidebar-toggle:hover {\\r\\n    background-color: #CB0036;\\r\\n}\\r\\n.skin-blue .main-header .logo:hover {\\r\\n    background-color: #CB0036;\\r\\n}\\r\\n.skin-blue .main-header li.user-header {\\r\\n    background-color: #CB0036;\\r\\n}\\r\\n/* Estilo paera menuRight*/\\r\\n.skin-blue .sidebar-menu>li:hover>a, .skin-blue .sidebar-menu>li.active>a {\\r\\n    color: #fff;\\r\\n    background: #1e282c;\\r\\n    border-left-color: #CB0036;\\r\\n}\\r\\n\\r\\n.solicitudModalItem{\\r\\n    cursor: pointer !important;\\r\\n    color: #555555 !important;\\r\\n}\\r\\n\\r\\n.cut-text { \\r\\n    text-overflow: ellipsis;\\r\\n    overflow: hidden; \\r\\n    width: 160px; \\r\\n    height: 1.2em; \\r\\n    white-space: nowrap;\\r\\n  }\\r\\n\\r\\n/* Estilo paera menuRight*/\\r\\n.solicitudModal>li:hover>a{\\r\\n    color: #fff !important;\\r\\n    background: #b1b1b1 !important;\\r\\n    border-left-color: #CB0036;\\r\\n}\\r\\n\\r\\n\\r\\n.sidebar-menu>li.activeModal>a {\\r\\n    color: #fff !important;\\r\\n    background: #b1b1b1 !important;\\r\\n    border-left-color: #CB0036;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/* estilo para migas de pan */\\r\\n.content-header>.breadcrumb {\\r\\n    float: left;\\r\\n    background: transparent;\\r\\n    margin-top: 0;\\r\\n    margin-bottom: 0;\\r\\n    font-size: 12px;\\r\\n    padding: 7px 5px;\\r\\n    position: absolute;\\r\\n    top: 15px;\\r\\n    left: 10px;\\r\\n    border-radius: 2px;\\r\\n}\\r\\n\\r\\nhr.style14 {\\r\\n    border: 0;\\r\\n    height: 1px;\\r\\n    background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);\\r\\n    background-image: -moz-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);\\r\\n    background-image: -ms-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);\\r\\n    background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);\\r\\n}\\r\\n\\r\\n\\r\\n/* efect input material desing*/\\r\\n* { box-sizing:border-box; }\\r\\n.group            {\\r\\n    position:relative;\\r\\n\\r\\n}\\r\\ninput{\\r\\n    font-size:12px;\\r\\n    padding:17px 10px 2px 5px;\\r\\n    display:block;\\r\\n    width: 100%   ;\\r\\n    border:none;\\r\\n    border-bottom:1px solid #757575;\\r\\n}\\r\\ninput:focus{ outline:none; }\\r\\n\\r\\n/* LABEL ======================================= */\\r\\n.MaterialLabel               {\\r\\n    color:#999;\\r\\n    font-size:12px;\\r\\n    font-weight:normal;\\r\\n    position:absolute;\\r\\n    pointer-events:none;\\r\\n    left:5px;\\r\\n    top:14px;\\r\\n    transition:0.2s ease all;\\r\\n    -moz-transition:0.2s ease all;\\r\\n    -webkit-transition:0.2s ease all;\\r\\n}\\r\\n\\r\\n.LabelMaterial {\\r\\n    color:#CB0036;\\r\\n    font-size:12px;\\r\\n    font-weight:normal;\\r\\n    position:absolute;\\r\\n    top: -12px;\\r\\n    pointer-events:none;\\r\\n}\\r\\n\\r\\n.LabelMaterialSelect {\\r\\n    color:#CB0036;\\r\\n    font-size:12px;\\r\\n    font-weight:normal;\\r\\n    pointer-events:none;\\r\\n}\\r\\n\\r\\n/* active state */\\r\\ninput:focus ~ .MaterialLabel, input:valid  ~ .MaterialLabel,\\r\\n.inputValidate ~ .MaterialLabel, .inputValidate:valid ~ .MaterialLabel{\\r\\n    top: 0px;\\r\\n    font-size: 12px ;\\r\\n    color: #333;\\r\\n}\\r\\n\\r\\n.massageError{\\r\\n    color: #CB0036;\\r\\n    font-size: 12px;\\r\\n    position: relative;\\r\\n}\\r\\n\\r\\n/* BOTTOM BARS ================================= */\\r\\n.bar    { position:relative; display:block; width:100%; }\\r\\n.bar:before, .bar:after     {\\r\\n    content:'';\\r\\n    height:2px;\\r\\n    width:0;\\r\\n    bottom:1px;\\r\\n    position:absolute;\\r\\n    background:#CB0036;\\r\\n    transition:0.2s ease all;\\r\\n    -moz-transition:0.2s ease all;\\r\\n    -webkit-transition:0.2s ease all;\\r\\n}\\r\\n.bar:before {\\r\\n    left:50%;\\r\\n}\\r\\n.bar:after {\\r\\n    right:50%;\\r\\n}\\r\\n\\r\\n/* active state */\\r\\ninput:focus ~ .bar:before, input:focus ~ .bar:after {\\r\\n    width:50%;\\r\\n}\\r\\n\\r\\n.inputValidate ~ .bar:before, .inputValidate ~ .bar:after{\\r\\n    width:50%;\\r\\n}\\r\\n\\r\\n/* HIGHLIGHTER ================================== */\\r\\n.highlight {\\r\\n    position:absolute;\\r\\n    height:60%;\\r\\n    width:100px;\\r\\n    top:45%;\\r\\n    left:0;\\r\\n    pointer-events:none;\\r\\n    opacity:0.5;\\r\\n}\\r\\n\\r\\n/* Input Search ================================== */\\r\\n.inputSearchContent{\\r\\n    padding-bottom:5px; position: relative; background: #fff;  border: solid 2px #c7c7c7; border-radius: 8px; width: 100%; height: 40px;\\r\\n}\\r\\n\\r\\n.inputSearchText {\\r\\n    background: transparent; width: 87%; height: 100%;  border: none;\\r\\n    margin-top: -31px; margin-left: 30px; outline:0px;\\r\\n}\\r\\n\\r\\n.inputSearchText:hover {\\r\\n    border: none;\\r\\n}\\r\\n\\r\\n.inputSearchText:focus {\\r\\n    border: none;\\r\\n}\\r\\n/* active state */\\r\\n/* ****************************** select  ************************************** */\\r\\n.ui.selection.active.dropdown, .ui.selection.active.dropdown .menu {\\r\\n    border-color: #CB0036;\\r\\n    box-shadow: 0 2px 3px 0 rgba(34,36,38,.15);\\r\\n}\\r\\n\\r\\n.ui.selection.active.dropdown:hover, .ui.selection.active.dropdown:hover .menu {\\r\\n    border-color: #CB0036;\\r\\n    box-shadow: 0 2px 3px 0 rgba(34,36,38,.15);\\r\\n}\\r\\n\\r\\n.ui.selection.active.dropdown:hover, .ui.selection.active.dropdown:hover .menu {\\r\\n    border-color: #CB0036;\\r\\n    box-shadow: 0 2px 3px 0 rgba(34,36,38,.15);\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown:focus {\\r\\n    border-color: #CB0036;\\r\\n    box-shadow: none;\\r\\n}\\r\\n\\r\\n/* ******************************************************************************************************************************* */\\r\\n\\r\\n.radio {\\r\\n    display: inline-block;\\r\\n    padding-right: 20px;\\r\\n    font-size: 15px;\\r\\n    line-height: 4px;\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.radio:hover .inner {\\r\\n    -webkit-transform: scale(0.5);\\r\\n    -ms-transform: scale(0.5);\\r\\n    transform: scale(0.5);\\r\\n    opacity: .5;\\r\\n}\\r\\n\\r\\n.radio input {\\r\\n    width: 10px;\\r\\n    height: 10px;\\r\\n    opacity: 0;\\r\\n}\\r\\n\\r\\n.radio input:checked + .outer .inner {\\r\\n    -webkit-transform: scale(1);\\r\\n    -ms-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n    opacity: 1;\\r\\n}\\r\\n\\r\\n.radio input:checked + .outer { border: 3px solid #CB0036; }\\r\\n\\r\\n.radio input:focus + .outer .inner {\\r\\n    -webkit-transform: scale(1);\\r\\n    -ms-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n    opacity: 1;\\r\\n    background-color: #CB0036;\\r\\n}\\r\\n\\r\\n.radio .outer {\\r\\n    width: 15px !important;\\r\\n    height: 15px !important;\\r\\n    display: block;\\r\\n    float: left;\\r\\n    margin: 10px 9px 10px 10px;\\r\\n    border: 3px solid #CCC;\\r\\n    border-radius: 50%;\\r\\n    background-color: #fff;\\r\\n}\\r\\n\\r\\n.radio .inner {\\r\\n    -webkit-transition: all 0.25s ease-in-out;\\r\\n    transition: all 0.25s ease-in-out;\\r\\n    width: 5px;\\r\\n    height: 5px;\\r\\n    -webkit-transform: scale(0);\\r\\n    -ms-transform: scale(0);\\r\\n    transform: scale(0);\\r\\n    display: block;\\r\\n    margin: 2px;\\r\\n    border-radius: 50%;\\r\\n    background-color: #CB0036;\\r\\n    opacity: 0;\\r\\n}\\r\\n\\r\\n.checkLabelMaterial{\\r\\n    top:-9px;\\r\\n    font-size:12px;\\r\\n    color: #757575 !important;\\r\\n}\\r\\n/* *************************************************************************************************** */\\r\\n\\r\\n.content-header>h1 {\\r\\n    margin: 0;\\r\\n    font-size: 24px;\\r\\n}\\r\\nh1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {\\r\\n    font-family: roboto;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu>.item {\\r\\n    position: relative;\\r\\n    cursor: pointer;\\r\\n    display: block;\\r\\n    border: none;\\r\\n    height: auto;\\r\\n    text-align: left;\\r\\n    border-top: none;\\r\\n    line-height: 1em;\\r\\n    color: rgba(0,0,0,.87);\\r\\n    padding: .78571429rem 1.14285714rem!important;\\r\\n    font-size: 1.4rem;\\r\\n    text-transform: none;\\r\\n    font-weight: 400;\\r\\n    box-shadow: none;\\r\\n    -webkit-touch-callout: none;\\r\\n}\\r\\n\\r\\n/* Calendario */\\r\\n#external-events h4 {\\r\\n    font-size: 16px;\\r\\n    margin-top: 0;\\r\\n    padding-top: 1em;\\r\\n}\\r\\n\\r\\n#external-events .fc-event {\\r\\n    margin: 10px 0;\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n#external-events p {\\r\\n    margin: 1.5em 0;\\r\\n    font-size: 11px;\\r\\n    color: #666;\\r\\n}\\r\\n\\r\\n#external-events p input {\\r\\n    margin: 0;\\r\\n    vertical-align: middle;\\r\\n}\\r\\n\\r\\n#calendar {\\r\\n    width: 90%;\\r\\n    height: 10%;\\r\\n}\\r\\n\\r\\n.fc-day-grid-event .fc-content {\\r\\n    white-space: nowrap;\\r\\n    overflow: hidden;\\r\\n    padding: 2px;\\r\\n}\\r\\n\\r\\n\\r\\na:focus, a:hover {\\r\\n    color: #444444;\\r\\n    text-decoration: none !important;\\r\\n}\\r\\n\\r\\n\\r\\na {\\r\\n    color: #777777;\\r\\n    text-decoration: none;\\r\\n}\\r\\n\\r\\n/*LOgion*/\\r\\n.aLogin:focus, .aLogin:hover {\\r\\n    color: #EBEBEB;\\r\\n    text-decoration: none !important;\\r\\n}\\r\\n\\r\\n\\r\\n.aLogin {\\r\\n    color: #777777;\\r\\n    text-decoration: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.fc-event, .fc-event:hover, .ui-widget .fc-event {\\r\\n    color: #fff;\\r\\n    text-decoration: none;\\r\\n}\\r\\n\\r\\n.fc-view{\\r\\n    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\r\\n    border: none;\\r\\n    border-radius: 10px;\\r\\n}\\r\\n\\r\\n/* ---------------------------------------------------------------------------------- */\\r\\n/* dataPicker */\\r\\n\\r\\n.dtp div.dtp-date, .dtp div.dtp-time {\\r\\n    background: #ec003d;\\r\\n    text-align: center;\\r\\n    color: #fff;\\r\\n    padding: 10px;\\r\\n}\\r\\n\\r\\n.dtp .p10 > a {\\r\\n    color: #fff;\\r\\n    text-decoration: none;\\r\\n}\\r\\n\\r\\n.dtp > .dtp-content > .dtp-date-view > header.dtp-header {\\r\\n    background: #CB0036;\\r\\n    color: #fff;\\r\\n    text-align: center;\\r\\n    padding: 0.3em;\\r\\n}\\r\\n\\r\\n.dtp table.dtp-picker-days tr > td > a.selected {\\r\\n    background: #CB0036;\\r\\n    color: #fff;\\r\\n}\\r\\n\\r\\n.dtp .dtp-actual-meridien a.selected {\\r\\n    background: #CB0036;\\r\\n    color: #fff;\\r\\n}\\r\\n\\r\\n/* --------------------------------------------------------------------------------------------------------------- */\\r\\n/* Chip */\\r\\n.md-chipLg {\\r\\n    display: inline-block;\\r\\n    border-radius: 20px;\\r\\n    height: 27px;\\r\\n    width: 135px;\\r\\n    padding-left: 5px;\\r\\n    padding-right: 5px;\\r\\n    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\r\\n    -webkit-transition: .2s ease-out;\\r\\n    transition: .2s ease-out;\\r\\n}\\r\\n\\r\\n.md-chip {\\r\\n    /* margin-left: 0 !important; */\\r\\n    display: inline-flex;\\r\\n    margin-top: 10px;\\r\\n    padding: 0px 15px;\\r\\n    border-radius: 20px;\\r\\n    margin-left: 10px !important;\\r\\n    /* min-width: 100px; */\\r\\n    max-width: 400px;\\r\\n    height: auto !important;\\r\\n    width: auto !important;\\r\\n    /* padding-bottom: 0; */\\r\\n    /* padding-top: 0; */\\r\\n    /* padding-left: 5px; */\\r\\n    /* padding-right: 5px; */\\r\\n    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\r\\n    -webkit-transition: .2s ease-out;\\r\\n    transition: .2s ease-out;\\r\\n}\\r\\n\\r\\n.md-chip:hover {\\r\\n    box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n.md-chip-text {\\r\\n    display: inline-block;\\r\\n    font-size: 16px;\\r\\n    float: left;\\r\\n    margin-top: 4px;\\r\\n    /*margin-bottom: 3px;*/\\r\\n    color: rgba(255, 255, 255, .87);\\r\\n}\\r\\n\\r\\n@media (max-width: 700px) {\\r\\n    .md-chip {\\r\\n        margin-left: 0 !important;\\r\\n        display: block;\\r\\n        margin-top: 10px;\\r\\n        padding: 5px 15px;\\r\\n        border-radius: 20px;\\r\\n        /* min-width: 100px; */\\r\\n        max-width: 400px;\\r\\n        height: auto !important;\\r\\n        width: auto !important;\\r\\n        /* padding-bottom: 0; */\\r\\n        /* padding-top: 0; */\\r\\n        /* padding-left: 5px; */\\r\\n        /* padding-right: 5px; */\\r\\n        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\r\\n        -webkit-transition: .2s ease-out;\\r\\n        transition: .2s ease-out;\\r\\n    }\\r\\n    \\r\\n    .md-chip:hover {\\r\\n        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);\\r\\n        cursor: pointer;\\r\\n    }\\r\\n    \\r\\n    .md-chip-text {\\r\\n        display: inline-block;\\r\\n        font-size: 16px;\\r\\n        float: left;\\r\\n        margin-top: 4px;\\r\\n        /*margin-bottom: 3px;*/\\r\\n        color: rgba(255, 255, 255, .87);\\r\\n    }\\r\\n}\\r\\n@media (max-width: 450px) {\\r\\n    .md-chip {\\r\\n        margin-left: 0 !important;\\r\\n        display: block;\\r\\n        margin-top: 10px;\\r\\n        padding: 5px 15px;\\r\\n        border-radius: 20px;\\r\\n        /* min-width: 100px; */\\r\\n        max-width: 400px;\\r\\n        height: auto !important;\\r\\n        width: auto !important;\\r\\n        /* padding-bottom: 0; */\\r\\n        /* padding-top: 0; */\\r\\n        /* padding-left: 5px; */\\r\\n        /* padding-right: 5px; */\\r\\n        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\r\\n        -webkit-transition: .2s ease-out;\\r\\n        transition: .2s ease-out;\\r\\n    }\\r\\n    \\r\\n    .md-chip:hover {\\r\\n        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);\\r\\n        cursor: pointer;\\r\\n    }\\r\\n    \\r\\n    .md-chip-text {\\r\\n        display: inline-block;\\r\\n        font-size: 16px;\\r\\n        float: left;\\r\\n        margin-top: 4px;\\r\\n        /*margin-bottom: 3px;*/\\r\\n        color: rgba(255, 255, 255, .87);\\r\\n    }\\r\\n}\\r\\n\\r\\n.white {\\r\\n    background-color: #D7D7D7;\\r\\n}\\r\\n\\r\\n.white .md-chip-text {\\r\\n    color: rgba(0, 0, 0, .87);\\r\\n}\\r\\n\\r\\n/* ****************************************************************************************** */\\r\\n/* Modal */\\r\\n\\r\\n.modal.fade .modal-dialog {\\r\\n    -webkit-transform: scale(0.1);\\r\\n    -moz-transform: scale(0.1);\\r\\n    -ms-transform: scale(0.1);\\r\\n    transform: scale(0.1);\\r\\n    top: 300px;\\r\\n    opacity: 0;\\r\\n    -webkit-transition: all 0.3s;\\r\\n    -moz-transition: all 0.3s;\\r\\n    transition: all 0.3s;\\r\\n}\\r\\n\\r\\n.modal.fade.in .modal-dialog {\\r\\n    -webkit-transform: scale(1);\\r\\n    -moz-transform: scale(1);\\r\\n    -ms-transform: scale(1);\\r\\n    transform: scale(1);\\r\\n    -webkit-transform: translate3d(0, -300px, 0);\\r\\n    transform: translate3d(0, -300px, 0);\\r\\n    opacity: 1;\\r\\n}\\r\\n\\r\\n.modal-header {\\r\\n    font-family: roboto;\\r\\n    background-color: #007336;\\r\\n    color: #fff;\\r\\n    border-top-right-radius: 5px;\\r\\n    border-top-left-radius: 5px;\\r\\n\\r\\n}\\r\\n\\r\\n.modal-body {\\r\\n    font-size: 14px;\\r\\n}\\r\\n\\r\\n.modal-content {\\r\\n    border-radius: 5px;\\r\\n}\\r\\n\\r\\n.close {\\r\\n    float: right;\\r\\n    font-size: 21px;\\r\\n    font-weight: 700;\\r\\n    line-height: 1;\\r\\n    color: #000;\\r\\n    text-shadow: 0 1px 0 #fff;\\r\\n    filter: alpha(opacity=20);\\r\\n    opacity: 1;\\r\\n}\\r\\n\\r\\n\\r\\n.dtp {\\r\\n    z-index: 2147483649 !important;\\r\\n}\\r\\n\\r\\n/* ------------------------------------------------------------------------------ */\\r\\n/* separador */\\r\\nhr {\\r\\n    margin-top: 7px;\\r\\n    margin-bottom: 10px;\\r\\n\\r\\n}\\r\\n\\r\\n/* ------------------------------------------------------------------------------- */\\r\\n\\r\\n/* checkBox */\\r\\n/* Base for label styling */\\r\\n[type=\\\"checkbox\\\"]:not(:checked),\\r\\n[type=\\\"checkbox\\\"]:checked {\\r\\n    position: absolute;\\r\\n    left: -9999px;\\r\\n}\\r\\n[type=\\\"checkbox\\\"]:not(:checked) + .checkLabel,\\r\\n[type=\\\"checkbox\\\"]:checked + .checkLabel {\\r\\n    position: relative;\\r\\n    padding-left: 25px;\\r\\n    cursor: pointer;\\r\\n}\\r\\n\\r\\n/* checkbox aspect */\\r\\n[type=\\\"checkbox\\\"]:not(:checked) + .checkLabel:before,\\r\\n[type=\\\"checkbox\\\"]:checked + .checkLabel:before {\\r\\n    content: '';\\r\\n    position: absolute;\\r\\n    left:0; top: 2px;\\r\\n    width: 17px; height: 17px;\\r\\n    border: 1px solid #aaa;\\r\\n    background: #f8f8f8;\\r\\n    border-radius: 3px;\\r\\n    box-shadow: inset 0 1px 3px rgba(0,0,0,.3)\\r\\n}\\r\\n/* checked mark aspect */\\r\\n[type=\\\"checkbox\\\"]:not(:checked) + .checkLabel:after,\\r\\n[type=\\\"checkbox\\\"]:checked + .checkLabel:after {\\r\\n    content: '\\\\2714';\\r\\n    position: absolute;\\r\\n    top: 3px; left: 2px;\\r\\n    font-size: 18px;\\r\\n    line-height: 0.8;\\r\\n    color: #CB0036;\\r\\n    transition: all .2s;\\r\\n}\\r\\n/* checked mark aspect changes */\\r\\n[type=\\\"checkbox\\\"]:not(:checked) + .checkLabel:after {\\r\\n    opacity: 0;\\r\\n    transform: scale(0);\\r\\n}\\r\\n[type=\\\"checkbox\\\"]:checked + .checkLabel:after {\\r\\n    opacity: 1;\\r\\n    transform: scale(1);\\r\\n}\\r\\n/* disabled checkbox */\\r\\n[type=\\\"checkbox\\\"]:disabled:not(:checked) + .checkLabel:before,\\r\\n[type=\\\"checkbox\\\"]:disabled:checked + .checkLabel:before {\\r\\n    box-shadow: none;\\r\\n    border-color: #bbb;\\r\\n    background-color: #ddd;\\r\\n}\\r\\n[type=\\\"checkbox\\\"]:disabled:checked + .checkLabel:after {\\r\\n    color: #999;\\r\\n}\\r\\n[type=\\\"checkbox\\\"]:disabled + .checkLabel {\\r\\n    color: #aaa;\\r\\n}\\r\\n/* accessibility */\\r\\n[type=\\\"checkbox\\\"]:checked:focus + .checkLabel:before,\\r\\n[type=\\\"checkbox\\\"]:not(:checked):focus + .checkLabel:before {\\r\\n    border: 1px dotted blue;\\r\\n}\\r\\n\\r\\n\\r\\n/* hover style just for information */\\r\\n.checkLabel:hover:before {\\r\\n    border: 1px solid #4778d9!important;\\r\\n}\\r\\n\\r\\n/* cambio estiolo bootstrap */\\r\\np {\\r\\n    margin: 0;\\r\\n}\\r\\n\\r\\n\\r\\n.linkGeneral {\\r\\n    color: #2983ff;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n/* textArea */\\r\\n\\r\\ntextarea:focus ~ label, textarea:valid ~ label {\\r\\n    font-size: 11px;\\r\\n    color: black;\\r\\n    top: -1.45rem;\\r\\n    -webkit-transition: all 0.125s ease;\\r\\n    transition: all 0.125s ease;\\r\\n}\\r\\n\\r\\n.textAreaValidate:focus ~ label, .textAreaValidate:enabled ~ label {\\r\\n    font-size: 11px;\\r\\n    color: black;\\r\\n    top: -1.45rem;\\r\\n    -webkit-transition: all 0.125s ease;\\r\\n    transition: all 0.125s ease;\\r\\n}\\r\\n\\r\\n.styled-input {\\r\\n    float: left;\\r\\n    width: 33.3333%;\\r\\n    position: relative;\\r\\n    font-size: 11px;\\r\\n}\\r\\n\\r\\n.styled-input label {\\r\\n    color: #cecece;\\r\\n    position: absolute;\\r\\n    top: 0;\\r\\n    left: 0;\\r\\n    -webkit-transition: all 0.25s ease;\\r\\n    transition: all 0.25s ease;\\r\\n    pointer-events: none;\\r\\n    font-size: 11px;\\r\\n}\\r\\n\\r\\n.styled-input.wide { width: 100%; }\\r\\n\\r\\ntextarea {\\r\\n\\r\\n    border: 0;\\r\\n    width: 100%;\\r\\n    font-size: 11px;\\r\\n}\\r\\n\\r\\ntextarea ~ span {\\r\\n    display: block;\\r\\n    width: 0;\\r\\n    height: 3px;\\r\\n    background: #CB0036;\\r\\n    position: absolute;\\r\\n    bottom: 3px;\\r\\n    left: 0;\\r\\n    -webkit-transition: all 0.125s ease;\\r\\n    transition: all 0.125s ease;\\r\\n    font-size: 11px;\\r\\n}\\r\\n\\r\\ntextarea:focus { outline: 0; }\\r\\n\\r\\ntextarea:focus ~ span {\\r\\n    width: 100%;\\r\\n    -webkit-transition: all 0.075s ease;\\r\\n    transition: all 0.075s ease;\\r\\n}\\r\\n\\r\\n.textAreaValidate ~ span {\\r\\n    width: 100%;\\r\\n    -webkit-transition: all 0.075s ease;\\r\\n    transition: all 0.075s ease;\\r\\n}\\r\\n\\r\\n/************************************************************************************************************ */\\r\\n/* input number */\\r\\n.spinner input {\\r\\n    text-align: right;\\r\\n}\\r\\n.input-group-btn-vertical {\\r\\n    position: relative;\\r\\n    white-space: nowrap;\\r\\n    width: 1%;\\r\\n    vertical-align: middle;\\r\\n    display: table-cell;\\r\\n}\\r\\n.input-group-btn-vertical > .btn {\\r\\n    display: block;\\r\\n    float: none;\\r\\n    width: 100%;\\r\\n    max-width: 100%;\\r\\n    padding: 8px;\\r\\n    margin-left: -1px;\\r\\n    position: relative;\\r\\n    border-radius: 0;\\r\\n}\\r\\n.input-group-btn-vertical > .btn:first-child {\\r\\n    border-top-right-radius: 4px;\\r\\n}\\r\\n.input-group-btn-vertical > .btn:last-child {\\r\\n    margin-top: -2px;\\r\\n    border-bottom-right-radius: 4px;\\r\\n}\\r\\n.input-group-btn-vertical i{\\r\\n    position: absolute;\\r\\n    top: 0;\\r\\n    left: 4px;\\r\\n}\\r\\n\\r\\n/* ------------------------------------------------------------- */\\r\\n/*footer*/\\r\\n.footerInt {\\r\\n    width: 100%;\\r\\n    height: 45px;\\r\\n    background: #fff;\\r\\n    position: fixed;\\r\\n    bottom: 0;\\r\\n    border-top: solid 2px rgba(0, 0, 0, 0.19);\\r\\n    z-index: 1000;\\r\\n}\\r\\n/* ------------------------------------------------------------- */\\r\\n/*input table*/\\r\\n.inputTable {\\r\\n    display: none;\\r\\n    border-radius: 5px;\\r\\n    font-size: 13px;\\r\\n}\\r\\n\\r\\n.tabllePaddingLTE{\\r\\n    padding-left: 5px !important;\\r\\n    padding-right: 5px !important;\\r\\n    padding-top: 0px !important;\\r\\n    padding-bottom: 20px !important;\\r\\n}\\r\\n\\r\\n.dataTables_wrapper {\\r\\n    padding: 0px;\\r\\n}\\r\\n\\r\\n.tab-pane {\\r\\n    padding: 0px;\\r\\n}\\r\\n/* -------------------------------------------------------------- */\\r\\n/* Mensajes */\\r\\n.mensajeInt {\\r\\n    width: 60%;\\r\\n    position: fixed;\\r\\n    z-index: 999999;\\r\\n    display: none;\\r\\n    right: 0;\\r\\n    left: 0;\\r\\n    bottom: 50px;\\r\\n    margin-right: auto;\\r\\n    margin-left: auto;\\r\\n    animation: fadein 2s;\\r\\n    -moz-animation: fadein 1.8s; /* Firefox */\\r\\n    -webkit-animation: fadein 1.8s; /* Safari and Chrome */\\r\\n    -o-animation: fadein 1.8s; /* Opera */\\r\\n}\\r\\n\\r\\n/* animacion del mensaje */\\r\\n@keyframes fadein {\\r\\n    from {\\r\\n        opacity:0;\\r\\n    }\\r\\n    to {\\r\\n        opacity:1;\\r\\n    }\\r\\n}\\r\\n@-moz-keyframes fadein { /* Firefox */\\r\\n    from {\\r\\n        opacity:0;\\r\\n    }\\r\\n    to {\\r\\n        opacity:1;\\r\\n    }\\r\\n}\\r\\n@-webkit-keyframes fadein { /* Safari and Chrome */\\r\\n    from {\\r\\n        opacity:0;\\r\\n    }\\r\\n    to {\\r\\n        opacity:1;\\r\\n    }\\r\\n}\\r\\n@-o-keyframes fadein { /* Opera */\\r\\n    from {\\r\\n        opacity:0;\\r\\n    }\\r\\n    to {\\r\\n        opacity: 1;\\r\\n    }\\r\\n}\\r\\n\\r\\n/*Paginacion Gids*/\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button:hover {\\r\\n    background: #2e6da4;\\r\\n}\\r\\n\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {\\r\\n    background: #2e6da4;\\r\\n}\\r\\n\\r\\n\\r\\n.ui.selection.dropdown.comboValidate {\\r\\n    border: 1px solid red;\\r\\n}\\r\\n\\r\\n.ui.fluid.dropdown.multiSelectValidate {\\r\\n    border: 1px solid red;\\r\\n}\\r\\n\\r\\n/* links referencias */\\r\\n.linkDefault{\\r\\n    color: #0121bd;\\r\\n    cursor: pointer;\\r\\n    text-decoration: underline;\\r\\n}\\r\\n\\r\\n.inputEmail{\\r\\n    width: 80% !important;\\r\\n}\\r\\n\\r\\n.divseparador{\\r\\n    height: 31px;\\r\\n}\\r\\n\\r\\n.sectionContent{\\r\\n    margin-top: 0px;\\r\\n}\\r\\n\\r\\n/* MediaQueries */\\r\\n@media only screen and (max-width: 1000px) {\\r\\n    .sectionContent{\\r\\n        margin-top: 50px;\\r\\n    }\\r\\n\\r\\n    .inputEmail{\\r\\n        width: 90% !important;\\r\\n        margin-bottom: 15px;\\r\\n    }\\r\\n\\r\\n    .inputResponsive{\\r\\n        margin-bottom: 20px;\\r\\n    }\\r\\n\\r\\n    .inputResponsiveTop{\\r\\n        margin-top: 10px;\\r\\n    }\\r\\n    .divseparador{\\r\\n        height: 0px !important;\\r\\n    }\\r\\n}\\r\\n\\r\\n\\r\\n.sidebar-nav > .active > a {\\r\\n    color: #FFF !important;\\r\\n    background-color: #242424;\\r\\n}\\r\\n\\r\\n.sidebar-nav > .active > a .icon {\\r\\n    border-radius: 50%;\\r\\n    background-color: #FFF !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/* Table Header */\\r\\n.headerTable {\\r\\n    cursor: pointer;\\r\\n    background-color: #1f1a17;\\r\\n}\\r\\n\\r\\n.headerTable-top-left {\\r\\n    border-top-left-radius: 10px !important;\\r\\n    background-color: #1f1a17;\\r\\n}\\r\\n\\r\\n.headerTable-top-right {\\r\\n    cursor: pointer;\\r\\n    border-top-right-radius: 10px;\\r\\n    background-color: #1f1a17;;\\r\\n}\\r\\n\\r\\ntable.dataTable.no-footer {\\r\\n    border-bottom: 1px solid #fff !important;\\r\\n}\\r\\n\\r\\ntable.dataTable thead th, table.dataTable thead td {\\r\\n    padding: 10px 18px;\\r\\n    border-bottom: 1px solid transparent !important;\\r\\n}\\r\\n\\r\\n.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {\\r\\n    background: #2e6da4 !important;\\r\\n    color: #fff !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n.tootlbar-icon {\\r\\n    padding: 0 14px;\\r\\n}\\r\\n\\r\\n.tootlbar-spacer {\\r\\n    flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n/* Absolute Center Spinner */\\r\\n.loading {\\r\\n    position: fixed;\\r\\n    z-index: 999;\\r\\n    height: 2em;\\r\\n    width: 2em;\\r\\n    overflow: show;\\r\\n    margin: auto;\\r\\n    top: 0;\\r\\n    left: 0;\\r\\n    bottom: 0;\\r\\n    right: 0;\\r\\n}\\r\\n\\r\\n/* Transparent Overlay */\\r\\n.loading:before {\\r\\n    content: '';\\r\\n    display: block;\\r\\n    position: fixed;\\r\\n    top: 0;\\r\\n    left: 0;\\r\\n    width: 100%;\\r\\n    height: 100%;\\r\\n    background-color: rgba(0,0,0,0.3);\\r\\n}\\r\\n\\r\\n/* :not(:required) hides these rules from IE9 and below */\\r\\n.loading:not(:required) {\\r\\n    /* hide \\\"loading...\\\" text */\\r\\n    font: 0/0 a;\\r\\n    color: transparent;\\r\\n    text-shadow: none;\\r\\n    background-color: transparent;\\r\\n    border: 0;\\r\\n}\\r\\n\\r\\n.loading:not(:required):after {\\r\\n    content: '';\\r\\n    display: block;\\r\\n    font-size: 10px;\\r\\n    width: 1em;\\r\\n    height: 1em;\\r\\n    margin-top: -0.5em;\\r\\n    -webkit-animation: spinner 1500ms infinite linear;\\r\\n    -moz-animation: spinner 1500ms infinite linear;\\r\\n    -ms-animation: spinner 1500ms infinite linear;\\r\\n    -o-animation: spinner 1500ms infinite linear;\\r\\n    animation: spinner 1500ms infinite linear;\\r\\n    border-radius: 0.5em;\\r\\n    -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;\\r\\n    box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;\\r\\n}\\r\\n\\r\\n/* Animation */\\r\\n\\r\\n@-webkit-keyframes spinner {\\r\\n    0% {\\r\\n        -webkit-transform: rotate(0deg);\\r\\n        -moz-transform: rotate(0deg);\\r\\n        -ms-transform: rotate(0deg);\\r\\n        -o-transform: rotate(0deg);\\r\\n        transform: rotate(0deg);\\r\\n    }\\r\\n    100% {\\r\\n        -webkit-transform: rotate(360deg);\\r\\n        -moz-transform: rotate(360deg);\\r\\n        -ms-transform: rotate(360deg);\\r\\n        -o-transform: rotate(360deg);\\r\\n        transform: rotate(360deg);\\r\\n    }\\r\\n}\\r\\n@-moz-keyframes spinner {\\r\\n    0% {\\r\\n        -webkit-transform: rotate(0deg);\\r\\n        -moz-transform: rotate(0deg);\\r\\n        -ms-transform: rotate(0deg);\\r\\n        -o-transform: rotate(0deg);\\r\\n        transform: rotate(0deg);\\r\\n    }\\r\\n    100% {\\r\\n        -webkit-transform: rotate(360deg);\\r\\n        -moz-transform: rotate(360deg);\\r\\n        -ms-transform: rotate(360deg);\\r\\n        -o-transform: rotate(360deg);\\r\\n        transform: rotate(360deg);\\r\\n    }\\r\\n}\\r\\n@-o-keyframes spinner {\\r\\n    0% {\\r\\n        -webkit-transform: rotate(0deg);\\r\\n        -moz-transform: rotate(0deg);\\r\\n        -ms-transform: rotate(0deg);\\r\\n        -o-transform: rotate(0deg);\\r\\n        transform: rotate(0deg);\\r\\n    }\\r\\n    100% {\\r\\n        -webkit-transform: rotate(360deg);\\r\\n        -moz-transform: rotate(360deg);\\r\\n        -ms-transform: rotate(360deg);\\r\\n        -o-transform: rotate(360deg);\\r\\n        transform: rotate(360deg);\\r\\n    }\\r\\n}\\r\\n@keyframes spinner {\\r\\n    0% {\\r\\n        -webkit-transform: rotate(0deg);\\r\\n        -moz-transform: rotate(0deg);\\r\\n        -ms-transform: rotate(0deg);\\r\\n        -o-transform: rotate(0deg);\\r\\n        transform: rotate(0deg);\\r\\n    }\\r\\n    100% {\\r\\n        -webkit-transform: rotate(360deg);\\r\\n        -moz-transform: rotate(360deg);\\r\\n        -ms-transform: rotate(360deg);\\r\\n        -o-transform: rotate(360deg);\\r\\n        transform: rotate(360deg);\\r\\n    }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n@media (min-width: 768px){\\r\\n\\r\\n    .affix-content .container .page-header{\\r\\n        margin-top: 0;\\r\\n    }\\r\\n    .sidebar-nav{\\r\\n        position:fixed;\\r\\n        width:100%;\\r\\n    }\\r\\n    .affix-sidebar{\\r\\n        padding-right:0;\\r\\n        font-size:small;\\r\\n        padding-left: 0;\\r\\n    }\\r\\n    .affix-row, .affix-container, .affix-content{\\r\\n        height: 100%;\\r\\n        margin-left: 0;\\r\\n        margin-right: 0;\\r\\n    }\\r\\n    .affix-content{\\r\\n        background-color:white;\\r\\n    }\\r\\n    .sidebar-nav .navbar .navbar-collapse {\\r\\n        padding: 0;\\r\\n        max-height: none;\\r\\n    }\\r\\n    .sidebar-nav .navbar{\\r\\n        border-radius:0;\\r\\n        margin-bottom:0;\\r\\n        border:0;\\r\\n    }\\r\\n    .sidebar-nav .navbar ul {\\r\\n        float: none;\\r\\n        display: block;\\r\\n    }\\r\\n    .sidebar-nav .navbar li {\\r\\n        float: none;\\r\\n        display: block;\\r\\n    }\\r\\n    .sidebar-nav .navbar li a {\\r\\n        padding-top: 12px;\\r\\n        padding-bottom: 12px;\\r\\n    }\\r\\n}\\r\\n\\r\\n@media (min-width: 769px){\\r\\n    .affix-content .container {\\r\\n        width: 600px;\\r\\n    }\\r\\n    .affix-content .container .page-header{\\r\\n        margin-top: 0;\\r\\n    }\\r\\n}\\r\\n\\r\\n@media (min-width: 992px){\\r\\n    .affix-content .container {\\r\\n        width: 900px;\\r\\n    }\\r\\n    .affix-content .container .page-header{\\r\\n        margin-top: 0;\\r\\n    }\\r\\n}\\r\\n\\r\\n@media (min-width: 1220px){\\r\\n    .affix-row{\\r\\n        overflow: hidden;\\r\\n    }\\r\\n\\r\\n    .affix-content{\\r\\n        overflow: auto;\\r\\n    }\\r\\n\\r\\n    .affix-content .container {\\r\\n        width: 1000px;\\r\\n    }\\r\\n\\r\\n    .affix-content .container .page-header{\\r\\n        margin-top: 0;\\r\\n    }\\r\\n    .affix-content{\\r\\n        padding-right: 30px;\\r\\n        padding-left: 30px;\\r\\n    }\\r\\n    .affix-title{\\r\\n        border-bottom: 1px solid #ecf0f1;\\r\\n        padding-bottom:10px;\\r\\n    }\\r\\n    .navbar-nav {\\r\\n        margin: 0;\\r\\n    }\\r\\n    .navbar-collapse{\\r\\n        padding: 0;\\r\\n    }\\r\\n    .sidebar-nav .navbar li a:hover {\\r\\n        background-color: #428bca;\\r\\n        color: white;\\r\\n    }\\r\\n    .sidebar-nav .navbar li a > .caret {\\r\\n        margin-top: 8px;\\r\\n    }\\r\\n}\\r\\n\\r\\n.modal-md {\\r\\n    max-width: 75% !important;\\r\\n    margin-right: 0px !important;\\r\\n}\\r\\n\\r\\n.modal-lg {\\r\\n    max-width: 95% !important;\\r\\n    margin-right: 0px !important;\\r\\n}\\r\\n\\r\\n.modal.fade .modal-dialog {\\r\\n    top: 50% !important;\\r\\n}\\r\\n\\r\\n.modal.fade.contentModalLg .modal-dialog {\\r\\n    top: 40% !important;\\r\\n}\\r\\n\\r\\n.pace .pace-progress {\\r\\n    background: #5d8fc2;\\r\\n    position: absolute;\\r\\n    top: 50px;\\r\\n    display: none !important;\\r\\n}\\r\\n\\r\\n.table > thead > tr > th {\\r\\n    text-transform: none !important;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu>.item {\\r\\n    position: relative;\\r\\n    cursor: pointer;\\r\\n    display: block;\\r\\n    border: none;\\r\\n    height: auto;\\r\\n    text-align: left;\\r\\n    border-top: none;\\r\\n    line-height: 1em;\\r\\n    color: rgba(0,0,0,.87);\\r\\n    padding: .78571429rem 1.14285714rem!important;\\r\\n    font-size: 1.0rem;\\r\\n    text-transform: none;\\r\\n    font-weight: 400;\\r\\n    box-shadow: none;\\r\\n    -webkit-touch-callout: none;\\r\\n}\\r\\n\\r\\n.ui.dropdown .menu>.item {\\r\\n    font-size: 1.0rem !important;\\r\\n}\\r\\n\\r\\n.valoractivo{\\r\\n    color: black;\\r\\n    background-color: #FFE599;\\r\\n}\\r\\n\\r\\n.valorcorrecto{\\r\\n    color: black;\\r\\n    background-color: #B6D7A8\\r\\n}\\r\\n\\r\\n.valorinvalido{\\r\\n    color: black;\\r\\n    background-color: #E06666\\r\\n}\\r\\n\\r\\n.valorreprobado{\\r\\n    color: white;\\r\\n    background-color: #CF2A27 !important;\\r\\n}\\r\\n\\r\\nbutton{\\r\\n    text-transform: uppercase;\\r\\n}\\r\\n\\r\\nul.messenger-theme-ice .messenger-message .messenger-actions a {\\r\\n    text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.md-chipLg,.md-chip>a>p{\\r\\n    text-transform: uppercase;\\r\\n    margin-left: 20px !important\\r\\n}\\r\\n\\r\\n.principal{\\r\\n    background-color:#2F619B;\\r\\n    color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.principal:hover{\\r\\n    background-color:#5d8fc2;\\r\\n}\\r\\n\\r\\n.sombra{\\r\\n    z-index: -1;\\r\\n    position:fixed;\\r\\n    top:0; left:0;\\r\\n    background:rgba(0,0,0,0.4);\\r\\n    z-index:10002;\\r\\n    width:100%;\\r\\n    height:100%;\\r\\n    display:block;\\r\\n    opacity:2;\\r\\n}\\r\\n\\r\\n.content {\\r\\n    min-height: 100%;\\r\\n    padding: 70px 40px 42px;\\r\\n    background-color: #eee;\\r\\n}\\r\\n\\r\\n.contentmobile {\\r\\n    min-height: 100%;\\r\\n    padding: 55px 0px 42px;\\r\\n    background-color: #eee;\\r\\n}\\r\\n\\r\\n.nav-tabs > .nav-item > .nav-link {\\r\\n    padding: 12px 18px;\\r\\n    border: none;\\r\\n    color: #999999;\\r\\n    transition: color 0.15s ease-in-out;\\r\\n    box-shadow: 1px 2px 7px 3px rgba(0, 0, 0, 0.26), 4px 2px 9px 3px rgba(0, 0, 0, 0.18);\\r\\n}\\r\\n\\r\\nbody.modal-open {\\r\\n    overflow: hidden;\\r\\n    position: relative;\\r\\n}\\r\\n\\r\\n.soloLectura {\\r\\n    pointer-events: none;\\r\\n}\\r\\n\\r\\n.ui.dropdown .remove.icon {\\r\\n    font-size: 0.857143em;\\r\\n    float:left;\\r\\n    margin:0;\\r\\n    padding:0;\\r\\n    left:-0.7em;\\r\\n    top:0;\\r\\n    position:relative;\\r\\n    opacity: 1;\\r\\n}\\r\\n\\r\\n.ui.multiple.dropdown .remove.icon {\\r\\n    font-size: 0.857143em;\\r\\n    float:left;\\r\\n    margin:0;\\r\\n    padding:0;\\r\\n    left:0.1em;\\r\\n    top: 8px;\\r\\n    position:relative;\\r\\n    opacity: 1;\\r\\n    margin-right: 6px;\\r\\n}\\r\\n\\r\\n.respuestamultimedia{\\r\\n    border: 1px ridge;\\r\\n    padding-top: 10px;\\r\\n}\\r\\n\\r\\n.verticalcenter{\\r\\n    display: flex;\\r\\n    align-items: center;\\r\\n}\\r\\n\\r\\n.bandera {\\r\\n    position: inherit;\\r\\n    left: 40%;\\r\\n    font-size: 14px;\\r\\n}\\r\\n\\r\\n.inpuNumber{\\r\\n    -webkit-appearance: none;\\r\\n    margin: 0;\\r\\n}\\r\\n\\r\\n.inpuNumber{\\r\\n    -moz-appearance:textfield;\\r\\n}\\r\\n\\r\\n\\r\\n.fc-title{\\r\\n    color: #FFF !important;\\r\\n}\\r\\n\\r\\n.table span{\\r\\n  display:none;\\r\\n}\\r\\n\\r\\n.modalDiaFestivo .mydrp{\\r\\n    width: 240px !important;\\r\\n}\\r\\n\\r\\n.textUppercase{\\r\\n    text-transform: uppercase;\\r\\n}\\r\\n\\r\\n.textLowercase{\\r\\n    text-transform: lowercase;\\r\\n}\\r\\n\\r\\n\\r\\n.divpagos{\\r\\n    background-color:#F7F7F9;\\r\\n    border-color: #666666;\\r\\n    border-style: solid;\\r\\n    border-width: 1px;\\r\\n    border-radius: 5px;\\r\\n}\\r\\n\\r\\n.nopadding {\\r\\n    padding-left: 0px!important;\\r\\n    padding-right: 0px!important;\\r\\n}\\r\\n\\r\\n.rowGrid{\\r\\n    font-size: 13px;\\r\\n}\\r\\n\\r\\n.rowGridRed{\\r\\n    font-size: 13px;\\r\\n    background: #DF8C7A;\\r\\n    color: #fff;\\r\\n}\\r\\n\\r\\n.nav-collapsed .page-controls {\\r\\n    right: 0;\\r\\n    z-index: 10;\\r\\n}\\r\\n\\r\\n\\r\\n.tableroDictaminacioDivs{\\r\\n    padding: 10px;\\r\\n    border-radius: 5px;\\r\\n    background: #DCECFF;\\r\\n    -webkit-box-shadow: -8px 8px 9px -1px rgba(186,186,186,1);\\r\\n    -moz-box-shadow: -8px 8px 9px -1px rgba(186,186,186,1);\\r\\n    box-shadow: -8px 8px 9px -1px rgba(186,186,186,1);\\r\\n    height: 100% !important;\\r\\n}\\r\\n/* ********************************************************************************************************************** */\\r\\n/* clases para imprimir preguntas*/\\r\\n#copyPreguntas .widget{\\r\\n    padding: 0px !important;\\r\\n    margin-bottom: 20px !important;\\r\\n}\\r\\n\\r\\n#copyPreguntas .form-group{\\r\\n    margin: 0px !important;\\r\\n}\\r\\n\\r\\n#copyPreguntas .headerprint{\\r\\n    padding-bottom: 0px;\\r\\n    padding-top: 0px;\\r\\n}\\r\\n\\r\\n#copyPreguntas .fieldsetprint{\\r\\n    margin-bottom: 20px !important;\\r\\n}\\r\\n\\r\\n.guardando\\r\\n{\\r\\n  background: url(\" + require(\"./icon/guardando.gif\") + \") no-repeat right center;\\r\\n  display: block;\\r\\n  background-size: 32px 32px;\\r\\n}\\r\\n\\r\\n.errorguardando\\r\\n{\\r\\n  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AABHxUlEQVR42u2debQtVX3nq07VOadO3fPOGwAhtC2jCGpYbQIG13oaFM3QbUyiRhIlxo5JbP+QwIqZiEZMOrZZuuIQMU4RBWV4A7wBAecMa0kUhzSJrW3otLZGiFlKViKIPOD0r+7b+7LffffWPOyq/Tlr1Xo83jmfOqf2rt/3W7V/9ft5Hi9evHjx4sWLV9HXM595vi/byNh8ePDgwYMHD16/eEV3Hqzf4MGDBw8ePHj94hV1HaFsY2MLy7oPePDgwYMHD177vDI7T3Y4MbZxxR8DDx48ePDgwWuRV2bnU9kiY5tW/DHw4MGDBw8evBZ5ZXae7HBmbFHFHwMPHjx48ODBa5GnmXnfmGQXxrKtGFvy91HJHcODBw8ePHjw2uf5KmlwlHfnyQ7nxrZS8cfAgwcPHjx48Nrl6QTCbANg7HxhbPOKP2YODx48ePDgwWuV5xtPDaQbAPXm2PgCW9WfVX6M5myFBw8ePHjw4LXC0wmEE8MA+GlvjoxbDwsONjx48ODBg9dLnn5qYM0AZDmF2bq1Bw42PHjw4MGD1y9ebDw1kBiAMGuNIDIMwAoHGx48ePDgwesdT2u4NgDjtFv/oXII2gDEHGx48ODBgwevdzzzqYFZatEglRQwNgxAxMGGBw8ePHjweslbGAYgykr6Mw1AkfKCS3PzfX8ZhoFsobEFq/9//XvzbPDgwYMHD15DvMsHbCa0AYhT9Vx9KDCeESxSXpDJBQ8ePHjw+sq7fKB3Eha5cvgMA1CmpSCTCx48ePDg9Zl3+QCXEfI9vWcYgDKNBZhc8ODBgwev77zLncwhqNJRiMkFDx48ePAGwrvc5QTCwjtncsGDBw8evAHxLkf8c+6cyQUPHjx48AbGey3in2PnTC548ODBgzc0XhRNX4/4Z+ycyQUPHjx48IbIUyYA8d9s50wuePDgwYM3YN5rEf9Nds7kggcPHjx4A+ddPjTxz/30X8bOmVzw4MGDB4+Kgf14ekCX/s9dJGiesnMmFzx48ODBo2JgP8Q/zGUAjH7Ci5SdM7ngwYMHDx4VA+0Xf93vJ90AqDfH6up/kbJzJhc8ePDgwaNioN3iP1Xdfseppf/VmyN19T83egtvtHMmAzx48ODBo2KgvXUDIrWtGYAspzAzDEBaVyEmAzx48ODBo2KgneIfKz3XBiDMWiOIDAOQ1U+YyQAPHjx48KgYaJ/4aw3XBmCcdus/VA5BG4A4x86ZDPDgwYMHj4qBdom/vnuvDcA0TfwD5Q4mxnpBnp0zGeDBgwcPHhUD7RF/nbenDUCUlfRnGoBp7ipBTAZ48ODBgwfPtoqB2gDEqXquPhQYzwj6BfbJZIAHDx48ePDsqhi4yJHDd4QBCAuKv8dkgAcPHjx48KyrGDgvUu43KCH+HpMBHjx48ODB62nFwJLCv/piMsCDBw8ePHj9rxhYeOdMBnjw4MGDB6/fFQNL7ZzJAA8ePHjw4PW3YmDpnTMZ4MGDBw8evH5WDKy0cyYDPHjw4MGD17+KgZV3zmSABw8ePHjw+lUxsJadMxngwYMHDx68/lQMLPT0X8bOmQzw4MGDBw9ePyoG6tL/uYsEzVN2zmSAV4XX9uSHBw+ePTwqBrYv/mEuA2D0E16k7BwxhFeFR7CEB89dHvG0vYqBvtHvJ90AqDfH6up/kbJzxBBeFR7BEh48d3nE03YqBvqqy+/EMACp7YEjdfU/N3oLb7RzBg9eFR7BEh48d3nE03YqBkZqWzMAWU5hZhiAtK5CDB68KjyCJTx47vKIp81XDIyVnmsDEGatEUSGAcjqJ8zgwavCI1jCg+cuj3jabMVAreHaAIzTbv2HyiFoAxDn2DmDB68Kj2AJD567POJpcxUD9d17bQCmaeIfKHcwMdYL8uycwYNXhUewhAfPXR7xtLmKgQvDAERZSX+mAZjmrhLE4MGrwCNYwoPnNI942lzFQG0A4lQ9Vx8KjGcE/QL7ZPDgleYRLOHBc5pHPG2uYuAiRw7fEQYgLCj+HoMHrwqPYAkPntM84mlzFQPnRcr9BiXE32Pw4FXhESzhwXOaRzztumJgSeFffTF48KrwCJbw4LnLI57aVTGw8GRg8OBV4REs4cFzl0c8tadiYKnJwODBq8IjWMKD5y6PeGpHxcDSk4HBg1eRR7CEB89RHvGv+4qBlSYDgwevIo9gCQ+eozziX7c5VJUnA4MHryKPYAkPnqM84l93OVS1TAYGD15FHsESHjxHecS/bnKo1Jj4dUwGBg9eFR7BEh48d3nE0/ZzqHTp/9xFguYpk4HBg1eFR7CEB89dHvG03RwqX1X8zTYARj/hRcpkYPDgVeERLOHBc5dHPG0vh8o3+v2kGwD15lhd/S9SJgODB68Kj2AJD567POJpOzlUvuryOzEMQGp74Ehd/c+N3sIbTQYGD14VHsESHjx3ecTTdnKoIrWtGYAspzAzDEBaVyEGD14VHsESHjx3ecTT5nOoYqXn2gCEWWsEkWEAsvoJM3jwqvAIlvDgucsjnjabQ6U1XBuAcdqt/1A5BG0A4hyTgcGDV4VHsIQHz10e8bS5HCp9914bgGma+AfKHUyM9YI8k4HBg1eFR7CEB89dHvG0uRyqhWEAoqykP9MATHNXCWLw4FXgESzhwXOaRzxtLodKG4A4Vc/VhwLjGUG/wBxg8OCV5hEs4cFzmkc8bS6HapEjh+8IAxAWFH+PwYNXhUewhAfPaR7xtLkcqnmRcr9BCfH3GDx4VXgES3jwnOYRT7vOoSop/KsvBg9eFR7BEl6XPM7fbseDeGpXDlXhycDgwavCQ7zgdcnj/O12PIin9uRQlTqZGDx4VXiIF7wueZy/3Y4H8dSOHKrSJxODB68iD/GC1yWPWvIdjgfxr/scKtbQ4Dm7BgmPfvSOn7/kYDicQ8UaGjyn1yDh0Y/e8fOXHAxHc6hYQ4Pn/BokPPrRO37+koPhYA6VGhO/jpOJwYPX2zVIeM7zqCVPDoZrOVS69H/uIkFz1tDgDXENEp7zPGrJk4PhUg6Vryr+BnlLBK9sUF+YNTR4g1iDhOc8j1ry5GC4kkPlG/1+0g2AenOsrv4XrKHBG+IaJDznedSSJwfDhRwqX3X5nRgGILU9cKSu/udGb2HW0OANbQ0Snts8asmTg+FCDlWktjUDkOUUZoYBmLOGBm+ga5Dw3OZRS54cjKHnUMVKz7UBCLPWCCLDAKywhgZvwGuQ8NzmUUueHIwh51BpDdcGYJx26z9UDkEbgJg1NHgDX4OE5zaPWvLkYAw1h0rfvdcGYJom/oFyBxNjvYA1NHhDX4OE5zaPWvLkYAw1h2phGIAoK+nPNADT3FWCGDx4/V6DhOcwj1ry5GAMOIdKG4A4Vc/VhwLjGUG/iINm8OD1eA0SnsM8asmTgzHgHKpFjhy+IwxAWFD8PQYPXs/XIOE5zKOWPDkYA86hmhcp9xuUEH+PwYPX8zVIeA7zOH/JwXA+h6qk8LOGBm8Ia5DwHOZx/pKDQQ5VyRdraPAGsAYJz2Ee5y85GORQsYYGz901SHgO8zh/ycEgh4o1NHjurkHCc5tHLXlyMJzOoWINDZ6za5DwnOdRS54cDGdzqFhDg+f0GiQ853nUkicHw8kcKtbQ4Dm/BgnPeR615MnBcC6HSo2JX8fJxODB6+0aJDznedSSJwfDtRwqXfo/d5GgOWto8Ia4BgnPeR615MnBcCmHylcVf4O8JYJXNqgvzBoavEGsQcJznkcteXIwXMmh8o1+P+kGQL05Vlf/C9bQ4A1xDRKe8zxqyZOD4UIOla+6/E4MA5DaHjhSV/9zo7cwa2jwhrYGCc9tHrXkycFwIYcqUtuaAchyCjPDAMxZQ4M30DVIeG7zqCVPDsbQc6hipefaAIRZawSRYQBWWEODN+A1SHhu86glTw7GkHOotIZrAzBOu/UfKoegDUDMGhq8ga9BwnObRy15cjCGmkOl795rAzBNE/9AuYOJsV7AGhq8oa9BwnObRy15cjCGmkO1MAxAlJX0ZxqAae4qQQwevH6vQcJzmEcteXIwBpxDpQ1AnKrn6kOB8YygX8RBM3jwerwGCc9hHrXkycEYcA7VIkcO3xEGICwo/h6DB6/na5DwHOZRS54cjAHnUM2LlPsNSoi/x+DB6/kaJDyHeZy/5GA4n0NVUvhZQ4M3hDVIeA7zOH/JwSCHquSLNTR4A1iDhOcwj/OXHAxyqFhDg+fuGiQ8h3mcv+RgkEPFGho8d9cg4bnNo5Y8ORhO51CxhgbP2TVIeM7zqCVPDoazOVSsocFzeg0SnvM8asmTg+FkDhVraPCcX4OE5zyPWvLkYDiXQ6XGxK/jZGLw4PV2DRKe8zxqyZOD4VoOlS79n7tI0Jw1NHhDXIOE5zyPWvLkYLiUQ+Wrir9B3hLBKxvUF2YNDd4g1iDhOc+jljw5GK7kUPlGv590A6DeHKur/wVraPCGuAYJz3keteTJwXAhh8pXXX4nhgFIbQ8cqav/udFbmDU0eENbg4TnNo9a8uRguJBDFaltzQBkOYWZYQDmrKHBG+gaJDy3edSSJwdj6DlUsdJzbQDCrDWCyDAAK6yhwRvwGiQ8t3nUkicHY8g5VFrDtQEYp936D5VD0AYgZg0N3sDXIOG5zaOWPDkYQ82h0nfvtQGYpol/oNzBxFgvYA0N3tDXIOG5zaOWPDkYQ82hWhgGIMpK+jMNwDR3lSAGD16/1yDhOcyjljw5GAPOodIGIE7Vc/WhwHhG0C/ioBk8eD1eg4TnMI9a8uRgDDiHapEjh+8IAxAWFH+PwYPX8zVIeA7zqCVPDsaAc6jmRcr9BiXE32Pw4PV8DRKewzzOX3IwnM+hKin8rKHBG8IaJDyHeZy/5GCQQ1XyxRoavAGsQcJzmMf5Sw4GOVSsocFzdw0SnsM8zl9yMMihYg0NnrtrkPDc5lFLnhwMp3OoWEOD5+waJDx48MjBcDWHijU0eE6vQcKDB48cDBdzqFhDg+f8GiQ8ePDIwXAth0qNiV/HZGDw4PV2DRIePHjkYDiWQ6VL/+cuEjRPmQwMHrym+1kTLOHBGyaPeNpuDpWvKv4GeUsEr2xQX9j8IIMHr8l+1gRLePCGyyOetpdD5Rv9ftINgHpzrK7+FymTgcGD11Q/a4IlPHjD5hFP28mh8lWX34lhAFLbA0fq6n9u9BbeaDIwePCa6mdNsIQHb9g84mk7OVSR2tYMQJZTmBkGIK2rEIMHr6l+1gRLePCGzSOeNp9DFSs91wYgzFojiAwDkNVPmMGD11Q/a4IlPHjD5hFPm82h0hquDcA47dZ/qByCNgBxjsnA4MFrqp81wRIevGHziKfN5VDpu/faAEzTxD9Q7mBirBfkmQwMHrxu+1kTfOHB6yuPeNpcDtXCMABRVtKfaQCmuasEMXjwLOpnDQ8evF7xiKfN5VBpAxCn6rn6UGA8I+gXmAMMHjwr+lkTfOHB6x2PeNpcDtUiRw7fEQYgLCj+HoMHrwqPYAkPntM84mlzOVTzIuV+gxLi7zF48KrwCJbw4DnNI552nUNVUvhXXwwevCo8giU8eO7yiKd25VAVngwMHrwqPIIlPHju8oin9uRQlZoMDB68KjyCJTx47vKIp3bkUJWeDAwevIo8giU8eI7yiH/d51BVmgwMHryKPIIlPHiO8oh/3eZQVZ4MDB68ijyCJTx4jvKIf93lUNUyGRg8eBV5BEt48BzlEf+6yaFSY+LXMRkYPHht9LMm+MKDNzwe8bT9HCpd+j93kaB5ymRg8OA13c+aYAkP3jB5xNN2c6h8VfE32wAY/YQXKZOBwYPXZD9rgiU8eMPlEU/by6HyjX4/6QZAvTlWV/+LlMnA4MFrqp81wRIevGHziKft5FD5qsvvxDAAqe2BI3X1Pzd6C280GRg8eE31syZYwoM3bB7xtJ0cqkhtawYgyynMDAOQ1lWIwYPXVD9rgiU8eMPmEU+bz6GKlZ5rAxBmrRFEhgHI6ifM4MFrqp81wRIevGHziKfN5lBpDdcGYJx26z9UDkEbgDjHZGDw4DXVz5pgCQ/esHnE0+ZyqPTde20ApmniHyh3MDHWC/JMBgYPXrf9rAm+8OD1lUc8bS6HamEYgCgr6c80ANPcVYIYPHjw4MGDB8+2HCptAOJUPVcfCoxnBP0CBpDBgwcPHjx48OzKoVrkyOE7wgCEBcXfY/DgwYMHDx4863Ko5kXK/QYlxN9j8ODBgwcPHrye5lCVFP7VF4MHDx48ePDgtc+rO6GzcPYngwcPHjx48OC1z+tU/JOdMXjw4MGDBw9e+7xOxT/ZKYMHDx48ePDgtc/rVPwfMQAMHjx48ODBg9cmr1PxP2wAGDx48ODBgwevbV6n4p/8ncGDBw8ePHjw2udVEf/cT/9lPGrA4MGDBw8ePHjt80oJv6r7k7tI0Dwl25DBgwcPHjx48NrnlRH/MJcBMPoJL1KyDRk8ePDgwYMHr31eUfHX/X7SDYB6c6yu/hcp2YYMHjx48ODBg9c+r4j4T1W333Fq6X/15khd/c+N3sIbOQYGDx48ePDgwWufl3cZP1LbmgHIcgozwwCkdRVi8ODBgwcPHrz2eXnEP1Z6rg1AmLVGEBkGIKufMIMHDx48ePDgtc/Lk8O3YhiAcdqt/1A5BG0A4hyPCjB48ODBgwcPXvu8rKf35oYBmKaJf6DcwcRYL8hTZIDBgwcPHjx48NrnpdXtWRgGIMpK+jMNwDR3lSAGDx48ePDgweuCl1a0TxuAOFXP1YcC4xnBvOLvMXjw4MGDBw9eJ7zNxF8bgJW8BX8ClQNQRPw9Bg8ePHjw4MHrhLeZ+G/NeHpvQwNQVPw9Bg8ePHjw4MHrhJfVqydflSCv5IvBgwcPHjx48NrnVRb/Kq9kJwwePHjw4MGD1z6vU/FPdsbgwYMHDx48eO3zOhX/ZKcMHjx48ODBg9c+r1Pxf8QAMHjw4MGDBw9em7xOxf+wAWDw4MGDBw8evLZ5nYp/8ncGDx48ePDgwWufV0X8cz/9l/GoAYMHDx48ePDgtc8rJfyq7k/uIkHzlGxDBg8ePHjw4MFrn1dG/MNcBsDoJ7xIyTZk8ODBgwcPHrz2eUXFX/f7STcA6s2xuvpfpGQbMnjw4MGDBw9e+7wi4j9V3X7HqaX/1ZsjdfU/N3oLb+QYGDx48ODBgwevfV7eZfxIbWsGIMspzAwDkNZViMGDBw8ePHjw2uflEf9Y6bk2AGHWGkFkGICsfsIMHjx48ODBg9c+L08O34phAMZpt/5D5RC0AYhzPCrA4MGDBw8ePHjt87Ke3psbBmCaJv6BcgcTY70gT5EBBg8ePHjw4MFrn5dWt2dhGIAoK+nPNADT3FWCGDx48ODBgwevC15a0T5tAOJUPVcfCoxnBPOKv8fgwYMHDx48eJ3wNhN/bQBW8hb8CVQOQBHx9xg8ePDgwYMHrxPeZuK/NePpvQ0NQFHx9xg8ePDgwYMHrxNeVq+efFWCvJIvBg8ePHjw4MFrn1dZ/Ku8kp0wePDgwYMHD177vE7FP9kZgwcPHjx48OC1z+tU/JOdMnjw4MGDBw9e+7xOxf8RA8DgwYMHDx48eG3yOhX/wwaAwYMHDx48ePDa5nUq/snfGTx48ODBgwevfV4V8c/99F/GowYMHjx48ODBg9c+r5Twq7o/uYsEzVOyDRk8ePDgwYMHr31eGfEPcxkAo5/wIiXbkMGDBw8ePHjw2ucVFX/d7yfdAKg3x+rqf5GSbcjgwYMHDx48eO3zioj/VHX7HaeW/ldvjtTV/9zoLbyRY2Dw4MGDBw8evPZ5eZfxI7WtGYAspzAzDEBaVyEGDx48ePDgwWufl0f8Y6Xn2gCEWWsEkWEAsvoJM3jw4MGDBw9e+7w8OXwrhgEYp936D5VD0AYgzvGoAIMHDx48ePDgtc/LenpvbhiAaZr4B8odTIz1gjxFBhg8ePDgwYMHr31eWt2ehWEAoqykP9MATHNXCWLw4MGDBw8evC54aUX7tAGIU/VcfSgwnhHMK/4egwcPHjx48OB1wttM/LUBWMlb8CdQOQBFxN9j8ODBgwcPHrxOeJuJ/9aMp/c2NABFxd9j8ODBgwcPHrxOeFm9evJVCfJKvujHXK0fc+XBgwcPHjx3eU6bibrHo/Dg0Y+ZkxMePHjwOuI5fSehU/FPdkY/Zk5OePDgweuI5/QyQqfin+yUNRtOTnjw4MHriOd0DkGn4v+IAaAfMycnPHjw4LXLIwetQ/E/bADox8zJCQ8ePHjt88hB61D8k7/zqAYnJzx48OB1wSMHrbz45376L2Pw6MfMyQkPHjx4rfPIQSsn/KruT+4iQfOUwaMfMycnPHjw4LXOIwetlPiHuQyA0U94kTJ49GPm5IQHDx681nnkoBUWf93vJ90AqDfH6up/kTJ49GPm5IQHDx681nnkoBUS/6nq9jtOLf2v3hypq/+50Vt4o8GjHzMnJzx48OB1wSMHLd/xi9S2ZgCynMLMMABpXYXox8zJCQ8ePHhd8MhByz5+sdJzbQDCrDWCyDAAWf2E6cfMyQkPHjx4XfDIQUs/flrDtQEYp936D5VD0AYgzjF49GPm5IQHDx68LnjkoG1+/PTde20ApmniHyh3MDHWC/IMHv2YOTnhwYMHrwseOWibH7+FYQCirKQ/0wBMc1cJoh8zJyc8ePDgdcMjB23z46cNQJyq5+pDgfGMoF9gzOjHzMkJDx48eF3wyEHb/PgtcuTwHWEAwoLi77ks/nX2Y+ZkhwcPHrzCPHLQNj9+8yLlfoMS4u+5LP519WPmZIcHDx68UrzPy/agRw5a+fEoKfyrL/oxc3LCgwcPXoe8LbL9uGz/Q+LzpyU+P0gOWkstgunHzMkJDx48eLbwTj315MesrKxcNJlM3i8x+p/IQWtI/OnHXL4fMyc7PHjw4LXCe5Jsr1HLBeSg1SX+9GMu3Y+ZkxMePHjw2uedKttvyvZZjxy06gebfsycnPDgwYPXQ97p6s7AP3iO5qBVPtj0Y+ZkggcPHrye83ZKXP9zifHfdSUHrZaDTT9mTiZ48ODBGwLvcY977H+YzWYXj8fjvx1yDpr6zX4dB5t+zJxM8ODBgzcoXhCMniL//AHZHvCGlYOmS//nLhI0px9zpX7MnJzw4MGD10/eD8j232X7ttf/HDRfVfzNNgBGP+EF/ZhL92PmZIIHDx68/vNi2V4h29e8fuag+Ua/n3QDoN4cq6v/Bf2YS/Vj5mSCBw8evGHxxrL9V8+OpweKiP9Udfsdp5b+V2+O1NX/3OgtTD/mYv2YOZngwYMHb5i8QLYXi07c2YMctEhtawYgyynMDAMwpx9zqX7MnEzw4MGDN2Deuef+0PbDTw6E37Q0By1Weq4NQJi1RhAZBiCrnzD9mDmZ4MGDB89p3tlnP+H46XT6KtGPezx7ctC0hmsDME679R8qh6ANQEw/5kr9mDmZ4MGDB88t3jGyvVW2Q163OWj67r02ANM08Q+UO5gY6wV5Do7L4r9k8sODBw8evA14Z8l2q9ddDtrCMABRVtKfaQCmuasEuS3+SyY/PHjw4MFL+djPyvZVr/0cNG0A4lQ9Vx8KjGcE/QLHxFnxr7sfMycTPHjw4A2Sl9QQeL1nVBVsIQdtkSOH7wgDEBYUf89l8a+zHzMnEzx48OANnveDsn26pRy0eZFyv0EJ8fdcFv+6+jFzMsGDBw+eG7zTTjsljKLp74p+3GdFDlpJ4V99uSz+dfRj5mSCBw8ePPd4xx137JOk6+BtNuWgFf4xLot/1X7MnEzw4MGD5y5v587ztomu/Jb88/1exzlopX6My+JfpR8zkx8ePHjw4Km3nC3b33sd5aCV/jEui3+FfsxMfnjw4MGDZ74i2d7utZyDVunHOC7+SyY/PHjw4MGrkZfUDbjHayEHrfKPcVz8l0xWePDgwYNXM+8U2T7nNZiDVsuPcVz8l0xWePDgwYPXAG8q23u8BnLQ1Hf06/gxLov/kskKDx48ePCa4onu/Jpo0PdrzEHTpf9zFwmap/wYl8V/yWSFBw9en3mflOSzA5535oc87ycP+v7Lr5tO/2jXdPLO6yeTXbvH44/fEIZ/e8D37zzoeV+X7Vuy/ats35P3P5RsyX+r//ct9Z475f9/9ibP+7B87prdk8k7ro2mr/vgbHbJlVvmz7tix/ZzPrh1ETMe+Xlbty6eJVr0zzXkoPmq4m+2ATD6CS9SfozL4r9kssKDB68PPBH5Y2/2vAtEmC8Vgb5ShPo2+fMu+fNh+XN5k8S5GyXeieCvbcnfk/+f/HvRLY2n9nmXbJ9Kvov6Ts+44XArXcZ3A94JJxz/BNGk/1khB803+v2kGwD15lhd/S9SfozL4r9kssKDB882noh9nAiqbK8Wsb1ZiW0psa5b/LM+K9/3m8l3FlPwKtmenvwWxvcwb2VlZYv8836veA6ar7r8TgwDkNoeOFJX/3Ojt/BGP8Zl8V8SjODBg9c179Izzzj+wGj0HBHQN4l43i7boTbEug2eLCMc2jsOP3f9dHrF++YrL7j48Wf+gOPzJfnzLV6xHLRIbWsGIMspzAwDkNZVyGXxXxKM4MGD1wXvrccec+41s+gyWaf/hIjk/TaIdRu8vWH4PclV+Ij8+6/LdobD8+U3cvJipefaAIRZawSRYQCy+gm7LP5LghE8ePDa4r1r+7bz5Er4DXJFfGcfxLoNntzt+LIsFfzBLZ73BObLUTyt4doAjNNu/YfKIWgDEOfYucvivyS4wYMHr0lecpUrV/iXiwB+ue9i3TRPjMDfJ3kPt3re6cy/tbv32gBM08Q/UO5gYqwX5Nm5y+K/JLjBgwevbl7yaJ6I2UUiZn81VLFumifH7y/kzxe+e9vWmaPzb2EYgCgr6c80ANPcVYLcFv8lwQ0ePHh18US0zhLReots33FJrJvkCePbsmzy9iRnwrH5pw1AnKrn6kOB8YygX2Cfzop/3f2YCZbw4LnJS57PF8G6xXWxbpK3Jwwf3jMef3jfaHSBI/NvkSOH7wgDEBYUf89l8a+zHzPBEh48t3hymz9Ut/m/gFi3zksqFf5CMgYDnn/zIuV+gxLi77ks/nX1YyZYwoPnDk8J/0tFhL6KWHfO+0cZi5fs8rzA2flcUvhXXy6Lfx39mAmW8OC5wXuNFHBJrvhl+wfE2i6eepTwFyTI+y7P58I7d1n8q/ZjJljCg+cGTwTmZ2X7ImJtPe/vJB/jpxD/nDt3Wfyr9GMmWMKDN3yeiMnZIiqfQFx7V374o1J06cmIf8bOXRb/Cv2YCZbw4A2Yl3Tek1vKfyZi8iDi2k+ePDVw6Hppi/zakx9zMuK/yc4dF/9l14Pneg4GvMHxLu6z+CdryCL8LxMhuQdxHUzvge/IHYFfQfw32DnBrdvJgNjAGxDvDX0Wf1njf6yIyF8irsPkyfh+XJZ0TkP8jZ0T3LqdDIgNvIHwdu3ced62Poq/eqzvd0Qgvoe4Dp53n4z1b6Y9NtgX8c/99F/Gzl0Pbp0GI8QG3gB4n3riE886ro/iL2v9Z4oofA5xdYsnJuAzyR2fnuaw6NL/uYsEzVN27npw6zQYITbwes77v49+9Imn9lH8RQj+m2z3Iq5u8sQAfDcp6NRD8Q9zGQCjn/AiZeeuB7dOgxFiA6/HvH/fvn3bj/RN/K+dTh4lArAfMYSnjMAeaT+8oyfir/v9pBsA9eZYXf0vUnbuenDrNBghNvD6yltZiX++b+IvjWTOl4D/TcQQ3rq6AV9/z2LLMy0X/6nq9jtOLf2v3hypq/+50Vt4o527Hty6XgNCbOD1jjedTl7fN/Hf7/uXivgfQgzhbVI34IFrZtErLZ3PkdrWDECWU5gZBiCtq5Drwa3rBBDEBl6veOPx+NanPvUp2/si/peeecbxEuSvRQzh5eHtnoyvuWLLfMWi+RwrPdcGIMxaI4gMA5DVT9j14NZ1AghiA69HvPCrp5xy0kl9Ef83H3fMD8rt3TsQQ3gFeV+QBMGTLJjPWsO1ARin3foPlUPQBiDOsXPXg1vX2Z+IDby+iP/3JenvaX0R/z9fbHmGiP+3EEN4JXl3yXZOh/NZ373XBmCaJv6BcgcTY70gz85dD25dP/qB2MDrBW82i36rL+J/dRy/SIL5fYghvIq8eyVv5DkdzeeFYQCirKQ/0wBMc1cJcjy4WfDoB2IDz3reZDK++fzzd27rg/hfF00vk2D+EOIFrybeQ7IccHEH81kbgDhVz9WHAuMZQb/APp0ObhY894nYwLOdd/dJJ/3HU/sg/rsmkz9FvOA1wRMT8Mctz+dFjhy+IwxAWFD8PdeDmwWPMiE28Kzmzefz59su/j8tdyd2TybvRbzgNVw06G1Jx8iW7hzPi5T7DUqIv+d6cLNgTROxgWctT573v9J28X/+U568Y89kfC3iBa8N3kHff98Lzjt3uzV1MEoK/+rL9WDZt5al8ODBe4T3K+c86djd4/E+xAtemzy523RDMvd63yLY9Sslgi88eP3kJVf+iD+8rniJCfgvh1tg91P86Ue/mgNA8IUHr2e8ZM2f2/7wuuYlywFJTkAvxZ9+9P6S4AsPXv94JPzBs4WXJAb2UvzpR+8tCb7w4PWLJ4/6vRXxgmcZ7/W9E3/60RczAARfePC65akiP4gXPOt4UifgFb0Sf/rR5zcABF948LrlqfK+VPiDZ23FwM3KBjch/rmf/qMffSqP4AsPXg8a+1DbH14PePeubyDUwPmhS//nLhI0px+9n9kOmOALD559PNXS95+7Fge5untg/2h04Z7x+ABiaBdP8kL2Xb0Sv3RPGB6y4PvdpVsJNyT+YS4DYPQTXtCP3itsAAi+8OB1y7v0zDOOF/G/wwbx3zcaPTf5fqvFhybjg4i1PeJ/0Y/88DHJfPlgPPtFmS+HLJgvn79iy3ylAfHX/X7SDYB6c6yu/hf0oy9mAAi+8OB1z5Pge61N4m9WIEzuBCDW9oi/nn83e97zZcwOdf39xCReU7P4T1W333Fq6X/15khd/c+N3sL0o89hAAi+8OB1z9vv+5faKP76+1193DFTec8NiLU94q/nVBET0OTvvWYWvbKm8yNS25oByHIKM8MAzOlHn88AEHzhweueJ6J7ftGruDbFX//ez3reuIgJQPybF/8iJqDp3ys5CQ+8d7HlWRXPj1jpuTYAYdYaQWQYgKx+wq53QSP4woNnEe/a6eRREri/abv461deE4D4tyf+eUxAi7/3G7d63o6S54fWcG0Axmm3/kPlELQBiOlHn88AEHzhwbODJ8F0X1/EP68JQPzbF3/9ks8/b70J6KBc8J4S54e+e68NwDRN/APlDibGegH96HMYAIIvPHh28OTxqZf1TfyzTADi3534b2QCuvq9MrdfWvD8WBgGIMpK+jMNwDR3lSC3xX9J8IUHzw7eAc87UxVS6Z34b2YCEP/uxd80Ackjgl39Xplf35XtsQXOD20A4lQ9Vx8KjGcEi7QndFb8k88RfOHB6573Sc8LJUh+rs/iv94EIP72iL+efx+IZxclxYK6+r1yF+AzuzwvyHl+LHLk8B1hAMKC4u+5LP7J5wm+8OB1z5PA+DtDEH/9Sh4RpGKgXeKvx/eqlfgXu6wYKHP9lTnPj3mRcr9BCfH3XBb/hEPwhQevW54ExTNEhL83FPHXv5eKgfaJv9lYqsOKgfeKCTi1tvOtpPCvvlwWf8MAEMzhweuAJyelLwHxL4cm/usqBu5H/O0RfyPh9LldVQyUfX+sifOt8MFxWfyVASCYw4PXEa9I1n/fxH9dxcC9iL894m/Mv+d2VTHwoO//cqfin+zMZfFXOQAEc3jwOuBJ1v+xEgjvGbL4r6sYuBfxt0f8i5iAJn6vML796lNOOqkz8U926rL4Kx7BHB68DngSeP/MBfHXr7wmAPFvfz4rE/BA28dv13Tyjs7E/xED4Kz4Lwnm8OC1z5MSrWdLMHzQFfHPawIQ/+7m80YmoIVeAYf+bMf2czoR/8MGwGnxXxLM4cFrnyfB8BOuiX+WCUD8u5/Ppglo6/hJLsBHOhH/5O+Oi/+SYA4PXuvi/zOuiv9mJgDxt2c+JyZAHhF8oOXj9+wSv9mv4+C4LP5Lgjk8eO3xXuN5SbOf/+Wy+K83AYi/ffM5qROQtPJt6/jJPL0jeSQ2r/Cruj+5iwTNUw6Oy+K/JJjDg9ceT66uLmpTbPaPRhfafPxUxcD9iL9981kqBr6k5eN3YU7xD3MZAKOf8CLl4Lgs/kuCOTx47fCSev9iAP6hTbFJxDUpxmPz8TtcMXByAPG3Zz7rKo4tH78vbdYnwBB/3e8n3QCoN8fq6n+RcnBcFv8lwRwevHZ4STvULsQrEVdlAqw9fq5UDET8M3kvTtHzqer2O04t/a/eHKmr/7nRW3ijg+Oy+C8J5vDgNc9T3f6+2pV4JeKa3G63+fgNvWIg4u/nyVm5c/1dAPX9IrWtGQAvwynMDAOQ1lXIZfFfWhAsXc/BgNcgLwiCJ9lgJuS5/xdZIF57k8Q7m83TUCsGIv6FeBeu+36x0nNtAMKsNYLIMABZ/YRdD5ZdXykhXvCa4n3x/PN3brXhToJc2XzeEvHKbQK6unOi7pbsRfydFP/kLsDt63L4VgwDME679R8qh6ANQJzj4LgeLLu+TYp4wWuEN51OX2eD+MvV/wWWiVemCbAhYXIIFQMR/3K8A6PR042799oATNPEP1DuYGKsF+Q5OK4Hy65PdsQLXiO8Y47Z8SM25BBIQLvFQvHa1ATYkoOxmQlA/Ict/snn9o7Ht6rvqA1AlJX0ZxqAae4qQY4HSwtOdsQLXu288Xj8ZRvEX67+H2+xeB1lAmxLwFxvAhD/4Yt/8nkpQvTwO3Zs/2FlAOJUPVc/KjCeEfQLHBOng6UFJzviBa92ntz+f4MNwVeC2lssF681E2Dr0xfaBCD+boi/Zslx/NMcOXxHGICwoPh7rgdLC052xAte7bxt27Y+vevgK8IVSWD7Tg+uXPcmj+DZ/Ojl2044ftKHioGIf628b1+52DLL++OCEuLvuR4sLTjZES94dfPu3rnzvG1dB19d9rcPV659qBiYCKvNFQMR/7p5q08E/HyeH1hG+FdfrgdLCyYr4gWvVt5kMr7KhuArwe0v+9Topg8VAxOBtbFiIOLfDE8MwMe9pl7JwXE9WFowWREveLXyRqPRCywQ/zP62OUuEdfkdruN4q95yfezqWIg4t9ol8CHJZH2tEbEPzk4rgdLCyYr4gWvTt5D8u/buw6+0k/98h63uN2bJN7ZKP6al7dYEOLfX/Ffe6/n/V4j4p8cHIJv55MV8YJXJ+/TNgRfCWhf7nmL29wmwNWKgYh/Ozy5C3BHI+L/iAFwOvh2OlkRL3g1817XdfB91/Zt5w2kv32mCXC1YiDi3y5P7gKcVbv4HzYAzgffTicr4gWvZt6PdR18r5caBAMQ/0wT4GrFQMS/E97ltYt/8neCb7eTFfGCVyPvQdnmXQffvePwzoGI/6YmwMaKgXKreA/iP0jxT7YvbfCb/ToOtuvBt9PJinjBq5H3ua7n81uPPebcgYn/USbA5oqBiQlA/Acn/qvbrZ53uhZ+VfdnlPfgzOlH72e2A7b5Nh88eH3gXTOLLhti8NUmIHkEz/aKgbvG432I//Dmn+QBvEKJf5jLABj9hBf0o/cKGwDEAR68Yrzd4/EnBir+axUDDSG0tmLg9ZPJfsR/WPPvgPTWMvr9pBsA5RRidfW/oB99MQNAMIcHrxjvtx93+gny/P/9QxV/s2KgEkSrKwYmdwIQ/4HMv8QAjEb3/fFjHr0wDEBqe+BIXf1rA0A/+pwGgGAOD15xngSo5wxd/PtWMdBMDET8+yv++0ejxAAs5Q7bs7UBSBP/pLPVzDAAc/rR5zMABHN48MrxJFi9yQXx71vFwCImAPG3UPyD0ZoBuDEI3pTkAKSJ/1hd/WsDkNVP2PVsa4I5PHg18ERobndI/HtVMTCPCUD8bZt/3nJfEKxu2gDsG43+Ju3Wf5IdODEMQEw/+nwGgGAOD1553oc9b0VE5pBj4t+rioFpJgDxt2/+afE3DYD82/ev97zZRgcoUFf/2gBE9KPPZwAI5vDgVeNJYHqGo+Kv67Xv6UPFwI1MAOJv5/xLNtMAGMsCT9vo1r9pAKa5qwQ5XmSFYA4PXnWeBKZXuyr+aSagLxUDEX/7eNoAJDkANx35vss2OkiB8YygX+AYO11hjWAOD151nojKzS6L/0YmoC8VAxF/O3naANx09Htv2swAhAXF33NZ/JPPE8zhwavOk6B0l+vib5qAvlQMRPzt5W0i/sn2jc0MgF/iWDtdW51gDg9eNd7Nnncc4n8kLxHXPlQMRPxt5qX2BdhxRA6AV/LlemMVgjk8eNV4YgAuQPyP5iXleG2vGIj495Mnd5nO96q+6EcfLjk54cGrxpPblJci/hvzkjsBtlcMRPz7x5Nz7uLK4k8/+tUcAII5PHgVeBKQrkT8N+elPSLI/EP8S/LeU1n86UfvLwnm8OBV44nA3Yb4p/OKmADEH/HPcQfgr706Bs9x8V8SzOHBq8YznwBA/Dfn5TEBiD/in/NJk6/XMniOi/+SYA4PXnleUpYU8R9WxUDEvxe8h64ZjSaVB89x8V8SzOHBK8874HlnIv7DqxiI+NvNS7YbR6Mz6hg8l8V/STCHB688TwLRTyL+w6wYiPjbK/7JZ2X78bwHe54yeC6L/5JgDg9eed5B33854l+OJ4lcu22vGIj42yf+Bw+Lf/Lnr+U52CvrBnD94Lks/kuCOTx45XnXTad/hPiX5+3uQcVAxN8u8TcMwKvSDnbSITBWV/+LlMFzWfyXBHN48Mrzdk0n70T8q/GMevyIP/Nls7tFywPSEjjZtAGQ7c1p4h+pq39tADYbPJfFf0kwhwevPE/K3e5C/KvzdjtSMRDxLyf++5X4mwZA/u3qzcR/KtvMMADzlMFzWfyXBHN48MrzRLg+TjCvh5fkBAy5YiDiX1L8g9FRBkD9+y0bif9YXf1rA7CSMXgui/+SYA4PXnmeBLi/JZjXxytiAhD/oc8Xb7UlcLLtP1r8k7nymfUHPJRtYhiAOMfguSz+S4I5PHjleQd8/06Ceb28PCYA8R/+fNHibxqAde/7innAA3X1rw1AlHPwXBb/JcEcHrzyvKQkKcG8fl6aCUD83ZgvyWYagA3e+zXz1r9pAJIcAD/neLks/kuCOTx45XliAL5FMG+s5evuPlcMRPyr8bQBSHIAbtr4/XebB10bgHEB8fdcFv/kcwRzePDK88QA/CvBvNGub7v7WDEQ8a/O0wbgps0/c896AxAWFH/PZfFPPk8whwevPE8MwPcI5lQMRPzr52WIf7Ldu94A+CXGzlnxTzgEc3jwyvOSrmQEcyoGIv5N8DI/++BaDoBX8uWy+BsGoMuTyekcDHj9zmHJMgAE83p4RrVAq81iYgD2jMcHGN9WeA96VV7J4LkefC04mRBDeKV555+/c2uXdxLSlgAI5m6Jv+ZdfdwxU/n+NzC+jfPurST+yWC5HnwtOJkQQ3ileefIFVeXt4U3SwIkmLsp/pr3Wc8bFzEBzJdSvHu8qoNH8O38ZEIM4ZXmnXXWGSd2KQ4bPQZIMHdb/PUrrwlgvpTm3V158Ai+3Z5MiCG8KryTTnrMKV2Kw/pCQARzxL+ICWC+VOJ9rfLgEXy7PZkQQ3hVeMcff9xZXYqDGIA7CeaIf9rnNjMBzJdqvCNKAZcdPIJvtycTYgivCi8Igid0KQ4ShD5LMEf8s17rTQDzpbL4Lw+ubwZUcvBcD76dnkyIIbyKvCd3KQ5SqOTDBHPEv4gJYL5UF//ks9KI6+a8gzdPGTzXg2+nJxNiCK8i78e6FAcJQtcQzBH/vK/kEcGkTgDzpcKVv3z2psPbB/IM3sq6AVw/eK4H305PJsQQXkXehV2Kw+7J5B0Ec8S/CE9XC2S+lBN/wwC8Oe1gJx0CY3X1v0gZPNeDb6cnE2IIryLv5V0G82uj6esQf8S/KI+KgYX7QSwPSEvgZNMGQP58VZr4R+rqXxuAzQbP9eDb9cmEGMKrwvv9LoP5B2ezSxB/xL8Mj4qB+cV/vxJ/0wDIv/3qZuI/lW1mGIB5yuC5Hny7PpkQQ3hVeFd0Gcyv3DJ/HuKP+JflqcTAvcyXFPEPRkcZAPXvz9pI/Mfq6l8bgJWMwXM9+HZ9MiGG8Krw9nYZzK/Ysf0cxB/xr8LLawLcmy/eakvgZNt/tPgvb/W809cf8FC2iWEA4hyD53rw7fpkQgzhVeF9qstg/sGti1ieR34Y8Uf8q/CyTICL80WLv2kAjPc8tMvzJuYBD9TVvzYAUc7Bcz34dj35EUN4VXj/r+tgLsHoLsQf8a/K28wEuDpfks00AOuKAH19/a1/0wAkOQB+zvGin/oATyZ48NriSUD6FOKP+NfBW28CXC4apA1AkgNw09Hv/av1B10bgHEB8fdcv/IimMODV40nwehKxB/xr7li4F7XKwZqA3DTxmWA372RAQgLir/n+m1Xgjk8eNV4EqAuRfwR/wYqBu53ucjUZuKvng54xUYGwC9xrJ1ecyWYw4NXjScFyS9A/BH/ZioGTg64W2di88/IOfejR+QAeCVfridccXLCg1eNd8DzjkX8+yf+icAmWw8qBu7nUdOj7gBs96q+6EcfLgnm8OBV58ma5DcR/36Jf1KPPxHX5Ha7zfNPVQzci/hv8ARAFfGnH/1qDgDBHB68ijwJSjcj/v0Sf+P37k0S72yef1QMPMIAHKxF/OlH7y8J5vDgVefJLclXIf69FH+95TYBVAzsnPe7tYg//ei9JcEcHrzqPDEAT0f8eyv+uU0AFQO758m59jSvroNNhTWCOTx4VXmSCBgf8P1DiH9vxT/TBNgy/z7peaHDFQO/L78/qu1gU16VYA4PXh28vePwc4h/r8V/UxNg2/xbbwJcufMki/+3GcfQr+Ngu15bnWAOD14NvOun0ysQ/96L/1EmwNb5p02AY8tObzBK/4/yHuw5/ej9zHbABHN48Mrz3jdfeQHiPwjxXzMBySN4Ns+/t51w/MSlioGyzPYTquJvtgFQB3tl3QGnH31OA4A4wIOXn3fx48/8gb1heD/iPwjxX/1cIq6qWJC18y8ZCxcqBsp23xsffeIW1e8n3QCo2wSxuvpf0I++mAFAHODBK8476PsfQfyHIf76+CXianvFwGRMBl0xULZ9wegW1e13nFr6X4l/pK7+tQGgH31OA0AwhwevHE+SlC5B/Icj/nrrQ8XAZDlgkBUDZds/Gi0lyfYS0wCkiX+ybjMzDMA85WD3+jn6GswEwRwevJp4ErDOQPyHJf59qhi42SOCvRb/YLRqAN6/Zf54ZQDCNPEfq6t/bQBWMg52r5+jr+FOAsEcHrwaeXIX4MuI/+DEfy0xMBFZm+dfXhNg//zzVlsCJ9sNQfAlpevjtFv/oXII2gDEOQ52r5+jr2EZgWAOD16NPLlq+QPEf5Din9sEdD2fs0xAH+afFv9k2zMO/1Dd2d9U/APlDrQBiHIe7F4/R19DDgHBHB68Gnm3eN4TEP/Bin+mCaBiYD28ZNMG4Kr5ytlZSX+mAZjmrhLU8+foqyYQEszhwaufJ3cB/h7xH6z4b2oCqBhYH88wAHek6rk6SNoAjAuIv+f1/Dn6qk8PEMzhwaufJ8Hs1Yj/oMX/KBNAxcB6edoAyP+/LM+BClQOgF/wOPf6Ofqqjw4SzOHBq593q+edjvgPXvzXTEDyCJ7tFQN3jcf7+lQxMBF/abL18H7POyWvAfBLHJu+P0dfqW4AwRwevGZ4sgzwF4j/4MV/rWKgceysrRh4/WSyvz8VA1cfA/xYnh9YRvhXXwN4jr5S0SCCOTx4zfAkuL0Q8R+++JsVA9UxtLpiYHInoEcVAy/0mnoN5Dn6ShUDCebw4DXDe/e2rTPpDfAdxH/44m9WDExut9s8n5PvJ7Uq9vRA/P9ll+dNGhP/gTxHX6lcMMEcHrxGWwS/HfF3Q/zNioF5iwV1NZ+T71fEBHRxJ0tu/7+xUfEfyHP0VXsFEMzhwWuI97Zjdjx5Txg+jPg7I/69qhiYxwR0cfzkez2clNVuVPwH8hx9r3sZwIM3dN7u8fgjiL9T4t+rioFpJqCr4ydX/wcaF/+BPEff614G8OANnbdvNLoA8XdO/HtVMXAjE9Dl8ZPv89TGxX8gz9H3upcBPHgu8CSofRbxd078e1Ux0DQBHR+/v8n5m/06Dk7fn6PvdS8DePBc4MktzV9A/J0Uf31Fu6cPFQOT79n18bvZ856fJfyq7s8o78GZD/g5+l73MoAHzwWeKsf6j4i/e+JvmgAqBmbyvvIazxtliH+YywCog7Oy7gAN7Tn6XvcygAfPFZ7cBXgJ4u+m+GteIq5UDNycJ1f/L8oQf93vJ90AqDfH6up/MeDn6HvdywAePFd4UtQkkKvA/434uyn+mpeIKxUDN7xD8sXNrv6Vnk9Vt99xaul/9eZIXf1rAzDU5+j73ssAHjxneBvlAjQpNletxL+M+NvHS8TV9oqB+0ejF7Z5/DZb+1ffL1LbmgHwMpzCzDAA86E+Rz+AXgbw4DnDS65wJNj9XVtiI0WIDn0gnl2E+NvHMxMDbZvPB0ejn5Pvd6jF4/cFESN/k+8XKz3XBiDMWiOIDAOwMuTn6AfQywAePKd4cqXzU22KzQHfTwL58xB/Kyve7bGtYmAH4p8U/vmJTb6f1nBtAMZpt/5D5RC0AYiH/hz9AHoZwIPnHE9E+aNtio0K6M9D/O3j5TEBAxf/D23y/fTde20ApmniHyh3MDHWCwb/HP0AehnAg+cc713btz1ZguSDbYpNXhOA+LfPSzMBQxZ/2d8Dt3je4zb5fgvDAERZSX+mAZjmrhLU8+foB9DLAB48J3nXTSfvaltsskwA4t8dbyMTMGTxV9ufpHw/bQDiVD1XHwqMZwT9Asek18/RD6CXATx4TvJee/JjTt4bht9pW2ySQC+3XZ+L+FMxsEvxl31+66OetzXl+y1y5PAdYQDCguLveT1/jn4AvQzgwXOWJ7kAv9KF2Kw3AYi/mxUDO7zyT7YXZ3y/eZFyv0EJ8fe8/j9H3/deBvDgOc2TAPzxLsRGmwDE382KgR2L/621nW8lhX/1NYDn6PveywAePKd58ljgaRIQ7+tCbJJHBK+O4xch/vbxjCqOgxJ/2e93JfHv5CbOt8IHZwDP0fe9lwE8eM7z5Er8N7sSm6RY0PtXVi5C/O3j7W6gYmDHV/7JY3+XWiH+A3mOvu+9DODBc56X9AmQwPiZrsRGTMAD6k4A4m8ZT+bF7roqBnYt/rLv25JqmFaI/0Ceo+97LwN48OAdzgV4bHJ7tCuxkeWABzZ6OgDx755XxATYKv6y/Zv8jlOtEf86nqOvIYcAHjx43fBeYpuZkAD50i7FJinMUsQEIP7t8fKYAIvFP5lbv2SV+NfxHD3BFx683vL+z7nn/tB22+4kJI+BdSk2eU0A4t8+L80E2Cz+8r2vs07863iOnuALD15/ebPZ7BLblhHk+agdcjv+612KTWICZPtZxN8+3kYmwGbxl+1rV0XRjrrFP/fTf00+R0/whQevv7zxOPzmE5941gm25RC8Z7HlmUliXpdis5kJQPy755kmwPLb/vffGIzOq/n80KX/cxcJmjf1HD3BFx68fvOm0+nv25hAeM0semXXYrPeBCD+9vASE7BZxUBLrvyTxNKXNSD+YS4DYPQTXjT1HD3BFx683vP+Vf79GBufHtgzGV/btdhoE4D428fbvUHFQIvE/70NiL/u95NuANSbY3X1v2jqOXqCLzx4g+C91cZHB6/YMl+RYPoFC4L5A1fF8QsRf7srBlok/rdf8sSzjqtZ/Keq2+84tfS/enOkrv7nRm/hJp6jJ/jCg9d/3iHZzrKxboDc6j1JgupdXYtNkpNw1Ur8EsTfzoqB+0ejF9og/vK5f3rL8cedVfP5EaltzQBkOYWZYQDSugoRLOHBg5dsH7a1aJAE1nNkuxcxhGcz76Dv//t7tm7dWfP5ESs91wYgzFojiAwDkNVPmGAJDx48vf2MrRUD5eruORJkH0Js4FnKe/Dqlfj5NZ8fWsO1ARin3foPlUPQBiDOsXOCJTx48PT2Vdli28TfuBPw64gNPBt510XRpTWfH/ruvTYA0zTxD5Q7mBjrBXl2TrCEBw+eub3ORvE3ygX/MeIFzyberunkDQ2cHwvDAERZSX+mAZjmrhJEsIQHD96R2wOyPdFG8TfuBFyBeMGzQvwnk7c3dH5oAxCn6rn6UGA8I+gX2CfBEh48eOu320477ZTQ1q6D8gV9Sbh6P+IFr9M6BJPx+3/6/J3bGjo/Fjly+I4wAGFB8fcIlvDgwduIF0XT37a55fALzjt3++7J5AbEC14XvD3j8Z7//NSnbG/w/JgXKfcblBB/j2AJDx68TXj3PepRx/4nG8X/yIp8kxsQL3hti//6CoSdnR8lhX/1RbCEBw/eZrzxePypnTvP22aj+OstuRMgywHvQ7zgtXXbv+Er//ZaBBMs4cGDl8H7DVvFX/OSnACdGIh4wWsy4a/BNf92xT/ZGcENHjx4Gbz7ZftBW8U/7RFBxAue5Y/6dSf+yU4JbvDgwcvB+zvZIpvF3zABF1MxEF6dFf4aKPLTvfg/YgAIlvDgwcvkvc128dcvVTb4XsQLXtXa/tIA6ucGKf6HDQDBDR48eP3vFbBBsaCkgdDdiCG8sl39GmjsY4/4J38nuMGDB68A7x7ZTrZd/I3lgJPkbsDnEUN4RbYDvn97Ay19axX/3E//Zeyc4AYPHrwivNtlm9ou/vp1xZb5ijy6dQ1iCC+n+L/35Wc/4ViLi2Dp0v+5iwTNU3ZOcIMHD15R1jv6IP4m75pZ9Mo9YfgAYghvk+37Iv4vs3w++6rib5C3RPDKBvWFzQ8S3ODBg1eG99K+iL/e3rvY8iwRh28ghvDWbV+7MRid1wPx1/1+0g2AenOsrv4XKTsnuMGDB68EL7x/27atF/RF/DXvVs/bIQF/L2IIb5XledddFUU7eiD+U9Xtd5xa+l+9OVJX/3Ojt/BGOye4wYMHryzvrhNPPOGsvoj/ugTBl0qC4HcRQ2d5/ybj/0s9WcaK1LZmALKcwswwAGldhQhu8ODBq8ALvzCfr8z7JP5GvYDHihH4DGLoFk/G/babPe+0noh/rPRcG4Awa40gMgxAVj9hghs8ePCq8vbK5vdJ/PVrl+cFYgJeKcJwH+I6bF5yx0e2S17jeaOeiL/WcG0Axmm3/kPlELQBiHPsnOAGDx68Onhv7Jv4m6/kilCMwMcQ18Hybr1F1bDoifjru/faAEzTxD9Q7mBirBfk2TnBDR48eHXxXtFH8T8iN0CebhCB+TbiOgyeXPF/S4zdL/Zl/hm8hWEAoqykP9MATHNXCerZyQkPHjx4TfNefcpJJ0n3t3dK3YBDiGs/eSL8D8iff/JRz9va0/msDUCcqufqQ4HxjCDiDw8ePHgVee/cvu1caQjzEcS1Xzy54v+Q3O5/XM/n3yJHDt8RBiBE/OHBgwevXp6IyrPlivIOxNV63hdk+8mBzL95kXK/AeIPDx48eM3wJMHBF3G5ULYvIdZ28cScfVGSOJ+/3OBJlMHP57LCz8kODx48eMV4yWODIjovFtG5E7HunPcVEf4XJY/1MZ85OeHBgwevFZ4yAheKEbgdsW6d9+nkin8z4Uf8OdnhwYMHrxXegdHo6XvH41vlqYGHEetmeGK0HpbkvgPy51OZf9XF3+wRsMidcAAPHjx48DbkXbFj+zm7JpM/FfH69k2+V1IMveW+IFgVQL0lf3eY9y8i/G+UP89g/tUj/maPgHmuRw3gwYMHD14u3pWLLTO5Uv15Ea1PJFeuBTrTrYrf+u0mr6S49pR34PDV/sdke4EstUyYf/WJf2zUF17JWS4YHjx48OCV4KkSw7+X9RhhIob7g9ERQpj8vYq49o0n2x1y2/8y+bdTmX/1ir9v9AiYGc0FfHjw4MGD1zxPhO0sEb/L1z9KuCqGo9FRWyVx7QnvhiD40p5x+IdXzVfOZr4UYxbZ+dToERBVLBcMDx48ePAq8G71vNNFCF8ht7tvliTC+2RbmtuHSoprsq1nWca7b18wumXvOLzk/Vvmj2e+lOIFeYsE+UaPAL2NK+4cHjx48ODVxLv80Sdu3T0eP/vGIHjTvtHob1Qd+1ICK6WLjxDqgyUz82vkfV9+z23y5xsO+P5PvPHRJ25hvlTihbkMgPHmsbGFNewcHjx48OA1xLve82Zyd+BpIpqXyXaTbN/IK9brt6riX5QnYv912Q7Kf/9u8hs+6XkR41s7L5cBCNZvXoUXPHjw4MHrhidLBjtEWM8XUb1YxPU98udfJ2Ir//2QfpZ+/VZF/DN4D6l9/5X8+e5kKUOSHX9U/tzO+LbG87PcwsjY/Io7hwcPHjx4lvGuGY0mN45GZ4hA/7hcof+abK+S/36ziPPVst0iovyZpGSubF+T7W7Z7pHtXtkeVNu96v/drd7zFRH1z8jt+puF84GElTDl//+qbM9KcheKPJrH+DbH+//+ZEtSwzlfWwAAAABJRU5ErkJggg==') no-repeat right center;\\r\\n  display: block;\\r\\n  background-size: 32px 32px;\\r\\n}\\r\\n\\r\\n.errorMessenger\\r\\n{\\r\\n  background: yellow !important;\\r\\n}\\r\\n\\r\\n.margenSeparador\\r\\n{\\r\\n  margin-top: 20px;\\r\\n}\\r\\n\\r\\n.mydrp{\\r\\n    width: 100% !important;\\r\\n}\\r\\n\\r\\n.ModalCalendario .mydrp\\r\\n{\\r\\n    width: 240px!important;\\r\\n}\\r\\n\\r\\n/*-- becas --*/\\r\\n.seccionDatos\\r\\n{\\r\\n  padding: 16px;\\r\\n  margin-bottom: 16px;\\r\\n  background-color: #f7f7f9 !important;\\r\\n  border: 1px solid #e1e1e8  !important;\\r\\n  border-radius: 5px !important;\\r\\n}\\r\\n\\r\\n.divider16\\r\\n{\\r\\n  height: 16px;\\r\\n}\\r\\n\\r\\n\\r\\n.margenleft16\\r\\n{\\r\\n  margin-left: 16px;\\r\\n}\\r\\n\\r\\ntable.informacionTabla\\r\\n{\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\ntable.informacionTabla > tbody > tr > td\\r\\n{\\r\\n  font-size: 12px;\\r\\n  padding: 1px 4px;\\r\\n}\\r\\n\\r\\n.tdAlumno\\r\\n{\\r\\n  width: 64px;\\r\\n}\\r\\n\\r\\n.tdBeca\\r\\n{\\r\\n  width: 70px;\\r\\n}\\r\\n\\r\\n.labelSelect\\r\\n{\\r\\n  margin-left: 10px;\\r\\n  color:#CB0036;\\r\\n}\\r\\n\\r\\n.margenTopSelect\\r\\n{\\r\\n  margin-top: 30px;\\r\\n}\\r\\n\\r\\n.rowSeperador\\r\\n{\\r\\n  height: 27px;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.rowSeperadorSelect\\r\\n{\\r\\n  height: 13px;\\r\\n  width: 100%;\\r\\n}\\r\\n\\r\\n.tabBeca\\r\\n{\\r\\n  color: black;\\r\\n  background: transparent;\\r\\n  width: 100%;\\r\\n  padding: 8px;\\r\\n}\\r\\n\\r\\n.tabBeca:hover\\r\\n{\\r\\n  background: rgb(53, 118, 190);\\r\\n  color: white !important;\\r\\n}\\r\\n\\r\\n.tabBeca.active, .tabBeca.active:hover\\r\\n{\\r\\n  background: #e6e6fa;\\r\\n  color:black !important;\\r\\n}\\r\\n\\r\\n.tabSelBeca, .tabSelBeca:hover, .tabSelBeca:active, .tabSelBeca:focus\\r\\n{\\r\\n  background: #218BC3;\\r\\n  color: white !important;\\r\\n  boder-radius: 5px;\\r\\n\\r\\n  outline: none !important;\\r\\n  box-shadow: none;\\r\\n}\\r\\n\\r\\n.alink\\r\\n{\\r\\n  background: transparent;\\r\\n  color: blue;\\r\\n}\\r\\n\\r\\n.alink:hover\\r\\n{\\r\\n  background: transparent;\\r\\n  color: blue;\\r\\n  text-decoration: underline !important;\\r\\n}\\r\\n\\r\\n.widget.beca\\r\\n{\\r\\n  padding-top: 0px;\\r\\n  padding-left: 5px;\\r\\n  padding-right: 5px\\r\\n}\\r\\n\\r\\ninput:disabled ~ .MaterialLabel\\r\\n{\\r\\n  top: -9px;\\r\\n  font-size: 12px;\\r\\n  color: black;\\r\\n}\\r\\n\\r\\n\\r\\n.tableSelect > thead > tr > th, .tableSelect > tbody > tr > td\\r\\n {\\r\\n   padding: 8px !important;\\r\\n }\\r\\n\\r\\n .card {\\r\\n    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);\\r\\n    transition: 0.3s;\\r\\n  }\\r\\n  \\r\\n  .card:hover {\\r\\n    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);\\r\\n  }\\r\\n\\r\\n\\r\\n.md-chip a p{\\r\\n    margin-left: 25px !important;\\r\\n}\\r\\n\\r\\n.ui.selection.dropdown{\\r\\n    min-width: 100% !important;\\r\\n}\\r\\n\\r\\n.ngx-text-highlight{\\r\\n    display: inline !important;\\r\\n    background:yellow;\\r\\n}\\r\\n\\r\\n.results-menu.fixed{\\r\\n    position: fixed;\\r\\n    top: 0;\\r\\n    left: 45%;\\r\\n    width: auto;\\r\\n    padding: 10px;\\r\\n    background: #fff;\\r\\n    z-index: 9999;\\r\\n    border-bottom-left-radius: 10px;\\r\\n    border-bottom-right-radius: 10px;\\r\\n}\\r\\n.nav-tabs{\\r\\n    background: transparent !important;\\r\\n}\\r\\n/* The switch - the box around the slider */\\r\\n.switch {\\r\\n    position: relative;\\r\\n    display: inline-block;\\r\\n    width: 60px;\\r\\n    height: 34px;\\r\\n  }\\r\\n  \\r\\n  /* Hide default HTML checkbox */\\r\\n  .switch input {\\r\\n    opacity: 0;\\r\\n    width: 0;\\r\\n    height: 0;\\r\\n  }\\r\\n  \\r\\n  /* The slider */\\r\\n  .slider {\\r\\n    position: absolute;\\r\\n    cursor: pointer;\\r\\n    top: 0;\\r\\n    left: 0;\\r\\n    right: 0;\\r\\n    bottom: 0;\\r\\n    background-color: #ccc;\\r\\n    -webkit-transition: .4s;\\r\\n    transition: .4s;\\r\\n  }\\r\\n  \\r\\n  .slider:before {\\r\\n    position: absolute;\\r\\n    content: \\\"\\\";\\r\\n    height: 26px;\\r\\n    width: 26px;\\r\\n    left: 4px;\\r\\n    bottom: 4px;\\r\\n    background-color: white;\\r\\n    -webkit-transition: .4s;\\r\\n    transition: .4s;\\r\\n  }\\r\\n  \\r\\n  .switch input:checked + .slider {\\r\\n    background-color: #3174AE;\\r\\n  }\\r\\n  \\r\\n  .switch input:focus + .slider {\\r\\n    box-shadow: 0 0 1px #3174AE;\\r\\n  }\\r\\n  \\r\\n  .switch input:checked + .slider:before {\\r\\n    -webkit-transform: translateX(26px);\\r\\n    -ms-transform: translateX(26px);\\r\\n    transform: translateX(26px);\\r\\n  }\\r\\n  \\r\\n  /* Rounded sliders */\\r\\n  .slider.round {\\r\\n    border-radius: 34px;\\r\\n  }\\r\\n  \\r\\n  .slider.round:before {\\r\\n    border-radius: 50%;\\r\\n  }\\r\\n.nav-tabs > .nav-item > .nav-link{\\r\\n    box-shadow: none !important;\\r\\n    color: #2d2727 !important;\\r\\n    border: 1px solid #fff !important;\\r\\n    border-top-left-radius: 5px;\\r\\n    border-top-right-radius: 5px;\\r\\n    background: #efefef !important;\\r\\n}\\r\\n\\r\\n.nav-tabs > .nav-item .nav-link.active{\\r\\n    background: #2F619B !important;\\r\\n    color: #fff !important;\\r\\n}\\r\\n\\r\\n.tableFixHead          { overflow-y: auto; min-height: 200px; max-height: 600px; }\\r\\n.tableFixHead thead th { position: sticky; top: 0;}\\r\\n\\r\\n\\r\\n.mobileClases {\\r\\n    background: white; \\r\\n    width: 100%; \\r\\n    height: 50px; \\r\\n    position: static; \\r\\n    vertical-align: middle;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 480px) {\\r\\n    .mobileClases{\\r\\n        width: 50%;\\r\\n    }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 780px) {\\r\\n    .mobileClases{\\r\\n        width: 33%;\\r\\n    }\\r\\n}\\r\\n\\r\\n.table .mydp span,\\r\\n.table .mydrp span{ display: inline; }\\r\\n.table .mydp tr:hover,\\r\\n.table .mydrp tr:hover{ background: none; }\\r\\n.table .mydrp .selbtngroup{ display: table-cell; }\\r\\n/*! jQuery.Flipster, v1.1.3 (built 2019-05-01) */.flipster{display:block;overflow-x:hidden;overflow-y:visible;position:relative}.flipster:focus{outline:none}.flipster__container,.flipster__item{margin:0;padding:0;list-style-type:none;position:relative}.flipster__container{display:block;white-space:nowrap;word-spacing:-0.25em;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.flipster__item{display:inline-block;white-space:normal;word-spacing:normal;vertical-align:bottom}.flipster--click .flipster__item--past,.flipster--click .flipster__item--future{cursor:pointer}.flipster__item img{max-width:100%}.flipster__button{position:absolute;top:50%;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;z-index:999;cursor:pointer;font-size:15px;opacity:.5;-webkit-transition:opacity 500ms ease;-o-transition:opacity 500ms ease;transition:opacity 500ms ease;margin:-1em 2em}.flipster__button svg{width:2em;stroke:currentColor;fill:transparent;stroke-width:3;stroke-linecap:round}.flipster__button:hover,.flipster__button:focus{opacity:1}.flipster__button--prev{left:0}.flipster__button--next{right:0}.flipster__nav,.flipster__nav__item{list-style-type:none;margin:0;padding:0}.flipster__nav{display:block;margin:0 0 4em;text-align:center;position:relative}.flipster__nav__item{display:inline-block;margin:0 .25em}.flipster__nav__link{display:block;color:inherit;padding:.5em 1em;position:relative;overflow:hidden;-webkit-transition:all 250ms ease-out;-o-transition:all 250ms ease-out;transition:all 250ms ease-out;-webkit-transition-timing-function:cubic-bezier(.56, .12, .12, .98);-o-transition-timing-function:cubic-bezier(.56, .12, .12, .98);transition-timing-function:cubic-bezier(.56, .12, .12, .98)}.flipster__nav__link::after{content:'';display:block;background:#232221;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-transform:translateY(100%) translateY(-0.25em);-ms-transform:translateY(100%) translateY(-0.25em);transform:translateY(100%) translateY(-0.25em);-webkit-transition:inherit;-o-transition:inherit;transition:inherit}.flipster__nav__item--current>.flipster__nav__link,.flipster__nav__link:hover,.flipster__nav__link:focus{color:#FFF}.flipster__nav__item--current>.flipster__nav__link::after,.flipster__nav__link:hover::after,.flipster__nav__link:focus::after{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.flipster__nav__child{display:none;position:absolute;top:100%;left:0;right:0;margin-top:-1px;padding:.5em;background:#4e4441;z-index:1}.flipster__nav__child .flipster__nav__link{color:#FFF}.flipster__nav__child .flipster__nav__link::after{background:#FFF}.flipster__nav__child .flipster__nav__item--current>.flipster__nav__link,.flipster__nav__child .flipster__nav__link:hover,.flipster__nav__child .flipster__nav__link:focus{color:#232221}.flipster__nav__item--current .flipster__nav__child{display:block}.flipster--carousel .flipster__container,.flipster--carousel .flipster__item,.flipster--carousel .flipster__item__content{-webkit-transition:all 350ms ease-in-out;-o-transition:all 350ms ease-in-out;transition:all 350ms ease-in-out;-webkit-transition-timing-function:cubic-bezier(.56, .12, .12, .98);-o-transition-timing-function:cubic-bezier(.56, .12, .12, .98);transition-timing-function:cubic-bezier(.56, .12, .12, .98)}.flipster--carousel .flipster__item{-webkit-perspective:800px;perspective:800px}.flipster--carousel .flipster__item--past,.flipster--carousel .flipster__item--future{opacity:0;-webkit-transition-delay:115ms;-o-transition-delay:115ms;transition-delay:115ms}.flipster--carousel .flipster__item--past-2,.flipster--carousel .flipster__item--future-2{opacity:.6;-webkit-transition-delay:90ms;-o-transition-delay:90ms;transition-delay:90ms}.flipster--carousel .flipster__item--past-1,.flipster--carousel .flipster__item--future-1{opacity:.8;-webkit-transition-delay:60ms;-o-transition-delay:60ms;transition-delay:60ms}.flipster--carousel .flipster__item--past .flipster__item__content{-webkit-transform:translateX(100%) rotateY(-20deg) scale(.5);transform:translateX(100%) rotateY(-20deg) scale(.5)}.flipster--carousel .flipster__item--past-2 .flipster__item__content{-webkit-transform:translateX(25%) rotateY(40deg) scale(.65);transform:translateX(25%) rotateY(40deg) scale(.65)}.flipster--carousel .flipster__item--past-1 .flipster__item__content{-webkit-transform:rotateY(45deg) scale(.8);transform:rotateY(45deg) scale(.8)}.flipster--carousel .flipster__item--future .flipster__item__content{-webkit-transform:translateX(-100%) rotateY(20deg) scale(.5);transform:translateX(-100%) rotateY(20deg) scale(.5)}.flipster--carousel .flipster__item--future-2 .flipster__item__content{-webkit-transform:translateX(-25%) rotateY(-40deg) scale(.65);transform:translateX(-25%) rotateY(-40deg) scale(.65)}.flipster--carousel .flipster__item--future-1 .flipster__item__content{-webkit-transform:rotateY(-45deg) scale(.8);transform:rotateY(-45deg) scale(.8)}.flipster--carousel.no-rotate .flipster__item--past .flipster__item__content{-webkit-transform:translateX(175%) scale(.5);-ms-transform:translateX(175%) scale(.5);transform:translateX(175%) scale(.5)}.flipster--carousel.no-rotate .flipster__item--past-2 .flipster__item__content{-webkit-transform:translateX(25%) scale(.65);-ms-transform:translateX(25%) scale(.65);transform:translateX(25%) scale(.65)}.flipster--carousel.no-rotate .flipster__item--past-1 .flipster__item__content{-webkit-transform:translateX(0%) scale(.8);-ms-transform:translateX(0%) scale(.8);transform:translateX(0%) scale(.8)}.flipster--carousel.no-rotate .flipster__item--future .flipster__item__content{-webkit-transform:translateX(-175%) scale(.5);-ms-transform:translateX(-175%) scale(.5);transform:translateX(-175%) scale(.5)}.flipster--carousel.no-rotate .flipster__item--future-2 .flipster__item__content{-webkit-transform:translateX(-25%) scale(.65);-ms-transform:translateX(-25%) scale(.65);transform:translateX(-25%) scale(.65)}.flipster--carousel.no-rotate .flipster__item--future-1 .flipster__item__content{-webkit-transform:translateX(0%) scale(.8);-ms-transform:translateX(0%) scale(.8);transform:translateX(0%) scale(.8)}.flipster--carousel .flipster__item--current .flipster__item__content{-webkit-transform:translateX(0) rotateY(0deg) scale(1);transform:translateX(0) rotateY(0deg) scale(1);-webkit-transition-delay:60ms;-o-transition-delay:60ms;transition-delay:60ms}.flipster--coverflow .flipster__container,.flipster--coverflow .flipster__item,.flipster--coverflow .flipster__item__content{-webkit-transition:all 350ms ease-in-out;-o-transition:all 350ms ease-in-out;transition:all 350ms ease-in-out;-webkit-transition-timing-function:cubic-bezier(.56, .12, .12, .98);-o-transition-timing-function:cubic-bezier(.56, .12, .12, .98);transition-timing-function:cubic-bezier(.56, .12, .12, .98)}.flipster--coverflow .flipster__item{-webkit-perspective:800px;perspective:800px}.flipster--coverflow .flipster__container{padding-bottom:5%}.flipster--coverflow .flipster__item__content{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%;box-reflect:below 0 -webkit-gradient(linear, left bottom, left top, color-stop(.05, rgba(255,255,255,0.12)), color-stop(.2, transparent));-webkit-box-reflect:below 0 -webkit-gradient(linear, left bottom, left top, color-stop(.05, rgba(255,255,255,0.12)), color-stop(.2, transparent))}.flipster--coverflow .flipster__item__content img:only-child{display:block}.flipster--coverflow .flipster__item--past .flipster__item__content{-webkit-transform-origin:0% 50%;-ms-transform-origin:0% 50%;transform-origin:0% 50%;-webkit-transform:scale(.75) rotateY(55deg);transform:scale(.75) rotateY(55deg)}.flipster--coverflow .flipster__item--future .flipster__item__content{-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transform:scale(.75) rotateY(-55deg);transform:scale(.75) rotateY(-55deg)}.flipster--coverflow .flip-current .flipster__item__content{-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}.flipster--flat .flipster__container,.flipster--flat .flipster__item,.flipster--flat .flipster__item__content{-webkit-transition:all 400ms ease-in-out;-o-transition:all 400ms ease-in-out;transition:all 400ms ease-in-out}.flipster--flat .flipster__item--past,.flipster--flat .flipster__item--future{opacity:.5}.flipster--flat .flipster__item--past .flipster__item__content{-webkit-transform:scale(.75);-ms-transform:scale(.75);transform:scale(.75)}.flipster--flat .flipster__item--future .flipster__item__content{-webkit-transform:scale(.75);-ms-transform:scale(.75);transform:scale(.75)}.flipster--wheel{overflow:hidden}.flipster--wheel .flipster__container,.flipster--wheel .flipster__item__content{-webkit-transition:all 400ms ease-in-out;-o-transition:all 400ms ease-in-out;transition:all 400ms ease-in-out;-webkit-transition-timing-function:cubic-bezier(.56, .12, .12, .98);-o-transition-timing-function:cubic-bezier(.56, .12, .12, .98);transition-timing-function:cubic-bezier(.56, .12, .12, .98)}.flipster--wheel .flipster__container{padding-bottom:20%}.flipster--wheel .flipster__item__content{-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}.flipster--wheel .flipster__item--past .flipster__item__content{-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.flipster--wheel .flipster__item--future .flipster__item__content{-webkit-transform-origin:0% 100%;-ms-transform-origin:0% 100%;transform-origin:0% 100%}.flipster--wheel .flipster__item__content img:only-child{display:block}.flipster--wheel .flipster__item--past .flipster__item__content{opacity:0;-webkit-transform:rotateZ(-80deg) translate(-170%, 110%);-ms-transform:rotate(-80deg) translate(-170%, 110%);transform:rotateZ(-80deg) translate(-170%, 110%)}.flipster--wheel .flipster__item--future .flipster__item__content{opacity:0;-webkit-transform:rotateZ(80deg) translate(170%, 110%);-ms-transform:rotate(80deg) translate(170%, 110%);transform:rotateZ(80deg) translate(170%, 110%)}.flipster--wheel .flipster__item--past-3 .flipster__item__content{opacity:1;-webkit-transform:rotateZ(-60deg) translate(-70%, 75%);-ms-transform:rotate(-60deg) translate(-70%, 75%);transform:rotateZ(-60deg) translate(-70%, 75%)}.flipster--wheel .flipster__item--future-3 .flipster__item__content{opacity:1;-webkit-transform:rotateZ(60deg) translate(70%, 75%);-ms-transform:rotate(60deg) translate(70%, 75%);transform:rotateZ(60deg) translate(70%, 75%)}.flipster--wheel .flipster__item--past-2 .flipster__item__content{opacity:1;-webkit-transform:rotateZ(-40deg) translate(-17%, 30%);-ms-transform:rotate(-40deg) translate(-17%, 30%);transform:rotateZ(-40deg) translate(-17%, 30%)}.flipster--wheel .flipster__item--future-2 .flipster__item__content{opacity:1;-webkit-transform:rotateZ(40deg) translate(17%, 30%);-ms-transform:rotate(40deg) translate(17%, 30%);transform:rotateZ(40deg) translate(17%, 30%)}.flipster--wheel .flipster__item--past-1 .flipster__item__content{opacity:1;-webkit-transform:rotateZ(-20deg);-ms-transform:rotate(-20deg);transform:rotateZ(-20deg)}.flipster--wheel .flipster__item--future-1 .flipster__item__content{opacity:1;-webkit-transform:rotateZ(20deg);-ms-transform:rotate(20deg);transform:rotateZ(20deg)}.flipster--wheel .flip-current .flipster__item__content{-webkit-transform:rotateX(0deg);transform:rotateX(0deg)}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/general.css\n// module id = 1179\n// module chunks = 3","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/* fallback */\\r\\n@font-face {\\r\\n    font-family: 'Material Icons';\\r\\n    font-style: normal;\\r\\n    font-weight: 400;\\r\\n    src: local('Material Icons'), local('MaterialIcons-Regular'), url(\" + require(\"./google-element/google-element.woff2\") + \") format('woff2');\\r\\n}\\r\\n\\r\\n.material-icons {\\r\\n    font-family: 'Material Icons';\\r\\n    font-weight: normal;\\r\\n    font-style: normal;\\r\\n    font-size: 24px;\\r\\n    line-height: 1;\\r\\n    letter-spacing: normal;\\r\\n    text-transform: none;\\r\\n    display: inline-block;\\r\\n    white-space: nowrap;\\r\\n    word-wrap: normal;\\r\\n    direction: ltr;\\r\\n    -webkit-font-feature-settings: 'liga';\\r\\n    -webkit-font-smoothing: antialiased;\\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/icon/google-icons.css\n// module id = 1180\n// module chunks = 3","'use strict';\r\n\r\nvar hasOwn = Object.prototype.hasOwnProperty;\r\nvar toStr = Object.prototype.toString;\r\n\r\nvar isArray = function isArray(arr) {\r\n\tif (typeof Array.isArray === 'function') {\r\n\t\treturn Array.isArray(arr);\r\n\t}\r\n\r\n\treturn toStr.call(arr) === '[object Array]';\r\n};\r\n\r\nvar isPlainObject = function isPlainObject(obj) {\r\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\r\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\r\n\t// Not own constructor property must be Object\r\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\t// Own properties are enumerated firstly, so to speed up,\r\n\t// if last one is own, then all properties are own.\r\n\tvar key;\r\n\tfor (key in obj) { /**/ }\r\n\r\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\r\n};\r\n\r\nmodule.exports = function extend() {\r\n\tvar options, name, src, copy, copyIsArray, clone;\r\n\tvar target = arguments[0];\r\n\tvar i = 1;\r\n\tvar length = arguments.length;\r\n\tvar deep = false;\r\n\r\n\t// Handle a deep copy situation\r\n\tif (typeof target === 'boolean') {\r\n\t\tdeep = target;\r\n\t\ttarget = arguments[1] || {};\r\n\t\t// skip the boolean and the target\r\n\t\ti = 2;\r\n\t}\r\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\r\n\t\ttarget = {};\r\n\t}\r\n\r\n\tfor (; i < length; ++i) {\r\n\t\toptions = arguments[i];\r\n\t\t// Only deal with non-null/undefined values\r\n\t\tif (options != null) {\r\n\t\t\t// Extend the base object\r\n\t\t\tfor (name in options) {\r\n\t\t\t\tsrc = target[name];\r\n\t\t\t\tcopy = options[name];\r\n\r\n\t\t\t\t// Prevent never-ending loop\r\n\t\t\t\tif (target !== copy) {\r\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\r\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\r\n\t\t\t\t\t\tif (copyIsArray) {\r\n\t\t\t\t\t\t\tcopyIsArray = false;\r\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Never move original objects, clone them\r\n\t\t\t\t\t\ttarget[name] = extend(deep, clone, copy);\r\n\r\n\t\t\t\t\t// Don't bring in undefined values\r\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\r\n\t\t\t\t\t\ttarget[name] = copy;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the modified object\r\n\treturn target;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/extend/index.js\n// module id = 1181\n// module chunks = 3","module.exports = __webpack_public_path__ + \"cb0baee50b443b95ebd754490815209b.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/datatables.net-dt/images/sort_asc.png\n// module id = 1182\n// module chunks = 3","module.exports = __webpack_public_path__ + \"cb0baee50b443b95ebd754490815209b.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/datatables.net-dt/images/sort_asc_disabled.png\n// module id = 1183\n// module chunks = 3","module.exports = __webpack_public_path__ + \"00991f4d516aa180f74bbc4cf719baf3.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/datatables.net-dt/images/sort_both.png\n// module id = 1184\n// module chunks = 3","module.exports = __webpack_public_path__ + \"d40430489b04492a4947993961b45d18.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/datatables.net-dt/images/sort_desc.png\n// module id = 1185\n// module chunks = 3","module.exports = __webpack_public_path__ + \"d40430489b04492a4947993961b45d18.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/datatables.net-dt/images/sort_desc_disabled.png\n// module id = 1186\n// module chunks = 3","module.exports = __webpack_public_path__ + \"2009d23b388e6639b50892698eb17d0e.swf\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-webcam/lib/fallback/jscam.swf\n// module id = 1187\n// module chunks = 3","module.exports = __webpack_public_path__ + \"ee281be7a76e1bcb3b92f9eb0cc162ff.swf\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-webcam/lib/fallback/jscam_canvas_only.swf\n// module id = 1188\n// module chunks = 3","module.exports = __webpack_public_path__ + \"9c74e172f87984c48ddf5c8108cabe67.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/Semantic/themes/default/assets/images/flags.png\n// module id = 1189\n// module chunks = 3","module.exports = __webpack_public_path__ + \"1e9d94a3f259d582387ecb6c3c663f84.gif\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/icon/guardando.gif\n// module id = 1190\n// module chunks = 3","module.exports = __webpack_public_path__ + \"e5ad074b7969cc386b387f08dba4fcec.gif\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/loading-sm.gif\n// module id = 1191\n// module chunks = 3","module.exports = __webpack_public_path__ + \"public/fonts/icons.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/Semantic/themes/default/assets/fonts/icons.svg\n// module id = 1192\n// module chunks = 3","module.exports = __webpack_public_path__ + \"public/fonts/icons.ttf\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/Semantic/themes/default/assets/fonts/icons.ttf\n// module id = 1193\n// module chunks = 3","module.exports = __webpack_public_path__ + \"public/fonts/icons.woff\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/Semantic/themes/default/assets/fonts/icons.woff\n// module id = 1194\n// module chunks = 3","module.exports = __webpack_public_path__ + \"public/fonts/icons.woff2\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/Semantic/themes/default/assets/fonts/icons.woff2\n// module id = 1195\n// module chunks = 3","module.exports = __webpack_public_path__ + \"public/fonts/Roboto-Light.ttf\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/fonts/roboto/Roboto-Light.ttf\n// module id = 1196\n// module chunks = 3","module.exports = __webpack_public_path__ + \"public/fonts/google-element.woff2\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/icon/google-element/google-element.woff2\n// module id = 1197\n// module chunks = 3","/*!\r\n * FullCalendar v3.2.0\r\n * Docs & License: https://fullcalendar.io/\r\n * (c) 2017 Adam Shaw\r\n */\r\n\r\n(function(factory) {\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\tdefine([ 'jquery', 'moment' ], factory);\r\n\t}\r\n\telse if (typeof exports === 'object') { // Node/CommonJS\r\n\t\tmodule.exports = factory(require('jquery'), require('moment'));\r\n\t}\r\n\telse {\r\n\t\tfactory(jQuery, moment);\r\n\t}\r\n})(function($, moment) {\r\n\r\n;;\r\n\r\nvar FC = $.fullCalendar = {\r\n\tversion: \"3.2.0\",\r\n\t// When introducing internal API incompatibilities (where fullcalendar plugins would break),\r\n\t// the minor version of the calendar should be upped (ex: 2.7.2 -> 2.8.0)\r\n\t// and the below integer should be incremented.\r\n\tinternalApiVersion: 8\r\n};\r\nvar fcViews = FC.views = {};\r\n\r\n\r\n$.fn.fullCalendar = function(options) {\r\n\tvar args = Array.prototype.slice.call(arguments, 1); // for a possible method call\r\n\tvar res = this; // what this function will return (this jQuery object by default)\r\n\r\n\tthis.each(function(i, _element) { // loop each DOM element involved\r\n\t\tvar element = $(_element);\r\n\t\tvar calendar = element.data('fullCalendar'); // get the existing calendar object (if any)\r\n\t\tvar singleRes; // the returned value of this single method call\r\n\r\n\t\t// a method call\r\n\t\tif (typeof options === 'string') {\r\n\t\t\tif (calendar && $.isFunction(calendar[options])) {\r\n\t\t\t\tsingleRes = calendar[options].apply(calendar, args);\r\n\t\t\t\tif (!i) {\r\n\t\t\t\t\tres = singleRes; // record the first method call result\r\n\t\t\t\t}\r\n\t\t\t\tif (options === 'destroy') { // for the destroy method, must remove Calendar object data\r\n\t\t\t\t\telement.removeData('fullCalendar');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// a new calendar initialization\r\n\t\telse if (!calendar) { // don't initialize twice\r\n\t\t\tcalendar = new Calendar(element, options);\r\n\t\t\telement.data('fullCalendar', calendar);\r\n\t\t\tcalendar.render();\r\n\t\t}\r\n\t});\r\n\r\n\treturn res;\r\n};\r\n\r\n\r\nvar complexOptions = [ // names of options that are objects whose properties should be combined\r\n\t'header',\r\n\t'footer',\r\n\t'buttonText',\r\n\t'buttonIcons',\r\n\t'themeButtonIcons'\r\n];\r\n\r\n\r\n// Merges an array of option objects into a single object\r\nfunction mergeOptions(optionObjs) {\r\n\treturn mergeProps(optionObjs, complexOptions);\r\n}\r\n\r\n;;\r\n\r\n// exports\r\nFC.intersectRanges = intersectRanges;\r\nFC.applyAll = applyAll;\r\nFC.debounce = debounce;\r\nFC.isInt = isInt;\r\nFC.htmlEscape = htmlEscape;\r\nFC.cssToStr = cssToStr;\r\nFC.proxy = proxy;\r\nFC.capitaliseFirstLetter = capitaliseFirstLetter;\r\n\r\n\r\n/* FullCalendar-specific DOM Utilities\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n// Given the scrollbar widths of some other container, create borders/margins on rowEls in order to match the left\r\n// and right space that was offset by the scrollbars. A 1-pixel border first, then margin beyond that.\r\nfunction compensateScroll(rowEls, scrollbarWidths) {\r\n\tif (scrollbarWidths.left) {\r\n\t\trowEls.css({\r\n\t\t\t'border-left-width': 1,\r\n\t\t\t'margin-left': scrollbarWidths.left - 1\r\n\t\t});\r\n\t}\r\n\tif (scrollbarWidths.right) {\r\n\t\trowEls.css({\r\n\t\t\t'border-right-width': 1,\r\n\t\t\t'margin-right': scrollbarWidths.right - 1\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\n// Undoes compensateScroll and restores all borders/margins\r\nfunction uncompensateScroll(rowEls) {\r\n\trowEls.css({\r\n\t\t'margin-left': '',\r\n\t\t'margin-right': '',\r\n\t\t'border-left-width': '',\r\n\t\t'border-right-width': ''\r\n\t});\r\n}\r\n\r\n\r\n// Make the mouse cursor express that an event is not allowed in the current area\r\nfunction disableCursor() {\r\n\t$('body').addClass('fc-not-allowed');\r\n}\r\n\r\n\r\n// Returns the mouse cursor to its original look\r\nfunction enableCursor() {\r\n\t$('body').removeClass('fc-not-allowed');\r\n}\r\n\r\n\r\n// Given a total available height to fill, have `els` (essentially child rows) expand to accomodate.\r\n// By default, all elements that are shorter than the recommended height are expanded uniformly, not considering\r\n// any other els that are already too tall. if `shouldRedistribute` is on, it considers these tall rows and \r\n// reduces the available height.\r\nfunction distributeHeight(els, availableHeight, shouldRedistribute) {\r\n\r\n\t// *FLOORING NOTE*: we floor in certain places because zoom can give inaccurate floating-point dimensions,\r\n\t// and it is better to be shorter than taller, to avoid creating unnecessary scrollbars.\r\n\r\n\tvar minOffset1 = Math.floor(availableHeight / els.length); // for non-last element\r\n\tvar minOffset2 = Math.floor(availableHeight - minOffset1 * (els.length - 1)); // for last element *FLOORING NOTE*\r\n\tvar flexEls = []; // elements that are allowed to expand. array of DOM nodes\r\n\tvar flexOffsets = []; // amount of vertical space it takes up\r\n\tvar flexHeights = []; // actual css height\r\n\tvar usedHeight = 0;\r\n\r\n\tundistributeHeight(els); // give all elements their natural height\r\n\r\n\t// find elements that are below the recommended height (expandable).\r\n\t// important to query for heights in a single first pass (to avoid reflow oscillation).\r\n\tels.each(function(i, el) {\r\n\t\tvar minOffset = i === els.length - 1 ? minOffset2 : minOffset1;\r\n\t\tvar naturalOffset = $(el).outerHeight(true);\r\n\r\n\t\tif (naturalOffset < minOffset) {\r\n\t\t\tflexEls.push(el);\r\n\t\t\tflexOffsets.push(naturalOffset);\r\n\t\t\tflexHeights.push($(el).height());\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// this element stretches past recommended height (non-expandable). mark the space as occupied.\r\n\t\t\tusedHeight += naturalOffset;\r\n\t\t}\r\n\t});\r\n\r\n\t// readjust the recommended height to only consider the height available to non-maxed-out rows.\r\n\tif (shouldRedistribute) {\r\n\t\tavailableHeight -= usedHeight;\r\n\t\tminOffset1 = Math.floor(availableHeight / flexEls.length);\r\n\t\tminOffset2 = Math.floor(availableHeight - minOffset1 * (flexEls.length - 1)); // *FLOORING NOTE*\r\n\t}\r\n\r\n\t// assign heights to all expandable elements\r\n\t$(flexEls).each(function(i, el) {\r\n\t\tvar minOffset = i === flexEls.length - 1 ? minOffset2 : minOffset1;\r\n\t\tvar naturalOffset = flexOffsets[i];\r\n\t\tvar naturalHeight = flexHeights[i];\r\n\t\tvar newHeight = minOffset - (naturalOffset - naturalHeight); // subtract the margin/padding\r\n\r\n\t\tif (naturalOffset < minOffset) { // we check this again because redistribution might have changed things\r\n\t\t\t$(el).height(newHeight);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n\r\n// Undoes distrubuteHeight, restoring all els to their natural height\r\nfunction undistributeHeight(els) {\r\n\tels.height('');\r\n}\r\n\r\n\r\n// Given `els`, a jQuery set of <td> cells, find the cell with the largest natural width and set the widths of all the\r\n// cells to be that width.\r\n// PREREQUISITE: if you want a cell to take up width, it needs to have a single inner element w/ display:inline\r\nfunction matchCellWidths(els) {\r\n\tvar maxInnerWidth = 0;\r\n\r\n\tels.find('> *').each(function(i, innerEl) {\r\n\t\tvar innerWidth = $(innerEl).outerWidth();\r\n\t\tif (innerWidth > maxInnerWidth) {\r\n\t\t\tmaxInnerWidth = innerWidth;\r\n\t\t}\r\n\t});\r\n\r\n\tmaxInnerWidth++; // sometimes not accurate of width the text needs to stay on one line. insurance\r\n\r\n\tels.width(maxInnerWidth);\r\n\r\n\treturn maxInnerWidth;\r\n}\r\n\r\n\r\n// Given one element that resides inside another,\r\n// Subtracts the height of the inner element from the outer element.\r\nfunction subtractInnerElHeight(outerEl, innerEl) {\r\n\tvar both = outerEl.add(innerEl);\r\n\tvar diff;\r\n\r\n\t// effin' IE8/9/10/11 sometimes returns 0 for dimensions. this weird hack was the only thing that worked\r\n\tboth.css({\r\n\t\tposition: 'relative', // cause a reflow, which will force fresh dimension recalculation\r\n\t\tleft: -1 // ensure reflow in case the el was already relative. negative is less likely to cause new scroll\r\n\t});\r\n\tdiff = outerEl.outerHeight() - innerEl.outerHeight(); // grab the dimensions\r\n\tboth.css({ position: '', left: '' }); // undo hack\r\n\r\n\treturn diff;\r\n}\r\n\r\n\r\n/* Element Geom Utilities\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nFC.getOuterRect = getOuterRect;\r\nFC.getClientRect = getClientRect;\r\nFC.getContentRect = getContentRect;\r\nFC.getScrollbarWidths = getScrollbarWidths;\r\n\r\n\r\n// borrowed from https://github.com/jquery/jquery-ui/blob/1.11.0/ui/core.js#L51\r\nfunction getScrollParent(el) {\r\n\tvar position = el.css('position'),\r\n\t\tscrollParent = el.parents().filter(function() {\r\n\t\t\tvar parent = $(this);\r\n\t\t\treturn (/(auto|scroll)/).test(\r\n\t\t\t\tparent.css('overflow') + parent.css('overflow-y') + parent.css('overflow-x')\r\n\t\t\t);\r\n\t\t}).eq(0);\r\n\r\n\treturn position === 'fixed' || !scrollParent.length ? $(el[0].ownerDocument || document) : scrollParent;\r\n}\r\n\r\n\r\n// Queries the outer bounding area of a jQuery element.\r\n// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).\r\n// Origin is optional.\r\nfunction getOuterRect(el, origin) {\r\n\tvar offset = el.offset();\r\n\tvar left = offset.left - (origin ? origin.left : 0);\r\n\tvar top = offset.top - (origin ? origin.top : 0);\r\n\r\n\treturn {\r\n\t\tleft: left,\r\n\t\tright: left + el.outerWidth(),\r\n\t\ttop: top,\r\n\t\tbottom: top + el.outerHeight()\r\n\t};\r\n}\r\n\r\n\r\n// Queries the area within the margin/border/scrollbars of a jQuery element. Does not go within the padding.\r\n// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).\r\n// Origin is optional.\r\n// NOTE: should use clientLeft/clientTop, but very unreliable cross-browser.\r\nfunction getClientRect(el, origin) {\r\n\tvar offset = el.offset();\r\n\tvar scrollbarWidths = getScrollbarWidths(el);\r\n\tvar left = offset.left + getCssFloat(el, 'border-left-width') + scrollbarWidths.left - (origin ? origin.left : 0);\r\n\tvar top = offset.top + getCssFloat(el, 'border-top-width') + scrollbarWidths.top - (origin ? origin.top : 0);\r\n\r\n\treturn {\r\n\t\tleft: left,\r\n\t\tright: left + el[0].clientWidth, // clientWidth includes padding but NOT scrollbars\r\n\t\ttop: top,\r\n\t\tbottom: top + el[0].clientHeight // clientHeight includes padding but NOT scrollbars\r\n\t};\r\n}\r\n\r\n\r\n// Queries the area within the margin/border/padding of a jQuery element. Assumed not to have scrollbars.\r\n// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).\r\n// Origin is optional.\r\nfunction getContentRect(el, origin) {\r\n\tvar offset = el.offset(); // just outside of border, margin not included\r\n\tvar left = offset.left + getCssFloat(el, 'border-left-width') + getCssFloat(el, 'padding-left') -\r\n\t\t(origin ? origin.left : 0);\r\n\tvar top = offset.top + getCssFloat(el, 'border-top-width') + getCssFloat(el, 'padding-top') -\r\n\t\t(origin ? origin.top : 0);\r\n\r\n\treturn {\r\n\t\tleft: left,\r\n\t\tright: left + el.width(),\r\n\t\ttop: top,\r\n\t\tbottom: top + el.height()\r\n\t};\r\n}\r\n\r\n\r\n// Returns the computed left/right/top/bottom scrollbar widths for the given jQuery element.\r\n// NOTE: should use clientLeft/clientTop, but very unreliable cross-browser.\r\nfunction getScrollbarWidths(el) {\r\n\tvar leftRightWidth = el.innerWidth() - el[0].clientWidth; // the paddings cancel out, leaving the scrollbars\r\n\tvar bottomWidth = el.innerHeight() - el[0].clientHeight; // \"\r\n\tvar widths;\r\n\r\n\tleftRightWidth = sanitizeScrollbarWidth(leftRightWidth);\r\n\tbottomWidth = sanitizeScrollbarWidth(bottomWidth);\r\n\r\n\twidths = { left: 0, right: 0, top: 0, bottom: bottomWidth };\r\n\r\n\tif (getIsLeftRtlScrollbars() && el.css('direction') == 'rtl') { // is the scrollbar on the left side?\r\n\t\twidths.left = leftRightWidth;\r\n\t}\r\n\telse {\r\n\t\twidths.right = leftRightWidth;\r\n\t}\r\n\r\n\treturn widths;\r\n}\r\n\r\n\r\n// The scrollbar width computations in getScrollbarWidths are sometimes flawed when it comes to\r\n// retina displays, rounding, and IE11. Massage them into a usable value.\r\nfunction sanitizeScrollbarWidth(width) {\r\n\twidth = Math.max(0, width); // no negatives\r\n\twidth = Math.round(width);\r\n\treturn width;\r\n}\r\n\r\n\r\n// Logic for determining if, when the element is right-to-left, the scrollbar appears on the left side\r\n\r\nvar _isLeftRtlScrollbars = null;\r\n\r\nfunction getIsLeftRtlScrollbars() { // responsible for caching the computation\r\n\tif (_isLeftRtlScrollbars === null) {\r\n\t\t_isLeftRtlScrollbars = computeIsLeftRtlScrollbars();\r\n\t}\r\n\treturn _isLeftRtlScrollbars;\r\n}\r\n\r\nfunction computeIsLeftRtlScrollbars() { // creates an offscreen test element, then removes it\r\n\tvar el = $('<div><div/></div>')\r\n\t\t.css({\r\n\t\t\tposition: 'absolute',\r\n\t\t\ttop: -1000,\r\n\t\t\tleft: 0,\r\n\t\t\tborder: 0,\r\n\t\t\tpadding: 0,\r\n\t\t\toverflow: 'scroll',\r\n\t\t\tdirection: 'rtl'\r\n\t\t})\r\n\t\t.appendTo('body');\r\n\tvar innerEl = el.children();\r\n\tvar res = innerEl.offset().left > el.offset().left; // is the inner div shifted to accommodate a left scrollbar?\r\n\tel.remove();\r\n\treturn res;\r\n}\r\n\r\n\r\n// Retrieves a jQuery element's computed CSS value as a floating-point number.\r\n// If the queried value is non-numeric (ex: IE can return \"medium\" for border width), will just return zero.\r\nfunction getCssFloat(el, prop) {\r\n\treturn parseFloat(el.css(prop)) || 0;\r\n}\r\n\r\n\r\n/* Mouse / Touch Utilities\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nFC.preventDefault = preventDefault;\r\n\r\n\r\n// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)\r\nfunction isPrimaryMouseButton(ev) {\r\n\treturn ev.which == 1 && !ev.ctrlKey;\r\n}\r\n\r\n\r\nfunction getEvX(ev) {\r\n\tvar touches = ev.originalEvent.touches;\r\n\r\n\t// on mobile FF, pageX for touch events is present, but incorrect,\r\n\t// so, look at touch coordinates first.\r\n\tif (touches && touches.length) {\r\n\t\treturn touches[0].pageX;\r\n\t}\r\n\r\n\treturn ev.pageX;\r\n}\r\n\r\n\r\nfunction getEvY(ev) {\r\n\tvar touches = ev.originalEvent.touches;\r\n\r\n\t// on mobile FF, pageX for touch events is present, but incorrect,\r\n\t// so, look at touch coordinates first.\r\n\tif (touches && touches.length) {\r\n\t\treturn touches[0].pageY;\r\n\t}\r\n\r\n\treturn ev.pageY;\r\n}\r\n\r\n\r\nfunction getEvIsTouch(ev) {\r\n\treturn /^touch/.test(ev.type);\r\n}\r\n\r\n\r\nfunction preventSelection(el) {\r\n\tel.addClass('fc-unselectable')\r\n\t\t.on('selectstart', preventDefault);\r\n}\r\n\r\n\r\nfunction allowSelection(el) {\r\n\tel.removeClass('fc-unselectable')\r\n\t\t.off('selectstart', preventDefault);\r\n}\r\n\r\n\r\n// Stops a mouse/touch event from doing it's native browser action\r\nfunction preventDefault(ev) {\r\n\tev.preventDefault();\r\n}\r\n\r\n\r\n/* General Geometry Utils\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nFC.intersectRects = intersectRects;\r\n\r\n// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false\r\nfunction intersectRects(rect1, rect2) {\r\n\tvar res = {\r\n\t\tleft: Math.max(rect1.left, rect2.left),\r\n\t\tright: Math.min(rect1.right, rect2.right),\r\n\t\ttop: Math.max(rect1.top, rect2.top),\r\n\t\tbottom: Math.min(rect1.bottom, rect2.bottom)\r\n\t};\r\n\r\n\tif (res.left < res.right && res.top < res.bottom) {\r\n\t\treturn res;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\n\r\n// Returns a new point that will have been moved to reside within the given rectangle\r\nfunction constrainPoint(point, rect) {\r\n\treturn {\r\n\t\tleft: Math.min(Math.max(point.left, rect.left), rect.right),\r\n\t\ttop: Math.min(Math.max(point.top, rect.top), rect.bottom)\r\n\t};\r\n}\r\n\r\n\r\n// Returns a point that is the center of the given rectangle\r\nfunction getRectCenter(rect) {\r\n\treturn {\r\n\t\tleft: (rect.left + rect.right) / 2,\r\n\t\ttop: (rect.top + rect.bottom) / 2\r\n\t};\r\n}\r\n\r\n\r\n// Subtracts point2's coordinates from point1's coordinates, returning a delta\r\nfunction diffPoints(point1, point2) {\r\n\treturn {\r\n\t\tleft: point1.left - point2.left,\r\n\t\ttop: point1.top - point2.top\r\n\t};\r\n}\r\n\r\n\r\n/* Object Ordering by Field\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nFC.parseFieldSpecs = parseFieldSpecs;\r\nFC.compareByFieldSpecs = compareByFieldSpecs;\r\nFC.compareByFieldSpec = compareByFieldSpec;\r\nFC.flexibleCompare = flexibleCompare;\r\n\r\n\r\nfunction parseFieldSpecs(input) {\r\n\tvar specs = [];\r\n\tvar tokens = [];\r\n\tvar i, token;\r\n\r\n\tif (typeof input === 'string') {\r\n\t\ttokens = input.split(/\\s*,\\s*/);\r\n\t}\r\n\telse if (typeof input === 'function') {\r\n\t\ttokens = [ input ];\r\n\t}\r\n\telse if ($.isArray(input)) {\r\n\t\ttokens = input;\r\n\t}\r\n\r\n\tfor (i = 0; i < tokens.length; i++) {\r\n\t\ttoken = tokens[i];\r\n\r\n\t\tif (typeof token === 'string') {\r\n\t\t\tspecs.push(\r\n\t\t\t\ttoken.charAt(0) == '-' ?\r\n\t\t\t\t\t{ field: token.substring(1), order: -1 } :\r\n\t\t\t\t\t{ field: token, order: 1 }\r\n\t\t\t);\r\n\t\t}\r\n\t\telse if (typeof token === 'function') {\r\n\t\t\tspecs.push({ func: token });\r\n\t\t}\r\n\t}\r\n\r\n\treturn specs;\r\n}\r\n\r\n\r\nfunction compareByFieldSpecs(obj1, obj2, fieldSpecs) {\r\n\tvar i;\r\n\tvar cmp;\r\n\r\n\tfor (i = 0; i < fieldSpecs.length; i++) {\r\n\t\tcmp = compareByFieldSpec(obj1, obj2, fieldSpecs[i]);\r\n\t\tif (cmp) {\r\n\t\t\treturn cmp;\r\n\t\t}\r\n\t}\r\n\r\n\treturn 0;\r\n}\r\n\r\n\r\nfunction compareByFieldSpec(obj1, obj2, fieldSpec) {\r\n\tif (fieldSpec.func) {\r\n\t\treturn fieldSpec.func(obj1, obj2);\r\n\t}\r\n\treturn flexibleCompare(obj1[fieldSpec.field], obj2[fieldSpec.field]) *\r\n\t\t(fieldSpec.order || 1);\r\n}\r\n\r\n\r\nfunction flexibleCompare(a, b) {\r\n\tif (!a && !b) {\r\n\t\treturn 0;\r\n\t}\r\n\tif (b == null) {\r\n\t\treturn -1;\r\n\t}\r\n\tif (a == null) {\r\n\t\treturn 1;\r\n\t}\r\n\tif ($.type(a) === 'string' || $.type(b) === 'string') {\r\n\t\treturn String(a).localeCompare(String(b));\r\n\t}\r\n\treturn a - b;\r\n}\r\n\r\n\r\n/* FullCalendar-specific Misc Utilities\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n// Computes the intersection of the two ranges. Will return fresh date clones in a range.\r\n// Returns undefined if no intersection.\r\n// Expects all dates to be normalized to the same timezone beforehand.\r\n// TODO: move to date section?\r\nfunction intersectRanges(subjectRange, constraintRange) {\r\n\tvar subjectStart = subjectRange.start;\r\n\tvar subjectEnd = subjectRange.end;\r\n\tvar constraintStart = constraintRange.start;\r\n\tvar constraintEnd = constraintRange.end;\r\n\tvar segStart, segEnd;\r\n\tvar isStart, isEnd;\r\n\r\n\tif (subjectEnd > constraintStart && subjectStart < constraintEnd) { // in bounds at all?\r\n\r\n\t\tif (subjectStart >= constraintStart) {\r\n\t\t\tsegStart = subjectStart.clone();\r\n\t\t\tisStart = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsegStart = constraintStart.clone();\r\n\t\t\tisStart =  false;\r\n\t\t}\r\n\r\n\t\tif (subjectEnd <= constraintEnd) {\r\n\t\t\tsegEnd = subjectEnd.clone();\r\n\t\t\tisEnd = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsegEnd = constraintEnd.clone();\r\n\t\t\tisEnd = false;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tstart: segStart,\r\n\t\t\tend: segEnd,\r\n\t\t\tisStart: isStart,\r\n\t\t\tisEnd: isEnd\r\n\t\t};\r\n\t}\r\n}\r\n\r\n\r\n/* Date Utilities\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nFC.computeIntervalUnit = computeIntervalUnit;\r\nFC.divideRangeByDuration = divideRangeByDuration;\r\nFC.divideDurationByDuration = divideDurationByDuration;\r\nFC.multiplyDuration = multiplyDuration;\r\nFC.durationHasTime = durationHasTime;\r\n\r\nvar dayIDs = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];\r\nvar intervalUnits = [ 'year', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond' ];\r\n\r\n\r\n// Diffs the two moments into a Duration where full-days are recorded first, then the remaining time.\r\n// Moments will have their timezones normalized.\r\nfunction diffDayTime(a, b) {\r\n\treturn moment.duration({\r\n\t\tdays: a.clone().stripTime().diff(b.clone().stripTime(), 'days'),\r\n\t\tms: a.time() - b.time() // time-of-day from day start. disregards timezone\r\n\t});\r\n}\r\n\r\n\r\n// Diffs the two moments via their start-of-day (regardless of timezone). Produces whole-day durations.\r\nfunction diffDay(a, b) {\r\n\treturn moment.duration({\r\n\t\tdays: a.clone().stripTime().diff(b.clone().stripTime(), 'days')\r\n\t});\r\n}\r\n\r\n\r\n// Diffs two moments, producing a duration, made of a whole-unit-increment of the given unit. Uses rounding.\r\nfunction diffByUnit(a, b, unit) {\r\n\treturn moment.duration(\r\n\t\tMath.round(a.diff(b, unit, true)), // returnFloat=true\r\n\t\tunit\r\n\t);\r\n}\r\n\r\n\r\n// Computes the unit name of the largest whole-unit period of time.\r\n// For example, 48 hours will be \"days\" whereas 49 hours will be \"hours\".\r\n// Accepts start/end, a range object, or an original duration object.\r\nfunction computeIntervalUnit(start, end) {\r\n\tvar i, unit;\r\n\tvar val;\r\n\r\n\tfor (i = 0; i < intervalUnits.length; i++) {\r\n\t\tunit = intervalUnits[i];\r\n\t\tval = computeRangeAs(unit, start, end);\r\n\r\n\t\tif (val >= 1 && isInt(val)) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\treturn unit; // will be \"milliseconds\" if nothing else matches\r\n}\r\n\r\n\r\n// Computes the number of units (like \"hours\") in the given range.\r\n// Range can be a {start,end} object, separate start/end args, or a Duration.\r\n// Results are based on Moment's .as() and .diff() methods, so results can depend on internal handling\r\n// of month-diffing logic (which tends to vary from version to version).\r\nfunction computeRangeAs(unit, start, end) {\r\n\r\n\tif (end != null) { // given start, end\r\n\t\treturn end.diff(start, unit, true);\r\n\t}\r\n\telse if (moment.isDuration(start)) { // given duration\r\n\t\treturn start.as(unit);\r\n\t}\r\n\telse { // given { start, end } range object\r\n\t\treturn start.end.diff(start.start, unit, true);\r\n\t}\r\n}\r\n\r\n\r\n// Intelligently divides a range (specified by a start/end params) by a duration\r\nfunction divideRangeByDuration(start, end, dur) {\r\n\tvar months;\r\n\r\n\tif (durationHasTime(dur)) {\r\n\t\treturn (end - start) / dur;\r\n\t}\r\n\tmonths = dur.asMonths();\r\n\tif (Math.abs(months) >= 1 && isInt(months)) {\r\n\t\treturn end.diff(start, 'months', true) / months;\r\n\t}\r\n\treturn end.diff(start, 'days', true) / dur.asDays();\r\n}\r\n\r\n\r\n// Intelligently divides one duration by another\r\nfunction divideDurationByDuration(dur1, dur2) {\r\n\tvar months1, months2;\r\n\r\n\tif (durationHasTime(dur1) || durationHasTime(dur2)) {\r\n\t\treturn dur1 / dur2;\r\n\t}\r\n\tmonths1 = dur1.asMonths();\r\n\tmonths2 = dur2.asMonths();\r\n\tif (\r\n\t\tMath.abs(months1) >= 1 && isInt(months1) &&\r\n\t\tMath.abs(months2) >= 1 && isInt(months2)\r\n\t) {\r\n\t\treturn months1 / months2;\r\n\t}\r\n\treturn dur1.asDays() / dur2.asDays();\r\n}\r\n\r\n\r\n// Intelligently multiplies a duration by a number\r\nfunction multiplyDuration(dur, n) {\r\n\tvar months;\r\n\r\n\tif (durationHasTime(dur)) {\r\n\t\treturn moment.duration(dur * n);\r\n\t}\r\n\tmonths = dur.asMonths();\r\n\tif (Math.abs(months) >= 1 && isInt(months)) {\r\n\t\treturn moment.duration({ months: months * n });\r\n\t}\r\n\treturn moment.duration({ days: dur.asDays() * n });\r\n}\r\n\r\n\r\n// Returns a boolean about whether the given duration has any time parts (hours/minutes/seconds/ms)\r\nfunction durationHasTime(dur) {\r\n\treturn Boolean(dur.hours() || dur.minutes() || dur.seconds() || dur.milliseconds());\r\n}\r\n\r\n\r\nfunction isNativeDate(input) {\r\n\treturn  Object.prototype.toString.call(input) === '[object Date]' || input instanceof Date;\r\n}\r\n\r\n\r\n// Returns a boolean about whether the given input is a time string, like \"06:40:00\" or \"06:00\"\r\nfunction isTimeString(str) {\r\n\treturn /^\\d+\\:\\d+(?:\\:\\d+\\.?(?:\\d{3})?)?$/.test(str);\r\n}\r\n\r\n\r\n/* Logging and Debug\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nFC.log = function() {\r\n\tvar console = window.console;\r\n\r\n\tif (console && console.log) {\r\n\t\treturn console.log.apply(console, arguments);\r\n\t}\r\n};\r\n\r\nFC.warn = function() {\r\n\tvar console = window.console;\r\n\r\n\tif (console && console.warn) {\r\n\t\treturn console.warn.apply(console, arguments);\r\n\t}\r\n\telse {\r\n\t\treturn FC.log.apply(FC, arguments);\r\n\t}\r\n};\r\n\r\n\r\n/* General Utilities\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nvar hasOwnPropMethod = {}.hasOwnProperty;\r\n\r\n\r\n// Merges an array of objects into a single object.\r\n// The second argument allows for an array of property names who's object values will be merged together.\r\nfunction mergeProps(propObjs, complexProps) {\r\n\tvar dest = {};\r\n\tvar i, name;\r\n\tvar complexObjs;\r\n\tvar j, val;\r\n\tvar props;\r\n\r\n\tif (complexProps) {\r\n\t\tfor (i = 0; i < complexProps.length; i++) {\r\n\t\t\tname = complexProps[i];\r\n\t\t\tcomplexObjs = [];\r\n\r\n\t\t\t// collect the trailing object values, stopping when a non-object is discovered\r\n\t\t\tfor (j = propObjs.length - 1; j >= 0; j--) {\r\n\t\t\t\tval = propObjs[j][name];\r\n\r\n\t\t\t\tif (typeof val === 'object') {\r\n\t\t\t\t\tcomplexObjs.unshift(val);\r\n\t\t\t\t}\r\n\t\t\t\telse if (val !== undefined) {\r\n\t\t\t\t\tdest[name] = val; // if there were no objects, this value will be used\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// if the trailing values were objects, use the merged value\r\n\t\t\tif (complexObjs.length) {\r\n\t\t\t\tdest[name] = mergeProps(complexObjs);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// copy values into the destination, going from last to first\r\n\tfor (i = propObjs.length - 1; i >= 0; i--) {\r\n\t\tprops = propObjs[i];\r\n\r\n\t\tfor (name in props) {\r\n\t\t\tif (!(name in dest)) { // if already assigned by previous props or complex props, don't reassign\r\n\t\t\t\tdest[name] = props[name];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn dest;\r\n}\r\n\r\n\r\n// Create an object that has the given prototype. Just like Object.create\r\nfunction createObject(proto) {\r\n\tvar f = function() {};\r\n\tf.prototype = proto;\r\n\treturn new f();\r\n}\r\nFC.createObject = createObject;\r\n\r\n\r\nfunction copyOwnProps(src, dest) {\r\n\tfor (var name in src) {\r\n\t\tif (hasOwnProp(src, name)) {\r\n\t\t\tdest[name] = src[name];\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nfunction hasOwnProp(obj, name) {\r\n\treturn hasOwnPropMethod.call(obj, name);\r\n}\r\n\r\n\r\n// Is the given value a non-object non-function value?\r\nfunction isAtomic(val) {\r\n\treturn /undefined|null|boolean|number|string/.test($.type(val));\r\n}\r\n\r\n\r\nfunction applyAll(functions, thisObj, args) {\r\n\tif ($.isFunction(functions)) {\r\n\t\tfunctions = [ functions ];\r\n\t}\r\n\tif (functions) {\r\n\t\tvar i;\r\n\t\tvar ret;\r\n\t\tfor (i=0; i<functions.length; i++) {\r\n\t\t\tret = functions[i].apply(thisObj, args) || ret;\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n}\r\n\r\n\r\nfunction firstDefined() {\r\n\tfor (var i=0; i<arguments.length; i++) {\r\n\t\tif (arguments[i] !== undefined) {\r\n\t\t\treturn arguments[i];\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nfunction htmlEscape(s) {\r\n\treturn (s + '').replace(/&/g, '&amp;')\r\n\t\t.replace(/</g, '&lt;')\r\n\t\t.replace(/>/g, '&gt;')\r\n\t\t.replace(/'/g, '&#039;')\r\n\t\t.replace(/\"/g, '&quot;')\r\n\t\t.replace(/\\n/g, '<br />');\r\n}\r\n\r\n\r\nfunction stripHtmlEntities(text) {\r\n\treturn text.replace(/&.*?;/g, '');\r\n}\r\n\r\n\r\n// Given a hash of CSS properties, returns a string of CSS.\r\n// Uses property names as-is (no camel-case conversion). Will not make statements for null/undefined values.\r\nfunction cssToStr(cssProps) {\r\n\tvar statements = [];\r\n\r\n\t$.each(cssProps, function(name, val) {\r\n\t\tif (val != null) {\r\n\t\t\tstatements.push(name + ':' + val);\r\n\t\t}\r\n\t});\r\n\r\n\treturn statements.join(';');\r\n}\r\n\r\n\r\n// Given an object hash of HTML attribute names to values,\r\n// generates a string that can be injected between < > in HTML\r\nfunction attrsToStr(attrs) {\r\n\tvar parts = [];\r\n\r\n\t$.each(attrs, function(name, val) {\r\n\t\tif (val != null) {\r\n\t\t\tparts.push(name + '=\"' + htmlEscape(val) + '\"');\r\n\t\t}\r\n\t});\r\n\r\n\treturn parts.join(' ');\r\n}\r\n\r\n\r\nfunction capitaliseFirstLetter(str) {\r\n\treturn str.charAt(0).toUpperCase() + str.slice(1);\r\n}\r\n\r\n\r\nfunction compareNumbers(a, b) { // for .sort()\r\n\treturn a - b;\r\n}\r\n\r\n\r\nfunction isInt(n) {\r\n\treturn n % 1 === 0;\r\n}\r\n\r\n\r\n// Returns a method bound to the given object context.\r\n// Just like one of the jQuery.proxy signatures, but without the undesired behavior of treating the same method with\r\n// different contexts as identical when binding/unbinding events.\r\nfunction proxy(obj, methodName) {\r\n\tvar method = obj[methodName];\r\n\r\n\treturn function() {\r\n\t\treturn method.apply(obj, arguments);\r\n\t};\r\n}\r\n\r\n\r\n// Returns a function, that, as long as it continues to be invoked, will not\r\n// be triggered. The function will be called after it stops being called for\r\n// N milliseconds. If `immediate` is passed, trigger the function on the\r\n// leading edge, instead of the trailing.\r\n// https://github.com/jashkenas/underscore/blob/1.6.0/underscore.js#L714\r\nfunction debounce(func, wait, immediate) {\r\n\tvar timeout, args, context, timestamp, result;\r\n\r\n\tvar later = function() {\r\n\t\tvar last = +new Date() - timestamp;\r\n\t\tif (last < wait) {\r\n\t\t\ttimeout = setTimeout(later, wait - last);\r\n\t\t}\r\n\t\telse {\r\n\t\t\ttimeout = null;\r\n\t\t\tif (!immediate) {\r\n\t\t\t\tresult = func.apply(context, args);\r\n\t\t\t\tcontext = args = null;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treturn function() {\r\n\t\tcontext = this;\r\n\t\targs = arguments;\r\n\t\ttimestamp = +new Date();\r\n\t\tvar callNow = immediate && !timeout;\r\n\t\tif (!timeout) {\r\n\t\t\ttimeout = setTimeout(later, wait);\r\n\t\t}\r\n\t\tif (callNow) {\r\n\t\t\tresult = func.apply(context, args);\r\n\t\t\tcontext = args = null;\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n}\r\n\r\n;;\r\n\r\n/*\r\nGENERAL NOTE on moments throughout the *entire rest* of the codebase:\r\nAll moments are assumed to be ambiguously-zoned unless otherwise noted,\r\nwith the NOTABLE EXCEOPTION of start/end dates that live on *Event Objects*.\r\nAmbiguously-TIMED moments are assumed to be ambiguously-zoned by nature.\r\n*/\r\n\r\nvar ambigDateOfMonthRegex = /^\\s*\\d{4}-\\d\\d$/;\r\nvar ambigTimeOrZoneRegex =\r\n\t/^\\s*\\d{4}-(?:(\\d\\d-\\d\\d)|(W\\d\\d$)|(W\\d\\d-\\d)|(\\d\\d\\d))((T| )(\\d\\d(:\\d\\d(:\\d\\d(\\.\\d+)?)?)?)?)?$/;\r\nvar newMomentProto = moment.fn; // where we will attach our new methods\r\nvar oldMomentProto = $.extend({}, newMomentProto); // copy of original moment methods\r\n\r\n// tell momentjs to transfer these properties upon clone\r\nvar momentProperties = moment.momentProperties;\r\nmomentProperties.push('_fullCalendar');\r\nmomentProperties.push('_ambigTime');\r\nmomentProperties.push('_ambigZone');\r\n\r\n\r\n// Creating\r\n// -------------------------------------------------------------------------------------------------\r\n\r\n// Creates a new moment, similar to the vanilla moment(...) constructor, but with\r\n// extra features (ambiguous time, enhanced formatting). When given an existing moment,\r\n// it will function as a clone (and retain the zone of the moment). Anything else will\r\n// result in a moment in the local zone.\r\nFC.moment = function() {\r\n\treturn makeMoment(arguments);\r\n};\r\n\r\n// Sames as FC.moment, but forces the resulting moment to be in the UTC timezone.\r\nFC.moment.utc = function() {\r\n\tvar mom = makeMoment(arguments, true);\r\n\r\n\t// Force it into UTC because makeMoment doesn't guarantee it\r\n\t// (if given a pre-existing moment for example)\r\n\tif (mom.hasTime()) { // don't give ambiguously-timed moments a UTC zone\r\n\t\tmom.utc();\r\n\t}\r\n\r\n\treturn mom;\r\n};\r\n\r\n// Same as FC.moment, but when given an ISO8601 string, the timezone offset is preserved.\r\n// ISO8601 strings with no timezone offset will become ambiguously zoned.\r\nFC.moment.parseZone = function() {\r\n\treturn makeMoment(arguments, true, true);\r\n};\r\n\r\n// Builds an enhanced moment from args. When given an existing moment, it clones. When given a\r\n// native Date, or called with no arguments (the current time), the resulting moment will be local.\r\n// Anything else needs to be \"parsed\" (a string or an array), and will be affected by:\r\n//    parseAsUTC - if there is no zone information, should we parse the input in UTC?\r\n//    parseZone - if there is zone information, should we force the zone of the moment?\r\nfunction makeMoment(args, parseAsUTC, parseZone) {\r\n\tvar input = args[0];\r\n\tvar isSingleString = args.length == 1 && typeof input === 'string';\r\n\tvar isAmbigTime;\r\n\tvar isAmbigZone;\r\n\tvar ambigMatch;\r\n\tvar mom;\r\n\r\n\tif (moment.isMoment(input) || isNativeDate(input) || input === undefined) {\r\n\t\tmom = moment.apply(null, args);\r\n\t}\r\n\telse { // \"parsing\" is required\r\n\t\tisAmbigTime = false;\r\n\t\tisAmbigZone = false;\r\n\r\n\t\tif (isSingleString) {\r\n\t\t\tif (ambigDateOfMonthRegex.test(input)) {\r\n\t\t\t\t// accept strings like '2014-05', but convert to the first of the month\r\n\t\t\t\tinput += '-01';\r\n\t\t\t\targs = [ input ]; // for when we pass it on to moment's constructor\r\n\t\t\t\tisAmbigTime = true;\r\n\t\t\t\tisAmbigZone = true;\r\n\t\t\t}\r\n\t\t\telse if ((ambigMatch = ambigTimeOrZoneRegex.exec(input))) {\r\n\t\t\t\tisAmbigTime = !ambigMatch[5]; // no time part?\r\n\t\t\t\tisAmbigZone = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if ($.isArray(input)) {\r\n\t\t\t// arrays have no timezone information, so assume ambiguous zone\r\n\t\t\tisAmbigZone = true;\r\n\t\t}\r\n\t\t// otherwise, probably a string with a format\r\n\r\n\t\tif (parseAsUTC || isAmbigTime) {\r\n\t\t\tmom = moment.utc.apply(moment, args);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tmom = moment.apply(null, args);\r\n\t\t}\r\n\r\n\t\tif (isAmbigTime) {\r\n\t\t\tmom._ambigTime = true;\r\n\t\t\tmom._ambigZone = true; // ambiguous time always means ambiguous zone\r\n\t\t}\r\n\t\telse if (parseZone) { // let's record the inputted zone somehow\r\n\t\t\tif (isAmbigZone) {\r\n\t\t\t\tmom._ambigZone = true;\r\n\t\t\t}\r\n\t\t\telse if (isSingleString) {\r\n\t\t\t\tmom.utcOffset(input); // if not a valid zone, will assign UTC\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tmom._fullCalendar = true; // flag for extended functionality\r\n\r\n\treturn mom;\r\n}\r\n\r\n\r\n// Week Number\r\n// -------------------------------------------------------------------------------------------------\r\n\r\n\r\n// Returns the week number, considering the locale's custom week number calcuation\r\n// `weeks` is an alias for `week`\r\nnewMomentProto.week = newMomentProto.weeks = function(input) {\r\n\tvar weekCalc = this._locale._fullCalendar_weekCalc;\r\n\r\n\tif (input == null && typeof weekCalc === 'function') { // custom function only works for getter\r\n\t\treturn weekCalc(this);\r\n\t}\r\n\telse if (weekCalc === 'ISO') {\r\n\t\treturn oldMomentProto.isoWeek.apply(this, arguments); // ISO getter/setter\r\n\t}\r\n\r\n\treturn oldMomentProto.week.apply(this, arguments); // local getter/setter\r\n};\r\n\r\n\r\n// Time-of-day\r\n// -------------------------------------------------------------------------------------------------\r\n\r\n// GETTER\r\n// Returns a Duration with the hours/minutes/seconds/ms values of the moment.\r\n// If the moment has an ambiguous time, a duration of 00:00 will be returned.\r\n//\r\n// SETTER\r\n// You can supply a Duration, a Moment, or a Duration-like argument.\r\n// When setting the time, and the moment has an ambiguous time, it then becomes unambiguous.\r\nnewMomentProto.time = function(time) {\r\n\r\n\t// Fallback to the original method (if there is one) if this moment wasn't created via FullCalendar.\r\n\t// `time` is a generic enough method name where this precaution is necessary to avoid collisions w/ other plugins.\r\n\tif (!this._fullCalendar) {\r\n\t\treturn oldMomentProto.time.apply(this, arguments);\r\n\t}\r\n\r\n\tif (time == null) { // getter\r\n\t\treturn moment.duration({\r\n\t\t\thours: this.hours(),\r\n\t\t\tminutes: this.minutes(),\r\n\t\t\tseconds: this.seconds(),\r\n\t\t\tmilliseconds: this.milliseconds()\r\n\t\t});\r\n\t}\r\n\telse { // setter\r\n\r\n\t\tthis._ambigTime = false; // mark that the moment now has a time\r\n\r\n\t\tif (!moment.isDuration(time) && !moment.isMoment(time)) {\r\n\t\t\ttime = moment.duration(time);\r\n\t\t}\r\n\r\n\t\t// The day value should cause overflow (so 24 hours becomes 00:00:00 of next day).\r\n\t\t// Only for Duration times, not Moment times.\r\n\t\tvar dayHours = 0;\r\n\t\tif (moment.isDuration(time)) {\r\n\t\t\tdayHours = Math.floor(time.asDays()) * 24;\r\n\t\t}\r\n\r\n\t\t// We need to set the individual fields.\r\n\t\t// Can't use startOf('day') then add duration. In case of DST at start of day.\r\n\t\treturn this.hours(dayHours + time.hours())\r\n\t\t\t.minutes(time.minutes())\r\n\t\t\t.seconds(time.seconds())\r\n\t\t\t.milliseconds(time.milliseconds());\r\n\t}\r\n};\r\n\r\n// Converts the moment to UTC, stripping out its time-of-day and timezone offset,\r\n// but preserving its YMD. A moment with a stripped time will display no time\r\n// nor timezone offset when .format() is called.\r\nnewMomentProto.stripTime = function() {\r\n\r\n\tif (!this._ambigTime) {\r\n\r\n\t\tthis.utc(true); // keepLocalTime=true (for keeping *date* value)\r\n\r\n\t\t// set time to zero\r\n\t\tthis.set({\r\n\t\t\thours: 0,\r\n\t\t\tminutes: 0,\r\n\t\t\tseconds: 0,\r\n\t\t\tms: 0\r\n\t\t});\r\n\r\n\t\t// Mark the time as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),\r\n\t\t// which clears all ambig flags.\r\n\t\tthis._ambigTime = true;\r\n\t\tthis._ambigZone = true; // if ambiguous time, also ambiguous timezone offset\r\n\t}\r\n\r\n\treturn this; // for chaining\r\n};\r\n\r\n// Returns if the moment has a non-ambiguous time (boolean)\r\nnewMomentProto.hasTime = function() {\r\n\treturn !this._ambigTime;\r\n};\r\n\r\n\r\n// Timezone\r\n// -------------------------------------------------------------------------------------------------\r\n\r\n// Converts the moment to UTC, stripping out its timezone offset, but preserving its\r\n// YMD and time-of-day. A moment with a stripped timezone offset will display no\r\n// timezone offset when .format() is called.\r\nnewMomentProto.stripZone = function() {\r\n\tvar wasAmbigTime;\r\n\r\n\tif (!this._ambigZone) {\r\n\r\n\t\twasAmbigTime = this._ambigTime;\r\n\r\n\t\tthis.utc(true); // keepLocalTime=true (for keeping date and time values)\r\n\r\n\t\t// the above call to .utc()/.utcOffset() unfortunately might clear the ambig flags, so restore\r\n\t\tthis._ambigTime = wasAmbigTime || false;\r\n\r\n\t\t// Mark the zone as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),\r\n\t\t// which clears the ambig flags.\r\n\t\tthis._ambigZone = true;\r\n\t}\r\n\r\n\treturn this; // for chaining\r\n};\r\n\r\n// Returns of the moment has a non-ambiguous timezone offset (boolean)\r\nnewMomentProto.hasZone = function() {\r\n\treturn !this._ambigZone;\r\n};\r\n\r\n\r\n// implicitly marks a zone\r\nnewMomentProto.local = function(keepLocalTime) {\r\n\r\n\t// for when converting from ambiguously-zoned to local,\r\n\t// keep the time values when converting from UTC -> local\r\n\toldMomentProto.local.call(this, this._ambigZone || keepLocalTime);\r\n\r\n\t// ensure non-ambiguous\r\n\t// this probably already happened via local() -> utcOffset(), but don't rely on Moment's internals\r\n\tthis._ambigTime = false;\r\n\tthis._ambigZone = false;\r\n\r\n\treturn this; // for chaining\r\n};\r\n\r\n\r\n// implicitly marks a zone\r\nnewMomentProto.utc = function(keepLocalTime) {\r\n\r\n\toldMomentProto.utc.call(this, keepLocalTime);\r\n\r\n\t// ensure non-ambiguous\r\n\t// this probably already happened via utc() -> utcOffset(), but don't rely on Moment's internals\r\n\tthis._ambigTime = false;\r\n\tthis._ambigZone = false;\r\n\r\n\treturn this;\r\n};\r\n\r\n\r\n// implicitly marks a zone (will probably get called upon .utc() and .local())\r\nnewMomentProto.utcOffset = function(tzo) {\r\n\r\n\tif (tzo != null) { // setter\r\n\t\t// these assignments needs to happen before the original zone method is called.\r\n\t\t// I forget why, something to do with a browser crash.\r\n\t\tthis._ambigTime = false;\r\n\t\tthis._ambigZone = false;\r\n\t}\r\n\r\n\treturn oldMomentProto.utcOffset.apply(this, arguments);\r\n};\r\n\r\n\r\n// Formatting\r\n// -------------------------------------------------------------------------------------------------\r\n\r\nnewMomentProto.format = function() {\r\n\tif (this._fullCalendar && arguments[0]) { // an enhanced moment? and a format string provided?\r\n\t\treturn formatDate(this, arguments[0]); // our extended formatting\r\n\t}\r\n\tif (this._ambigTime) {\r\n\t\treturn oldMomentFormat(this, 'YYYY-MM-DD');\r\n\t}\r\n\tif (this._ambigZone) {\r\n\t\treturn oldMomentFormat(this, 'YYYY-MM-DD[T]HH:mm:ss');\r\n\t}\r\n\treturn oldMomentProto.format.apply(this, arguments);\r\n};\r\n\r\nnewMomentProto.toISOString = function() {\r\n\tif (this._ambigTime) {\r\n\t\treturn oldMomentFormat(this, 'YYYY-MM-DD');\r\n\t}\r\n\tif (this._ambigZone) {\r\n\t\treturn oldMomentFormat(this, 'YYYY-MM-DD[T]HH:mm:ss');\r\n\t}\r\n\treturn oldMomentProto.toISOString.apply(this, arguments);\r\n};\r\n\r\n;;\r\n(function() {\r\n\r\n// exports\r\nFC.formatDate = formatDate;\r\nFC.formatRange = formatRange;\r\nFC.oldMomentFormat = oldMomentFormat;\r\nFC.queryMostGranularFormatUnit = queryMostGranularFormatUnit;\r\n\r\n\r\n// Config\r\n// ---------------------------------------------------------------------------------------------------------------------\r\n\r\n/*\r\nInserted between chunks in the fake (\"intermediate\") formatting string.\r\nImportant that it passes as whitespace (\\s) because moment often identifies non-standalone months\r\nvia a regexp with an \\s.\r\n*/\r\nvar PART_SEPARATOR = '\\u000b'; // vertical tab\r\n\r\n/*\r\nInserted as the first character of a literal-text chunk to indicate that the literal text is not actually literal text,\r\nbut rather, a \"special\" token that has custom rendering (see specialTokens map).\r\n*/\r\nvar SPECIAL_TOKEN_MARKER = '\\u001f'; // information separator 1\r\n\r\n/*\r\nInserted at the beginning and end of a span of text that must have non-zero numeric characters.\r\nHandling of these markers is done in a post-processing step at the very end of text rendering.\r\n*/\r\nvar MAYBE_MARKER = '\\u001e'; // information separator 2\r\nvar MAYBE_REGEXP = new RegExp(MAYBE_MARKER + '([^' + MAYBE_MARKER + ']*)' + MAYBE_MARKER, 'g'); // must be global\r\n\r\n/*\r\nAddition formatting tokens we want recognized\r\n*/\r\nvar specialTokens = {\r\n\tt: function(date) { // \"a\" or \"p\"\r\n\t\treturn oldMomentFormat(date, 'a').charAt(0);\r\n\t},\r\n\tT: function(date) { // \"A\" or \"P\"\r\n\t\treturn oldMomentFormat(date, 'A').charAt(0);\r\n\t}\r\n};\r\n\r\n/*\r\nThe first characters of formatting tokens for units that are 1 day or larger.\r\n`value` is for ranking relative size (lower means bigger).\r\n`unit` is a normalized unit, used for comparing moments.\r\n*/\r\nvar largeTokenMap = {\r\n\tY: { value: 1, unit: 'year' },\r\n\tM: { value: 2, unit: 'month' },\r\n\tW: { value: 3, unit: 'week' }, // ISO week\r\n\tw: { value: 3, unit: 'week' }, // local week\r\n\tD: { value: 4, unit: 'day' }, // day of month\r\n\td: { value: 4, unit: 'day' } // day of week\r\n};\r\n\r\n\r\n// Single Date Formatting\r\n// ---------------------------------------------------------------------------------------------------------------------\r\n\r\n/*\r\nFormats `date` with a Moment formatting string, but allow our non-zero areas and special token\r\n*/\r\nfunction formatDate(date, formatStr) {\r\n\treturn renderFakeFormatString(\r\n\t\tgetParsedFormatString(formatStr).fakeFormatString,\r\n\t\tdate\r\n\t);\r\n}\r\n\r\n/*\r\nCall this if you want Moment's original format method to be used\r\n*/\r\nfunction oldMomentFormat(mom, formatStr) {\r\n\treturn oldMomentProto.format.call(mom, formatStr); // oldMomentProto defined in moment-ext.js\r\n}\r\n\r\n\r\n// Date Range Formatting\r\n// -------------------------------------------------------------------------------------------------\r\n// TODO: make it work with timezone offset\r\n\r\n/*\r\nUsing a formatting string meant for a single date, generate a range string, like\r\n\"Sep 2 - 9 2013\", that intelligently inserts a separator where the dates differ.\r\nIf the dates are the same as far as the format string is concerned, just return a single\r\nrendering of one date, without any separator.\r\n*/\r\nfunction formatRange(date1, date2, formatStr, separator, isRTL) {\r\n\tvar localeData;\r\n\r\n\tdate1 = FC.moment.parseZone(date1);\r\n\tdate2 = FC.moment.parseZone(date2);\r\n\r\n\tlocaleData = date1.localeData();\r\n\r\n\t// Expand localized format strings, like \"LL\" -> \"MMMM D YYYY\".\r\n\t// BTW, this is not important for `formatDate` because it is impossible to put custom tokens\r\n\t// or non-zero areas in Moment's localized format strings.\r\n\tformatStr = localeData.longDateFormat(formatStr) || formatStr;\r\n\r\n\treturn renderParsedFormat(\r\n\t\tgetParsedFormatString(formatStr),\r\n\t\tdate1,\r\n\t\tdate2,\r\n\t\tseparator || ' - ',\r\n\t\tisRTL\r\n\t);\r\n}\r\n\r\n/*\r\nRenders a range with an already-parsed format string.\r\n*/\r\nfunction renderParsedFormat(parsedFormat, date1, date2, separator, isRTL) {\r\n\tvar sameUnits = parsedFormat.sameUnits;\r\n\tvar unzonedDate1 = date1.clone().stripZone(); // for same-unit comparisons\r\n\tvar unzonedDate2 = date2.clone().stripZone(); // \"\r\n\r\n\tvar renderedParts1 = renderFakeFormatStringParts(parsedFormat.fakeFormatString, date1);\r\n\tvar renderedParts2 = renderFakeFormatStringParts(parsedFormat.fakeFormatString, date2);\r\n\r\n\tvar leftI;\r\n\tvar leftStr = '';\r\n\tvar rightI;\r\n\tvar rightStr = '';\r\n\tvar middleI;\r\n\tvar middleStr1 = '';\r\n\tvar middleStr2 = '';\r\n\tvar middleStr = '';\r\n\r\n\t// Start at the leftmost side of the formatting string and continue until you hit a token\r\n\t// that is not the same between dates.\r\n\tfor (\r\n\t\tleftI = 0;\r\n\t\tleftI < sameUnits.length && (!sameUnits[leftI] || unzonedDate1.isSame(unzonedDate2, sameUnits[leftI]));\r\n\t\tleftI++\r\n\t) {\r\n\t\tleftStr += renderedParts1[leftI];\r\n\t}\r\n\r\n\t// Similarly, start at the rightmost side of the formatting string and move left\r\n\tfor (\r\n\t\trightI = sameUnits.length - 1;\r\n\t\trightI > leftI && (!sameUnits[rightI] || unzonedDate1.isSame(unzonedDate2, sameUnits[rightI]));\r\n\t\trightI--\r\n\t) {\r\n\t\t// If current chunk is on the boundary of unique date-content, and is a special-case\r\n\t\t// date-formatting postfix character, then don't consume it. Consider it unique date-content.\r\n\t\t// TODO: make configurable\r\n\t\tif (rightI - 1 === leftI && renderedParts1[rightI] === '.') {\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\trightStr = renderedParts1[rightI] + rightStr;\r\n\t}\r\n\r\n\t// The area in the middle is different for both of the dates.\r\n\t// Collect them distinctly so we can jam them together later.\r\n\tfor (middleI = leftI; middleI <= rightI; middleI++) {\r\n\t\tmiddleStr1 += renderedParts1[middleI];\r\n\t\tmiddleStr2 += renderedParts2[middleI];\r\n\t}\r\n\r\n\tif (middleStr1 || middleStr2) {\r\n\t\tif (isRTL) {\r\n\t\t\tmiddleStr = middleStr2 + separator + middleStr1;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tmiddleStr = middleStr1 + separator + middleStr2;\r\n\t\t}\r\n\t}\r\n\r\n\treturn processMaybeMarkers(\r\n\t\tleftStr + middleStr + rightStr\r\n\t);\r\n}\r\n\r\n\r\n// Format String Parsing\r\n// ---------------------------------------------------------------------------------------------------------------------\r\n\r\nvar parsedFormatStrCache = {};\r\n\r\n/*\r\nReturns a parsed format string, leveraging a cache.\r\n*/\r\nfunction getParsedFormatString(formatStr) {\r\n\treturn parsedFormatStrCache[formatStr] ||\r\n\t\t(parsedFormatStrCache[formatStr] = parseFormatString(formatStr));\r\n}\r\n\r\n/*\r\nParses a format string into the following:\r\n- fakeFormatString: a momentJS formatting string, littered with special control characters that get post-processed.\r\n- sameUnits: for every part in fakeFormatString, if the part is a token, the value will be a unit string (like \"day\"),\r\n  that indicates how similar a range's start & end must be in order to share the same formatted text.\r\n  If not a token, then the value is null.\r\n  Always a flat array (not nested liked \"chunks\").\r\n*/\r\nfunction parseFormatString(formatStr) {\r\n\tvar chunks = chunkFormatString(formatStr);\r\n\t\r\n\treturn {\r\n\t\tfakeFormatString: buildFakeFormatString(chunks),\r\n\t\tsameUnits: buildSameUnits(chunks)\r\n\t};\r\n}\r\n\r\n/*\r\nBreak the formatting string into an array of chunks.\r\nA 'maybe' chunk will have nested chunks.\r\n*/\r\nfunction chunkFormatString(formatStr) {\r\n\tvar chunks = [];\r\n\tvar match;\r\n\r\n\t// TODO: more descrimination\r\n\t// \\4 is a backreference to the first character of a multi-character set.\r\n\tvar chunker = /\\[([^\\]]*)\\]|\\(([^\\)]*)\\)|(LTS|LT|(\\w)\\4*o?)|([^\\w\\[\\(]+)/g;\r\n\r\n\twhile ((match = chunker.exec(formatStr))) {\r\n\t\tif (match[1]) { // a literal string inside [ ... ]\r\n\t\t\tchunks.push.apply(chunks, // append\r\n\t\t\t\tsplitStringLiteral(match[1])\r\n\t\t\t);\r\n\t\t}\r\n\t\telse if (match[2]) { // non-zero formatting inside ( ... )\r\n\t\t\tchunks.push({ maybe: chunkFormatString(match[2]) });\r\n\t\t}\r\n\t\telse if (match[3]) { // a formatting token\r\n\t\t\tchunks.push({ token: match[3] });\r\n\t\t}\r\n\t\telse if (match[5]) { // an unenclosed literal string\r\n\t\t\tchunks.push.apply(chunks, // append\r\n\t\t\t\tsplitStringLiteral(match[5])\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\treturn chunks;\r\n}\r\n\r\n/*\r\nPotentially splits a literal-text string into multiple parts. For special cases.\r\n*/\r\nfunction splitStringLiteral(s) {\r\n\tif (s === '. ') {\r\n\t\treturn [ '.', ' ' ]; // for locales with periods bound to the end of each year/month/date\r\n\t}\r\n\telse {\r\n\t\treturn [ s ];\r\n\t}\r\n}\r\n\r\n/*\r\nGiven chunks parsed from a real format string, generate a fake (aka \"intermediate\") format string with special control\r\ncharacters that will eventually be given to moment for formatting, and then post-processed.\r\n*/\r\nfunction buildFakeFormatString(chunks) {\r\n\tvar parts = [];\r\n\tvar i, chunk;\r\n\r\n\tfor (i = 0; i < chunks.length; i++) {\r\n\t\tchunk = chunks[i];\r\n\r\n\t\tif (typeof chunk === 'string') {\r\n\t\t\tparts.push('[' + chunk + ']');\r\n\t\t}\r\n\t\telse if (chunk.token) {\r\n\t\t\tif (chunk.token in specialTokens) {\r\n\t\t\t\tparts.push(\r\n\t\t\t\t\tSPECIAL_TOKEN_MARKER + // useful during post-processing\r\n\t\t\t\t\t'[' + chunk.token + ']' // preserve as literal text\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tparts.push(chunk.token); // unprotected text implies a format string\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (chunk.maybe) {\r\n\t\t\tparts.push(\r\n\t\t\t\tMAYBE_MARKER + // useful during post-processing\r\n\t\t\t\tbuildFakeFormatString(chunk.maybe) +\r\n\t\t\t\tMAYBE_MARKER\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\treturn parts.join(PART_SEPARATOR);\r\n}\r\n\r\n/*\r\nGiven parsed chunks from a real formatting string, generates an array of unit strings (like \"day\") that indicate\r\nin which regard two dates must be similar in order to share range formatting text.\r\nThe `chunks` can be nested (because of \"maybe\" chunks), however, the returned array will be flat.\r\n*/\r\nfunction buildSameUnits(chunks) {\r\n\tvar units = [];\r\n\tvar i, chunk;\r\n\tvar tokenInfo;\r\n\r\n\tfor (i = 0; i < chunks.length; i++) {\r\n\t\tchunk = chunks[i];\r\n\r\n\t\tif (chunk.token) {\r\n\t\t\ttokenInfo = largeTokenMap[chunk.token.charAt(0)];\r\n\t\t\tunits.push(tokenInfo ? tokenInfo.unit : 'second'); // default to a very strict same-second\r\n\t\t}\r\n\t\telse if (chunk.maybe) {\r\n\t\t\tunits.push.apply(units, // append\r\n\t\t\t\tbuildSameUnits(chunk.maybe)\r\n\t\t\t);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tunits.push(null);\r\n\t\t}\r\n\t}\r\n\r\n\treturn units;\r\n}\r\n\r\n\r\n// Rendering to text\r\n// ---------------------------------------------------------------------------------------------------------------------\r\n\r\n/*\r\nFormats a date with a fake format string, post-processes the control characters, then returns.\r\n*/\r\nfunction renderFakeFormatString(fakeFormatString, date) {\r\n\treturn processMaybeMarkers(\r\n\t\trenderFakeFormatStringParts(fakeFormatString, date).join('')\r\n\t);\r\n}\r\n\r\n/*\r\nFormats a date into parts that will have been post-processed, EXCEPT for the \"maybe\" markers.\r\n*/\r\nfunction renderFakeFormatStringParts(fakeFormatString, date) {\r\n\tvar parts = [];\r\n\tvar fakeRender = oldMomentFormat(date, fakeFormatString);\r\n\tvar fakeParts = fakeRender.split(PART_SEPARATOR);\r\n\tvar i, fakePart;\r\n\r\n\tfor (i = 0; i < fakeParts.length; i++) {\r\n\t\tfakePart = fakeParts[i];\r\n\r\n\t\tif (fakePart.charAt(0) === SPECIAL_TOKEN_MARKER) {\r\n\t\t\tparts.push(\r\n\t\t\t\t// the literal string IS the token's name.\r\n\t\t\t\t// call special token's registered function.\r\n\t\t\t\tspecialTokens[fakePart.substring(1)](date)\r\n\t\t\t);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tparts.push(fakePart);\r\n\t\t}\r\n\t}\r\n\r\n\treturn parts;\r\n}\r\n\r\n/*\r\nAccepts an almost-finally-formatted string and processes the \"maybe\" control characters, returning a new string.\r\n*/\r\nfunction processMaybeMarkers(s) {\r\n\treturn s.replace(MAYBE_REGEXP, function(m0, m1) { // regex assumed to have 'g' flag\r\n\t\tif (m1.match(/[1-9]/)) { // any non-zero numeric characters?\r\n\t\t\treturn m1;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t});\r\n}\r\n\r\n\r\n// Misc Utils\r\n// -------------------------------------------------------------------------------------------------\r\n\r\n/*\r\nReturns a unit string, either 'year', 'month', 'day', or null for the most granular formatting token in the string.\r\n*/\r\nfunction queryMostGranularFormatUnit(formatStr) {\r\n\tvar chunks = chunkFormatString(formatStr);\r\n\tvar i, chunk;\r\n\tvar candidate;\r\n\tvar best;\r\n\r\n\tfor (i = 0; i < chunks.length; i++) {\r\n\t\tchunk = chunks[i];\r\n\r\n\t\tif (chunk.token) {\r\n\t\t\tcandidate = largeTokenMap[chunk.token.charAt(0)];\r\n\t\t\tif (candidate) {\r\n\t\t\t\tif (!best || candidate.value > best.value) {\r\n\t\t\t\t\tbest = candidate;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (best) {\r\n\t\treturn best.unit;\r\n\t}\r\n\r\n\treturn null;\r\n};\r\n\r\n})();\r\n\r\n// quick local references\r\nvar formatDate = FC.formatDate;\r\nvar formatRange = FC.formatRange;\r\nvar oldMomentFormat = FC.oldMomentFormat;\r\n\r\n;;\r\n\r\nFC.Class = Class; // export\r\n\r\n// Class that all other classes will inherit from\r\nfunction Class() { }\r\n\r\n\r\n// Called on a class to create a subclass.\r\n// Last argument contains instance methods. Any argument before the last are considered mixins.\r\nClass.extend = function() {\r\n\tvar len = arguments.length;\r\n\tvar i;\r\n\tvar members;\r\n\r\n\tfor (i = 0; i < len; i++) {\r\n\t\tmembers = arguments[i];\r\n\t\tif (i < len - 1) { // not the last argument?\r\n\t\t\tmixIntoClass(this, members);\r\n\t\t}\r\n\t}\r\n\r\n\treturn extendClass(this, members || {}); // members will be undefined if no arguments\r\n};\r\n\r\n\r\n// Adds new member variables/methods to the class's prototype.\r\n// Can be called with another class, or a plain object hash containing new members.\r\nClass.mixin = function(members) {\r\n\tmixIntoClass(this, members);\r\n};\r\n\r\n\r\nfunction extendClass(superClass, members) {\r\n\tvar subClass;\r\n\r\n\t// ensure a constructor for the subclass, forwarding all arguments to the super-constructor if it doesn't exist\r\n\tif (hasOwnProp(members, 'constructor')) {\r\n\t\tsubClass = members.constructor;\r\n\t}\r\n\tif (typeof subClass !== 'function') {\r\n\t\tsubClass = members.constructor = function() {\r\n\t\t\tsuperClass.apply(this, arguments);\r\n\t\t};\r\n\t}\r\n\r\n\t// build the base prototype for the subclass, which is an new object chained to the superclass's prototype\r\n\tsubClass.prototype = createObject(superClass.prototype);\r\n\r\n\t// copy each member variable/method onto the the subclass's prototype\r\n\tcopyOwnProps(members, subClass.prototype);\r\n\r\n\t// copy over all class variables/methods to the subclass, such as `extend` and `mixin`\r\n\tcopyOwnProps(superClass, subClass);\r\n\r\n\treturn subClass;\r\n}\r\n\r\n\r\nfunction mixIntoClass(theClass, members) {\r\n\tcopyOwnProps(members, theClass.prototype);\r\n}\r\n;;\r\n\r\n/*\r\nWrap jQuery's Deferred Promise object to be slightly more Promise/A+ compliant.\r\nWith the added non-standard feature of synchronously executing handlers on resolved promises,\r\nwhich doesn't always happen otherwise (esp with nested .then handlers!?),\r\nso, this makes things a lot easier, esp because jQuery 3 changed the synchronicity for Deferred objects.\r\n\r\nTODO: write tests and more comments\r\n*/\r\n\r\nfunction Promise(executor) {\r\n\tvar deferred = $.Deferred();\r\n\tvar promise = deferred.promise();\r\n\r\n\tif (typeof executor === 'function') {\r\n\t\texecutor(\r\n\t\t\tfunction(value) { // resolve\r\n\t\t\t\tif (Promise.immediate) {\r\n\t\t\t\t\tpromise._value = value;\r\n\t\t\t\t}\r\n\t\t\t\tdeferred.resolve(value);\r\n\t\t\t},\r\n\t\t\tfunction() { // reject\r\n\t\t\t\tdeferred.reject();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\t\r\n\tif (Promise.immediate) {\r\n\t\tvar origThen = promise.then;\r\n\r\n\t\tpromise.then = function(onFulfilled, onRejected) {\r\n\t\t\tvar state = promise.state();\r\n\t\t\t\r\n\t\t\tif (state === 'resolved') {\r\n\t\t\t\tif (typeof onFulfilled === 'function') {\r\n\t\t\t\t\treturn Promise.resolve(onFulfilled(promise._value));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (state === 'rejected') {\r\n\t\t\t\tif (typeof onRejected === 'function') {\r\n\t\t\t\t\tonRejected();\r\n\t\t\t\t\treturn promise; // already rejected\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn origThen.call(promise, onFulfilled, onRejected);\r\n\t\t};\r\n\t}\r\n\r\n\treturn promise; // instanceof Promise will break :( TODO: make Promise a real class\r\n}\r\n\r\nFC.Promise = Promise;\r\n\r\nPromise.immediate = true;\r\n\r\n\r\nPromise.resolve = function(value) {\r\n\tif (value && typeof value.resolve === 'function') {\r\n\t\treturn value.promise();\r\n\t}\r\n\tif (value && typeof value.then === 'function') {\r\n\t\treturn value;\r\n\t}\r\n\telse {\r\n\t\tvar deferred = $.Deferred().resolve(value);\r\n\t\tvar promise = deferred.promise();\r\n\r\n\t\tif (Promise.immediate) {\r\n\t\t\tvar origThen = promise.then;\r\n\r\n\t\t\tpromise._value = value;\r\n\r\n\t\t\tpromise.then = function(onFulfilled, onRejected) {\r\n\t\t\t\tif (typeof onFulfilled === 'function') {\r\n\t\t\t\t\treturn Promise.resolve(onFulfilled(value));\r\n\t\t\t\t}\r\n\t\t\t\treturn origThen.call(promise, onFulfilled, onRejected);\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn promise;\r\n\t}\r\n};\r\n\r\n\r\nPromise.reject = function() {\r\n\treturn $.Deferred().reject().promise();\r\n};\r\n\r\n\r\nPromise.all = function(inputs) {\r\n\tvar hasAllValues = false;\r\n\tvar values;\r\n\tvar i, input;\r\n\r\n\tif (Promise.immediate) {\r\n\t\thasAllValues = true;\r\n\t\tvalues = [];\r\n\r\n\t\tfor (i = 0; i < inputs.length; i++) {\r\n\t\t\tinput = inputs[i];\r\n\r\n\t\t\tif (input && typeof input.state === 'function' && input.state() === 'resolved' && ('_value' in input)) {\r\n\t\t\t\tvalues.push(input._value);\r\n\t\t\t}\r\n\t\t\telse if (input && typeof input.then === 'function') {\r\n\t\t\t\thasAllValues = false;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvalues.push(input);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (hasAllValues) {\r\n\t\treturn Promise.resolve(values);\r\n\t}\r\n\telse {\r\n\t\treturn $.when.apply($.when, inputs).then(function() {\r\n\t\t\treturn $.when($.makeArray(arguments));\r\n\t\t});\r\n\t}\r\n};\r\n\r\n;;\r\n\r\n// TODO: write tests and clean up code\r\n\r\nfunction TaskQueue(debounceWait) {\r\n\tvar q = []; // array of runFuncs\r\n\r\n\tfunction addTask(taskFunc) {\r\n\t\treturn new Promise(function(resolve) {\r\n\r\n\t\t\t// should run this function when it's taskFunc's turn to run.\r\n\t\t\t// responsible for popping itself off the queue.\r\n\t\t\tvar runFunc = function() {\r\n\t\t\t\tPromise.resolve(taskFunc()) // result might be async, coerce to promise\r\n\t\t\t\t\t.then(resolve) // resolve TaskQueue::push's promise, for the caller. will receive result of taskFunc.\r\n\t\t\t\t\t.then(function() {\r\n\t\t\t\t\t\tq.shift(); // pop itself off\r\n\r\n\t\t\t\t\t\t// run the next task, if any\r\n\t\t\t\t\t\tif (q.length) {\r\n\t\t\t\t\t\t\tq[0]();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\t// always put the task at the end of the queue, BEFORE running the task\r\n\t\t\tq.push(runFunc);\r\n\r\n\t\t\t// if it's the only task in the queue, run immediately\r\n\t\t\tif (q.length === 1) {\r\n\t\t\t\trunFunc();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tthis.add = // potentially debounce, for the public method\r\n\t\ttypeof debounceWait === 'number' ?\r\n\t\t\tdebounce(addTask, debounceWait) :\r\n\t\t\taddTask; // if not a number (null/undefined/false), no debounce at all\r\n\r\n\tthis.addQuickly = addTask; // guaranteed no debounce\r\n}\r\n\r\nFC.TaskQueue = TaskQueue;\r\n\r\n/*\r\nq = new TaskQueue();\r\n\r\nfunction work(i) {\r\n\treturn q.push(function() {\r\n\t\ttrigger();\r\n\t\tconsole.log('work' + i);\r\n\t});\r\n}\r\n\r\nvar cnt = 0;\r\n\r\nfunction trigger() {\r\n\tif (cnt < 5) {\r\n\t\tcnt++;\r\n\t\twork(cnt);\r\n\t}\r\n}\r\n\r\nwork(9);\r\n*/\r\n\r\n;;\r\n\r\nvar EmitterMixin = FC.EmitterMixin = {\r\n\r\n\t// jQuery-ification via $(this) allows a non-DOM object to have\r\n\t// the same event handling capabilities (including namespaces).\r\n\r\n\r\n\ton: function(types, handler) {\r\n\t\t$(this).on(types, this._prepareIntercept(handler));\r\n\t\treturn this; // for chaining\r\n\t},\r\n\r\n\r\n\tone: function(types, handler) {\r\n\t\t$(this).one(types, this._prepareIntercept(handler));\r\n\t\treturn this; // for chaining\r\n\t},\r\n\r\n\r\n\t_prepareIntercept: function(handler) {\r\n\t\t// handlers are always called with an \"event\" object as their first param.\r\n\t\t// sneak the `this` context and arguments into the extra parameter object\r\n\t\t// and forward them on to the original handler.\r\n\t\tvar intercept = function(ev, extra) {\r\n\t\t\treturn handler.apply(\r\n\t\t\t\textra.context || this,\r\n\t\t\t\textra.args || []\r\n\t\t\t);\r\n\t\t};\r\n\r\n\t\t// mimick jQuery's internal \"proxy\" system (risky, I know)\r\n\t\t// causing all functions with the same .guid to appear to be the same.\r\n\t\t// https://github.com/jquery/jquery/blob/2.2.4/src/core.js#L448\r\n\t\t// this is needed for calling .off with the original non-intercept handler.\r\n\t\tif (!handler.guid) {\r\n\t\t\thandler.guid = $.guid++;\r\n\t\t}\r\n\t\tintercept.guid = handler.guid;\r\n\r\n\t\treturn intercept;\r\n\t},\r\n\r\n\r\n\toff: function(types, handler) {\r\n\t\t$(this).off(types, handler);\r\n\r\n\t\treturn this; // for chaining\r\n\t},\r\n\r\n\r\n\ttrigger: function(types) {\r\n\t\tvar args = Array.prototype.slice.call(arguments, 1); // arguments after the first\r\n\r\n\t\t// pass in \"extra\" info to the intercept\r\n\t\t$(this).triggerHandler(types, { args: args });\r\n\r\n\t\treturn this; // for chaining\r\n\t},\r\n\r\n\r\n\ttriggerWith: function(types, context, args) {\r\n\r\n\t\t// `triggerHandler` is less reliant on the DOM compared to `trigger`.\r\n\t\t// pass in \"extra\" info to the intercept.\r\n\t\t$(this).triggerHandler(types, { context: context, args: args });\r\n\r\n\t\treturn this; // for chaining\r\n\t}\r\n\r\n};\r\n\r\n;;\r\n\r\n/*\r\nUtility methods for easily listening to events on another object,\r\nand more importantly, easily unlistening from them.\r\n*/\r\nvar ListenerMixin = FC.ListenerMixin = (function() {\r\n\tvar guid = 0;\r\n\tvar ListenerMixin = {\r\n\r\n\t\tlistenerId: null,\r\n\r\n\t\t/*\r\n\t\tGiven an `other` object that has on/off methods, bind the given `callback` to an event by the given name.\r\n\t\tThe `callback` will be called with the `this` context of the object that .listenTo is being called on.\r\n\t\tCan be called:\r\n\t\t\t.listenTo(other, eventName, callback)\r\n\t\tOR\r\n\t\t\t.listenTo(other, {\r\n\t\t\t\teventName1: callback1,\r\n\t\t\t\teventName2: callback2\r\n\t\t\t})\r\n\t\t*/\r\n\t\tlistenTo: function(other, arg, callback) {\r\n\t\t\tif (typeof arg === 'object') { // given dictionary of callbacks\r\n\t\t\t\tfor (var eventName in arg) {\r\n\t\t\t\t\tif (arg.hasOwnProperty(eventName)) {\r\n\t\t\t\t\t\tthis.listenTo(other, eventName, arg[eventName]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (typeof arg === 'string') {\r\n\t\t\t\tother.on(\r\n\t\t\t\t\targ + '.' + this.getListenerNamespace(), // use event namespacing to identify this object\r\n\t\t\t\t\t$.proxy(callback, this) // always use `this` context\r\n\t\t\t\t\t\t// the usually-undesired jQuery guid behavior doesn't matter,\r\n\t\t\t\t\t\t// because we always unbind via namespace\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/*\r\n\t\tCauses the current object to stop listening to events on the `other` object.\r\n\t\t`eventName` is optional. If omitted, will stop listening to ALL events on `other`.\r\n\t\t*/\r\n\t\tstopListeningTo: function(other, eventName) {\r\n\t\t\tother.off((eventName || '') + '.' + this.getListenerNamespace());\r\n\t\t},\r\n\r\n\t\t/*\r\n\t\tReturns a string, unique to this object, to be used for event namespacing\r\n\t\t*/\r\n\t\tgetListenerNamespace: function() {\r\n\t\t\tif (this.listenerId == null) {\r\n\t\t\t\tthis.listenerId = guid++;\r\n\t\t\t}\r\n\t\t\treturn '_listener' + this.listenerId;\r\n\t\t}\r\n\r\n\t};\r\n\treturn ListenerMixin;\r\n})();\r\n;;\r\n\r\n/* A rectangular panel that is absolutely positioned over other content\r\n------------------------------------------------------------------------------------------------------------------------\r\nOptions:\r\n\t- className (string)\r\n\t- content (HTML string or jQuery element set)\r\n\t- parentEl\r\n\t- top\r\n\t- left\r\n\t- right (the x coord of where the right edge should be. not a \"CSS\" right)\r\n\t- autoHide (boolean)\r\n\t- show (callback)\r\n\t- hide (callback)\r\n*/\r\n\r\nvar Popover = Class.extend(ListenerMixin, {\r\n\r\n\tisHidden: true,\r\n\toptions: null,\r\n\tel: null, // the container element for the popover. generated by this object\r\n\tmargin: 10, // the space required between the popover and the edges of the scroll container\r\n\r\n\r\n\tconstructor: function(options) {\r\n\t\tthis.options = options || {};\r\n\t},\r\n\r\n\r\n\t// Shows the popover on the specified position. Renders it if not already\r\n\tshow: function() {\r\n\t\tif (this.isHidden) {\r\n\t\t\tif (!this.el) {\r\n\t\t\t\tthis.render();\r\n\t\t\t}\r\n\t\t\tthis.el.show();\r\n\t\t\tthis.position();\r\n\t\t\tthis.isHidden = false;\r\n\t\t\tthis.trigger('show');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Hides the popover, through CSS, but does not remove it from the DOM\r\n\thide: function() {\r\n\t\tif (!this.isHidden) {\r\n\t\t\tthis.el.hide();\r\n\t\t\tthis.isHidden = true;\r\n\t\t\tthis.trigger('hide');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Creates `this.el` and renders content inside of it\r\n\trender: function() {\r\n\t\tvar _this = this;\r\n\t\tvar options = this.options;\r\n\r\n\t\tthis.el = $('<div class=\"fc-popover\"/>')\r\n\t\t\t.addClass(options.className || '')\r\n\t\t\t.css({\r\n\t\t\t\t// position initially to the top left to avoid creating scrollbars\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0\r\n\t\t\t})\r\n\t\t\t.append(options.content)\r\n\t\t\t.appendTo(options.parentEl);\r\n\r\n\t\t// when a click happens on anything inside with a 'fc-close' className, hide the popover\r\n\t\tthis.el.on('click', '.fc-close', function() {\r\n\t\t\t_this.hide();\r\n\t\t});\r\n\r\n\t\tif (options.autoHide) {\r\n\t\t\tthis.listenTo($(document), 'mousedown', this.documentMousedown);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Triggered when the user clicks *anywhere* in the document, for the autoHide feature\r\n\tdocumentMousedown: function(ev) {\r\n\t\t// only hide the popover if the click happened outside the popover\r\n\t\tif (this.el && !$(ev.target).closest(this.el).length) {\r\n\t\t\tthis.hide();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Hides and unregisters any handlers\r\n\tremoveElement: function() {\r\n\t\tthis.hide();\r\n\r\n\t\tif (this.el) {\r\n\t\t\tthis.el.remove();\r\n\t\t\tthis.el = null;\r\n\t\t}\r\n\r\n\t\tthis.stopListeningTo($(document), 'mousedown');\r\n\t},\r\n\r\n\r\n\t// Positions the popover optimally, using the top/left/right options\r\n\tposition: function() {\r\n\t\tvar options = this.options;\r\n\t\tvar origin = this.el.offsetParent().offset();\r\n\t\tvar width = this.el.outerWidth();\r\n\t\tvar height = this.el.outerHeight();\r\n\t\tvar windowEl = $(window);\r\n\t\tvar viewportEl = getScrollParent(this.el);\r\n\t\tvar viewportTop;\r\n\t\tvar viewportLeft;\r\n\t\tvar viewportOffset;\r\n\t\tvar top; // the \"position\" (not \"offset\") values for the popover\r\n\t\tvar left; //\r\n\r\n\t\t// compute top and left\r\n\t\ttop = options.top || 0;\r\n\t\tif (options.left !== undefined) {\r\n\t\t\tleft = options.left;\r\n\t\t}\r\n\t\telse if (options.right !== undefined) {\r\n\t\t\tleft = options.right - width; // derive the left value from the right value\r\n\t\t}\r\n\t\telse {\r\n\t\t\tleft = 0;\r\n\t\t}\r\n\r\n\t\tif (viewportEl.is(window) || viewportEl.is(document)) { // normalize getScrollParent's result\r\n\t\t\tviewportEl = windowEl;\r\n\t\t\tviewportTop = 0; // the window is always at the top left\r\n\t\t\tviewportLeft = 0; // (and .offset() won't work if called here)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tviewportOffset = viewportEl.offset();\r\n\t\t\tviewportTop = viewportOffset.top;\r\n\t\t\tviewportLeft = viewportOffset.left;\r\n\t\t}\r\n\r\n\t\t// if the window is scrolled, it causes the visible area to be further down\r\n\t\tviewportTop += windowEl.scrollTop();\r\n\t\tviewportLeft += windowEl.scrollLeft();\r\n\r\n\t\t// constrain to the view port. if constrained by two edges, give precedence to top/left\r\n\t\tif (options.viewportConstrain !== false) {\r\n\t\t\ttop = Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin);\r\n\t\t\ttop = Math.max(top, viewportTop + this.margin);\r\n\t\t\tleft = Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin);\r\n\t\t\tleft = Math.max(left, viewportLeft + this.margin);\r\n\t\t}\r\n\r\n\t\tthis.el.css({\r\n\t\t\ttop: top - origin.top,\r\n\t\t\tleft: left - origin.left\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Triggers a callback. Calls a function in the option hash of the same name.\r\n\t// Arguments beyond the first `name` are forwarded on.\r\n\t// TODO: better code reuse for this. Repeat code\r\n\ttrigger: function(name) {\r\n\t\tif (this.options[name]) {\r\n\t\t\tthis.options[name].apply(this, Array.prototype.slice.call(arguments, 1));\r\n\t\t}\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/*\r\nA cache for the left/right/top/bottom/width/height values for one or more elements.\r\nWorks with both offset (from topleft document) and position (from offsetParent).\r\n\r\noptions:\r\n- els\r\n- isHorizontal\r\n- isVertical\r\n*/\r\nvar CoordCache = FC.CoordCache = Class.extend({\r\n\r\n\tels: null, // jQuery set (assumed to be siblings)\r\n\tforcedOffsetParentEl: null, // options can override the natural offsetParent\r\n\torigin: null, // {left,top} position of offsetParent of els\r\n\tboundingRect: null, // constrain cordinates to this rectangle. {left,right,top,bottom} or null\r\n\tisHorizontal: false, // whether to query for left/right/width\r\n\tisVertical: false, // whether to query for top/bottom/height\r\n\r\n\t// arrays of coordinates (offsets from topleft of document)\r\n\tlefts: null,\r\n\trights: null,\r\n\ttops: null,\r\n\tbottoms: null,\r\n\r\n\r\n\tconstructor: function(options) {\r\n\t\tthis.els = $(options.els);\r\n\t\tthis.isHorizontal = options.isHorizontal;\r\n\t\tthis.isVertical = options.isVertical;\r\n\t\tthis.forcedOffsetParentEl = options.offsetParent ? $(options.offsetParent) : null;\r\n\t},\r\n\r\n\r\n\t// Queries the els for coordinates and stores them.\r\n\t// Call this method before using and of the get* methods below.\r\n\tbuild: function() {\r\n\t\tvar offsetParentEl = this.forcedOffsetParentEl;\r\n\t\tif (!offsetParentEl && this.els.length > 0) {\r\n\t\t\toffsetParentEl = this.els.eq(0).offsetParent();\r\n\t\t}\r\n\r\n\t\tthis.origin = offsetParentEl ?\r\n\t\t\toffsetParentEl.offset() :\r\n\t\t\tnull;\r\n\r\n\t\tthis.boundingRect = this.queryBoundingRect();\r\n\r\n\t\tif (this.isHorizontal) {\r\n\t\t\tthis.buildElHorizontals();\r\n\t\t}\r\n\t\tif (this.isVertical) {\r\n\t\t\tthis.buildElVerticals();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Destroys all internal data about coordinates, freeing memory\r\n\tclear: function() {\r\n\t\tthis.origin = null;\r\n\t\tthis.boundingRect = null;\r\n\t\tthis.lefts = null;\r\n\t\tthis.rights = null;\r\n\t\tthis.tops = null;\r\n\t\tthis.bottoms = null;\r\n\t},\r\n\r\n\r\n\t// When called, if coord caches aren't built, builds them\r\n\tensureBuilt: function() {\r\n\t\tif (!this.origin) {\r\n\t\t\tthis.build();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Populates the left/right internal coordinate arrays\r\n\tbuildElHorizontals: function() {\r\n\t\tvar lefts = [];\r\n\t\tvar rights = [];\r\n\r\n\t\tthis.els.each(function(i, node) {\r\n\t\t\tvar el = $(node);\r\n\t\t\tvar left = el.offset().left;\r\n\t\t\tvar width = el.outerWidth();\r\n\r\n\t\t\tlefts.push(left);\r\n\t\t\trights.push(left + width);\r\n\t\t});\r\n\r\n\t\tthis.lefts = lefts;\r\n\t\tthis.rights = rights;\r\n\t},\r\n\r\n\r\n\t// Populates the top/bottom internal coordinate arrays\r\n\tbuildElVerticals: function() {\r\n\t\tvar tops = [];\r\n\t\tvar bottoms = [];\r\n\r\n\t\tthis.els.each(function(i, node) {\r\n\t\t\tvar el = $(node);\r\n\t\t\tvar top = el.offset().top;\r\n\t\t\tvar height = el.outerHeight();\r\n\r\n\t\t\ttops.push(top);\r\n\t\t\tbottoms.push(top + height);\r\n\t\t});\r\n\r\n\t\tthis.tops = tops;\r\n\t\tthis.bottoms = bottoms;\r\n\t},\r\n\r\n\r\n\t// Given a left offset (from document left), returns the index of the el that it horizontally intersects.\r\n\t// If no intersection is made, returns undefined.\r\n\tgetHorizontalIndex: function(leftOffset) {\r\n\t\tthis.ensureBuilt();\r\n\r\n\t\tvar lefts = this.lefts;\r\n\t\tvar rights = this.rights;\r\n\t\tvar len = lefts.length;\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < len; i++) {\r\n\t\t\tif (leftOffset >= lefts[i] && leftOffset < rights[i]) {\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Given a top offset (from document top), returns the index of the el that it vertically intersects.\r\n\t// If no intersection is made, returns undefined.\r\n\tgetVerticalIndex: function(topOffset) {\r\n\t\tthis.ensureBuilt();\r\n\r\n\t\tvar tops = this.tops;\r\n\t\tvar bottoms = this.bottoms;\r\n\t\tvar len = tops.length;\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < len; i++) {\r\n\t\t\tif (topOffset >= tops[i] && topOffset < bottoms[i]) {\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Gets the left offset (from document left) of the element at the given index\r\n\tgetLeftOffset: function(leftIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.lefts[leftIndex];\r\n\t},\r\n\r\n\r\n\t// Gets the left position (from offsetParent left) of the element at the given index\r\n\tgetLeftPosition: function(leftIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.lefts[leftIndex] - this.origin.left;\r\n\t},\r\n\r\n\r\n\t// Gets the right offset (from document left) of the element at the given index.\r\n\t// This value is NOT relative to the document's right edge, like the CSS concept of \"right\" would be.\r\n\tgetRightOffset: function(leftIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.rights[leftIndex];\r\n\t},\r\n\r\n\r\n\t// Gets the right position (from offsetParent left) of the element at the given index.\r\n\t// This value is NOT relative to the offsetParent's right edge, like the CSS concept of \"right\" would be.\r\n\tgetRightPosition: function(leftIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.rights[leftIndex] - this.origin.left;\r\n\t},\r\n\r\n\r\n\t// Gets the width of the element at the given index\r\n\tgetWidth: function(leftIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.rights[leftIndex] - this.lefts[leftIndex];\r\n\t},\r\n\r\n\r\n\t// Gets the top offset (from document top) of the element at the given index\r\n\tgetTopOffset: function(topIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.tops[topIndex];\r\n\t},\r\n\r\n\r\n\t// Gets the top position (from offsetParent top) of the element at the given position\r\n\tgetTopPosition: function(topIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.tops[topIndex] - this.origin.top;\r\n\t},\r\n\r\n\t// Gets the bottom offset (from the document top) of the element at the given index.\r\n\t// This value is NOT relative to the offsetParent's bottom edge, like the CSS concept of \"bottom\" would be.\r\n\tgetBottomOffset: function(topIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.bottoms[topIndex];\r\n\t},\r\n\r\n\r\n\t// Gets the bottom position (from the offsetParent top) of the element at the given index.\r\n\t// This value is NOT relative to the offsetParent's bottom edge, like the CSS concept of \"bottom\" would be.\r\n\tgetBottomPosition: function(topIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.bottoms[topIndex] - this.origin.top;\r\n\t},\r\n\r\n\r\n\t// Gets the height of the element at the given index\r\n\tgetHeight: function(topIndex) {\r\n\t\tthis.ensureBuilt();\r\n\t\treturn this.bottoms[topIndex] - this.tops[topIndex];\r\n\t},\r\n\r\n\r\n\t// Bounding Rect\r\n\t// TODO: decouple this from CoordCache\r\n\r\n\t// Compute and return what the elements' bounding rectangle is, from the user's perspective.\r\n\t// Right now, only returns a rectangle if constrained by an overflow:scroll element.\r\n\t// Returns null if there are no elements\r\n\tqueryBoundingRect: function() {\r\n\t\tvar scrollParentEl;\r\n\r\n\t\tif (this.els.length > 0) {\r\n\t\t\tscrollParentEl = getScrollParent(this.els.eq(0));\r\n\r\n\t\t\tif (!scrollParentEl.is(document)) {\r\n\t\t\t\treturn getClientRect(scrollParentEl);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\tisPointInBounds: function(leftOffset, topOffset) {\r\n\t\treturn this.isLeftInBounds(leftOffset) && this.isTopInBounds(topOffset);\r\n\t},\r\n\r\n\tisLeftInBounds: function(leftOffset) {\r\n\t\treturn !this.boundingRect || (leftOffset >= this.boundingRect.left && leftOffset < this.boundingRect.right);\r\n\t},\r\n\r\n\tisTopInBounds: function(topOffset) {\r\n\t\treturn !this.boundingRect || (topOffset >= this.boundingRect.top && topOffset < this.boundingRect.bottom);\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/* Tracks a drag's mouse movement, firing various handlers\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n// TODO: use Emitter\r\n\r\nvar DragListener = FC.DragListener = Class.extend(ListenerMixin, {\r\n\r\n\toptions: null,\r\n\tsubjectEl: null,\r\n\r\n\t// coordinates of the initial mousedown\r\n\toriginX: null,\r\n\toriginY: null,\r\n\r\n\t// the wrapping element that scrolls, or MIGHT scroll if there's overflow.\r\n\t// TODO: do this for wrappers that have overflow:hidden as well.\r\n\tscrollEl: null,\r\n\r\n\tisInteracting: false,\r\n\tisDistanceSurpassed: false,\r\n\tisDelayEnded: false,\r\n\tisDragging: false,\r\n\tisTouch: false,\r\n\r\n\tdelay: null,\r\n\tdelayTimeoutId: null,\r\n\tminDistance: null,\r\n\r\n\tshouldCancelTouchScroll: true,\r\n\tscrollAlwaysKills: false,\r\n\r\n\r\n\tconstructor: function(options) {\r\n\t\tthis.options = options || {};\r\n\t},\r\n\r\n\r\n\t// Interaction (high-level)\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tstartInteraction: function(ev, extraOptions) {\r\n\t\tvar isTouch = getEvIsTouch(ev);\r\n\r\n\t\tif (ev.type === 'mousedown') {\r\n\t\t\tif (GlobalEmitter.get().shouldIgnoreMouse()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse if (!isPrimaryMouseButton(ev)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tev.preventDefault(); // prevents native selection in most browsers\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!this.isInteracting) {\r\n\r\n\t\t\t// process options\r\n\t\t\textraOptions = extraOptions || {};\r\n\t\t\tthis.delay = firstDefined(extraOptions.delay, this.options.delay, 0);\r\n\t\t\tthis.minDistance = firstDefined(extraOptions.distance, this.options.distance, 0);\r\n\t\t\tthis.subjectEl = this.options.subjectEl;\r\n\r\n\t\t\tpreventSelection($('body'));\r\n\r\n\t\t\tthis.isInteracting = true;\r\n\t\t\tthis.isTouch = isTouch;\r\n\t\t\tthis.isDelayEnded = false;\r\n\t\t\tthis.isDistanceSurpassed = false;\r\n\r\n\t\t\tthis.originX = getEvX(ev);\r\n\t\t\tthis.originY = getEvY(ev);\r\n\t\t\tthis.scrollEl = getScrollParent($(ev.target));\r\n\r\n\t\t\tthis.bindHandlers();\r\n\t\t\tthis.initAutoScroll();\r\n\t\t\tthis.handleInteractionStart(ev);\r\n\t\t\tthis.startDelay(ev);\r\n\r\n\t\t\tif (!this.minDistance) {\r\n\t\t\t\tthis.handleDistanceSurpassed(ev);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thandleInteractionStart: function(ev) {\r\n\t\tthis.trigger('interactionStart', ev);\r\n\t},\r\n\r\n\r\n\tendInteraction: function(ev, isCancelled) {\r\n\t\tif (this.isInteracting) {\r\n\t\t\tthis.endDrag(ev);\r\n\r\n\t\t\tif (this.delayTimeoutId) {\r\n\t\t\t\tclearTimeout(this.delayTimeoutId);\r\n\t\t\t\tthis.delayTimeoutId = null;\r\n\t\t\t}\r\n\r\n\t\t\tthis.destroyAutoScroll();\r\n\t\t\tthis.unbindHandlers();\r\n\r\n\t\t\tthis.isInteracting = false;\r\n\t\t\tthis.handleInteractionEnd(ev, isCancelled);\r\n\r\n\t\t\tallowSelection($('body'));\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thandleInteractionEnd: function(ev, isCancelled) {\r\n\t\tthis.trigger('interactionEnd', ev, isCancelled || false);\r\n\t},\r\n\r\n\r\n\t// Binding To DOM\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tbindHandlers: function() {\r\n\t\t// some browsers (Safari in iOS 10) don't allow preventDefault on touch events that are bound after touchstart,\r\n\t\t// so listen to the GlobalEmitter singleton, which is always bound, instead of the document directly.\r\n\t\tvar globalEmitter = GlobalEmitter.get();\r\n\r\n\t\tif (this.isTouch) {\r\n\t\t\tthis.listenTo(globalEmitter, {\r\n\t\t\t\ttouchmove: this.handleTouchMove,\r\n\t\t\t\ttouchend: this.endInteraction,\r\n\t\t\t\tscroll: this.handleTouchScroll\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.listenTo(globalEmitter, {\r\n\t\t\t\tmousemove: this.handleMouseMove,\r\n\t\t\t\tmouseup: this.endInteraction\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.listenTo(globalEmitter, {\r\n\t\t\tselectstart: preventDefault, // don't allow selection while dragging\r\n\t\t\tcontextmenu: preventDefault // long taps would open menu on Chrome dev tools\r\n\t\t});\r\n\t},\r\n\r\n\r\n\tunbindHandlers: function() {\r\n\t\tthis.stopListeningTo(GlobalEmitter.get());\r\n\t},\r\n\r\n\r\n\t// Drag (high-level)\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// extraOptions ignored if drag already started\r\n\tstartDrag: function(ev, extraOptions) {\r\n\t\tthis.startInteraction(ev, extraOptions); // ensure interaction began\r\n\r\n\t\tif (!this.isDragging) {\r\n\t\t\tthis.isDragging = true;\r\n\t\t\tthis.handleDragStart(ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thandleDragStart: function(ev) {\r\n\t\tthis.trigger('dragStart', ev);\r\n\t},\r\n\r\n\r\n\thandleMove: function(ev) {\r\n\t\tvar dx = getEvX(ev) - this.originX;\r\n\t\tvar dy = getEvY(ev) - this.originY;\r\n\t\tvar minDistance = this.minDistance;\r\n\t\tvar distanceSq; // current distance from the origin, squared\r\n\r\n\t\tif (!this.isDistanceSurpassed) {\r\n\t\t\tdistanceSq = dx * dx + dy * dy;\r\n\t\t\tif (distanceSq >= minDistance * minDistance) { // use pythagorean theorem\r\n\t\t\t\tthis.handleDistanceSurpassed(ev);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDragging) {\r\n\t\t\tthis.handleDrag(dx, dy, ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called while the mouse is being moved and when we know a legitimate drag is taking place\r\n\thandleDrag: function(dx, dy, ev) {\r\n\t\tthis.trigger('drag', dx, dy, ev);\r\n\t\tthis.updateAutoScroll(ev); // will possibly cause scrolling\r\n\t},\r\n\r\n\r\n\tendDrag: function(ev) {\r\n\t\tif (this.isDragging) {\r\n\t\t\tthis.isDragging = false;\r\n\t\t\tthis.handleDragEnd(ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thandleDragEnd: function(ev) {\r\n\t\tthis.trigger('dragEnd', ev);\r\n\t},\r\n\r\n\r\n\t// Delay\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tstartDelay: function(initialEv) {\r\n\t\tvar _this = this;\r\n\r\n\t\tif (this.delay) {\r\n\t\t\tthis.delayTimeoutId = setTimeout(function() {\r\n\t\t\t\t_this.handleDelayEnd(initialEv);\r\n\t\t\t}, this.delay);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.handleDelayEnd(initialEv);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thandleDelayEnd: function(initialEv) {\r\n\t\tthis.isDelayEnded = true;\r\n\r\n\t\tif (this.isDistanceSurpassed) {\r\n\t\t\tthis.startDrag(initialEv);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Distance\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\thandleDistanceSurpassed: function(ev) {\r\n\t\tthis.isDistanceSurpassed = true;\r\n\r\n\t\tif (this.isDelayEnded) {\r\n\t\t\tthis.startDrag(ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Mouse / Touch\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\thandleTouchMove: function(ev) {\r\n\r\n\t\t// prevent inertia and touchmove-scrolling while dragging\r\n\t\tif (this.isDragging && this.shouldCancelTouchScroll) {\r\n\t\t\tev.preventDefault();\r\n\t\t}\r\n\r\n\t\tthis.handleMove(ev);\r\n\t},\r\n\r\n\r\n\thandleMouseMove: function(ev) {\r\n\t\tthis.handleMove(ev);\r\n\t},\r\n\r\n\r\n\t// Scrolling (unrelated to auto-scroll)\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\thandleTouchScroll: function(ev) {\r\n\t\t// if the drag is being initiated by touch, but a scroll happens before\r\n\t\t// the drag-initiating delay is over, cancel the drag\r\n\t\tif (!this.isDragging || this.scrollAlwaysKills) {\r\n\t\t\tthis.endInteraction(ev, true); // isCancelled=true\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Utils\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// Triggers a callback. Calls a function in the option hash of the same name.\r\n\t// Arguments beyond the first `name` are forwarded on.\r\n\ttrigger: function(name) {\r\n\t\tif (this.options[name]) {\r\n\t\t\tthis.options[name].apply(this, Array.prototype.slice.call(arguments, 1));\r\n\t\t}\r\n\t\t// makes _methods callable by event name. TODO: kill this\r\n\t\tif (this['_' + name]) {\r\n\t\t\tthis['_' + name].apply(this, Array.prototype.slice.call(arguments, 1));\r\n\t\t}\r\n\t}\r\n\r\n\r\n});\r\n\r\n;;\r\n/*\r\nthis.scrollEl is set in DragListener\r\n*/\r\nDragListener.mixin({\r\n\r\n\tisAutoScroll: false,\r\n\r\n\tscrollBounds: null, // { top, bottom, left, right }\r\n\tscrollTopVel: null, // pixels per second\r\n\tscrollLeftVel: null, // pixels per second\r\n\tscrollIntervalId: null, // ID of setTimeout for scrolling animation loop\r\n\r\n\t// defaults\r\n\tscrollSensitivity: 30, // pixels from edge for scrolling to start\r\n\tscrollSpeed: 200, // pixels per second, at maximum speed\r\n\tscrollIntervalMs: 50, // millisecond wait between scroll increment\r\n\r\n\r\n\tinitAutoScroll: function() {\r\n\t\tvar scrollEl = this.scrollEl;\r\n\r\n\t\tthis.isAutoScroll =\r\n\t\t\tthis.options.scroll &&\r\n\t\t\tscrollEl &&\r\n\t\t\t!scrollEl.is(window) &&\r\n\t\t\t!scrollEl.is(document);\r\n\r\n\t\tif (this.isAutoScroll) {\r\n\t\t\t// debounce makes sure rapid calls don't happen\r\n\t\t\tthis.listenTo(scrollEl, 'scroll', debounce(this.handleDebouncedScroll, 100));\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tdestroyAutoScroll: function() {\r\n\t\tthis.endAutoScroll(); // kill any animation loop\r\n\r\n\t\t// remove the scroll handler if there is a scrollEl\r\n\t\tif (this.isAutoScroll) {\r\n\t\t\tthis.stopListeningTo(this.scrollEl, 'scroll'); // will probably get removed by unbindHandlers too :(\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Computes and stores the bounding rectangle of scrollEl\r\n\tcomputeScrollBounds: function() {\r\n\t\tif (this.isAutoScroll) {\r\n\t\t\tthis.scrollBounds = getOuterRect(this.scrollEl);\r\n\t\t\t// TODO: use getClientRect in future. but prevents auto scrolling when on top of scrollbars\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called when the dragging is in progress and scrolling should be updated\r\n\tupdateAutoScroll: function(ev) {\r\n\t\tvar sensitivity = this.scrollSensitivity;\r\n\t\tvar bounds = this.scrollBounds;\r\n\t\tvar topCloseness, bottomCloseness;\r\n\t\tvar leftCloseness, rightCloseness;\r\n\t\tvar topVel = 0;\r\n\t\tvar leftVel = 0;\r\n\r\n\t\tif (bounds) { // only scroll if scrollEl exists\r\n\r\n\t\t\t// compute closeness to edges. valid range is from 0.0 - 1.0\r\n\t\t\ttopCloseness = (sensitivity - (getEvY(ev) - bounds.top)) / sensitivity;\r\n\t\t\tbottomCloseness = (sensitivity - (bounds.bottom - getEvY(ev))) / sensitivity;\r\n\t\t\tleftCloseness = (sensitivity - (getEvX(ev) - bounds.left)) / sensitivity;\r\n\t\t\trightCloseness = (sensitivity - (bounds.right - getEvX(ev))) / sensitivity;\r\n\r\n\t\t\t// translate vertical closeness into velocity.\r\n\t\t\t// mouse must be completely in bounds for velocity to happen.\r\n\t\t\tif (topCloseness >= 0 && topCloseness <= 1) {\r\n\t\t\t\ttopVel = topCloseness * this.scrollSpeed * -1; // negative. for scrolling up\r\n\t\t\t}\r\n\t\t\telse if (bottomCloseness >= 0 && bottomCloseness <= 1) {\r\n\t\t\t\ttopVel = bottomCloseness * this.scrollSpeed;\r\n\t\t\t}\r\n\r\n\t\t\t// translate horizontal closeness into velocity\r\n\t\t\tif (leftCloseness >= 0 && leftCloseness <= 1) {\r\n\t\t\t\tleftVel = leftCloseness * this.scrollSpeed * -1; // negative. for scrolling left\r\n\t\t\t}\r\n\t\t\telse if (rightCloseness >= 0 && rightCloseness <= 1) {\r\n\t\t\t\tleftVel = rightCloseness * this.scrollSpeed;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setScrollVel(topVel, leftVel);\r\n\t},\r\n\r\n\r\n\t// Sets the speed-of-scrolling for the scrollEl\r\n\tsetScrollVel: function(topVel, leftVel) {\r\n\r\n\t\tthis.scrollTopVel = topVel;\r\n\t\tthis.scrollLeftVel = leftVel;\r\n\r\n\t\tthis.constrainScrollVel(); // massages into realistic values\r\n\r\n\t\t// if there is non-zero velocity, and an animation loop hasn't already started, then START\r\n\t\tif ((this.scrollTopVel || this.scrollLeftVel) && !this.scrollIntervalId) {\r\n\t\t\tthis.scrollIntervalId = setInterval(\r\n\t\t\t\tproxy(this, 'scrollIntervalFunc'), // scope to `this`\r\n\t\t\t\tthis.scrollIntervalMs\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Forces scrollTopVel and scrollLeftVel to be zero if scrolling has already gone all the way\r\n\tconstrainScrollVel: function() {\r\n\t\tvar el = this.scrollEl;\r\n\r\n\t\tif (this.scrollTopVel < 0) { // scrolling up?\r\n\t\t\tif (el.scrollTop() <= 0) { // already scrolled all the way up?\r\n\t\t\t\tthis.scrollTopVel = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (this.scrollTopVel > 0) { // scrolling down?\r\n\t\t\tif (el.scrollTop() + el[0].clientHeight >= el[0].scrollHeight) { // already scrolled all the way down?\r\n\t\t\t\tthis.scrollTopVel = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.scrollLeftVel < 0) { // scrolling left?\r\n\t\t\tif (el.scrollLeft() <= 0) { // already scrolled all the left?\r\n\t\t\t\tthis.scrollLeftVel = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (this.scrollLeftVel > 0) { // scrolling right?\r\n\t\t\tif (el.scrollLeft() + el[0].clientWidth >= el[0].scrollWidth) { // already scrolled all the way right?\r\n\t\t\t\tthis.scrollLeftVel = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// This function gets called during every iteration of the scrolling animation loop\r\n\tscrollIntervalFunc: function() {\r\n\t\tvar el = this.scrollEl;\r\n\t\tvar frac = this.scrollIntervalMs / 1000; // considering animation frequency, what the vel should be mult'd by\r\n\r\n\t\t// change the value of scrollEl's scroll\r\n\t\tif (this.scrollTopVel) {\r\n\t\t\tel.scrollTop(el.scrollTop() + this.scrollTopVel * frac);\r\n\t\t}\r\n\t\tif (this.scrollLeftVel) {\r\n\t\t\tel.scrollLeft(el.scrollLeft() + this.scrollLeftVel * frac);\r\n\t\t}\r\n\r\n\t\tthis.constrainScrollVel(); // since the scroll values changed, recompute the velocities\r\n\r\n\t\t// if scrolled all the way, which causes the vels to be zero, stop the animation loop\r\n\t\tif (!this.scrollTopVel && !this.scrollLeftVel) {\r\n\t\t\tthis.endAutoScroll();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Kills any existing scrolling animation loop\r\n\tendAutoScroll: function() {\r\n\t\tif (this.scrollIntervalId) {\r\n\t\t\tclearInterval(this.scrollIntervalId);\r\n\t\t\tthis.scrollIntervalId = null;\r\n\r\n\t\t\tthis.handleScrollEnd();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Get called when the scrollEl is scrolled (NOTE: this is delayed via debounce)\r\n\thandleDebouncedScroll: function() {\r\n\t\t// recompute all coordinates, but *only* if this is *not* part of our scrolling animation\r\n\t\tif (!this.scrollIntervalId) {\r\n\t\t\tthis.handleScrollEnd();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called when scrolling has stopped, whether through auto scroll, or the user scrolling\r\n\thandleScrollEnd: function() {\r\n\t}\r\n\r\n});\r\n;;\r\n\r\n/* Tracks mouse movements over a component and raises events about which hit the mouse is over.\r\n------------------------------------------------------------------------------------------------------------------------\r\noptions:\r\n- subjectEl\r\n- subjectCenter\r\n*/\r\n\r\nvar HitDragListener = DragListener.extend({\r\n\r\n\tcomponent: null, // converts coordinates to hits\r\n\t\t// methods: hitsNeeded, hitsNotNeeded, queryHit\r\n\r\n\torigHit: null, // the hit the mouse was over when listening started\r\n\thit: null, // the hit the mouse is over\r\n\tcoordAdjust: null, // delta that will be added to the mouse coordinates when computing collisions\r\n\r\n\r\n\tconstructor: function(component, options) {\r\n\t\tDragListener.call(this, options); // call the super-constructor\r\n\r\n\t\tthis.component = component;\r\n\t},\r\n\r\n\r\n\t// Called when drag listening starts (but a real drag has not necessarily began).\r\n\t// ev might be undefined if dragging was started manually.\r\n\thandleInteractionStart: function(ev) {\r\n\t\tvar subjectEl = this.subjectEl;\r\n\t\tvar subjectRect;\r\n\t\tvar origPoint;\r\n\t\tvar point;\r\n\r\n\t\tthis.component.hitsNeeded();\r\n\t\tthis.computeScrollBounds(); // for autoscroll\r\n\r\n\t\tif (ev) {\r\n\t\t\torigPoint = { left: getEvX(ev), top: getEvY(ev) };\r\n\t\t\tpoint = origPoint;\r\n\r\n\t\t\t// constrain the point to bounds of the element being dragged\r\n\t\t\tif (subjectEl) {\r\n\t\t\t\tsubjectRect = getOuterRect(subjectEl); // used for centering as well\r\n\t\t\t\tpoint = constrainPoint(point, subjectRect);\r\n\t\t\t}\r\n\r\n\t\t\tthis.origHit = this.queryHit(point.left, point.top);\r\n\r\n\t\t\t// treat the center of the subject as the collision point?\r\n\t\t\tif (subjectEl && this.options.subjectCenter) {\r\n\r\n\t\t\t\t// only consider the area the subject overlaps the hit. best for large subjects.\r\n\t\t\t\t// TODO: skip this if hit didn't supply left/right/top/bottom\r\n\t\t\t\tif (this.origHit) {\r\n\t\t\t\t\tsubjectRect = intersectRects(this.origHit, subjectRect) ||\r\n\t\t\t\t\t\tsubjectRect; // in case there is no intersection\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpoint = getRectCenter(subjectRect);\r\n\t\t\t}\r\n\r\n\t\t\tthis.coordAdjust = diffPoints(point, origPoint); // point - origPoint\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.origHit = null;\r\n\t\t\tthis.coordAdjust = null;\r\n\t\t}\r\n\r\n\t\t// call the super-method. do it after origHit has been computed\r\n\t\tDragListener.prototype.handleInteractionStart.apply(this, arguments);\r\n\t},\r\n\r\n\r\n\t// Called when the actual drag has started\r\n\thandleDragStart: function(ev) {\r\n\t\tvar hit;\r\n\r\n\t\tDragListener.prototype.handleDragStart.apply(this, arguments); // call the super-method\r\n\r\n\t\t// might be different from this.origHit if the min-distance is large\r\n\t\thit = this.queryHit(getEvX(ev), getEvY(ev));\r\n\r\n\t\t// report the initial hit the mouse is over\r\n\t\t// especially important if no min-distance and drag starts immediately\r\n\t\tif (hit) {\r\n\t\t\tthis.handleHitOver(hit);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called when the drag moves\r\n\thandleDrag: function(dx, dy, ev) {\r\n\t\tvar hit;\r\n\r\n\t\tDragListener.prototype.handleDrag.apply(this, arguments); // call the super-method\r\n\r\n\t\thit = this.queryHit(getEvX(ev), getEvY(ev));\r\n\r\n\t\tif (!isHitsEqual(hit, this.hit)) { // a different hit than before?\r\n\t\t\tif (this.hit) {\r\n\t\t\t\tthis.handleHitOut();\r\n\t\t\t}\r\n\t\t\tif (hit) {\r\n\t\t\t\tthis.handleHitOver(hit);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called when dragging has been stopped\r\n\thandleDragEnd: function() {\r\n\t\tthis.handleHitDone();\r\n\t\tDragListener.prototype.handleDragEnd.apply(this, arguments); // call the super-method\r\n\t},\r\n\r\n\r\n\t// Called when a the mouse has just moved over a new hit\r\n\thandleHitOver: function(hit) {\r\n\t\tvar isOrig = isHitsEqual(hit, this.origHit);\r\n\r\n\t\tthis.hit = hit;\r\n\r\n\t\tthis.trigger('hitOver', this.hit, isOrig, this.origHit);\r\n\t},\r\n\r\n\r\n\t// Called when the mouse has just moved out of a hit\r\n\thandleHitOut: function() {\r\n\t\tif (this.hit) {\r\n\t\t\tthis.trigger('hitOut', this.hit);\r\n\t\t\tthis.handleHitDone();\r\n\t\t\tthis.hit = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called after a hitOut. Also called before a dragStop\r\n\thandleHitDone: function() {\r\n\t\tif (this.hit) {\r\n\t\t\tthis.trigger('hitDone', this.hit);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called when the interaction ends, whether there was a real drag or not\r\n\thandleInteractionEnd: function() {\r\n\t\tDragListener.prototype.handleInteractionEnd.apply(this, arguments); // call the super-method\r\n\r\n\t\tthis.origHit = null;\r\n\t\tthis.hit = null;\r\n\r\n\t\tthis.component.hitsNotNeeded();\r\n\t},\r\n\r\n\r\n\t// Called when scrolling has stopped, whether through auto scroll, or the user scrolling\r\n\thandleScrollEnd: function() {\r\n\t\tDragListener.prototype.handleScrollEnd.apply(this, arguments); // call the super-method\r\n\r\n\t\t// hits' absolute positions will be in new places after a user's scroll.\r\n\t\t// HACK for recomputing.\r\n\t\tif (this.isDragging) {\r\n\t\t\tthis.component.releaseHits();\r\n\t\t\tthis.component.prepareHits();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Gets the hit underneath the coordinates for the given mouse event\r\n\tqueryHit: function(left, top) {\r\n\r\n\t\tif (this.coordAdjust) {\r\n\t\t\tleft += this.coordAdjust.left;\r\n\t\t\ttop += this.coordAdjust.top;\r\n\t\t}\r\n\r\n\t\treturn this.component.queryHit(left, top);\r\n\t}\r\n\r\n});\r\n\r\n\r\n// Returns `true` if the hits are identically equal. `false` otherwise. Must be from the same component.\r\n// Two null values will be considered equal, as two \"out of the component\" states are the same.\r\nfunction isHitsEqual(hit0, hit1) {\r\n\r\n\tif (!hit0 && !hit1) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tif (hit0 && hit1) {\r\n\t\treturn hit0.component === hit1.component &&\r\n\t\t\tisHitPropsWithin(hit0, hit1) &&\r\n\t\t\tisHitPropsWithin(hit1, hit0); // ensures all props are identical\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\n\r\n// Returns true if all of subHit's non-standard properties are within superHit\r\nfunction isHitPropsWithin(subHit, superHit) {\r\n\tfor (var propName in subHit) {\r\n\t\tif (!/^(component|left|right|top|bottom)$/.test(propName)) {\r\n\t\t\tif (subHit[propName] !== superHit[propName]) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n;;\r\n\r\n/*\r\nListens to document and window-level user-interaction events, like touch events and mouse events,\r\nand fires these events as-is to whoever is observing a GlobalEmitter.\r\nBest when used as a singleton via GlobalEmitter.get()\r\n\r\nNormalizes mouse/touch events. For examples:\r\n- ignores the the simulated mouse events that happen after a quick tap: mousemove+mousedown+mouseup+click\r\n- compensates for various buggy scenarios where a touchend does not fire\r\n*/\r\n\r\nFC.touchMouseIgnoreWait = 500;\r\n\r\nvar GlobalEmitter = Class.extend(ListenerMixin, EmitterMixin, {\r\n\r\n\tisTouching: false,\r\n\tmouseIgnoreDepth: 0,\r\n\thandleScrollProxy: null,\r\n\r\n\r\n\tbind: function() {\r\n\t\tvar _this = this;\r\n\r\n\t\tthis.listenTo($(document), {\r\n\t\t\ttouchstart: this.handleTouchStart,\r\n\t\t\ttouchcancel: this.handleTouchCancel,\r\n\t\t\ttouchend: this.handleTouchEnd,\r\n\t\t\tmousedown: this.handleMouseDown,\r\n\t\t\tmousemove: this.handleMouseMove,\r\n\t\t\tmouseup: this.handleMouseUp,\r\n\t\t\tclick: this.handleClick,\r\n\t\t\tselectstart: this.handleSelectStart,\r\n\t\t\tcontextmenu: this.handleContextMenu\r\n\t\t});\r\n\r\n\t\t// because we need to call preventDefault\r\n\t\t// because https://www.chromestatus.com/features/5093566007214080\r\n\t\t// TODO: investigate performance because this is a global handler\r\n\t\twindow.addEventListener(\r\n\t\t\t'touchmove',\r\n\t\t\tthis.handleTouchMoveProxy = function(ev) {\r\n\t\t\t\t_this.handleTouchMove($.Event(ev));\r\n\t\t\t},\r\n\t\t\t{ passive: false } // allows preventDefault()\r\n\t\t);\r\n\r\n\t\t// attach a handler to get called when ANY scroll action happens on the page.\r\n\t\t// this was impossible to do with normal on/off because 'scroll' doesn't bubble.\r\n\t\t// http://stackoverflow.com/a/32954565/96342\r\n\t\twindow.addEventListener(\r\n\t\t\t'scroll',\r\n\t\t\tthis.handleScrollProxy = function(ev) {\r\n\t\t\t\t_this.handleScroll($.Event(ev));\r\n\t\t\t},\r\n\t\t\ttrue // useCapture\r\n\t\t);\r\n\t},\r\n\r\n\tunbind: function() {\r\n\t\tthis.stopListeningTo($(document));\r\n\r\n\t\twindow.removeEventListener(\r\n\t\t\t'touchmove',\r\n\t\t\tthis.handleTouchMoveProxy\r\n\t\t);\r\n\r\n\t\twindow.removeEventListener(\r\n\t\t\t'scroll',\r\n\t\t\tthis.handleScrollProxy,\r\n\t\t\ttrue // useCapture\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Touch Handlers\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\thandleTouchStart: function(ev) {\r\n\r\n\t\t// if a previous touch interaction never ended with a touchend, then implicitly end it,\r\n\t\t// but since a new touch interaction is about to begin, don't start the mouse ignore period.\r\n\t\tthis.stopTouch(ev, true); // skipMouseIgnore=true\r\n\r\n\t\tthis.isTouching = true;\r\n\t\tthis.trigger('touchstart', ev);\r\n\t},\r\n\r\n\thandleTouchMove: function(ev) {\r\n\t\tif (this.isTouching) {\r\n\t\t\tthis.trigger('touchmove', ev);\r\n\t\t}\r\n\t},\r\n\r\n\thandleTouchCancel: function(ev) {\r\n\t\tif (this.isTouching) {\r\n\t\t\tthis.trigger('touchcancel', ev);\r\n\r\n\t\t\t// Have touchcancel fire an artificial touchend. That way, handlers won't need to listen to both.\r\n\t\t\t// If touchend fires later, it won't have any effect b/c isTouching will be false.\r\n\t\t\tthis.stopTouch(ev);\r\n\t\t}\r\n\t},\r\n\r\n\thandleTouchEnd: function(ev) {\r\n\t\tthis.stopTouch(ev);\r\n\t},\r\n\r\n\r\n\t// Mouse Handlers\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\thandleMouseDown: function(ev) {\r\n\t\tif (!this.shouldIgnoreMouse()) {\r\n\t\t\tthis.trigger('mousedown', ev);\r\n\t\t}\r\n\t},\r\n\r\n\thandleMouseMove: function(ev) {\r\n\t\tif (!this.shouldIgnoreMouse()) {\r\n\t\t\tthis.trigger('mousemove', ev);\r\n\t\t}\r\n\t},\r\n\r\n\thandleMouseUp: function(ev) {\r\n\t\tif (!this.shouldIgnoreMouse()) {\r\n\t\t\tthis.trigger('mouseup', ev);\r\n\t\t}\r\n\t},\r\n\r\n\thandleClick: function(ev) {\r\n\t\tif (!this.shouldIgnoreMouse()) {\r\n\t\t\tthis.trigger('click', ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Misc Handlers\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\thandleSelectStart: function(ev) {\r\n\t\tthis.trigger('selectstart', ev);\r\n\t},\r\n\r\n\thandleContextMenu: function(ev) {\r\n\t\tthis.trigger('contextmenu', ev);\r\n\t},\r\n\r\n\thandleScroll: function(ev) {\r\n\t\tthis.trigger('scroll', ev);\r\n\t},\r\n\r\n\r\n\t// Utils\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\tstopTouch: function(ev, skipMouseIgnore) {\r\n\t\tif (this.isTouching) {\r\n\t\t\tthis.isTouching = false;\r\n\t\t\tthis.trigger('touchend', ev);\r\n\r\n\t\t\tif (!skipMouseIgnore) {\r\n\t\t\t\tthis.startTouchMouseIgnore();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tstartTouchMouseIgnore: function() {\r\n\t\tvar _this = this;\r\n\t\tvar wait = FC.touchMouseIgnoreWait;\r\n\r\n\t\tif (wait) {\r\n\t\t\tthis.mouseIgnoreDepth++;\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\t_this.mouseIgnoreDepth--;\r\n\t\t\t}, wait);\r\n\t\t}\r\n\t},\r\n\r\n\tshouldIgnoreMouse: function() {\r\n\t\treturn this.isTouching || Boolean(this.mouseIgnoreDepth);\r\n\t}\r\n\r\n});\r\n\r\n\r\n// Singleton\r\n// ---------------------------------------------------------------------------------------------------------------------\r\n\r\n(function() {\r\n\tvar globalEmitter = null;\r\n\tvar neededCount = 0;\r\n\r\n\r\n\t// gets the singleton\r\n\tGlobalEmitter.get = function() {\r\n\r\n\t\tif (!globalEmitter) {\r\n\t\t\tglobalEmitter = new GlobalEmitter();\r\n\t\t\tglobalEmitter.bind();\r\n\t\t}\r\n\r\n\t\treturn globalEmitter;\r\n\t};\r\n\r\n\r\n\t// called when an object knows it will need a GlobalEmitter in the near future.\r\n\tGlobalEmitter.needed = function() {\r\n\t\tGlobalEmitter.get(); // ensures globalEmitter\r\n\t\tneededCount++;\r\n\t};\r\n\r\n\r\n\t// called when the object that originally called needed() doesn't need a GlobalEmitter anymore.\r\n\tGlobalEmitter.unneeded = function() {\r\n\t\tneededCount--;\r\n\r\n\t\tif (!neededCount) { // nobody else needs it\r\n\t\t\tglobalEmitter.unbind();\r\n\t\t\tglobalEmitter = null;\r\n\t\t}\r\n\t};\r\n\r\n})();\r\n\r\n;;\r\n\r\n/* Creates a clone of an element and lets it track the mouse as it moves\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nvar MouseFollower = Class.extend(ListenerMixin, {\r\n\r\n\toptions: null,\r\n\r\n\tsourceEl: null, // the element that will be cloned and made to look like it is dragging\r\n\tel: null, // the clone of `sourceEl` that will track the mouse\r\n\tparentEl: null, // the element that `el` (the clone) will be attached to\r\n\r\n\t// the initial position of el, relative to the offset parent. made to match the initial offset of sourceEl\r\n\ttop0: null,\r\n\tleft0: null,\r\n\r\n\t// the absolute coordinates of the initiating touch/mouse action\r\n\ty0: null,\r\n\tx0: null,\r\n\r\n\t// the number of pixels the mouse has moved from its initial position\r\n\ttopDelta: null,\r\n\tleftDelta: null,\r\n\r\n\tisFollowing: false,\r\n\tisHidden: false,\r\n\tisAnimating: false, // doing the revert animation?\r\n\r\n\tconstructor: function(sourceEl, options) {\r\n\t\tthis.options = options = options || {};\r\n\t\tthis.sourceEl = sourceEl;\r\n\t\tthis.parentEl = options.parentEl ? $(options.parentEl) : sourceEl.parent(); // default to sourceEl's parent\r\n\t},\r\n\r\n\r\n\t// Causes the element to start following the mouse\r\n\tstart: function(ev) {\r\n\t\tif (!this.isFollowing) {\r\n\t\t\tthis.isFollowing = true;\r\n\r\n\t\t\tthis.y0 = getEvY(ev);\r\n\t\t\tthis.x0 = getEvX(ev);\r\n\t\t\tthis.topDelta = 0;\r\n\t\t\tthis.leftDelta = 0;\r\n\r\n\t\t\tif (!this.isHidden) {\r\n\t\t\t\tthis.updatePosition();\r\n\t\t\t}\r\n\r\n\t\t\tif (getEvIsTouch(ev)) {\r\n\t\t\t\tthis.listenTo($(document), 'touchmove', this.handleMove);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.listenTo($(document), 'mousemove', this.handleMove);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Causes the element to stop following the mouse. If shouldRevert is true, will animate back to original position.\r\n\t// `callback` gets invoked when the animation is complete. If no animation, it is invoked immediately.\r\n\tstop: function(shouldRevert, callback) {\r\n\t\tvar _this = this;\r\n\t\tvar revertDuration = this.options.revertDuration;\r\n\r\n\t\tfunction complete() { // might be called by .animate(), which might change `this` context\r\n\t\t\t_this.isAnimating = false;\r\n\t\t\t_this.removeElement();\r\n\r\n\t\t\t_this.top0 = _this.left0 = null; // reset state for future updatePosition calls\r\n\r\n\t\t\tif (callback) {\r\n\t\t\t\tcallback();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isFollowing && !this.isAnimating) { // disallow more than one stop animation at a time\r\n\t\t\tthis.isFollowing = false;\r\n\r\n\t\t\tthis.stopListeningTo($(document));\r\n\r\n\t\t\tif (shouldRevert && revertDuration && !this.isHidden) { // do a revert animation?\r\n\t\t\t\tthis.isAnimating = true;\r\n\t\t\t\tthis.el.animate({\r\n\t\t\t\t\ttop: this.top0,\r\n\t\t\t\t\tleft: this.left0\r\n\t\t\t\t}, {\r\n\t\t\t\t\tduration: revertDuration,\r\n\t\t\t\t\tcomplete: complete\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcomplete();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Gets the tracking element. Create it if necessary\r\n\tgetEl: function() {\r\n\t\tvar el = this.el;\r\n\r\n\t\tif (!el) {\r\n\t\t\tel = this.el = this.sourceEl.clone()\r\n\t\t\t\t.addClass(this.options.additionalClass || '')\r\n\t\t\t\t.css({\r\n\t\t\t\t\tposition: 'absolute',\r\n\t\t\t\t\tvisibility: '', // in case original element was hidden (commonly through hideEvents())\r\n\t\t\t\t\tdisplay: this.isHidden ? 'none' : '', // for when initially hidden\r\n\t\t\t\t\tmargin: 0,\r\n\t\t\t\t\tright: 'auto', // erase and set width instead\r\n\t\t\t\t\tbottom: 'auto', // erase and set height instead\r\n\t\t\t\t\twidth: this.sourceEl.width(), // explicit height in case there was a 'right' value\r\n\t\t\t\t\theight: this.sourceEl.height(), // explicit width in case there was a 'bottom' value\r\n\t\t\t\t\topacity: this.options.opacity || '',\r\n\t\t\t\t\tzIndex: this.options.zIndex\r\n\t\t\t\t});\r\n\r\n\t\t\t// we don't want long taps or any mouse interaction causing selection/menus.\r\n\t\t\t// would use preventSelection(), but that prevents selectstart, causing problems.\r\n\t\t\tel.addClass('fc-unselectable');\r\n\r\n\t\t\tel.appendTo(this.parentEl);\r\n\t\t}\r\n\r\n\t\treturn el;\r\n\t},\r\n\r\n\r\n\t// Removes the tracking element if it has already been created\r\n\tremoveElement: function() {\r\n\t\tif (this.el) {\r\n\t\t\tthis.el.remove();\r\n\t\t\tthis.el = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Update the CSS position of the tracking element\r\n\tupdatePosition: function() {\r\n\t\tvar sourceOffset;\r\n\t\tvar origin;\r\n\r\n\t\tthis.getEl(); // ensure this.el\r\n\r\n\t\t// make sure origin info was computed\r\n\t\tif (this.top0 === null) {\r\n\t\t\tsourceOffset = this.sourceEl.offset();\r\n\t\t\torigin = this.el.offsetParent().offset();\r\n\t\t\tthis.top0 = sourceOffset.top - origin.top;\r\n\t\t\tthis.left0 = sourceOffset.left - origin.left;\r\n\t\t}\r\n\r\n\t\tthis.el.css({\r\n\t\t\ttop: this.top0 + this.topDelta,\r\n\t\t\tleft: this.left0 + this.leftDelta\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Gets called when the user moves the mouse\r\n\thandleMove: function(ev) {\r\n\t\tthis.topDelta = getEvY(ev) - this.y0;\r\n\t\tthis.leftDelta = getEvX(ev) - this.x0;\r\n\r\n\t\tif (!this.isHidden) {\r\n\t\t\tthis.updatePosition();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Temporarily makes the tracking element invisible. Can be called before following starts\r\n\thide: function() {\r\n\t\tif (!this.isHidden) {\r\n\t\t\tthis.isHidden = true;\r\n\t\t\tif (this.el) {\r\n\t\t\t\tthis.el.hide();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Show the tracking element after it has been temporarily hidden\r\n\tshow: function() {\r\n\t\tif (this.isHidden) {\r\n\t\t\tthis.isHidden = false;\r\n\t\t\tthis.updatePosition();\r\n\t\t\tthis.getEl().show();\r\n\t\t}\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/* An abstract class comprised of a \"grid\" of areas that each represent a specific datetime\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nvar Grid = FC.Grid = Class.extend(ListenerMixin, {\r\n\r\n\t// self-config, overridable by subclasses\r\n\thasDayInteractions: true, // can user click/select ranges of time?\r\n\r\n\tview: null, // a View object\r\n\tisRTL: null, // shortcut to the view's isRTL option\r\n\r\n\tstart: null,\r\n\tend: null,\r\n\r\n\tel: null, // the containing element\r\n\telsByFill: null, // a hash of jQuery element sets used for rendering each fill. Keyed by fill name.\r\n\r\n\t// derived from options\r\n\teventTimeFormat: null,\r\n\tdisplayEventTime: null,\r\n\tdisplayEventEnd: null,\r\n\r\n\tminResizeDuration: null, // TODO: hack. set by subclasses. minumum event resize duration\r\n\r\n\t// if defined, holds the unit identified (ex: \"year\" or \"month\") that determines the level of granularity\r\n\t// of the date areas. if not defined, assumes to be day and time granularity.\r\n\t// TODO: port isTimeScale into same system?\r\n\tlargeUnit: null,\r\n\r\n\tdayClickListener: null,\r\n\tdaySelectListener: null,\r\n\tsegDragListener: null,\r\n\tsegResizeListener: null,\r\n\texternalDragListener: null,\r\n\r\n\r\n\tconstructor: function(view) {\r\n\t\tthis.view = view;\r\n\t\tthis.isRTL = view.opt('isRTL');\r\n\t\tthis.elsByFill = {};\r\n\r\n\t\tthis.dayClickListener = this.buildDayClickListener();\r\n\t\tthis.daySelectListener = this.buildDaySelectListener();\r\n\t},\r\n\r\n\r\n\t/* Options\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Generates the format string used for event time text, if not explicitly defined by 'timeFormat'\r\n\tcomputeEventTimeFormat: function() {\r\n\t\treturn this.view.opt('smallTimeFormat');\r\n\t},\r\n\r\n\r\n\t// Determines whether events should have their end times displayed, if not explicitly defined by 'displayEventTime'.\r\n\t// Only applies to non-all-day events.\r\n\tcomputeDisplayEventTime: function() {\r\n\t\treturn true;\r\n\t},\r\n\r\n\r\n\t// Determines whether events should have their end times displayed, if not explicitly defined by 'displayEventEnd'\r\n\tcomputeDisplayEventEnd: function() {\r\n\t\treturn true;\r\n\t},\r\n\r\n\r\n\t/* Dates\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Tells the grid about what period of time to display.\r\n\t// Any date-related internal data should be generated.\r\n\tsetRange: function(range) {\r\n\t\tthis.start = range.start.clone();\r\n\t\tthis.end = range.end.clone();\r\n\r\n\t\tthis.rangeUpdated();\r\n\t\tthis.processRangeOptions();\r\n\t},\r\n\r\n\r\n\t// Called when internal variables that rely on the range should be updated\r\n\trangeUpdated: function() {\r\n\t},\r\n\r\n\r\n\t// Updates values that rely on options and also relate to range\r\n\tprocessRangeOptions: function() {\r\n\t\tvar view = this.view;\r\n\t\tvar displayEventTime;\r\n\t\tvar displayEventEnd;\r\n\r\n\t\tthis.eventTimeFormat =\r\n\t\t\tview.opt('eventTimeFormat') ||\r\n\t\t\tview.opt('timeFormat') || // deprecated\r\n\t\t\tthis.computeEventTimeFormat();\r\n\r\n\t\tdisplayEventTime = view.opt('displayEventTime');\r\n\t\tif (displayEventTime == null) {\r\n\t\t\tdisplayEventTime = this.computeDisplayEventTime(); // might be based off of range\r\n\t\t}\r\n\r\n\t\tdisplayEventEnd = view.opt('displayEventEnd');\r\n\t\tif (displayEventEnd == null) {\r\n\t\t\tdisplayEventEnd = this.computeDisplayEventEnd(); // might be based off of range\r\n\t\t}\r\n\r\n\t\tthis.displayEventTime = displayEventTime;\r\n\t\tthis.displayEventEnd = displayEventEnd;\r\n\t},\r\n\r\n\r\n\t// Converts a span (has unzoned start/end and any other grid-specific location information)\r\n\t// into an array of segments (pieces of events whose format is decided by the grid).\r\n\tspanToSegs: function(span) {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Diffs the two dates, returning a duration, based on granularity of the grid\r\n\t// TODO: port isTimeScale into this system?\r\n\tdiffDates: function(a, b) {\r\n\t\tif (this.largeUnit) {\r\n\t\t\treturn diffByUnit(a, b, this.largeUnit);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn diffDayTime(a, b);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Hit Area\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\thitsNeededDepth: 0, // necessary because multiple callers might need the same hits\r\n\r\n\thitsNeeded: function() {\r\n\t\tif (!(this.hitsNeededDepth++)) {\r\n\t\t\tthis.prepareHits();\r\n\t\t}\r\n\t},\r\n\r\n\thitsNotNeeded: function() {\r\n\t\tif (this.hitsNeededDepth && !(--this.hitsNeededDepth)) {\r\n\t\t\tthis.releaseHits();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called before one or more queryHit calls might happen. Should prepare any cached coordinates for queryHit\r\n\tprepareHits: function() {\r\n\t},\r\n\r\n\r\n\t// Called when queryHit calls have subsided. Good place to clear any coordinate caches.\r\n\treleaseHits: function() {\r\n\t},\r\n\r\n\r\n\t// Given coordinates from the topleft of the document, return data about the date-related area underneath.\r\n\t// Can return an object with arbitrary properties (although top/right/left/bottom are encouraged).\r\n\t// Must have a `grid` property, a reference to this current grid. TODO: avoid this\r\n\t// The returned object will be processed by getHitSpan and getHitEl.\r\n\tqueryHit: function(leftOffset, topOffset) {\r\n\t},\r\n\r\n\r\n\t// Given position-level information about a date-related area within the grid,\r\n\t// should return an object with at least a start/end date. Can provide other information as well.\r\n\tgetHitSpan: function(hit) {\r\n\t},\r\n\r\n\r\n\t// Given position-level information about a date-related area within the grid,\r\n\t// should return a jQuery element that best represents it. passed to dayClick callback.\r\n\tgetHitEl: function(hit) {\r\n\t},\r\n\r\n\r\n\t/* Rendering\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Sets the container element that the grid should render inside of.\r\n\t// Does other DOM-related initializations.\r\n\tsetElement: function(el) {\r\n\t\tthis.el = el;\r\n\r\n\t\tif (this.hasDayInteractions) {\r\n\t\t\tpreventSelection(el);\r\n\r\n\t\t\tthis.bindDayHandler('touchstart', this.dayTouchStart);\r\n\t\t\tthis.bindDayHandler('mousedown', this.dayMousedown);\r\n\t\t}\r\n\r\n\t\t// attach event-element-related handlers. in Grid.events\r\n\t\t// same garbage collection note as above.\r\n\t\tthis.bindSegHandlers();\r\n\r\n\t\tthis.bindGlobalHandlers();\r\n\t},\r\n\r\n\r\n\tbindDayHandler: function(name, handler) {\r\n\t\tvar _this = this;\r\n\r\n\t\t// attach a handler to the grid's root element.\r\n\t\t// jQuery will take care of unregistering them when removeElement gets called.\r\n\t\tthis.el.on(name, function(ev) {\r\n\t\t\tif (\r\n\t\t\t\t!$(ev.target).is(\r\n\t\t\t\t\t_this.segSelector + ',' + // directly on an event element\r\n\t\t\t\t\t_this.segSelector + ' *,' + // within an event element\r\n\t\t\t\t\t'.fc-more,' + // a \"more..\" link\r\n\t\t\t\t\t'a[data-goto]' // a clickable nav link\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\treturn handler.call(_this, ev);\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Removes the grid's container element from the DOM. Undoes any other DOM-related attachments.\r\n\t// DOES NOT remove any content beforehand (doesn't clear events or call unrenderDates), unlike View\r\n\tremoveElement: function() {\r\n\t\tthis.unbindGlobalHandlers();\r\n\t\tthis.clearDragListeners();\r\n\r\n\t\tthis.el.remove();\r\n\r\n\t\t// NOTE: we don't null-out this.el for the same reasons we don't do it within View::removeElement\r\n\t},\r\n\r\n\r\n\t// Renders the basic structure of grid view before any content is rendered\r\n\trenderSkeleton: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Renders the grid's date-related content (like areas that represent days/times).\r\n\t// Assumes setRange has already been called and the skeleton has already been rendered.\r\n\trenderDates: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Unrenders the grid's date-related content\r\n\tunrenderDates: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t/* Handlers\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Binds DOM handlers to elements that reside outside the grid, such as the document\r\n\tbindGlobalHandlers: function() {\r\n\t\tthis.listenTo($(document), {\r\n\t\t\tdragstart: this.externalDragStart, // jqui\r\n\t\t\tsortstart: this.externalDragStart // jqui\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Unbinds DOM handlers from elements that reside outside the grid\r\n\tunbindGlobalHandlers: function() {\r\n\t\tthis.stopListeningTo($(document));\r\n\t},\r\n\r\n\r\n\t// Process a mousedown on an element that represents a day. For day clicking and selecting.\r\n\tdayMousedown: function(ev) {\r\n\t\tvar view = this.view;\r\n\r\n\t\t// prevent a user's clickaway for unselecting a range or an event from\r\n\t\t// causing a dayClick or starting an immediate new selection.\r\n\t\tif (view.isSelected || view.selectedEvent) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.dayClickListener.startInteraction(ev);\r\n\r\n\t\tif (view.opt('selectable')) {\r\n\t\t\tthis.daySelectListener.startInteraction(ev, {\r\n\t\t\t\tdistance: view.opt('selectMinDistance')\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tdayTouchStart: function(ev) {\r\n\t\tvar view = this.view;\r\n\t\tvar selectLongPressDelay;\r\n\r\n\t\t// prevent a user's clickaway for unselecting a range or an event from\r\n\t\t// causing a dayClick or starting an immediate new selection.\r\n\t\tif (view.isSelected || view.selectedEvent) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tselectLongPressDelay = view.opt('selectLongPressDelay');\r\n\t\tif (selectLongPressDelay == null) {\r\n\t\t\tselectLongPressDelay = view.opt('longPressDelay'); // fallback\r\n\t\t}\r\n\r\n\t\tthis.dayClickListener.startInteraction(ev);\r\n\r\n\t\tif (view.opt('selectable')) {\r\n\t\t\tthis.daySelectListener.startInteraction(ev, {\r\n\t\t\t\tdelay: selectLongPressDelay\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Creates a listener that tracks the user's drag across day elements, for day clicking.\r\n\tbuildDayClickListener: function() {\r\n\t\tvar _this = this;\r\n\t\tvar view = this.view;\r\n\t\tvar dayClickHit; // null if invalid dayClick\r\n\r\n\t\tvar dragListener = new HitDragListener(this, {\r\n\t\t\tscroll: view.opt('dragScroll'),\r\n\t\t\tinteractionStart: function() {\r\n\t\t\t\tdayClickHit = dragListener.origHit;\r\n\t\t\t},\r\n\t\t\thitOver: function(hit, isOrig, origHit) {\r\n\t\t\t\t// if user dragged to another cell at any point, it can no longer be a dayClick\r\n\t\t\t\tif (!isOrig) {\r\n\t\t\t\t\tdayClickHit = null;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\r\n\t\t\t\tdayClickHit = null;\r\n\t\t\t},\r\n\t\t\tinteractionEnd: function(ev, isCancelled) {\r\n\t\t\t\tif (!isCancelled && dayClickHit) {\r\n\t\t\t\t\tview.triggerDayClick(\r\n\t\t\t\t\t\t_this.getHitSpan(dayClickHit),\r\n\t\t\t\t\t\t_this.getHitEl(dayClickHit),\r\n\t\t\t\t\t\tev\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// because dayClickListener won't be called with any time delay, \"dragging\" will begin immediately,\r\n\t\t// which will kill any touchmoving/scrolling. Prevent this.\r\n\t\tdragListener.shouldCancelTouchScroll = false;\r\n\r\n\t\tdragListener.scrollAlwaysKills = true;\r\n\r\n\t\treturn dragListener;\r\n\t},\r\n\r\n\r\n\t// Creates a listener that tracks the user's drag across day elements, for day selecting.\r\n\tbuildDaySelectListener: function() {\r\n\t\tvar _this = this;\r\n\t\tvar view = this.view;\r\n\t\tvar selectionSpan; // null if invalid selection\r\n\r\n\t\tvar dragListener = new HitDragListener(this, {\r\n\t\t\tscroll: view.opt('dragScroll'),\r\n\t\t\tinteractionStart: function() {\r\n\t\t\t\tselectionSpan = null;\r\n\t\t\t},\r\n\t\t\tdragStart: function() {\r\n\t\t\t\tview.unselect(); // since we could be rendering a new selection, we want to clear any old one\r\n\t\t\t},\r\n\t\t\thitOver: function(hit, isOrig, origHit) {\r\n\t\t\t\tif (origHit) { // click needs to have started on a hit\r\n\r\n\t\t\t\t\tselectionSpan = _this.computeSelection(\r\n\t\t\t\t\t\t_this.getHitSpan(origHit),\r\n\t\t\t\t\t\t_this.getHitSpan(hit)\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tif (selectionSpan) {\r\n\t\t\t\t\t\t_this.renderSelection(selectionSpan);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (selectionSpan === false) {\r\n\t\t\t\t\t\tdisableCursor();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\r\n\t\t\t\tselectionSpan = null;\r\n\t\t\t\t_this.unrenderSelection();\r\n\t\t\t},\r\n\t\t\thitDone: function() { // called after a hitOut OR before a dragEnd\r\n\t\t\t\tenableCursor();\r\n\t\t\t},\r\n\t\t\tinteractionEnd: function(ev, isCancelled) {\r\n\t\t\t\tif (!isCancelled && selectionSpan) {\r\n\t\t\t\t\t// the selection will already have been rendered. just report it\r\n\t\t\t\t\tview.reportSelection(selectionSpan, ev);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn dragListener;\r\n\t},\r\n\r\n\r\n\t// Kills all in-progress dragging.\r\n\t// Useful for when public API methods that result in re-rendering are invoked during a drag.\r\n\t// Also useful for when touch devices misbehave and don't fire their touchend.\r\n\tclearDragListeners: function() {\r\n\t\tthis.dayClickListener.endInteraction();\r\n\t\tthis.daySelectListener.endInteraction();\r\n\r\n\t\tif (this.segDragListener) {\r\n\t\t\tthis.segDragListener.endInteraction(); // will clear this.segDragListener\r\n\t\t}\r\n\t\tif (this.segResizeListener) {\r\n\t\t\tthis.segResizeListener.endInteraction(); // will clear this.segResizeListener\r\n\t\t}\r\n\t\tif (this.externalDragListener) {\r\n\t\t\tthis.externalDragListener.endInteraction(); // will clear this.externalDragListener\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Event Helper\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\t// TODO: should probably move this to Grid.events, like we did event dragging / resizing\r\n\r\n\r\n\t// Renders a mock event at the given event location, which contains zoned start/end properties.\r\n\t// Returns all mock event elements.\r\n\trenderEventLocationHelper: function(eventLocation, sourceSeg) {\r\n\t\tvar fakeEvent = this.fabricateHelperEvent(eventLocation, sourceSeg);\r\n\r\n\t\treturn this.renderHelper(fakeEvent, sourceSeg); // do the actual rendering\r\n\t},\r\n\r\n\r\n\t// Builds a fake event given zoned event date properties and a segment is should be inspired from.\r\n\t// The range's end can be null, in which case the mock event that is rendered will have a null end time.\r\n\t// `sourceSeg` is the internal segment object involved in the drag. If null, something external is dragging.\r\n\tfabricateHelperEvent: function(eventLocation, sourceSeg) {\r\n\t\tvar fakeEvent = sourceSeg ? createObject(sourceSeg.event) : {}; // mask the original event object if possible\r\n\r\n\t\tfakeEvent.start = eventLocation.start.clone();\r\n\t\tfakeEvent.end = eventLocation.end ? eventLocation.end.clone() : null;\r\n\t\tfakeEvent.allDay = null; // force it to be freshly computed by normalizeEventDates\r\n\t\tthis.view.calendar.normalizeEventDates(fakeEvent);\r\n\r\n\t\t// this extra className will be useful for differentiating real events from mock events in CSS\r\n\t\tfakeEvent.className = (fakeEvent.className || []).concat('fc-helper');\r\n\r\n\t\t// if something external is being dragged in, don't render a resizer\r\n\t\tif (!sourceSeg) {\r\n\t\t\tfakeEvent.editable = false;\r\n\t\t}\r\n\r\n\t\treturn fakeEvent;\r\n\t},\r\n\r\n\r\n\t// Renders a mock event. Given zoned event date properties.\r\n\t// Must return all mock event elements.\r\n\trenderHelper: function(eventLocation, sourceSeg) {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Unrenders a mock event\r\n\tunrenderHelper: function() {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t/* Selection\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of a selection. Will highlight by default but can be overridden by subclasses.\r\n\t// Given a span (unzoned start/end and other misc data)\r\n\trenderSelection: function(span) {\r\n\t\tthis.renderHighlight(span);\r\n\t},\r\n\r\n\r\n\t// Unrenders any visual indications of a selection. Will unrender a highlight by default.\r\n\tunrenderSelection: function() {\r\n\t\tthis.unrenderHighlight();\r\n\t},\r\n\r\n\r\n\t// Given the first and last date-spans of a selection, returns another date-span object.\r\n\t// Subclasses can override and provide additional data in the span object. Will be passed to renderSelection().\r\n\t// Will return false if the selection is invalid and this should be indicated to the user.\r\n\t// Will return null/undefined if a selection invalid but no error should be reported.\r\n\tcomputeSelection: function(span0, span1) {\r\n\t\tvar span = this.computeSelectionSpan(span0, span1);\r\n\r\n\t\tif (span && !this.view.calendar.isSelectionSpanAllowed(span)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn span;\r\n\t},\r\n\r\n\r\n\t// Given two spans, must return the combination of the two.\r\n\t// TODO: do this separation of concerns (combining VS validation) for event dnd/resize too.\r\n\tcomputeSelectionSpan: function(span0, span1) {\r\n\t\tvar dates = [ span0.start, span0.end, span1.start, span1.end ];\r\n\r\n\t\tdates.sort(compareNumbers); // sorts chronologically. works with Moments\r\n\r\n\t\treturn { start: dates[0].clone(), end: dates[3].clone() };\r\n\t},\r\n\r\n\r\n\t/* Highlight\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders an emphasis on the given date range. Given a span (unzoned start/end and other misc data)\r\n\trenderHighlight: function(span) {\r\n\t\tthis.renderFill('highlight', this.spanToSegs(span));\r\n\t},\r\n\r\n\r\n\t// Unrenders the emphasis on a date range\r\n\tunrenderHighlight: function() {\r\n\t\tthis.unrenderFill('highlight');\r\n\t},\r\n\r\n\r\n\t// Generates an array of classNames for rendering the highlight. Used by the fill system.\r\n\thighlightSegClasses: function() {\r\n\t\treturn [ 'fc-highlight' ];\r\n\t},\r\n\r\n\r\n\t/* Business Hours\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderBusinessHours: function() {\r\n\t},\r\n\r\n\r\n\tunrenderBusinessHours: function() {\r\n\t},\r\n\r\n\r\n\t/* Now Indicator\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tgetNowIndicatorUnit: function() {\r\n\t},\r\n\r\n\r\n\trenderNowIndicator: function(date) {\r\n\t},\r\n\r\n\r\n\tunrenderNowIndicator: function() {\r\n\t},\r\n\r\n\r\n\t/* Fill System (highlight, background events, business hours)\r\n\t--------------------------------------------------------------------------------------------------------------------\r\n\tTODO: remove this system. like we did in TimeGrid\r\n\t*/\r\n\r\n\r\n\t// Renders a set of rectangles over the given segments of time.\r\n\t// MUST RETURN a subset of segs, the segs that were actually rendered.\r\n\t// Responsible for populating this.elsByFill. TODO: better API for expressing this requirement\r\n\trenderFill: function(type, segs) {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Unrenders a specific type of fill that is currently rendered on the grid\r\n\tunrenderFill: function(type) {\r\n\t\tvar el = this.elsByFill[type];\r\n\r\n\t\tif (el) {\r\n\t\t\tel.remove();\r\n\t\t\tdelete this.elsByFill[type];\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Renders and assigns an `el` property for each fill segment. Generic enough to work with different types.\r\n\t// Only returns segments that successfully rendered.\r\n\t// To be harnessed by renderFill (implemented by subclasses).\r\n\t// Analagous to renderFgSegEls.\r\n\trenderFillSegEls: function(type, segs) {\r\n\t\tvar _this = this;\r\n\t\tvar segElMethod = this[type + 'SegEl'];\r\n\t\tvar html = '';\r\n\t\tvar renderedSegs = [];\r\n\t\tvar i;\r\n\r\n\t\tif (segs.length) {\r\n\r\n\t\t\t// build a large concatenation of segment HTML\r\n\t\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\t\thtml += this.fillSegHtml(type, segs[i]);\r\n\t\t\t}\r\n\r\n\t\t\t// Grab individual elements from the combined HTML string. Use each as the default rendering.\r\n\t\t\t// Then, compute the 'el' for each segment.\r\n\t\t\t$(html).each(function(i, node) {\r\n\t\t\t\tvar seg = segs[i];\r\n\t\t\t\tvar el = $(node);\r\n\r\n\t\t\t\t// allow custom filter methods per-type\r\n\t\t\t\tif (segElMethod) {\r\n\t\t\t\t\tel = segElMethod.call(_this, seg, el);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (el) { // custom filters did not cancel the render\r\n\t\t\t\t\tel = $(el); // allow custom filter to return raw DOM node\r\n\r\n\t\t\t\t\t// correct element type? (would be bad if a non-TD were inserted into a table for example)\r\n\t\t\t\t\tif (el.is(_this.fillSegTag)) {\r\n\t\t\t\t\t\tseg.el = el;\r\n\t\t\t\t\t\trenderedSegs.push(seg);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn renderedSegs;\r\n\t},\r\n\r\n\r\n\tfillSegTag: 'div', // subclasses can override\r\n\r\n\r\n\t// Builds the HTML needed for one fill segment. Generic enough to work with different types.\r\n\tfillSegHtml: function(type, seg) {\r\n\r\n\t\t// custom hooks per-type\r\n\t\tvar classesMethod = this[type + 'SegClasses'];\r\n\t\tvar cssMethod = this[type + 'SegCss'];\r\n\r\n\t\tvar classes = classesMethod ? classesMethod.call(this, seg) : [];\r\n\t\tvar css = cssToStr(cssMethod ? cssMethod.call(this, seg) : {});\r\n\r\n\t\treturn '<' + this.fillSegTag +\r\n\t\t\t(classes.length ? ' class=\"' + classes.join(' ') + '\"' : '') +\r\n\t\t\t(css ? ' style=\"' + css + '\"' : '') +\r\n\t\t\t' />';\r\n\t},\r\n\r\n\r\n\r\n\t/* Generic rendering utilities for subclasses\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Computes HTML classNames for a single-day element\r\n\tgetDayClasses: function(date, noThemeHighlight) {\r\n\t\tvar view = this.view;\r\n\t\tvar today = view.calendar.getNow();\r\n\t\tvar classes = [ 'fc-' + dayIDs[date.day()] ];\r\n\r\n\t\tif (\r\n\t\t\tview.intervalDuration.as('months') == 1 &&\r\n\t\t\tdate.month() != view.intervalStart.month()\r\n\t\t) {\r\n\t\t\tclasses.push('fc-other-month');\r\n\t\t}\r\n\r\n\t\tif (date.isSame(today, 'day')) {\r\n\t\t\tclasses.push('fc-today');\r\n\r\n\t\t\tif (noThemeHighlight !== true) {\r\n\t\t\t\tclasses.push(view.highlightStateClass);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (date < today) {\r\n\t\t\tclasses.push('fc-past');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tclasses.push('fc-future');\r\n\t\t}\r\n\r\n\t\treturn classes;\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/* Event-rendering and event-interaction methods for the abstract Grid class\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nGrid.mixin({\r\n\r\n\t// self-config, overridable by subclasses\r\n\tsegSelector: '.fc-event-container > *', // what constitutes an event element?\r\n\r\n\tmousedOverSeg: null, // the segment object the user's mouse is over. null if over nothing\r\n\tisDraggingSeg: false, // is a segment being dragged? boolean\r\n\tisResizingSeg: false, // is a segment being resized? boolean\r\n\tisDraggingExternal: false, // jqui-dragging an external element? boolean\r\n\tsegs: null, // the *event* segments currently rendered in the grid. TODO: rename to `eventSegs`\r\n\r\n\r\n\t// Renders the given events onto the grid\r\n\trenderEvents: function(events) {\r\n\t\tvar bgEvents = [];\r\n\t\tvar fgEvents = [];\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < events.length; i++) {\r\n\t\t\t(isBgEvent(events[i]) ? bgEvents : fgEvents).push(events[i]);\r\n\t\t}\r\n\r\n\t\tthis.segs = [].concat( // record all segs\r\n\t\t\tthis.renderBgEvents(bgEvents),\r\n\t\t\tthis.renderFgEvents(fgEvents)\r\n\t\t);\r\n\t},\r\n\r\n\r\n\trenderBgEvents: function(events) {\r\n\t\tvar segs = this.eventsToSegs(events);\r\n\r\n\t\t// renderBgSegs might return a subset of segs, segs that were actually rendered\r\n\t\treturn this.renderBgSegs(segs) || segs;\r\n\t},\r\n\r\n\r\n\trenderFgEvents: function(events) {\r\n\t\tvar segs = this.eventsToSegs(events);\r\n\r\n\t\t// renderFgSegs might return a subset of segs, segs that were actually rendered\r\n\t\treturn this.renderFgSegs(segs) || segs;\r\n\t},\r\n\r\n\r\n\t// Unrenders all events currently rendered on the grid\r\n\tunrenderEvents: function() {\r\n\t\tthis.handleSegMouseout(); // trigger an eventMouseout if user's mouse is over an event\r\n\t\tthis.clearDragListeners();\r\n\r\n\t\tthis.unrenderFgSegs();\r\n\t\tthis.unrenderBgSegs();\r\n\r\n\t\tthis.segs = null;\r\n\t},\r\n\r\n\r\n\t// Retrieves all rendered segment objects currently rendered on the grid\r\n\tgetEventSegs: function() {\r\n\t\treturn this.segs || [];\r\n\t},\r\n\r\n\r\n\t/* Foreground Segment Rendering\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders foreground event segments onto the grid. May return a subset of segs that were rendered.\r\n\trenderFgSegs: function(segs) {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Unrenders all currently rendered foreground segments\r\n\tunrenderFgSegs: function() {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Renders and assigns an `el` property for each foreground event segment.\r\n\t// Only returns segments that successfully rendered.\r\n\t// A utility that subclasses may use.\r\n\trenderFgSegEls: function(segs, disableResizing) {\r\n\t\tvar view = this.view;\r\n\t\tvar html = '';\r\n\t\tvar renderedSegs = [];\r\n\t\tvar i;\r\n\r\n\t\tif (segs.length) { // don't build an empty html string\r\n\r\n\t\t\t// build a large concatenation of event segment HTML\r\n\t\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\t\thtml += this.fgSegHtml(segs[i], disableResizing);\r\n\t\t\t}\r\n\r\n\t\t\t// Grab individual elements from the combined HTML string. Use each as the default rendering.\r\n\t\t\t// Then, compute the 'el' for each segment. An el might be null if the eventRender callback returned false.\r\n\t\t\t$(html).each(function(i, node) {\r\n\t\t\t\tvar seg = segs[i];\r\n\t\t\t\tvar el = view.resolveEventEl(seg.event, $(node));\r\n\r\n\t\t\t\tif (el) {\r\n\t\t\t\t\tel.data('fc-seg', seg); // used by handlers\r\n\t\t\t\t\tseg.el = el;\r\n\t\t\t\t\trenderedSegs.push(seg);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn renderedSegs;\r\n\t},\r\n\r\n\r\n\t// Generates the HTML for the default rendering of a foreground event segment. Used by renderFgSegEls()\r\n\tfgSegHtml: function(seg, disableResizing) {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t/* Background Segment Rendering\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders the given background event segments onto the grid.\r\n\t// Returns a subset of the segs that were actually rendered.\r\n\trenderBgSegs: function(segs) {\r\n\t\treturn this.renderFill('bgEvent', segs);\r\n\t},\r\n\r\n\r\n\t// Unrenders all the currently rendered background event segments\r\n\tunrenderBgSegs: function() {\r\n\t\tthis.unrenderFill('bgEvent');\r\n\t},\r\n\r\n\r\n\t// Renders a background event element, given the default rendering. Called by the fill system.\r\n\tbgEventSegEl: function(seg, el) {\r\n\t\treturn this.view.resolveEventEl(seg.event, el); // will filter through eventRender\r\n\t},\r\n\r\n\r\n\t// Generates an array of classNames to be used for the default rendering of a background event.\r\n\t// Called by fillSegHtml.\r\n\tbgEventSegClasses: function(seg) {\r\n\t\tvar event = seg.event;\r\n\t\tvar source = event.source || {};\r\n\r\n\t\treturn [ 'fc-bgevent' ].concat(\r\n\t\t\tevent.className,\r\n\t\t\tsource.className || []\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Generates a semicolon-separated CSS string to be used for the default rendering of a background event.\r\n\t// Called by fillSegHtml.\r\n\tbgEventSegCss: function(seg) {\r\n\t\treturn {\r\n\t\t\t'background-color': this.getSegSkinCss(seg)['background-color']\r\n\t\t};\r\n\t},\r\n\r\n\r\n\t// Generates an array of classNames to be used for the rendering business hours overlay. Called by the fill system.\r\n\t// Called by fillSegHtml.\r\n\tbusinessHoursSegClasses: function(seg) {\r\n\t\treturn [ 'fc-nonbusiness', 'fc-bgevent' ];\r\n\t},\r\n\r\n\r\n\t/* Business Hours\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Compute business hour segs for the grid's current date range.\r\n\t// Caller must ask if whole-day business hours are needed.\r\n\t// If no `businessHours` configuration value is specified, assumes the calendar default.\r\n\tbuildBusinessHourSegs: function(wholeDay, businessHours) {\r\n\t\treturn this.eventsToSegs(\r\n\t\t\tthis.buildBusinessHourEvents(wholeDay, businessHours)\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Compute business hour *events* for the grid's current date range.\r\n\t// Caller must ask if whole-day business hours are needed.\r\n\t// If no `businessHours` configuration value is specified, assumes the calendar default.\r\n\tbuildBusinessHourEvents: function(wholeDay, businessHours) {\r\n\t\tvar calendar = this.view.calendar;\r\n\t\tvar events;\r\n\r\n\t\tif (businessHours == null) {\r\n\t\t\t// fallback\r\n\t\t\t// access from calendawr. don't access from view. doesn't update with dynamic options.\r\n\t\t\tbusinessHours = calendar.options.businessHours;\r\n\t\t}\r\n\r\n\t\tevents = calendar.computeBusinessHourEvents(wholeDay, businessHours);\r\n\r\n\t\t// HACK. Eventually refactor business hours \"events\" system.\r\n\t\t// If no events are given, but businessHours is activated, this means the entire visible range should be\r\n\t\t// marked as *not* business-hours, via inverse-background rendering.\r\n\t\tif (!events.length && businessHours) {\r\n\t\t\tevents = [\r\n\t\t\t\t$.extend({}, BUSINESS_HOUR_EVENT_DEFAULTS, {\r\n\t\t\t\t\tstart: this.view.end, // guaranteed out-of-range\r\n\t\t\t\t\tend: this.view.end,   // \"\r\n\t\t\t\t\tdow: null\r\n\t\t\t\t})\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\treturn events;\r\n\t},\r\n\r\n\r\n\t/* Handlers\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Attaches event-element-related handlers for *all* rendered event segments of the view.\r\n\tbindSegHandlers: function() {\r\n\t\tthis.bindSegHandlersToEl(this.el);\r\n\t},\r\n\r\n\r\n\t// Attaches event-element-related handlers to an arbitrary container element. leverages bubbling.\r\n\tbindSegHandlersToEl: function(el) {\r\n\t\tthis.bindSegHandlerToEl(el, 'touchstart', this.handleSegTouchStart);\r\n\t\tthis.bindSegHandlerToEl(el, 'mouseenter', this.handleSegMouseover);\r\n\t\tthis.bindSegHandlerToEl(el, 'mouseleave', this.handleSegMouseout);\r\n\t\tthis.bindSegHandlerToEl(el, 'mousedown', this.handleSegMousedown);\r\n\t\tthis.bindSegHandlerToEl(el, 'click', this.handleSegClick);\r\n\t},\r\n\r\n\r\n\t// Executes a handler for any a user-interaction on a segment.\r\n\t// Handler gets called with (seg, ev), and with the `this` context of the Grid\r\n\tbindSegHandlerToEl: function(el, name, handler) {\r\n\t\tvar _this = this;\r\n\r\n\t\tel.on(name, this.segSelector, function(ev) {\r\n\t\t\tvar seg = $(this).data('fc-seg'); // grab segment data. put there by View::renderEvents\r\n\r\n\t\t\t// only call the handlers if there is not a drag/resize in progress\r\n\t\t\tif (seg && !_this.isDraggingSeg && !_this.isResizingSeg) {\r\n\t\t\t\treturn handler.call(_this, seg, ev); // context will be the Grid\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\r\n\thandleSegClick: function(seg, ev) {\r\n\t\tvar res = this.view.publiclyTrigger('eventClick', seg.el[0], seg.event, ev); // can return `false` to cancel\r\n\t\tif (res === false) {\r\n\t\t\tev.preventDefault();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Updates internal state and triggers handlers for when an event element is moused over\r\n\thandleSegMouseover: function(seg, ev) {\r\n\t\tif (\r\n\t\t\t!GlobalEmitter.get().shouldIgnoreMouse() &&\r\n\t\t\t!this.mousedOverSeg\r\n\t\t) {\r\n\t\t\tthis.mousedOverSeg = seg;\r\n\t\t\tif (this.view.isEventResizable(seg.event)) {\r\n\t\t\t\tseg.el.addClass('fc-allow-mouse-resize');\r\n\t\t\t}\r\n\t\t\tthis.view.publiclyTrigger('eventMouseover', seg.el[0], seg.event, ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Updates internal state and triggers handlers for when an event element is moused out.\r\n\t// Can be given no arguments, in which case it will mouseout the segment that was previously moused over.\r\n\thandleSegMouseout: function(seg, ev) {\r\n\t\tev = ev || {}; // if given no args, make a mock mouse event\r\n\r\n\t\tif (this.mousedOverSeg) {\r\n\t\t\tseg = seg || this.mousedOverSeg; // if given no args, use the currently moused-over segment\r\n\t\t\tthis.mousedOverSeg = null;\r\n\t\t\tif (this.view.isEventResizable(seg.event)) {\r\n\t\t\t\tseg.el.removeClass('fc-allow-mouse-resize');\r\n\t\t\t}\r\n\t\t\tthis.view.publiclyTrigger('eventMouseout', seg.el[0], seg.event, ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thandleSegMousedown: function(seg, ev) {\r\n\t\tvar isResizing = this.startSegResize(seg, ev, { distance: 5 });\r\n\r\n\t\tif (!isResizing && this.view.isEventDraggable(seg.event)) {\r\n\t\t\tthis.buildSegDragListener(seg)\r\n\t\t\t\t.startInteraction(ev, {\r\n\t\t\t\t\tdistance: 5\r\n\t\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thandleSegTouchStart: function(seg, ev) {\r\n\t\tvar view = this.view;\r\n\t\tvar event = seg.event;\r\n\t\tvar isSelected = view.isEventSelected(event);\r\n\t\tvar isDraggable = view.isEventDraggable(event);\r\n\t\tvar isResizable = view.isEventResizable(event);\r\n\t\tvar isResizing = false;\r\n\t\tvar dragListener;\r\n\t\tvar eventLongPressDelay;\r\n\r\n\t\tif (isSelected && isResizable) {\r\n\t\t\t// only allow resizing of the event is selected\r\n\t\t\tisResizing = this.startSegResize(seg, ev);\r\n\t\t}\r\n\r\n\t\tif (!isResizing && (isDraggable || isResizable)) { // allowed to be selected?\r\n\r\n\t\t\teventLongPressDelay = view.opt('eventLongPressDelay');\r\n\t\t\tif (eventLongPressDelay == null) {\r\n\t\t\t\teventLongPressDelay = view.opt('longPressDelay'); // fallback\r\n\t\t\t}\r\n\r\n\t\t\tdragListener = isDraggable ?\r\n\t\t\t\tthis.buildSegDragListener(seg) :\r\n\t\t\t\tthis.buildSegSelectListener(seg); // seg isn't draggable, but still needs to be selected\r\n\r\n\t\t\tdragListener.startInteraction(ev, { // won't start if already started\r\n\t\t\t\tdelay: isSelected ? 0 : eventLongPressDelay // do delay if not already selected\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// returns boolean whether resizing actually started or not.\r\n\t// assumes the seg allows resizing.\r\n\t// `dragOptions` are optional.\r\n\tstartSegResize: function(seg, ev, dragOptions) {\r\n\t\tif ($(ev.target).is('.fc-resizer')) {\r\n\t\t\tthis.buildSegResizeListener(seg, $(ev.target).is('.fc-start-resizer'))\r\n\t\t\t\t.startInteraction(ev, dragOptions);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\r\n\r\n\t/* Event Dragging\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Builds a listener that will track user-dragging on an event segment.\r\n\t// Generic enough to work with any type of Grid.\r\n\t// Has side effect of setting/unsetting `segDragListener`\r\n\tbuildSegDragListener: function(seg) {\r\n\t\tvar _this = this;\r\n\t\tvar view = this.view;\r\n\t\tvar calendar = view.calendar;\r\n\t\tvar el = seg.el;\r\n\t\tvar event = seg.event;\r\n\t\tvar isDragging;\r\n\t\tvar mouseFollower; // A clone of the original element that will move with the mouse\r\n\t\tvar dropLocation; // zoned event date properties\r\n\r\n\t\tif (this.segDragListener) {\r\n\t\t\treturn this.segDragListener;\r\n\t\t}\r\n\r\n\t\t// Tracks mouse movement over the *view's* coordinate map. Allows dragging and dropping between subcomponents\r\n\t\t// of the view.\r\n\t\tvar dragListener = this.segDragListener = new HitDragListener(view, {\r\n\t\t\tscroll: view.opt('dragScroll'),\r\n\t\t\tsubjectEl: el,\r\n\t\t\tsubjectCenter: true,\r\n\t\t\tinteractionStart: function(ev) {\r\n\t\t\t\tseg.component = _this; // for renderDrag\r\n\t\t\t\tisDragging = false;\r\n\t\t\t\tmouseFollower = new MouseFollower(seg.el, {\r\n\t\t\t\t\tadditionalClass: 'fc-dragging',\r\n\t\t\t\t\tparentEl: view.el,\r\n\t\t\t\t\topacity: dragListener.isTouch ? null : view.opt('dragOpacity'),\r\n\t\t\t\t\trevertDuration: view.opt('dragRevertDuration'),\r\n\t\t\t\t\tzIndex: 2 // one above the .fc-view\r\n\t\t\t\t});\r\n\t\t\t\tmouseFollower.hide(); // don't show until we know this is a real drag\r\n\t\t\t\tmouseFollower.start(ev);\r\n\t\t\t},\r\n\t\t\tdragStart: function(ev) {\r\n\t\t\t\tif (dragListener.isTouch && !view.isEventSelected(event)) {\r\n\t\t\t\t\t// if not previously selected, will fire after a delay. then, select the event\r\n\t\t\t\t\tview.selectEvent(event);\r\n\t\t\t\t}\r\n\t\t\t\tisDragging = true;\r\n\t\t\t\t_this.handleSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported\r\n\t\t\t\t_this.segDragStart(seg, ev);\r\n\t\t\t\tview.hideEvent(event); // hide all event segments. our mouseFollower will take over\r\n\t\t\t},\r\n\t\t\thitOver: function(hit, isOrig, origHit) {\r\n\t\t\t\tvar dragHelperEls;\r\n\r\n\t\t\t\t// starting hit could be forced (DayGrid.limit)\r\n\t\t\t\tif (seg.hit) {\r\n\t\t\t\t\torigHit = seg.hit;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// since we are querying the parent view, might not belong to this grid\r\n\t\t\t\tdropLocation = _this.computeEventDrop(\r\n\t\t\t\t\torigHit.component.getHitSpan(origHit),\r\n\t\t\t\t\thit.component.getHitSpan(hit),\r\n\t\t\t\t\tevent\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (dropLocation && !calendar.isEventSpanAllowed(_this.eventToSpan(dropLocation), event)) {\r\n\t\t\t\t\tdisableCursor();\r\n\t\t\t\t\tdropLocation = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// if a valid drop location, have the subclass render a visual indication\r\n\t\t\t\tif (dropLocation && (dragHelperEls = view.renderDrag(dropLocation, seg))) {\r\n\r\n\t\t\t\t\tdragHelperEls.addClass('fc-dragging');\r\n\t\t\t\t\tif (!dragListener.isTouch) {\r\n\t\t\t\t\t\t_this.applyDragOpacity(dragHelperEls);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmouseFollower.hide(); // if the subclass is already using a mock event \"helper\", hide our own\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tmouseFollower.show(); // otherwise, have the helper follow the mouse (no snapping)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isOrig) {\r\n\t\t\t\t\tdropLocation = null; // needs to have moved hits to be a valid drop\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\r\n\t\t\t\tview.unrenderDrag(); // unrender whatever was done in renderDrag\r\n\t\t\t\tmouseFollower.show(); // show in case we are moving out of all hits\r\n\t\t\t\tdropLocation = null;\r\n\t\t\t},\r\n\t\t\thitDone: function() { // Called after a hitOut OR before a dragEnd\r\n\t\t\t\tenableCursor();\r\n\t\t\t},\r\n\t\t\tinteractionEnd: function(ev) {\r\n\t\t\t\tdelete seg.component; // prevent side effects\r\n\r\n\t\t\t\t// do revert animation if hasn't changed. calls a callback when finished (whether animation or not)\r\n\t\t\t\tmouseFollower.stop(!dropLocation, function() {\r\n\t\t\t\t\tif (isDragging) {\r\n\t\t\t\t\t\tview.unrenderDrag();\r\n\t\t\t\t\t\t_this.segDragStop(seg, ev);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (dropLocation) {\r\n\t\t\t\t\t\t// no need to re-show original, will rerender all anyways. esp important if eventRenderWait\r\n\t\t\t\t\t\tview.reportSegDrop(seg, dropLocation, _this.largeUnit, el, ev);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tview.showEvent(event);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t_this.segDragListener = null;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn dragListener;\r\n\t},\r\n\r\n\r\n\t// seg isn't draggable, but let's use a generic DragListener\r\n\t// simply for the delay, so it can be selected.\r\n\t// Has side effect of setting/unsetting `segDragListener`\r\n\tbuildSegSelectListener: function(seg) {\r\n\t\tvar _this = this;\r\n\t\tvar view = this.view;\r\n\t\tvar event = seg.event;\r\n\r\n\t\tif (this.segDragListener) {\r\n\t\t\treturn this.segDragListener;\r\n\t\t}\r\n\r\n\t\tvar dragListener = this.segDragListener = new DragListener({\r\n\t\t\tdragStart: function(ev) {\r\n\t\t\t\tif (dragListener.isTouch && !view.isEventSelected(event)) {\r\n\t\t\t\t\t// if not previously selected, will fire after a delay. then, select the event\r\n\t\t\t\t\tview.selectEvent(event);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tinteractionEnd: function(ev) {\r\n\t\t\t\t_this.segDragListener = null;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn dragListener;\r\n\t},\r\n\r\n\r\n\t// Called before event segment dragging starts\r\n\tsegDragStart: function(seg, ev) {\r\n\t\tthis.isDraggingSeg = true;\r\n\t\tthis.view.publiclyTrigger('eventDragStart', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy\r\n\t},\r\n\r\n\r\n\t// Called after event segment dragging stops\r\n\tsegDragStop: function(seg, ev) {\r\n\t\tthis.isDraggingSeg = false;\r\n\t\tthis.view.publiclyTrigger('eventDragStop', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy\r\n\t},\r\n\r\n\r\n\t// Given the spans an event drag began, and the span event was dropped, calculates the new zoned start/end/allDay\r\n\t// values for the event. Subclasses may override and set additional properties to be used by renderDrag.\r\n\t// A falsy returned value indicates an invalid drop.\r\n\t// DOES NOT consider overlap/constraint.\r\n\tcomputeEventDrop: function(startSpan, endSpan, event) {\r\n\t\tvar calendar = this.view.calendar;\r\n\t\tvar dragStart = startSpan.start;\r\n\t\tvar dragEnd = endSpan.start;\r\n\t\tvar delta;\r\n\t\tvar dropLocation; // zoned event date properties\r\n\r\n\t\tif (dragStart.hasTime() === dragEnd.hasTime()) {\r\n\t\t\tdelta = this.diffDates(dragEnd, dragStart);\r\n\r\n\t\t\t// if an all-day event was in a timed area and it was dragged to a different time,\r\n\t\t\t// guarantee an end and adjust start/end to have times\r\n\t\t\tif (event.allDay && durationHasTime(delta)) {\r\n\t\t\t\tdropLocation = {\r\n\t\t\t\t\tstart: event.start.clone(),\r\n\t\t\t\t\tend: calendar.getEventEnd(event), // will be an ambig day\r\n\t\t\t\t\tallDay: false // for normalizeEventTimes\r\n\t\t\t\t};\r\n\t\t\t\tcalendar.normalizeEventTimes(dropLocation);\r\n\t\t\t}\r\n\t\t\t// othewise, work off existing values\r\n\t\t\telse {\r\n\t\t\t\tdropLocation = pluckEventDateProps(event);\r\n\t\t\t}\r\n\r\n\t\t\tdropLocation.start.add(delta);\r\n\t\t\tif (dropLocation.end) {\r\n\t\t\t\tdropLocation.end.add(delta);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// if switching from day <-> timed, start should be reset to the dropped date, and the end cleared\r\n\t\t\tdropLocation = {\r\n\t\t\t\tstart: dragEnd.clone(),\r\n\t\t\t\tend: null, // end should be cleared\r\n\t\t\t\tallDay: !dragEnd.hasTime()\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn dropLocation;\r\n\t},\r\n\r\n\r\n\t// Utility for apply dragOpacity to a jQuery set\r\n\tapplyDragOpacity: function(els) {\r\n\t\tvar opacity = this.view.opt('dragOpacity');\r\n\r\n\t\tif (opacity != null) {\r\n\t\t\tels.css('opacity', opacity);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* External Element Dragging\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Called when a jQuery UI drag is initiated anywhere in the DOM\r\n\texternalDragStart: function(ev, ui) {\r\n\t\tvar view = this.view;\r\n\t\tvar el;\r\n\t\tvar accept;\r\n\r\n\t\tif (view.opt('droppable')) { // only listen if this setting is on\r\n\t\t\tel = $((ui ? ui.item : null) || ev.target);\r\n\r\n\t\t\t// Test that the dragged element passes the dropAccept selector or filter function.\r\n\t\t\t// FYI, the default is \"*\" (matches all)\r\n\t\t\taccept = view.opt('dropAccept');\r\n\t\t\tif ($.isFunction(accept) ? accept.call(el[0], el) : el.is(accept)) {\r\n\t\t\t\tif (!this.isDraggingExternal) { // prevent double-listening if fired twice\r\n\t\t\t\t\tthis.listenToExternalDrag(el, ev, ui);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Called when a jQuery UI drag starts and it needs to be monitored for dropping\r\n\tlistenToExternalDrag: function(el, ev, ui) {\r\n\t\tvar _this = this;\r\n\t\tvar calendar = this.view.calendar;\r\n\t\tvar meta = getDraggedElMeta(el); // extra data about event drop, including possible event to create\r\n\t\tvar dropLocation; // a null value signals an unsuccessful drag\r\n\r\n\t\t// listener that tracks mouse movement over date-associated pixel regions\r\n\t\tvar dragListener = _this.externalDragListener = new HitDragListener(this, {\r\n\t\t\tinteractionStart: function() {\r\n\t\t\t\t_this.isDraggingExternal = true;\r\n\t\t\t},\r\n\t\t\thitOver: function(hit) {\r\n\t\t\t\tdropLocation = _this.computeExternalDrop(\r\n\t\t\t\t\thit.component.getHitSpan(hit), // since we are querying the parent view, might not belong to this grid\r\n\t\t\t\t\tmeta\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif ( // invalid hit?\r\n\t\t\t\t\tdropLocation &&\r\n\t\t\t\t\t!calendar.isExternalSpanAllowed(_this.eventToSpan(dropLocation), dropLocation, meta.eventProps)\r\n\t\t\t\t) {\r\n\t\t\t\t\tdisableCursor();\r\n\t\t\t\t\tdropLocation = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (dropLocation) {\r\n\t\t\t\t\t_this.renderDrag(dropLocation); // called without a seg parameter\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thitOut: function() {\r\n\t\t\t\tdropLocation = null; // signal unsuccessful\r\n\t\t\t},\r\n\t\t\thitDone: function() { // Called after a hitOut OR before a dragEnd\r\n\t\t\t\tenableCursor();\r\n\t\t\t\t_this.unrenderDrag();\r\n\t\t\t},\r\n\t\t\tinteractionEnd: function(ev) {\r\n\t\t\t\tif (dropLocation) { // element was dropped on a valid hit\r\n\t\t\t\t\t_this.view.reportExternalDrop(meta, dropLocation, el, ev, ui);\r\n\t\t\t\t}\r\n\t\t\t\t_this.isDraggingExternal = false;\r\n\t\t\t\t_this.externalDragListener = null;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdragListener.startDrag(ev); // start listening immediately\r\n\t},\r\n\r\n\r\n\t// Given a hit to be dropped upon, and misc data associated with the jqui drag (guaranteed to be a plain object),\r\n\t// returns the zoned start/end dates for the event that would result from the hypothetical drop. end might be null.\r\n\t// Returning a null value signals an invalid drop hit.\r\n\t// DOES NOT consider overlap/constraint.\r\n\tcomputeExternalDrop: function(span, meta) {\r\n\t\tvar calendar = this.view.calendar;\r\n\t\tvar dropLocation = {\r\n\t\t\tstart: calendar.applyTimezone(span.start), // simulate a zoned event start date\r\n\t\t\tend: null\r\n\t\t};\r\n\r\n\t\t// if dropped on an all-day span, and element's metadata specified a time, set it\r\n\t\tif (meta.startTime && !dropLocation.start.hasTime()) {\r\n\t\t\tdropLocation.start.time(meta.startTime);\r\n\t\t}\r\n\r\n\t\tif (meta.duration) {\r\n\t\t\tdropLocation.end = dropLocation.start.clone().add(meta.duration);\r\n\t\t}\r\n\r\n\t\treturn dropLocation;\r\n\t},\r\n\r\n\r\n\r\n\t/* Drag Rendering (for both events and an external elements)\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of an event or external element being dragged.\r\n\t// `dropLocation` contains hypothetical start/end/allDay values the event would have if dropped. end can be null.\r\n\t// `seg` is the internal segment object that is being dragged. If dragging an external element, `seg` is null.\r\n\t// A truthy returned value indicates this method has rendered a helper element.\r\n\t// Must return elements used for any mock events.\r\n\trenderDrag: function(dropLocation, seg) {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Unrenders a visual indication of an event or external element being dragged\r\n\tunrenderDrag: function() {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t/* Resizing\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Creates a listener that tracks the user as they resize an event segment.\r\n\t// Generic enough to work with any type of Grid.\r\n\tbuildSegResizeListener: function(seg, isStart) {\r\n\t\tvar _this = this;\r\n\t\tvar view = this.view;\r\n\t\tvar calendar = view.calendar;\r\n\t\tvar el = seg.el;\r\n\t\tvar event = seg.event;\r\n\t\tvar eventEnd = calendar.getEventEnd(event);\r\n\t\tvar isDragging;\r\n\t\tvar resizeLocation; // zoned event date properties. falsy if invalid resize\r\n\r\n\t\t// Tracks mouse movement over the *grid's* coordinate map\r\n\t\tvar dragListener = this.segResizeListener = new HitDragListener(this, {\r\n\t\t\tscroll: view.opt('dragScroll'),\r\n\t\t\tsubjectEl: el,\r\n\t\t\tinteractionStart: function() {\r\n\t\t\t\tisDragging = false;\r\n\t\t\t},\r\n\t\t\tdragStart: function(ev) {\r\n\t\t\t\tisDragging = true;\r\n\t\t\t\t_this.handleSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported\r\n\t\t\t\t_this.segResizeStart(seg, ev);\r\n\t\t\t},\r\n\t\t\thitOver: function(hit, isOrig, origHit) {\r\n\t\t\t\tvar origHitSpan = _this.getHitSpan(origHit);\r\n\t\t\t\tvar hitSpan = _this.getHitSpan(hit);\r\n\r\n\t\t\t\tresizeLocation = isStart ?\r\n\t\t\t\t\t_this.computeEventStartResize(origHitSpan, hitSpan, event) :\r\n\t\t\t\t\t_this.computeEventEndResize(origHitSpan, hitSpan, event);\r\n\r\n\t\t\t\tif (resizeLocation) {\r\n\t\t\t\t\tif (!calendar.isEventSpanAllowed(_this.eventToSpan(resizeLocation), event)) {\r\n\t\t\t\t\t\tdisableCursor();\r\n\t\t\t\t\t\tresizeLocation = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// no change? (FYI, event dates might have zones)\r\n\t\t\t\t\telse if (\r\n\t\t\t\t\t\tresizeLocation.start.isSame(event.start.clone().stripZone()) &&\r\n\t\t\t\t\t\tresizeLocation.end.isSame(eventEnd.clone().stripZone())\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tresizeLocation = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (resizeLocation) {\r\n\t\t\t\t\tview.hideEvent(event);\r\n\t\t\t\t\t_this.renderEventResize(resizeLocation, seg);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\r\n\t\t\t\tresizeLocation = null;\r\n\t\t\t\tview.showEvent(event); // for when out-of-bounds. show original\r\n\t\t\t},\r\n\t\t\thitDone: function() { // resets the rendering to show the original event\r\n\t\t\t\t_this.unrenderEventResize();\r\n\t\t\t\tenableCursor();\r\n\t\t\t},\r\n\t\t\tinteractionEnd: function(ev) {\r\n\t\t\t\tif (isDragging) {\r\n\t\t\t\t\t_this.segResizeStop(seg, ev);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (resizeLocation) { // valid date to resize to?\r\n\t\t\t\t\t// no need to re-show original, will rerender all anyways. esp important if eventRenderWait\r\n\t\t\t\t\tview.reportSegResize(seg, resizeLocation, _this.largeUnit, el, ev);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tview.showEvent(event);\r\n\t\t\t\t}\r\n\t\t\t\t_this.segResizeListener = null;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn dragListener;\r\n\t},\r\n\r\n\r\n\t// Called before event segment resizing starts\r\n\tsegResizeStart: function(seg, ev) {\r\n\t\tthis.isResizingSeg = true;\r\n\t\tthis.view.publiclyTrigger('eventResizeStart', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy\r\n\t},\r\n\r\n\r\n\t// Called after event segment resizing stops\r\n\tsegResizeStop: function(seg, ev) {\r\n\t\tthis.isResizingSeg = false;\r\n\t\tthis.view.publiclyTrigger('eventResizeStop', seg.el[0], seg.event, ev, {}); // last argument is jqui dummy\r\n\t},\r\n\r\n\r\n\t// Returns new date-information for an event segment being resized from its start\r\n\tcomputeEventStartResize: function(startSpan, endSpan, event) {\r\n\t\treturn this.computeEventResize('start', startSpan, endSpan, event);\r\n\t},\r\n\r\n\r\n\t// Returns new date-information for an event segment being resized from its end\r\n\tcomputeEventEndResize: function(startSpan, endSpan, event) {\r\n\t\treturn this.computeEventResize('end', startSpan, endSpan, event);\r\n\t},\r\n\r\n\r\n\t// Returns new zoned date information for an event segment being resized from its start OR end\r\n\t// `type` is either 'start' or 'end'.\r\n\t// DOES NOT consider overlap/constraint.\r\n\tcomputeEventResize: function(type, startSpan, endSpan, event) {\r\n\t\tvar calendar = this.view.calendar;\r\n\t\tvar delta = this.diffDates(endSpan[type], startSpan[type]);\r\n\t\tvar resizeLocation; // zoned event date properties\r\n\t\tvar defaultDuration;\r\n\r\n\t\t// build original values to work from, guaranteeing a start and end\r\n\t\tresizeLocation = {\r\n\t\t\tstart: event.start.clone(),\r\n\t\t\tend: calendar.getEventEnd(event),\r\n\t\t\tallDay: event.allDay\r\n\t\t};\r\n\r\n\t\t// if an all-day event was in a timed area and was resized to a time, adjust start/end to have times\r\n\t\tif (resizeLocation.allDay && durationHasTime(delta)) {\r\n\t\t\tresizeLocation.allDay = false;\r\n\t\t\tcalendar.normalizeEventTimes(resizeLocation);\r\n\t\t}\r\n\r\n\t\tresizeLocation[type].add(delta); // apply delta to start or end\r\n\r\n\t\t// if the event was compressed too small, find a new reasonable duration for it\r\n\t\tif (!resizeLocation.start.isBefore(resizeLocation.end)) {\r\n\r\n\t\t\tdefaultDuration =\r\n\t\t\t\tthis.minResizeDuration || // TODO: hack\r\n\t\t\t\t(event.allDay ?\r\n\t\t\t\t\tcalendar.defaultAllDayEventDuration :\r\n\t\t\t\t\tcalendar.defaultTimedEventDuration);\r\n\r\n\t\t\tif (type == 'start') { // resizing the start?\r\n\t\t\t\tresizeLocation.start = resizeLocation.end.clone().subtract(defaultDuration);\r\n\t\t\t}\r\n\t\t\telse { // resizing the end?\r\n\t\t\t\tresizeLocation.end = resizeLocation.start.clone().add(defaultDuration);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn resizeLocation;\r\n\t},\r\n\r\n\r\n\t// Renders a visual indication of an event being resized.\r\n\t// `range` has the updated dates of the event. `seg` is the original segment object involved in the drag.\r\n\t// Must return elements used for any mock events.\r\n\trenderEventResize: function(range, seg) {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Unrenders a visual indication of an event being resized.\r\n\tunrenderEventResize: function() {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t/* Rendering Utils\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Compute the text that should be displayed on an event's element.\r\n\t// `range` can be the Event object itself, or something range-like, with at least a `start`.\r\n\t// If event times are disabled, or the event has no time, will return a blank string.\r\n\t// If not specified, formatStr will default to the eventTimeFormat setting,\r\n\t// and displayEnd will default to the displayEventEnd setting.\r\n\tgetEventTimeText: function(range, formatStr, displayEnd) {\r\n\r\n\t\tif (formatStr == null) {\r\n\t\t\tformatStr = this.eventTimeFormat;\r\n\t\t}\r\n\r\n\t\tif (displayEnd == null) {\r\n\t\t\tdisplayEnd = this.displayEventEnd;\r\n\t\t}\r\n\r\n\t\tif (this.displayEventTime && range.start.hasTime()) {\r\n\t\t\tif (displayEnd && range.end) {\r\n\t\t\t\treturn this.view.formatRange(range, formatStr);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn range.start.format(formatStr);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t},\r\n\r\n\r\n\t// Generic utility for generating the HTML classNames for an event segment's element\r\n\tgetSegClasses: function(seg, isDraggable, isResizable) {\r\n\t\tvar view = this.view;\r\n\t\tvar classes = [\r\n\t\t\t'fc-event',\r\n\t\t\tseg.isStart ? 'fc-start' : 'fc-not-start',\r\n\t\t\tseg.isEnd ? 'fc-end' : 'fc-not-end'\r\n\t\t].concat(this.getSegCustomClasses(seg));\r\n\r\n\t\tif (isDraggable) {\r\n\t\t\tclasses.push('fc-draggable');\r\n\t\t}\r\n\t\tif (isResizable) {\r\n\t\t\tclasses.push('fc-resizable');\r\n\t\t}\r\n\r\n\t\t// event is currently selected? attach a className.\r\n\t\tif (view.isEventSelected(seg.event)) {\r\n\t\t\tclasses.push('fc-selected');\r\n\t\t}\r\n\r\n\t\treturn classes;\r\n\t},\r\n\r\n\r\n\t// List of classes that were defined by the caller of the API in some way\r\n\tgetSegCustomClasses: function(seg) {\r\n\t\tvar event = seg.event;\r\n\r\n\t\treturn [].concat(\r\n\t\t\tevent.className, // guaranteed to be an array\r\n\t\t\tevent.source ? event.source.className : []\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Utility for generating event skin-related CSS properties\r\n\tgetSegSkinCss: function(seg) {\r\n\t\treturn {\r\n\t\t\t'background-color': this.getSegBackgroundColor(seg),\r\n\t\t\t'border-color': this.getSegBorderColor(seg),\r\n\t\t\tcolor: this.getSegTextColor(seg)\r\n\t\t};\r\n\t},\r\n\r\n\r\n\t// Queries for caller-specified color, then falls back to default\r\n\tgetSegBackgroundColor: function(seg) {\r\n\t\treturn seg.event.backgroundColor ||\r\n\t\t\tseg.event.color ||\r\n\t\t\tthis.getSegDefaultBackgroundColor(seg);\r\n\t},\r\n\r\n\r\n\tgetSegDefaultBackgroundColor: function(seg) {\r\n\t\tvar source = seg.event.source || {};\r\n\r\n\t\treturn source.backgroundColor ||\r\n\t\t\tsource.color ||\r\n\t\t\tthis.view.opt('eventBackgroundColor') ||\r\n\t\t\tthis.view.opt('eventColor');\r\n\t},\r\n\r\n\r\n\t// Queries for caller-specified color, then falls back to default\r\n\tgetSegBorderColor: function(seg) {\r\n\t\treturn seg.event.borderColor ||\r\n\t\t\tseg.event.color ||\r\n\t\t\tthis.getSegDefaultBorderColor(seg);\r\n\t},\r\n\r\n\r\n\tgetSegDefaultBorderColor: function(seg) {\r\n\t\tvar source = seg.event.source || {};\r\n\r\n\t\treturn source.borderColor ||\r\n\t\t\tsource.color ||\r\n\t\t\tthis.view.opt('eventBorderColor') ||\r\n\t\t\tthis.view.opt('eventColor');\r\n\t},\r\n\r\n\r\n\t// Queries for caller-specified color, then falls back to default\r\n\tgetSegTextColor: function(seg) {\r\n\t\treturn seg.event.textColor ||\r\n\t\t\tthis.getSegDefaultTextColor(seg);\r\n\t},\r\n\r\n\r\n\tgetSegDefaultTextColor: function(seg) {\r\n\t\tvar source = seg.event.source || {};\r\n\r\n\t\treturn source.textColor ||\r\n\t\t\tthis.view.opt('eventTextColor');\r\n\t},\r\n\r\n\r\n\t/* Converting events -> eventRange -> eventSpan -> eventSegs\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Generates an array of segments for the given single event\r\n\t// Can accept an event \"location\" as well (which only has start/end and no allDay)\r\n\teventToSegs: function(event) {\r\n\t\treturn this.eventsToSegs([ event ]);\r\n\t},\r\n\r\n\r\n\teventToSpan: function(event) {\r\n\t\treturn this.eventToSpans(event)[0];\r\n\t},\r\n\r\n\r\n\t// Generates spans (always unzoned) for the given event.\r\n\t// Does not do any inverting for inverse-background events.\r\n\t// Can accept an event \"location\" as well (which only has start/end and no allDay)\r\n\teventToSpans: function(event) {\r\n\t\tvar range = this.eventToRange(event);\r\n\t\treturn this.eventRangeToSpans(range, event);\r\n\t},\r\n\r\n\r\n\r\n\t// Converts an array of event objects into an array of event segment objects.\r\n\t// A custom `segSliceFunc` may be given for arbitrarily slicing up events.\r\n\t// Doesn't guarantee an order for the resulting array.\r\n\teventsToSegs: function(allEvents, segSliceFunc) {\r\n\t\tvar _this = this;\r\n\t\tvar eventsById = groupEventsById(allEvents);\r\n\t\tvar segs = [];\r\n\r\n\t\t$.each(eventsById, function(id, events) {\r\n\t\t\tvar ranges = [];\r\n\t\t\tvar i;\r\n\r\n\t\t\tfor (i = 0; i < events.length; i++) {\r\n\t\t\t\tranges.push(_this.eventToRange(events[i]));\r\n\t\t\t}\r\n\r\n\t\t\t// inverse-background events (utilize only the first event in calculations)\r\n\t\t\tif (isInverseBgEvent(events[0])) {\r\n\t\t\t\tranges = _this.invertRanges(ranges);\r\n\r\n\t\t\t\tfor (i = 0; i < ranges.length; i++) {\r\n\t\t\t\t\tsegs.push.apply(segs, // append to\r\n\t\t\t\t\t\t_this.eventRangeToSegs(ranges[i], events[0], segSliceFunc));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// normal event ranges\r\n\t\t\telse {\r\n\t\t\t\tfor (i = 0; i < ranges.length; i++) {\r\n\t\t\t\t\tsegs.push.apply(segs, // append to\r\n\t\t\t\t\t\t_this.eventRangeToSegs(ranges[i], events[i], segSliceFunc));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t// Generates the unzoned start/end dates an event appears to occupy\r\n\t// Can accept an event \"location\" as well (which only has start/end and no allDay)\r\n\teventToRange: function(event) {\r\n\t\tvar calendar = this.view.calendar;\r\n\t\tvar start = event.start.clone().stripZone();\r\n\t\tvar end = (\r\n\t\t\t\tevent.end ?\r\n\t\t\t\t\tevent.end.clone() :\r\n\t\t\t\t\t// derive the end from the start and allDay. compute allDay if necessary\r\n\t\t\t\t\tcalendar.getDefaultEventEnd(\r\n\t\t\t\t\t\tevent.allDay != null ?\r\n\t\t\t\t\t\t\tevent.allDay :\r\n\t\t\t\t\t\t\t!event.start.hasTime(),\r\n\t\t\t\t\t\tevent.start\r\n\t\t\t\t\t)\r\n\t\t\t).stripZone();\r\n\r\n\t\t// hack: dynamic locale change forgets to upate stored event localed\r\n\t\tcalendar.localizeMoment(start);\r\n\t\tcalendar.localizeMoment(end);\r\n\r\n\t\treturn { start: start, end: end };\r\n\t},\r\n\r\n\r\n\t// Given an event's range (unzoned start/end), and the event itself,\r\n\t// slice into segments (using the segSliceFunc function if specified)\r\n\teventRangeToSegs: function(range, event, segSliceFunc) {\r\n\t\tvar spans = this.eventRangeToSpans(range, event);\r\n\t\tvar segs = [];\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < spans.length; i++) {\r\n\t\t\tsegs.push.apply(segs, // append to\r\n\t\t\t\tthis.eventSpanToSegs(spans[i], event, segSliceFunc));\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t// Given an event's unzoned date range, return an array of \"span\" objects.\r\n\t// Subclasses can override.\r\n\teventRangeToSpans: function(range, event) {\r\n\t\treturn [ $.extend({}, range) ]; // copy into a single-item array\r\n\t},\r\n\r\n\r\n\t// Given an event's span (unzoned start/end and other misc data), and the event itself,\r\n\t// slices into segments and attaches event-derived properties to them.\r\n\teventSpanToSegs: function(span, event, segSliceFunc) {\r\n\t\tvar segs = segSliceFunc ? segSliceFunc(span) : this.spanToSegs(span);\r\n\t\tvar i, seg;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\tseg.event = event;\r\n\t\t\tseg.eventStartMS = +span.start; // TODO: not the best name after making spans unzoned\r\n\t\t\tseg.eventDurationMS = span.end - span.start;\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t// Produces a new array of range objects that will cover all the time NOT covered by the given ranges.\r\n\t// SIDE EFFECT: will mutate the given array and will use its date references.\r\n\tinvertRanges: function(ranges) {\r\n\t\tvar view = this.view;\r\n\t\tvar viewStart = view.start.clone(); // need a copy\r\n\t\tvar viewEnd = view.end.clone(); // need a copy\r\n\t\tvar inverseRanges = [];\r\n\t\tvar start = viewStart; // the end of the previous range. the start of the new range\r\n\t\tvar i, range;\r\n\r\n\t\t// ranges need to be in order. required for our date-walking algorithm\r\n\t\tranges.sort(compareRanges);\r\n\r\n\t\tfor (i = 0; i < ranges.length; i++) {\r\n\t\t\trange = ranges[i];\r\n\r\n\t\t\t// add the span of time before the event (if there is any)\r\n\t\t\tif (range.start > start) { // compare millisecond time (skip any ambig logic)\r\n\t\t\t\tinverseRanges.push({\r\n\t\t\t\t\tstart: start,\r\n\t\t\t\t\tend: range.start\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tstart = range.end;\r\n\t\t}\r\n\r\n\t\t// add the span of time after the last event (if there is any)\r\n\t\tif (start < viewEnd) { // compare millisecond time (skip any ambig logic)\r\n\t\t\tinverseRanges.push({\r\n\t\t\t\tstart: start,\r\n\t\t\t\tend: viewEnd\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn inverseRanges;\r\n\t},\r\n\r\n\r\n\tsortEventSegs: function(segs) {\r\n\t\tsegs.sort(proxy(this, 'compareEventSegs'));\r\n\t},\r\n\r\n\r\n\t// A cmp function for determining which segments should take visual priority\r\n\tcompareEventSegs: function(seg1, seg2) {\r\n\t\treturn seg1.eventStartMS - seg2.eventStartMS || // earlier events go first\r\n\t\t\tseg2.eventDurationMS - seg1.eventDurationMS || // tie? longer events go first\r\n\t\t\tseg2.event.allDay - seg1.event.allDay || // tie? put all-day events first (booleans cast to 0/1)\r\n\t\t\tcompareByFieldSpecs(seg1.event, seg2.event, this.view.eventOrderSpecs);\r\n\t}\r\n\r\n});\r\n\r\n\r\n/* Utilities\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\nfunction pluckEventDateProps(event) {\r\n\treturn {\r\n\t\tstart: event.start.clone(),\r\n\t\tend: event.end ? event.end.clone() : null,\r\n\t\tallDay: event.allDay // keep it the same\r\n\t};\r\n}\r\nFC.pluckEventDateProps = pluckEventDateProps;\r\n\r\n\r\nfunction isBgEvent(event) { // returns true if background OR inverse-background\r\n\tvar rendering = getEventRendering(event);\r\n\treturn rendering === 'background' || rendering === 'inverse-background';\r\n}\r\nFC.isBgEvent = isBgEvent; // export\r\n\r\n\r\nfunction isInverseBgEvent(event) {\r\n\treturn getEventRendering(event) === 'inverse-background';\r\n}\r\n\r\n\r\nfunction getEventRendering(event) {\r\n\treturn firstDefined((event.source || {}).rendering, event.rendering);\r\n}\r\n\r\n\r\nfunction groupEventsById(events) {\r\n\tvar eventsById = {};\r\n\tvar i, event;\r\n\r\n\tfor (i = 0; i < events.length; i++) {\r\n\t\tevent = events[i];\r\n\t\t(eventsById[event._id] || (eventsById[event._id] = [])).push(event);\r\n\t}\r\n\r\n\treturn eventsById;\r\n}\r\n\r\n\r\n// A cmp function for determining which non-inverted \"ranges\" (see above) happen earlier\r\nfunction compareRanges(range1, range2) {\r\n\treturn range1.start - range2.start; // earlier ranges go first\r\n}\r\n\r\n\r\n/* External-Dragging-Element Data\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\n// Require all HTML5 data-* attributes used by FullCalendar to have this prefix.\r\n// A value of '' will query attributes like data-event. A value of 'fc' will query attributes like data-fc-event.\r\nFC.dataAttrPrefix = '';\r\n\r\n// Given a jQuery element that might represent a dragged FullCalendar event, returns an intermediate data structure\r\n// to be used for Event Object creation.\r\n// A defined `.eventProps`, even when empty, indicates that an event should be created.\r\nfunction getDraggedElMeta(el) {\r\n\tvar prefix = FC.dataAttrPrefix;\r\n\tvar eventProps; // properties for creating the event, not related to date/time\r\n\tvar startTime; // a Duration\r\n\tvar duration;\r\n\tvar stick;\r\n\r\n\tif (prefix) { prefix += '-'; }\r\n\teventProps = el.data(prefix + 'event') || null;\r\n\r\n\tif (eventProps) {\r\n\t\tif (typeof eventProps === 'object') {\r\n\t\t\teventProps = $.extend({}, eventProps); // make a copy\r\n\t\t}\r\n\t\telse { // something like 1 or true. still signal event creation\r\n\t\t\teventProps = {};\r\n\t\t}\r\n\r\n\t\t// pluck special-cased date/time properties\r\n\t\tstartTime = eventProps.start;\r\n\t\tif (startTime == null) { startTime = eventProps.time; } // accept 'time' as well\r\n\t\tduration = eventProps.duration;\r\n\t\tstick = eventProps.stick;\r\n\t\tdelete eventProps.start;\r\n\t\tdelete eventProps.time;\r\n\t\tdelete eventProps.duration;\r\n\t\tdelete eventProps.stick;\r\n\t}\r\n\r\n\t// fallback to standalone attribute values for each of the date/time properties\r\n\tif (startTime == null) { startTime = el.data(prefix + 'start'); }\r\n\tif (startTime == null) { startTime = el.data(prefix + 'time'); } // accept 'time' as well\r\n\tif (duration == null) { duration = el.data(prefix + 'duration'); }\r\n\tif (stick == null) { stick = el.data(prefix + 'stick'); }\r\n\r\n\t// massage into correct data types\r\n\tstartTime = startTime != null ? moment.duration(startTime) : null;\r\n\tduration = duration != null ? moment.duration(duration) : null;\r\n\tstick = Boolean(stick);\r\n\r\n\treturn { eventProps: eventProps, startTime: startTime, duration: duration, stick: stick };\r\n}\r\n\r\n\r\n;;\r\n\r\n/*\r\nA set of rendering and date-related methods for a visual component comprised of one or more rows of day columns.\r\nPrerequisite: the object being mixed into needs to be a *Grid*\r\n*/\r\nvar DayTableMixin = FC.DayTableMixin = {\r\n\r\n\tbreakOnWeeks: false, // should create a new row for each week?\r\n\tdayDates: null, // whole-day dates for each column. left to right\r\n\tdayIndices: null, // for each day from start, the offset\r\n\tdaysPerRow: null,\r\n\trowCnt: null,\r\n\tcolCnt: null,\r\n\tcolHeadFormat: null,\r\n\r\n\r\n\t// Populates internal variables used for date calculation and rendering\r\n\tupdateDayTable: function() {\r\n\t\tvar view = this.view;\r\n\t\tvar date = this.start.clone();\r\n\t\tvar dayIndex = -1;\r\n\t\tvar dayIndices = [];\r\n\t\tvar dayDates = [];\r\n\t\tvar daysPerRow;\r\n\t\tvar firstDay;\r\n\t\tvar rowCnt;\r\n\r\n\t\twhile (date.isBefore(this.end)) { // loop each day from start to end\r\n\t\t\tif (view.isHiddenDay(date)) {\r\n\t\t\t\tdayIndices.push(dayIndex + 0.5); // mark that it's between indices\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdayIndex++;\r\n\t\t\t\tdayIndices.push(dayIndex);\r\n\t\t\t\tdayDates.push(date.clone());\r\n\t\t\t}\r\n\t\t\tdate.add(1, 'days');\r\n\t\t}\r\n\r\n\t\tif (this.breakOnWeeks) {\r\n\t\t\t// count columns until the day-of-week repeats\r\n\t\t\tfirstDay = dayDates[0].day();\r\n\t\t\tfor (daysPerRow = 1; daysPerRow < dayDates.length; daysPerRow++) {\r\n\t\t\t\tif (dayDates[daysPerRow].day() == firstDay) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\trowCnt = Math.ceil(dayDates.length / daysPerRow);\r\n\t\t}\r\n\t\telse {\r\n\t\t\trowCnt = 1;\r\n\t\t\tdaysPerRow = dayDates.length;\r\n\t\t}\r\n\r\n\t\tthis.dayDates = dayDates;\r\n\t\tthis.dayIndices = dayIndices;\r\n\t\tthis.daysPerRow = daysPerRow;\r\n\t\tthis.rowCnt = rowCnt;\r\n\r\n\t\tthis.updateDayTableCols();\r\n\t},\r\n\r\n\r\n\t// Computes and assigned the colCnt property and updates any options that may be computed from it\r\n\tupdateDayTableCols: function() {\r\n\t\tthis.colCnt = this.computeColCnt();\r\n\t\tthis.colHeadFormat = this.view.opt('columnFormat') || this.computeColHeadFormat();\r\n\t},\r\n\r\n\r\n\t// Determines how many columns there should be in the table\r\n\tcomputeColCnt: function() {\r\n\t\treturn this.daysPerRow;\r\n\t},\r\n\r\n\r\n\t// Computes the ambiguously-timed moment for the given cell\r\n\tgetCellDate: function(row, col) {\r\n\t\treturn this.dayDates[\r\n\t\t\t\tthis.getCellDayIndex(row, col)\r\n\t\t\t].clone();\r\n\t},\r\n\r\n\r\n\t// Computes the ambiguously-timed date range for the given cell\r\n\tgetCellRange: function(row, col) {\r\n\t\tvar start = this.getCellDate(row, col);\r\n\t\tvar end = start.clone().add(1, 'days');\r\n\r\n\t\treturn { start: start, end: end };\r\n\t},\r\n\r\n\r\n\t// Returns the number of day cells, chronologically, from the first of the grid (0-based)\r\n\tgetCellDayIndex: function(row, col) {\r\n\t\treturn row * this.daysPerRow + this.getColDayIndex(col);\r\n\t},\r\n\r\n\r\n\t// Returns the numner of day cells, chronologically, from the first cell in *any given row*\r\n\tgetColDayIndex: function(col) {\r\n\t\tif (this.isRTL) {\r\n\t\t\treturn this.colCnt - 1 - col;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn col;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Given a date, returns its chronolocial cell-index from the first cell of the grid.\r\n\t// If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.\r\n\t// If before the first offset, returns a negative number.\r\n\t// If after the last offset, returns an offset past the last cell offset.\r\n\t// Only works for *start* dates of cells. Will not work for exclusive end dates for cells.\r\n\tgetDateDayIndex: function(date) {\r\n\t\tvar dayIndices = this.dayIndices;\r\n\t\tvar dayOffset = date.diff(this.start, 'days');\r\n\r\n\t\tif (dayOffset < 0) {\r\n\t\t\treturn dayIndices[0] - 1;\r\n\t\t}\r\n\t\telse if (dayOffset >= dayIndices.length) {\r\n\t\t\treturn dayIndices[dayIndices.length - 1] + 1;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn dayIndices[dayOffset];\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Options\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Computes a default column header formatting string if `colFormat` is not explicitly defined\r\n\tcomputeColHeadFormat: function() {\r\n\t\t// if more than one week row, or if there are a lot of columns with not much space,\r\n\t\t// put just the day numbers will be in each cell\r\n\t\tif (this.rowCnt > 1 || this.colCnt > 10) {\r\n\t\t\treturn 'ddd'; // \"Sat\"\r\n\t\t}\r\n\t\t// multiple days, so full single date string WON'T be in title text\r\n\t\telse if (this.colCnt > 1) {\r\n\t\t\treturn this.view.opt('dayOfMonthFormat'); // \"Sat 12/10\"\r\n\t\t}\r\n\t\t// single day, so full single date string will probably be in title text\r\n\t\telse {\r\n\t\t\treturn 'dddd'; // \"Saturday\"\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Slicing\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Slices up a date range into a segment for every week-row it intersects with\r\n\tsliceRangeByRow: function(range) {\r\n\t\tvar daysPerRow = this.daysPerRow;\r\n\t\tvar normalRange = this.view.computeDayRange(range); // make whole-day range, considering nextDayThreshold\r\n\t\tvar rangeFirst = this.getDateDayIndex(normalRange.start); // inclusive first index\r\n\t\tvar rangeLast = this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); // inclusive last index\r\n\t\tvar segs = [];\r\n\t\tvar row;\r\n\t\tvar rowFirst, rowLast; // inclusive day-index range for current row\r\n\t\tvar segFirst, segLast; // inclusive day-index range for segment\r\n\r\n\t\tfor (row = 0; row < this.rowCnt; row++) {\r\n\t\t\trowFirst = row * daysPerRow;\r\n\t\t\trowLast = rowFirst + daysPerRow - 1;\r\n\r\n\t\t\t// intersect segment's offset range with the row's\r\n\t\t\tsegFirst = Math.max(rangeFirst, rowFirst);\r\n\t\t\tsegLast = Math.min(rangeLast, rowLast);\r\n\r\n\t\t\t// deal with in-between indices\r\n\t\t\tsegFirst = Math.ceil(segFirst); // in-between starts round to next cell\r\n\t\t\tsegLast = Math.floor(segLast); // in-between ends round to prev cell\r\n\r\n\t\t\tif (segFirst <= segLast) { // was there any intersection with the current row?\r\n\t\t\t\tsegs.push({\r\n\t\t\t\t\trow: row,\r\n\r\n\t\t\t\t\t// normalize to start of row\r\n\t\t\t\t\tfirstRowDayIndex: segFirst - rowFirst,\r\n\t\t\t\t\tlastRowDayIndex: segLast - rowFirst,\r\n\r\n\t\t\t\t\t// must be matching integers to be the segment's start/end\r\n\t\t\t\t\tisStart: segFirst === rangeFirst,\r\n\t\t\t\t\tisEnd: segLast === rangeLast\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t// Slices up a date range into a segment for every day-cell it intersects with.\r\n\t// TODO: make more DRY with sliceRangeByRow somehow.\r\n\tsliceRangeByDay: function(range) {\r\n\t\tvar daysPerRow = this.daysPerRow;\r\n\t\tvar normalRange = this.view.computeDayRange(range); // make whole-day range, considering nextDayThreshold\r\n\t\tvar rangeFirst = this.getDateDayIndex(normalRange.start); // inclusive first index\r\n\t\tvar rangeLast = this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); // inclusive last index\r\n\t\tvar segs = [];\r\n\t\tvar row;\r\n\t\tvar rowFirst, rowLast; // inclusive day-index range for current row\r\n\t\tvar i;\r\n\t\tvar segFirst, segLast; // inclusive day-index range for segment\r\n\r\n\t\tfor (row = 0; row < this.rowCnt; row++) {\r\n\t\t\trowFirst = row * daysPerRow;\r\n\t\t\trowLast = rowFirst + daysPerRow - 1;\r\n\r\n\t\t\tfor (i = rowFirst; i <= rowLast; i++) {\r\n\r\n\t\t\t\t// intersect segment's offset range with the row's\r\n\t\t\t\tsegFirst = Math.max(rangeFirst, i);\r\n\t\t\t\tsegLast = Math.min(rangeLast, i);\r\n\r\n\t\t\t\t// deal with in-between indices\r\n\t\t\t\tsegFirst = Math.ceil(segFirst); // in-between starts round to next cell\r\n\t\t\t\tsegLast = Math.floor(segLast); // in-between ends round to prev cell\r\n\r\n\t\t\t\tif (segFirst <= segLast) { // was there any intersection with the current row?\r\n\t\t\t\t\tsegs.push({\r\n\t\t\t\t\t\trow: row,\r\n\r\n\t\t\t\t\t\t// normalize to start of row\r\n\t\t\t\t\t\tfirstRowDayIndex: segFirst - rowFirst,\r\n\t\t\t\t\t\tlastRowDayIndex: segLast - rowFirst,\r\n\r\n\t\t\t\t\t\t// must be matching integers to be the segment's start/end\r\n\t\t\t\t\t\tisStart: segFirst === rangeFirst,\r\n\t\t\t\t\t\tisEnd: segLast === rangeLast\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t/* Header Rendering\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderHeadHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\treturn '' +\r\n\t\t\t'<div class=\"fc-row ' + view.widgetHeaderClass + '\">' +\r\n\t\t\t\t'<table>' +\r\n\t\t\t\t\t'<thead>' +\r\n\t\t\t\t\t\tthis.renderHeadTrHtml() +\r\n\t\t\t\t\t'</thead>' +\r\n\t\t\t\t'</table>' +\r\n\t\t\t'</div>';\r\n\t},\r\n\r\n\r\n\trenderHeadIntroHtml: function() {\r\n\t\treturn this.renderIntroHtml(); // fall back to generic\r\n\t},\r\n\r\n\r\n\trenderHeadTrHtml: function() {\r\n\t\treturn '' +\r\n\t\t\t'<tr>' +\r\n\t\t\t\t(this.isRTL ? '' : this.renderHeadIntroHtml()) +\r\n\t\t\t\tthis.renderHeadDateCellsHtml() +\r\n\t\t\t\t(this.isRTL ? this.renderHeadIntroHtml() : '') +\r\n\t\t\t'</tr>';\r\n\t},\r\n\r\n\r\n\trenderHeadDateCellsHtml: function() {\r\n\t\tvar htmls = [];\r\n\t\tvar col, date;\r\n\r\n\t\tfor (col = 0; col < this.colCnt; col++) {\r\n\t\t\tdate = this.getCellDate(0, col);\r\n\t\t\thtmls.push(this.renderHeadDateCellHtml(date));\r\n\t\t}\r\n\r\n\t\treturn htmls.join('');\r\n\t},\r\n\r\n\r\n\t// TODO: when internalApiVersion, accept an object for HTML attributes\r\n\t// (colspan should be no different)\r\n\trenderHeadDateCellHtml: function(date, colspan, otherAttrs) {\r\n\t\tvar view = this.view;\r\n\t\tvar classNames = [\r\n\t\t\t'fc-day-header',\r\n\t\t\tview.widgetHeaderClass\r\n\t\t];\r\n\r\n\t\t// if only one row of days, the classNames on the header can represent the specific days beneath\r\n\t\tif (this.rowCnt === 1) {\r\n\t\t\tclassNames = classNames.concat(\r\n\t\t\t\t// includes the day-of-week class\r\n\t\t\t\t// noThemeHighlight=true (don't highlight the header)\r\n\t\t\t\tthis.getDayClasses(date, true)\r\n\t\t\t);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tclassNames.push('fc-' + dayIDs[date.day()]); // only add the day-of-week class\r\n\t\t}\r\n\r\n\t\treturn '' +\r\n            '<th class=\"' + classNames.join(' ') + '\"' +\r\n\t\t\t\t(this.rowCnt === 1 ?\r\n\t\t\t\t\t' data-date=\"' + date.format('YYYY-MM-DD') + '\"' :\r\n\t\t\t\t\t'') +\r\n\t\t\t\t(colspan > 1 ?\r\n\t\t\t\t\t' colspan=\"' + colspan + '\"' :\r\n\t\t\t\t\t'') +\r\n\t\t\t\t(otherAttrs ?\r\n\t\t\t\t\t' ' + otherAttrs :\r\n\t\t\t\t\t'') +\r\n\t\t\t\t'>' +\r\n\t\t\t\t// don't make a link if the heading could represent multiple days, or if there's only one day (forceOff)\r\n\t\t\t\tview.buildGotoAnchorHtml(\r\n\t\t\t\t\t{ date: date, forceOff: this.rowCnt > 1 || this.colCnt === 1 },\r\n\t\t\t\t\thtmlEscape(date.format(this.colHeadFormat)) // inner HTML\r\n\t\t\t\t) +\r\n\t\t\t'</th>';\r\n\t},\r\n\r\n\r\n\t/* Background Rendering\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderBgTrHtml: function(row) {\r\n\t\treturn '' +\r\n\t\t\t'<tr>' +\r\n\t\t\t\t(this.isRTL ? '' : this.renderBgIntroHtml(row)) +\r\n\t\t\t\tthis.renderBgCellsHtml(row) +\r\n\t\t\t\t(this.isRTL ? this.renderBgIntroHtml(row) : '') +\r\n\t\t\t'</tr>';\r\n\t},\r\n\r\n\r\n\trenderBgIntroHtml: function(row) {\r\n\t\treturn this.renderIntroHtml(); // fall back to generic\r\n\t},\r\n\r\n\r\n\trenderBgCellsHtml: function(row) {\r\n\t\tvar htmls = [];\r\n\t\tvar col, date;\r\n\r\n\t\tfor (col = 0; col < this.colCnt; col++) {\r\n\t\t\tdate = this.getCellDate(row, col);\r\n\t\t\thtmls.push(this.renderBgCellHtml(date));\r\n\t\t}\r\n\r\n\t\treturn htmls.join('');\r\n\t},\r\n\r\n\r\n\trenderBgCellHtml: function(date, otherAttrs) {\r\n\t\tvar view = this.view;\r\n\t\tvar classes = this.getDayClasses(date);\r\n\r\n\t\tclasses.unshift('fc-day', view.widgetContentClass);\r\n\r\n\t\treturn '<td class=\"' + classes.join(' ') + '\"' +\r\n\t\t\t' data-date=\"' + date.format('YYYY-MM-DD') + '\"' + // if date has a time, won't format it\r\n\t\t\t(otherAttrs ?\r\n\t\t\t\t' ' + otherAttrs :\r\n\t\t\t\t'') +\r\n\t\t\t'></td>';\r\n\t},\r\n\r\n\r\n\t/* Generic\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Generates the default HTML intro for any row. User classes should override\r\n\trenderIntroHtml: function() {\r\n\t},\r\n\r\n\r\n\t// TODO: a generic method for dealing with <tr>, RTL, intro\r\n\t// when increment internalApiVersion\r\n\t// wrapTr (scheduler)\r\n\r\n\r\n\t/* Utils\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Applies the generic \"intro\" and \"outro\" HTML to the given cells.\r\n\t// Intro means the leftmost cell when the calendar is LTR and the rightmost cell when RTL. Vice-versa for outro.\r\n\tbookendCells: function(trEl) {\r\n\t\tvar introHtml = this.renderIntroHtml();\r\n\r\n\t\tif (introHtml) {\r\n\t\t\tif (this.isRTL) {\r\n\t\t\t\ttrEl.append(introHtml);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\ttrEl.prepend(introHtml);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n};\r\n\r\n;;\r\n\r\n/* A component that renders a grid of whole-days that runs horizontally. There can be multiple rows, one per week.\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nvar DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {\r\n\r\n\tnumbersVisible: false, // should render a row for day/week numbers? set by outside view. TODO: make internal\r\n\tbottomCoordPadding: 0, // hack for extending the hit area for the last row of the coordinate grid\r\n\r\n\trowEls: null, // set of fake row elements\r\n\tcellEls: null, // set of whole-day elements comprising the row's background\r\n\thelperEls: null, // set of cell skeleton elements for rendering the mock event \"helper\"\r\n\r\n\trowCoordCache: null,\r\n\tcolCoordCache: null,\r\n\r\n\r\n\t// Renders the rows and columns into the component's `this.el`, which should already be assigned.\r\n\t// isRigid determins whether the individual rows should ignore the contents and be a constant height.\r\n\t// Relies on the view's colCnt and rowCnt. In the future, this component should probably be self-sufficient.\r\n\trenderDates: function(isRigid) {\r\n\t\tvar view = this.view;\r\n\t\tvar rowCnt = this.rowCnt;\r\n\t\tvar colCnt = this.colCnt;\r\n\t\tvar html = '';\r\n\t\tvar row;\r\n\t\tvar col;\r\n\r\n\t\tfor (row = 0; row < rowCnt; row++) {\r\n\t\t\thtml += this.renderDayRowHtml(row, isRigid);\r\n\t\t}\r\n\t\tthis.el.html(html);\r\n\r\n\t\tthis.rowEls = this.el.find('.fc-row');\r\n\t\tthis.cellEls = this.el.find('.fc-day');\r\n\r\n\t\tthis.rowCoordCache = new CoordCache({\r\n\t\t\tels: this.rowEls,\r\n\t\t\tisVertical: true\r\n\t\t});\r\n\t\tthis.colCoordCache = new CoordCache({\r\n\t\t\tels: this.cellEls.slice(0, this.colCnt), // only the first row\r\n\t\t\tisHorizontal: true\r\n\t\t});\r\n\r\n\t\t// trigger dayRender with each cell's element\r\n\t\tfor (row = 0; row < rowCnt; row++) {\r\n\t\t\tfor (col = 0; col < colCnt; col++) {\r\n\t\t\t\tview.publiclyTrigger(\r\n\t\t\t\t\t'dayRender',\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tthis.getCellDate(row, col),\r\n\t\t\t\t\tthis.getCellEl(row, col)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tunrenderDates: function() {\r\n\t\tthis.removeSegPopover();\r\n\t},\r\n\r\n\r\n\trenderBusinessHours: function() {\r\n\t\tvar segs = this.buildBusinessHourSegs(true); // wholeDay=true\r\n\t\tthis.renderFill('businessHours', segs, 'bgevent');\r\n\t},\r\n\r\n\r\n\tunrenderBusinessHours: function() {\r\n\t\tthis.unrenderFill('businessHours');\r\n\t},\r\n\r\n\r\n\t// Generates the HTML for a single row, which is a div that wraps a table.\r\n\t// `row` is the row number.\r\n\trenderDayRowHtml: function(row, isRigid) {\r\n\t\tvar view = this.view;\r\n\t\tvar classes = [ 'fc-row', 'fc-week', view.widgetContentClass ];\r\n\r\n\t\tif (isRigid) {\r\n\t\t\tclasses.push('fc-rigid');\r\n\t\t}\r\n\r\n\t\treturn '' +\r\n\t\t\t'<div class=\"' + classes.join(' ') + '\">' +\r\n\t\t\t\t'<div class=\"fc-bg\">' +\r\n\t\t\t\t\t'<table>' +\r\n\t\t\t\t\t\tthis.renderBgTrHtml(row) +\r\n\t\t\t\t\t'</table>' +\r\n\t\t\t\t'</div>' +\r\n\t\t\t\t'<div class=\"fc-content-skeleton\">' +\r\n\t\t\t\t\t'<table>' +\r\n\t\t\t\t\t\t(this.numbersVisible ?\r\n\t\t\t\t\t\t\t'<thead>' +\r\n\t\t\t\t\t\t\t\tthis.renderNumberTrHtml(row) +\r\n\t\t\t\t\t\t\t'</thead>' :\r\n\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t) +\r\n\t\t\t\t\t'</table>' +\r\n\t\t\t\t'</div>' +\r\n\t\t\t'</div>';\r\n\t},\r\n\r\n\r\n\t/* Grid Number Rendering\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderNumberTrHtml: function(row) {\r\n\t\treturn '' +\r\n\t\t\t'<tr>' +\r\n\t\t\t\t(this.isRTL ? '' : this.renderNumberIntroHtml(row)) +\r\n\t\t\t\tthis.renderNumberCellsHtml(row) +\r\n\t\t\t\t(this.isRTL ? this.renderNumberIntroHtml(row) : '') +\r\n\t\t\t'</tr>';\r\n\t},\r\n\r\n\r\n\trenderNumberIntroHtml: function(row) {\r\n\t\treturn this.renderIntroHtml();\r\n\t},\r\n\r\n\r\n\trenderNumberCellsHtml: function(row) {\r\n\t\tvar htmls = [];\r\n\t\tvar col, date;\r\n\r\n\t\tfor (col = 0; col < this.colCnt; col++) {\r\n\t\t\tdate = this.getCellDate(row, col);\r\n\t\t\thtmls.push(this.renderNumberCellHtml(date));\r\n\t\t}\r\n\r\n\t\treturn htmls.join('');\r\n\t},\r\n\r\n\r\n\t// Generates the HTML for the <td>s of the \"number\" row in the DayGrid's content skeleton.\r\n\t// The number row will only exist if either day numbers or week numbers are turned on.\r\n\trenderNumberCellHtml: function(date) {\r\n\t\tvar html = '';\r\n\t\tvar classes;\r\n\t\tvar weekCalcFirstDoW;\r\n\r\n\t\tif (!this.view.dayNumbersVisible && !this.view.cellWeekNumbersVisible) {\r\n\t\t\t// no numbers in day cell (week number must be along the side)\r\n\t\t\treturn '<td/>'; //  will create an empty space above events :(\r\n\t\t}\r\n\r\n\t\tclasses = this.getDayClasses(date);\r\n\t\tclasses.unshift('fc-day-top');\r\n\r\n\t\tif (this.view.cellWeekNumbersVisible) {\r\n\t\t\t// To determine the day of week number change under ISO, we cannot\r\n\t\t\t// rely on moment.js methods such as firstDayOfWeek() or weekday(),\r\n\t\t\t// because they rely on the locale's dow (possibly overridden by\r\n\t\t\t// our firstDay option), which may not be Monday. We cannot change\r\n\t\t\t// dow, because that would affect the calendar start day as well.\r\n\t\t\tif (date._locale._fullCalendar_weekCalc === 'ISO') {\r\n\t\t\t\tweekCalcFirstDoW = 1;  // Monday by ISO 8601 definition\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tweekCalcFirstDoW = date._locale.firstDayOfWeek();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thtml += '<td class=\"' + classes.join(' ') + '\" data-date=\"' + date.format() + '\">';\r\n\r\n\t\tif (this.view.cellWeekNumbersVisible && (date.day() == weekCalcFirstDoW)) {\r\n\t\t\thtml += this.view.buildGotoAnchorHtml(\r\n\t\t\t\t{ date: date, type: 'week' },\r\n\t\t\t\t{ 'class': 'fc-week-number' },\r\n\t\t\t\tdate.format('w') // inner HTML\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (this.view.dayNumbersVisible) {\r\n\t\t\thtml += this.view.buildGotoAnchorHtml(\r\n\t\t\t\tdate,\r\n\t\t\t\t{ 'class': 'fc-day-number' },\r\n\t\t\t\tdate.date() // inner HTML\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\thtml += '</td>';\r\n\r\n\t\treturn html;\r\n\t},\r\n\r\n\r\n\t/* Options\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Computes a default event time formatting string if `timeFormat` is not explicitly defined\r\n\tcomputeEventTimeFormat: function() {\r\n\t\treturn this.view.opt('extraSmallTimeFormat'); // like \"6p\" or \"6:30p\"\r\n\t},\r\n\r\n\r\n\t// Computes a default `displayEventEnd` value if one is not expliclty defined\r\n\tcomputeDisplayEventEnd: function() {\r\n\t\treturn this.colCnt == 1; // we'll likely have space if there's only one day\r\n\t},\r\n\r\n\r\n\t/* Dates\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trangeUpdated: function() {\r\n\t\tthis.updateDayTable();\r\n\t},\r\n\r\n\r\n\t// Slices up the given span (unzoned start/end with other misc data) into an array of segments\r\n\tspanToSegs: function(span) {\r\n\t\tvar segs = this.sliceRangeByRow(span);\r\n\t\tvar i, seg;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\tif (this.isRTL) {\r\n\t\t\t\tseg.leftCol = this.daysPerRow - 1 - seg.lastRowDayIndex;\r\n\t\t\t\tseg.rightCol = this.daysPerRow - 1 - seg.firstRowDayIndex;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tseg.leftCol = seg.firstRowDayIndex;\r\n\t\t\t\tseg.rightCol = seg.lastRowDayIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t/* Hit System\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tprepareHits: function() {\r\n\t\tthis.colCoordCache.build();\r\n\t\tthis.rowCoordCache.build();\r\n\t\tthis.rowCoordCache.bottoms[this.rowCnt - 1] += this.bottomCoordPadding; // hack\r\n\t},\r\n\r\n\r\n\treleaseHits: function() {\r\n\t\tthis.colCoordCache.clear();\r\n\t\tthis.rowCoordCache.clear();\r\n\t},\r\n\r\n\r\n\tqueryHit: function(leftOffset, topOffset) {\r\n\t\tif (this.colCoordCache.isLeftInBounds(leftOffset) && this.rowCoordCache.isTopInBounds(topOffset)) {\r\n\t\t\tvar col = this.colCoordCache.getHorizontalIndex(leftOffset);\r\n\t\t\tvar row = this.rowCoordCache.getVerticalIndex(topOffset);\r\n\r\n\t\t\tif (row != null && col != null) {\r\n\t\t\t\treturn this.getCellHit(row, col);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tgetHitSpan: function(hit) {\r\n\t\treturn this.getCellRange(hit.row, hit.col);\r\n\t},\r\n\r\n\r\n\tgetHitEl: function(hit) {\r\n\t\treturn this.getCellEl(hit.row, hit.col);\r\n\t},\r\n\r\n\r\n\t/* Cell System\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\t// FYI: the first column is the leftmost column, regardless of date\r\n\r\n\r\n\tgetCellHit: function(row, col) {\r\n\t\treturn {\r\n\t\t\trow: row,\r\n\t\t\tcol: col,\r\n\t\t\tcomponent: this, // needed unfortunately :(\r\n\t\t\tleft: this.colCoordCache.getLeftOffset(col),\r\n\t\t\tright: this.colCoordCache.getRightOffset(col),\r\n\t\t\ttop: this.rowCoordCache.getTopOffset(row),\r\n\t\t\tbottom: this.rowCoordCache.getBottomOffset(row)\r\n\t\t};\r\n\t},\r\n\r\n\r\n\tgetCellEl: function(row, col) {\r\n\t\treturn this.cellEls.eq(row * this.colCnt + col);\r\n\t},\r\n\r\n\r\n\t/* Event Drag Visualization\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\t// TODO: move to DayGrid.event, similar to what we did with Grid's drag methods\r\n\r\n\r\n\t// Renders a visual indication of an event or external element being dragged.\r\n\t// `eventLocation` has zoned start and end (optional)\r\n\trenderDrag: function(eventLocation, seg) {\r\n\r\n\t\t// always render a highlight underneath\r\n\t\tthis.renderHighlight(this.eventToSpan(eventLocation));\r\n\r\n\t\t// if a segment from the same calendar but another component is being dragged, render a helper event\r\n\t\tif (seg && seg.component !== this) {\r\n\t\t\treturn this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Unrenders any visual indication of a hovering event\r\n\tunrenderDrag: function() {\r\n\t\tthis.unrenderHighlight();\r\n\t\tthis.unrenderHelper();\r\n\t},\r\n\r\n\r\n\t/* Event Resize Visualization\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of an event being resized\r\n\trenderEventResize: function(eventLocation, seg) {\r\n\t\tthis.renderHighlight(this.eventToSpan(eventLocation));\r\n\t\treturn this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements\r\n\t},\r\n\r\n\r\n\t// Unrenders a visual indication of an event being resized\r\n\tunrenderEventResize: function() {\r\n\t\tthis.unrenderHighlight();\r\n\t\tthis.unrenderHelper();\r\n\t},\r\n\r\n\r\n\t/* Event Helper\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a mock \"helper\" event. `sourceSeg` is the associated internal segment object. It can be null.\r\n\trenderHelper: function(event, sourceSeg) {\r\n\t\tvar helperNodes = [];\r\n\t\tvar segs = this.eventToSegs(event);\r\n\t\tvar rowStructs;\r\n\r\n\t\tsegs = this.renderFgSegEls(segs); // assigns each seg's el and returns a subset of segs that were rendered\r\n\t\trowStructs = this.renderSegRows(segs);\r\n\r\n\t\t// inject each new event skeleton into each associated row\r\n\t\tthis.rowEls.each(function(row, rowNode) {\r\n\t\t\tvar rowEl = $(rowNode); // the .fc-row\r\n\t\t\tvar skeletonEl = $('<div class=\"fc-helper-skeleton\"><table/></div>'); // will be absolutely positioned\r\n\t\t\tvar skeletonTop;\r\n\r\n\t\t\t// If there is an original segment, match the top position. Otherwise, put it at the row's top level\r\n\t\t\tif (sourceSeg && sourceSeg.row === row) {\r\n\t\t\t\tskeletonTop = sourceSeg.el.position().top;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tskeletonTop = rowEl.find('.fc-content-skeleton tbody').position().top;\r\n\t\t\t}\r\n\r\n\t\t\tskeletonEl.css('top', skeletonTop)\r\n\t\t\t\t.find('table')\r\n\t\t\t\t\t.append(rowStructs[row].tbodyEl);\r\n\r\n\t\t\trowEl.append(skeletonEl);\r\n\t\t\thelperNodes.push(skeletonEl[0]);\r\n\t\t});\r\n\r\n\t\treturn ( // must return the elements rendered\r\n\t\t\tthis.helperEls = $(helperNodes) // array -> jQuery set\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Unrenders any visual indication of a mock helper event\r\n\tunrenderHelper: function() {\r\n\t\tif (this.helperEls) {\r\n\t\t\tthis.helperEls.remove();\r\n\t\t\tthis.helperEls = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Fill System (highlight, background events, business hours)\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tfillSegTag: 'td', // override the default tag name\r\n\r\n\r\n\t// Renders a set of rectangles over the given segments of days.\r\n\t// Only returns segments that successfully rendered.\r\n\trenderFill: function(type, segs, className) {\r\n\t\tvar nodes = [];\r\n\t\tvar i, seg;\r\n\t\tvar skeletonEl;\r\n\r\n\t\tsegs = this.renderFillSegEls(type, segs); // assignes `.el` to each seg. returns successfully rendered segs\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\tskeletonEl = this.renderFillRow(type, seg, className);\r\n\t\t\tthis.rowEls.eq(seg.row).append(skeletonEl);\r\n\t\t\tnodes.push(skeletonEl[0]);\r\n\t\t}\r\n\r\n\t\tthis.elsByFill[type] = $(nodes);\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t// Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.\r\n\trenderFillRow: function(type, seg, className) {\r\n\t\tvar colCnt = this.colCnt;\r\n\t\tvar startCol = seg.leftCol;\r\n\t\tvar endCol = seg.rightCol + 1;\r\n\t\tvar skeletonEl;\r\n\t\tvar trEl;\r\n\r\n\t\tclassName = className || type.toLowerCase();\r\n\r\n\t\tskeletonEl = $(\r\n\t\t\t'<div class=\"fc-' + className + '-skeleton\">' +\r\n\t\t\t\t'<table><tr/></table>' +\r\n\t\t\t'</div>'\r\n\t\t);\r\n\t\ttrEl = skeletonEl.find('tr');\r\n\r\n\t\tif (startCol > 0) {\r\n\t\t\ttrEl.append('<td colspan=\"' + startCol + '\"/>');\r\n\t\t}\r\n\r\n\t\ttrEl.append(\r\n\t\t\tseg.el.attr('colspan', endCol - startCol)\r\n\t\t);\r\n\r\n\t\tif (endCol < colCnt) {\r\n\t\t\ttrEl.append('<td colspan=\"' + (colCnt - endCol) + '\"/>');\r\n\t\t}\r\n\r\n\t\tthis.bookendCells(trEl);\r\n\r\n\t\treturn skeletonEl;\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/* Event-rendering methods for the DayGrid class\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nDayGrid.mixin({\r\n\r\n\trowStructs: null, // an array of objects, each holding information about a row's foreground event-rendering\r\n\r\n\r\n\t// Unrenders all events currently rendered on the grid\r\n\tunrenderEvents: function() {\r\n\t\tthis.removeSegPopover(); // removes the \"more..\" events popover\r\n\t\tGrid.prototype.unrenderEvents.apply(this, arguments); // calls the super-method\r\n\t},\r\n\r\n\r\n\t// Retrieves all rendered segment objects currently rendered on the grid\r\n\tgetEventSegs: function() {\r\n\t\treturn Grid.prototype.getEventSegs.call(this) // get the segments from the super-method\r\n\t\t\t.concat(this.popoverSegs || []); // append the segments from the \"more...\" popover\r\n\t},\r\n\r\n\r\n\t// Renders the given background event segments onto the grid\r\n\trenderBgSegs: function(segs) {\r\n\r\n\t\t// don't render timed background events\r\n\t\tvar allDaySegs = $.grep(segs, function(seg) {\r\n\t\t\treturn seg.event.allDay;\r\n\t\t});\r\n\r\n\t\treturn Grid.prototype.renderBgSegs.call(this, allDaySegs); // call the super-method\r\n\t},\r\n\r\n\r\n\t// Renders the given foreground event segments onto the grid\r\n\trenderFgSegs: function(segs) {\r\n\t\tvar rowStructs;\r\n\r\n\t\t// render an `.el` on each seg\r\n\t\t// returns a subset of the segs. segs that were actually rendered\r\n\t\tsegs = this.renderFgSegEls(segs);\r\n\r\n\t\trowStructs = this.rowStructs = this.renderSegRows(segs);\r\n\r\n\t\t// append to each row's content skeleton\r\n\t\tthis.rowEls.each(function(i, rowNode) {\r\n\t\t\t$(rowNode).find('.fc-content-skeleton > table').append(\r\n\t\t\t\trowStructs[i].tbodyEl\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\treturn segs; // return only the segs that were actually rendered\r\n\t},\r\n\r\n\r\n\t// Unrenders all currently rendered foreground event segments\r\n\tunrenderFgSegs: function() {\r\n\t\tvar rowStructs = this.rowStructs || [];\r\n\t\tvar rowStruct;\r\n\r\n\t\twhile ((rowStruct = rowStructs.pop())) {\r\n\t\t\trowStruct.tbodyEl.remove();\r\n\t\t}\r\n\r\n\t\tthis.rowStructs = null;\r\n\t},\r\n\r\n\r\n\t// Uses the given events array to generate <tbody> elements that should be appended to each row's content skeleton.\r\n\t// Returns an array of rowStruct objects (see the bottom of `renderSegRow`).\r\n\t// PRECONDITION: each segment shoud already have a rendered and assigned `.el`\r\n\trenderSegRows: function(segs) {\r\n\t\tvar rowStructs = [];\r\n\t\tvar segRows;\r\n\t\tvar row;\r\n\r\n\t\tsegRows = this.groupSegRows(segs); // group into nested arrays\r\n\r\n\t\t// iterate each row of segment groupings\r\n\t\tfor (row = 0; row < segRows.length; row++) {\r\n\t\t\trowStructs.push(\r\n\t\t\t\tthis.renderSegRow(row, segRows[row])\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn rowStructs;\r\n\t},\r\n\r\n\r\n\t// Builds the HTML to be used for the default element for an individual segment\r\n\tfgSegHtml: function(seg, disableResizing) {\r\n\t\tvar view = this.view;\r\n\t\tvar event = seg.event;\r\n\t\tvar isDraggable = view.isEventDraggable(event);\r\n\t\tvar isResizableFromStart = !disableResizing && event.allDay &&\r\n\t\t\tseg.isStart && view.isEventResizableFromStart(event);\r\n\t\tvar isResizableFromEnd = !disableResizing && event.allDay &&\r\n\t\t\tseg.isEnd && view.isEventResizableFromEnd(event);\r\n\t\tvar classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd);\r\n\t\tvar skinCss = cssToStr(this.getSegSkinCss(seg));\r\n\t\tvar timeHtml = '';\r\n\t\tvar timeText;\r\n\t\tvar titleHtml;\r\n\r\n\t\tclasses.unshift('fc-day-grid-event', 'fc-h-event');\r\n\r\n\t\t// Only display a timed events time if it is the starting segment\r\n\t\tif (seg.isStart) {\r\n\t\t\ttimeText = this.getEventTimeText(event);\r\n\t\t\tif (timeText) {\r\n\t\t\t\ttimeHtml = '<span class=\"fc-time\">' + htmlEscape(timeText) + '</span>';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttitleHtml =\r\n\t\t\t'<span class=\"fc-title\">' +\r\n\t\t\t\t(htmlEscape(event.title || '') || '&nbsp;') + // we always want one line of height\r\n\t\t\t'</span>';\r\n\t\t\r\n\t\treturn '<a class=\"' + classes.join(' ') + '\"' +\r\n\t\t\t\t(event.url ?\r\n\t\t\t\t\t' href=\"' + htmlEscape(event.url) + '\"' :\r\n\t\t\t\t\t''\r\n\t\t\t\t\t) +\r\n\t\t\t\t(skinCss ?\r\n\t\t\t\t\t' style=\"' + skinCss + '\"' :\r\n\t\t\t\t\t''\r\n\t\t\t\t\t) +\r\n\t\t\t'>' +\r\n\t\t\t\t'<div class=\"fc-content\">' +\r\n\t\t\t\t\t(this.isRTL ?\r\n\t\t\t\t\t\ttitleHtml + ' ' + timeHtml : // put a natural space in between\r\n\t\t\t\t\t\ttimeHtml + ' ' + titleHtml   //\r\n\t\t\t\t\t\t) +\r\n\t\t\t\t'</div>' +\r\n\t\t\t\t(isResizableFromStart ?\r\n\t\t\t\t\t'<div class=\"fc-resizer fc-start-resizer\" />' :\r\n\t\t\t\t\t''\r\n\t\t\t\t\t) +\r\n\t\t\t\t(isResizableFromEnd ?\r\n\t\t\t\t\t'<div class=\"fc-resizer fc-end-resizer\" />' :\r\n\t\t\t\t\t''\r\n\t\t\t\t\t) +\r\n\t\t\t'</a>';\r\n\t},\r\n\r\n\r\n\t// Given a row # and an array of segments all in the same row, render a <tbody> element, a skeleton that contains\r\n\t// the segments. Returns object with a bunch of internal data about how the render was calculated.\r\n\t// NOTE: modifies rowSegs\r\n\trenderSegRow: function(row, rowSegs) {\r\n\t\tvar colCnt = this.colCnt;\r\n\t\tvar segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels\r\n\t\tvar levelCnt = Math.max(1, segLevels.length); // ensure at least one level\r\n\t\tvar tbody = $('<tbody/>');\r\n\t\tvar segMatrix = []; // lookup for which segments are rendered into which level+col cells\r\n\t\tvar cellMatrix = []; // lookup for all <td> elements of the level+col matrix\r\n\t\tvar loneCellMatrix = []; // lookup for <td> elements that only take up a single column\r\n\t\tvar i, levelSegs;\r\n\t\tvar col;\r\n\t\tvar tr;\r\n\t\tvar j, seg;\r\n\t\tvar td;\r\n\r\n\t\t// populates empty cells from the current column (`col`) to `endCol`\r\n\t\tfunction emptyCellsUntil(endCol) {\r\n\t\t\twhile (col < endCol) {\r\n\t\t\t\t// try to grab a cell from the level above and extend its rowspan. otherwise, create a fresh cell\r\n\t\t\t\ttd = (loneCellMatrix[i - 1] || [])[col];\r\n\t\t\t\tif (td) {\r\n\t\t\t\t\ttd.attr(\r\n\t\t\t\t\t\t'rowspan',\r\n\t\t\t\t\t\tparseInt(td.attr('rowspan') || 1, 10) + 1\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\ttd = $('<td/>');\r\n\t\t\t\t\ttr.append(td);\r\n\t\t\t\t}\r\n\t\t\t\tcellMatrix[i][col] = td;\r\n\t\t\t\tloneCellMatrix[i][col] = td;\r\n\t\t\t\tcol++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < levelCnt; i++) { // iterate through all levels\r\n\t\t\tlevelSegs = segLevels[i];\r\n\t\t\tcol = 0;\r\n\t\t\ttr = $('<tr/>');\r\n\r\n\t\t\tsegMatrix.push([]);\r\n\t\t\tcellMatrix.push([]);\r\n\t\t\tloneCellMatrix.push([]);\r\n\r\n\t\t\t// levelCnt might be 1 even though there are no actual levels. protect against this.\r\n\t\t\t// this single empty row is useful for styling.\r\n\t\t\tif (levelSegs) {\r\n\t\t\t\tfor (j = 0; j < levelSegs.length; j++) { // iterate through segments in level\r\n\t\t\t\t\tseg = levelSegs[j];\r\n\r\n\t\t\t\t\temptyCellsUntil(seg.leftCol);\r\n\r\n\t\t\t\t\t// create a container that occupies or more columns. append the event element.\r\n\t\t\t\t\ttd = $('<td class=\"fc-event-container\"/>').append(seg.el);\r\n\t\t\t\t\tif (seg.leftCol != seg.rightCol) {\r\n\t\t\t\t\t\ttd.attr('colspan', seg.rightCol - seg.leftCol + 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse { // a single-column segment\r\n\t\t\t\t\t\tloneCellMatrix[i][col] = td;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twhile (col <= seg.rightCol) {\r\n\t\t\t\t\t\tcellMatrix[i][col] = td;\r\n\t\t\t\t\t\tsegMatrix[i][col] = seg;\r\n\t\t\t\t\t\tcol++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\ttr.append(td);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\temptyCellsUntil(colCnt); // finish off the row\r\n\t\t\tthis.bookendCells(tr);\r\n\t\t\ttbody.append(tr);\r\n\t\t}\r\n\r\n\t\treturn { // a \"rowStruct\"\r\n\t\t\trow: row, // the row number\r\n\t\t\ttbodyEl: tbody,\r\n\t\t\tcellMatrix: cellMatrix,\r\n\t\t\tsegMatrix: segMatrix,\r\n\t\t\tsegLevels: segLevels,\r\n\t\t\tsegs: rowSegs\r\n\t\t};\r\n\t},\r\n\r\n\r\n\t// Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.\r\n\t// NOTE: modifies segs\r\n\tbuildSegLevels: function(segs) {\r\n\t\tvar levels = [];\r\n\t\tvar i, seg;\r\n\t\tvar j;\r\n\r\n\t\t// Give preference to elements with certain criteria, so they have\r\n\t\t// a chance to be closer to the top.\r\n\t\tthis.sortEventSegs(segs);\r\n\t\t\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\r\n\t\t\t// loop through levels, starting with the topmost, until the segment doesn't collide with other segments\r\n\t\t\tfor (j = 0; j < levels.length; j++) {\r\n\t\t\t\tif (!isDaySegCollision(seg, levels[j])) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// `j` now holds the desired subrow index\r\n\t\t\tseg.level = j;\r\n\r\n\t\t\t// create new level array if needed and append segment\r\n\t\t\t(levels[j] || (levels[j] = [])).push(seg);\r\n\t\t}\r\n\r\n\t\t// order segments left-to-right. very important if calendar is RTL\r\n\t\tfor (j = 0; j < levels.length; j++) {\r\n\t\t\tlevels[j].sort(compareDaySegCols);\r\n\t\t}\r\n\r\n\t\treturn levels;\r\n\t},\r\n\r\n\r\n\t// Given a flat array of segments, return an array of sub-arrays, grouped by each segment's row\r\n\tgroupSegRows: function(segs) {\r\n\t\tvar segRows = [];\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < this.rowCnt; i++) {\r\n\t\t\tsegRows.push([]);\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tsegRows[segs[i].row].push(segs[i]);\r\n\t\t}\r\n\r\n\t\treturn segRows;\r\n\t}\r\n\r\n});\r\n\r\n\r\n// Computes whether two segments' columns collide. They are assumed to be in the same row.\r\nfunction isDaySegCollision(seg, otherSegs) {\r\n\tvar i, otherSeg;\r\n\r\n\tfor (i = 0; i < otherSegs.length; i++) {\r\n\t\totherSeg = otherSegs[i];\r\n\r\n\t\tif (\r\n\t\t\totherSeg.leftCol <= seg.rightCol &&\r\n\t\t\totherSeg.rightCol >= seg.leftCol\r\n\t\t) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\n\r\n// A cmp function for determining the leftmost event\r\nfunction compareDaySegCols(a, b) {\r\n\treturn a.leftCol - b.leftCol;\r\n}\r\n\r\n;;\r\n\r\n/* Methods relate to limiting the number events for a given day on a DayGrid\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n// NOTE: all the segs being passed around in here are foreground segs\r\n\r\nDayGrid.mixin({\r\n\r\n\tsegPopover: null, // the Popover that holds events that can't fit in a cell. null when not visible\r\n\tpopoverSegs: null, // an array of segment objects that the segPopover holds. null when not visible\r\n\r\n\r\n\tremoveSegPopover: function() {\r\n\t\tif (this.segPopover) {\r\n\t\t\tthis.segPopover.hide(); // in handler, will call segPopover's removeElement\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Limits the number of \"levels\" (vertically stacking layers of events) for each row of the grid.\r\n\t// `levelLimit` can be false (don't limit), a number, or true (should be computed).\r\n\tlimitRows: function(levelLimit) {\r\n\t\tvar rowStructs = this.rowStructs || [];\r\n\t\tvar row; // row #\r\n\t\tvar rowLevelLimit;\r\n\r\n\t\tfor (row = 0; row < rowStructs.length; row++) {\r\n\t\t\tthis.unlimitRow(row);\r\n\r\n\t\t\tif (!levelLimit) {\r\n\t\t\t\trowLevelLimit = false;\r\n\t\t\t}\r\n\t\t\telse if (typeof levelLimit === 'number') {\r\n\t\t\t\trowLevelLimit = levelLimit;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\trowLevelLimit = this.computeRowLevelLimit(row);\r\n\t\t\t}\r\n\r\n\t\t\tif (rowLevelLimit !== false) {\r\n\t\t\t\tthis.limitRow(row, rowLevelLimit);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Computes the number of levels a row will accomodate without going outside its bounds.\r\n\t// Assumes the row is \"rigid\" (maintains a constant height regardless of what is inside).\r\n\t// `row` is the row number.\r\n\tcomputeRowLevelLimit: function(row) {\r\n\t\tvar rowEl = this.rowEls.eq(row); // the containing \"fake\" row div\r\n\t\tvar rowHeight = rowEl.height(); // TODO: cache somehow?\r\n\t\tvar trEls = this.rowStructs[row].tbodyEl.children();\r\n\t\tvar i, trEl;\r\n\t\tvar trHeight;\r\n\r\n\t\tfunction iterInnerHeights(i, childNode) {\r\n\t\t\ttrHeight = Math.max(trHeight, $(childNode).outerHeight());\r\n\t\t}\r\n\r\n\t\t// Reveal one level <tr> at a time and stop when we find one out of bounds\r\n\t\tfor (i = 0; i < trEls.length; i++) {\r\n\t\t\ttrEl = trEls.eq(i).removeClass('fc-limited'); // reset to original state (reveal)\r\n\r\n\t\t\t// with rowspans>1 and IE8, trEl.outerHeight() would return the height of the largest cell,\r\n\t\t\t// so instead, find the tallest inner content element.\r\n\t\t\ttrHeight = 0;\r\n\t\t\ttrEl.find('> td > :first-child').each(iterInnerHeights);\r\n\r\n\t\t\tif (trEl.position().top + trHeight > rowHeight) {\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false; // should not limit at all\r\n\t},\r\n\r\n\r\n\t// Limits the given grid row to the maximum number of levels and injects \"more\" links if necessary.\r\n\t// `row` is the row number.\r\n\t// `levelLimit` is a number for the maximum (inclusive) number of levels allowed.\r\n\tlimitRow: function(row, levelLimit) {\r\n\t\tvar _this = this;\r\n\t\tvar rowStruct = this.rowStructs[row];\r\n\t\tvar moreNodes = []; // array of \"more\" <a> links and <td> DOM nodes\r\n\t\tvar col = 0; // col #, left-to-right (not chronologically)\r\n\t\tvar levelSegs; // array of segment objects in the last allowable level, ordered left-to-right\r\n\t\tvar cellMatrix; // a matrix (by level, then column) of all <td> jQuery elements in the row\r\n\t\tvar limitedNodes; // array of temporarily hidden level <tr> and segment <td> DOM nodes\r\n\t\tvar i, seg;\r\n\t\tvar segsBelow; // array of segment objects below `seg` in the current `col`\r\n\t\tvar totalSegsBelow; // total number of segments below `seg` in any of the columns `seg` occupies\r\n\t\tvar colSegsBelow; // array of segment arrays, below seg, one for each column (offset from segs's first column)\r\n\t\tvar td, rowspan;\r\n\t\tvar segMoreNodes; // array of \"more\" <td> cells that will stand-in for the current seg's cell\r\n\t\tvar j;\r\n\t\tvar moreTd, moreWrap, moreLink;\r\n\r\n\t\t// Iterates through empty level cells and places \"more\" links inside if need be\r\n\t\tfunction emptyCellsUntil(endCol) { // goes from current `col` to `endCol`\r\n\t\t\twhile (col < endCol) {\r\n\t\t\t\tsegsBelow = _this.getCellSegs(row, col, levelLimit);\r\n\t\t\t\tif (segsBelow.length) {\r\n\t\t\t\t\ttd = cellMatrix[levelLimit - 1][col];\r\n\t\t\t\t\tmoreLink = _this.renderMoreLink(row, col, segsBelow);\r\n\t\t\t\t\tmoreWrap = $('<div/>').append(moreLink);\r\n\t\t\t\t\ttd.append(moreWrap);\r\n\t\t\t\t\tmoreNodes.push(moreWrap[0]);\r\n\t\t\t\t}\r\n\t\t\t\tcol++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (levelLimit && levelLimit < rowStruct.segLevels.length) { // is it actually over the limit?\r\n\t\t\tlevelSegs = rowStruct.segLevels[levelLimit - 1];\r\n\t\t\tcellMatrix = rowStruct.cellMatrix;\r\n\r\n\t\t\tlimitedNodes = rowStruct.tbodyEl.children().slice(levelLimit) // get level <tr> elements past the limit\r\n\t\t\t\t.addClass('fc-limited').get(); // hide elements and get a simple DOM-nodes array\r\n\r\n\t\t\t// iterate though segments in the last allowable level\r\n\t\t\tfor (i = 0; i < levelSegs.length; i++) {\r\n\t\t\t\tseg = levelSegs[i];\r\n\t\t\t\temptyCellsUntil(seg.leftCol); // process empty cells before the segment\r\n\r\n\t\t\t\t// determine *all* segments below `seg` that occupy the same columns\r\n\t\t\t\tcolSegsBelow = [];\r\n\t\t\t\ttotalSegsBelow = 0;\r\n\t\t\t\twhile (col <= seg.rightCol) {\r\n\t\t\t\t\tsegsBelow = this.getCellSegs(row, col, levelLimit);\r\n\t\t\t\t\tcolSegsBelow.push(segsBelow);\r\n\t\t\t\t\ttotalSegsBelow += segsBelow.length;\r\n\t\t\t\t\tcol++;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (totalSegsBelow) { // do we need to replace this segment with one or many \"more\" links?\r\n\t\t\t\t\ttd = cellMatrix[levelLimit - 1][seg.leftCol]; // the segment's parent cell\r\n\t\t\t\t\trowspan = td.attr('rowspan') || 1;\r\n\t\t\t\t\tsegMoreNodes = [];\r\n\r\n\t\t\t\t\t// make a replacement <td> for each column the segment occupies. will be one for each colspan\r\n\t\t\t\t\tfor (j = 0; j < colSegsBelow.length; j++) {\r\n\t\t\t\t\t\tmoreTd = $('<td class=\"fc-more-cell\"/>').attr('rowspan', rowspan);\r\n\t\t\t\t\t\tsegsBelow = colSegsBelow[j];\r\n\t\t\t\t\t\tmoreLink = this.renderMoreLink(\r\n\t\t\t\t\t\t\trow,\r\n\t\t\t\t\t\t\tseg.leftCol + j,\r\n\t\t\t\t\t\t\t[ seg ].concat(segsBelow) // count seg as hidden too\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tmoreWrap = $('<div/>').append(moreLink);\r\n\t\t\t\t\t\tmoreTd.append(moreWrap);\r\n\t\t\t\t\t\tsegMoreNodes.push(moreTd[0]);\r\n\t\t\t\t\t\tmoreNodes.push(moreTd[0]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\ttd.addClass('fc-limited').after($(segMoreNodes)); // hide original <td> and inject replacements\r\n\t\t\t\t\tlimitedNodes.push(td[0]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\temptyCellsUntil(this.colCnt); // finish off the level\r\n\t\t\trowStruct.moreEls = $(moreNodes); // for easy undoing later\r\n\t\t\trowStruct.limitedEls = $(limitedNodes); // for easy undoing later\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Reveals all levels and removes all \"more\"-related elements for a grid's row.\r\n\t// `row` is a row number.\r\n\tunlimitRow: function(row) {\r\n\t\tvar rowStruct = this.rowStructs[row];\r\n\r\n\t\tif (rowStruct.moreEls) {\r\n\t\t\trowStruct.moreEls.remove();\r\n\t\t\trowStruct.moreEls = null;\r\n\t\t}\r\n\r\n\t\tif (rowStruct.limitedEls) {\r\n\t\t\trowStruct.limitedEls.removeClass('fc-limited');\r\n\t\t\trowStruct.limitedEls = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Renders an <a> element that represents hidden event element for a cell.\r\n\t// Responsible for attaching click handler as well.\r\n\trenderMoreLink: function(row, col, hiddenSegs) {\r\n\t\tvar _this = this;\r\n\t\tvar view = this.view;\r\n\r\n\t\treturn $('<a class=\"fc-more\"/>')\r\n\t\t\t.text(\r\n\t\t\t\tthis.getMoreLinkText(hiddenSegs.length)\r\n\t\t\t)\r\n\t\t\t.on('click', function(ev) {\r\n\t\t\t\tvar clickOption = view.opt('eventLimitClick');\r\n\t\t\t\tvar date = _this.getCellDate(row, col);\r\n\t\t\t\tvar moreEl = $(this);\r\n\t\t\t\tvar dayEl = _this.getCellEl(row, col);\r\n\t\t\t\tvar allSegs = _this.getCellSegs(row, col);\r\n\r\n\t\t\t\t// rescope the segments to be within the cell's date\r\n\t\t\t\tvar reslicedAllSegs = _this.resliceDaySegs(allSegs, date);\r\n\t\t\t\tvar reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);\r\n\r\n\t\t\t\tif (typeof clickOption === 'function') {\r\n\t\t\t\t\t// the returned value can be an atomic option\r\n\t\t\t\t\tclickOption = view.publiclyTrigger('eventLimitClick', null, {\r\n\t\t\t\t\t\tdate: date,\r\n\t\t\t\t\t\tdayEl: dayEl,\r\n\t\t\t\t\t\tmoreEl: moreEl,\r\n\t\t\t\t\t\tsegs: reslicedAllSegs,\r\n\t\t\t\t\t\thiddenSegs: reslicedHiddenSegs\r\n\t\t\t\t\t}, ev);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (clickOption === 'popover') {\r\n\t\t\t\t\t_this.showSegPopover(row, col, moreEl, reslicedAllSegs);\r\n\t\t\t\t}\r\n\t\t\t\telse if (typeof clickOption === 'string') { // a view name\r\n\t\t\t\t\tview.calendar.zoomTo(date, clickOption);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t},\r\n\r\n\r\n\t// Reveals the popover that displays all events within a cell\r\n\tshowSegPopover: function(row, col, moreLink, segs) {\r\n\t\tvar _this = this;\r\n\t\tvar view = this.view;\r\n\t\tvar moreWrap = moreLink.parent(); // the <div> wrapper around the <a>\r\n\t\tvar topEl; // the element we want to match the top coordinate of\r\n\t\tvar options;\r\n\r\n\t\tif (this.rowCnt == 1) {\r\n\t\t\ttopEl = view.el; // will cause the popover to cover any sort of header\r\n\t\t}\r\n\t\telse {\r\n\t\t\ttopEl = this.rowEls.eq(row); // will align with top of row\r\n\t\t}\r\n\r\n\t\toptions = {\r\n\t\t\tclassName: 'fc-more-popover',\r\n\t\t\tcontent: this.renderSegPopoverContent(row, col, segs),\r\n\t\t\tparentEl: this.view.el, // attach to root of view. guarantees outside of scrollbars.\r\n\t\t\ttop: topEl.offset().top,\r\n\t\t\tautoHide: true, // when the user clicks elsewhere, hide the popover\r\n\t\t\tviewportConstrain: view.opt('popoverViewportConstrain'),\r\n\t\t\thide: function() {\r\n\t\t\t\t// kill everything when the popover is hidden\r\n\t\t\t\t// notify events to be removed\r\n\t\t\t\tif (_this.popoverSegs) {\r\n\t\t\t\t\tvar seg;\r\n\t\t\t\t\tfor (var i = 0; i < _this.popoverSegs.length; ++i) {\r\n\t\t\t\t\t\tseg = _this.popoverSegs[i];\r\n\t\t\t\t\t\tview.publiclyTrigger('eventDestroy', seg.event, seg.event, seg.el);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t_this.segPopover.removeElement();\r\n\t\t\t\t_this.segPopover = null;\r\n\t\t\t\t_this.popoverSegs = null;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Determine horizontal coordinate.\r\n\t\t// We use the moreWrap instead of the <td> to avoid border confusion.\r\n\t\tif (this.isRTL) {\r\n\t\t\toptions.right = moreWrap.offset().left + moreWrap.outerWidth() + 1; // +1 to be over cell border\r\n\t\t}\r\n\t\telse {\r\n\t\t\toptions.left = moreWrap.offset().left - 1; // -1 to be over cell border\r\n\t\t}\r\n\r\n\t\tthis.segPopover = new Popover(options);\r\n\t\tthis.segPopover.show();\r\n\r\n\t\t// the popover doesn't live within the grid's container element, and thus won't get the event\r\n\t\t// delegated-handlers for free. attach event-related handlers to the popover.\r\n\t\tthis.bindSegHandlersToEl(this.segPopover.el);\r\n\t},\r\n\r\n\r\n\t// Builds the inner DOM contents of the segment popover\r\n\trenderSegPopoverContent: function(row, col, segs) {\r\n\t\tvar view = this.view;\r\n\t\tvar isTheme = view.opt('theme');\r\n\t\tvar title = this.getCellDate(row, col).format(view.opt('dayPopoverFormat'));\r\n\t\tvar content = $(\r\n\t\t\t'<div class=\"fc-header ' + view.widgetHeaderClass + '\">' +\r\n\t\t\t\t'<span class=\"fc-close ' +\r\n\t\t\t\t\t(isTheme ? 'ui-icon ui-icon-closethick' : 'fc-icon fc-icon-x') +\r\n\t\t\t\t'\"></span>' +\r\n\t\t\t\t'<span class=\"fc-title\">' +\r\n\t\t\t\t\thtmlEscape(title) +\r\n\t\t\t\t'</span>' +\r\n\t\t\t\t'<div class=\"fc-clear\"/>' +\r\n\t\t\t'</div>' +\r\n\t\t\t'<div class=\"fc-body ' + view.widgetContentClass + '\">' +\r\n\t\t\t\t'<div class=\"fc-event-container\"></div>' +\r\n\t\t\t'</div>'\r\n\t\t);\r\n\t\tvar segContainer = content.find('.fc-event-container');\r\n\t\tvar i;\r\n\r\n\t\t// render each seg's `el` and only return the visible segs\r\n\t\tsegs = this.renderFgSegEls(segs, true); // disableResizing=true\r\n\t\tthis.popoverSegs = segs;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\r\n\t\t\t// because segments in the popover are not part of a grid coordinate system, provide a hint to any\r\n\t\t\t// grids that want to do drag-n-drop about which cell it came from\r\n\t\t\tthis.hitsNeeded();\r\n\t\t\tsegs[i].hit = this.getCellHit(row, col);\r\n\t\t\tthis.hitsNotNeeded();\r\n\r\n\t\t\tsegContainer.append(segs[i].el);\r\n\t\t}\r\n\r\n\t\treturn content;\r\n\t},\r\n\r\n\r\n\t// Given the events within an array of segment objects, reslice them to be in a single day\r\n\tresliceDaySegs: function(segs, dayDate) {\r\n\r\n\t\t// build an array of the original events\r\n\t\tvar events = $.map(segs, function(seg) {\r\n\t\t\treturn seg.event;\r\n\t\t});\r\n\r\n\t\tvar dayStart = dayDate.clone();\r\n\t\tvar dayEnd = dayStart.clone().add(1, 'days');\r\n\t\tvar dayRange = { start: dayStart, end: dayEnd };\r\n\r\n\t\t// slice the events with a custom slicing function\r\n\t\tsegs = this.eventsToSegs(\r\n\t\t\tevents,\r\n\t\t\tfunction(range) {\r\n\t\t\t\tvar seg = intersectRanges(range, dayRange); // undefind if no intersection\r\n\t\t\t\treturn seg ? [ seg ] : []; // must return an array of segments\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\t// force an order because eventsToSegs doesn't guarantee one\r\n\t\tthis.sortEventSegs(segs);\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t// Generates the text that should be inside a \"more\" link, given the number of events it represents\r\n\tgetMoreLinkText: function(num) {\r\n\t\tvar opt = this.view.opt('eventLimitText');\r\n\r\n\t\tif (typeof opt === 'function') {\r\n\t\t\treturn opt(num);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn '+' + num + ' ' + opt;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Returns segments within a given cell.\r\n\t// If `startLevel` is specified, returns only events including and below that level. Otherwise returns all segs.\r\n\tgetCellSegs: function(row, col, startLevel) {\r\n\t\tvar segMatrix = this.rowStructs[row].segMatrix;\r\n\t\tvar level = startLevel || 0;\r\n\t\tvar segs = [];\r\n\t\tvar seg;\r\n\r\n\t\twhile (level < segMatrix.length) {\r\n\t\t\tseg = segMatrix[level][col];\r\n\t\t\tif (seg) {\r\n\t\t\t\tsegs.push(seg);\r\n\t\t\t}\r\n\t\t\tlevel++;\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/* A component that renders one or more columns of vertical time slots\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n// We mixin DayTable, even though there is only a single row of days\r\n\r\nvar TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {\r\n\r\n\tslotDuration: null, // duration of a \"slot\", a distinct time segment on given day, visualized by lines\r\n\tsnapDuration: null, // granularity of time for dragging and selecting\r\n\tsnapsPerSlot: null,\r\n\tminTime: null, // Duration object that denotes the first visible time of any given day\r\n\tmaxTime: null, // Duration object that denotes the exclusive visible end time of any given day\r\n\tlabelFormat: null, // formatting string for times running along vertical axis\r\n\tlabelInterval: null, // duration of how often a label should be displayed for a slot\r\n\r\n\tcolEls: null, // cells elements in the day-row background\r\n\tslatContainerEl: null, // div that wraps all the slat rows\r\n\tslatEls: null, // elements running horizontally across all columns\r\n\tnowIndicatorEls: null,\r\n\r\n\tcolCoordCache: null,\r\n\tslatCoordCache: null,\r\n\r\n\r\n\tconstructor: function() {\r\n\t\tGrid.apply(this, arguments); // call the super-constructor\r\n\r\n\t\tthis.processOptions();\r\n\t},\r\n\r\n\r\n\t// Renders the time grid into `this.el`, which should already be assigned.\r\n\t// Relies on the view's colCnt. In the future, this component should probably be self-sufficient.\r\n\trenderDates: function() {\r\n\t\tthis.el.html(this.renderHtml());\r\n\t\tthis.colEls = this.el.find('.fc-day');\r\n\t\tthis.slatContainerEl = this.el.find('.fc-slats');\r\n\t\tthis.slatEls = this.slatContainerEl.find('tr');\r\n\r\n\t\tthis.colCoordCache = new CoordCache({\r\n\t\t\tels: this.colEls,\r\n\t\t\tisHorizontal: true\r\n\t\t});\r\n\t\tthis.slatCoordCache = new CoordCache({\r\n\t\t\tels: this.slatEls,\r\n\t\t\tisVertical: true\r\n\t\t});\r\n\r\n\t\tthis.renderContentSkeleton();\r\n\t},\r\n\r\n\r\n\t// Renders the basic HTML skeleton for the grid\r\n\trenderHtml: function() {\r\n\t\treturn '' +\r\n\t\t\t'<div class=\"fc-bg\">' +\r\n\t\t\t\t'<table>' +\r\n\t\t\t\t\tthis.renderBgTrHtml(0) + // row=0\r\n\t\t\t\t'</table>' +\r\n\t\t\t'</div>' +\r\n\t\t\t'<div class=\"fc-slats\">' +\r\n\t\t\t\t'<table>' +\r\n\t\t\t\t\tthis.renderSlatRowHtml() +\r\n\t\t\t\t'</table>' +\r\n\t\t\t'</div>';\r\n\t},\r\n\r\n\r\n\t// Generates the HTML for the horizontal \"slats\" that run width-wise. Has a time axis on a side. Depends on RTL.\r\n\trenderSlatRowHtml: function() {\r\n\t\tvar view = this.view;\r\n\t\tvar isRTL = this.isRTL;\r\n\t\tvar html = '';\r\n\t\tvar slotTime = moment.duration(+this.minTime); // wish there was .clone() for durations\r\n\t\tvar slotDate; // will be on the view's first day, but we only care about its time\r\n\t\tvar isLabeled;\r\n\t\tvar axisHtml;\r\n\r\n\t\t// Calculate the time for each slot\r\n\t\twhile (slotTime < this.maxTime) {\r\n\t\t\tslotDate = this.start.clone().time(slotTime);\r\n\t\t\tisLabeled = isInt(divideDurationByDuration(slotTime, this.labelInterval));\r\n\r\n\t\t\taxisHtml =\r\n\t\t\t\t'<td class=\"fc-axis fc-time ' + view.widgetContentClass + '\" ' + view.axisStyleAttr() + '>' +\r\n\t\t\t\t\t(isLabeled ?\r\n\t\t\t\t\t\t'<span>' + // for matchCellWidths\r\n\t\t\t\t\t\t\thtmlEscape(slotDate.format(this.labelFormat)) +\r\n\t\t\t\t\t\t'</span>' :\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\t\t) +\r\n\t\t\t\t'</td>';\r\n\r\n\t\t\thtml +=\r\n\t\t\t\t'<tr data-time=\"' + slotDate.format('HH:mm:ss') + '\"' +\r\n\t\t\t\t\t(isLabeled ? '' : ' class=\"fc-minor\"') +\r\n\t\t\t\t\t'>' +\r\n\t\t\t\t\t(!isRTL ? axisHtml : '') +\r\n\t\t\t\t\t'<td class=\"' + view.widgetContentClass + '\"/>' +\r\n\t\t\t\t\t(isRTL ? axisHtml : '') +\r\n\t\t\t\t\"</tr>\";\r\n\r\n\t\t\tslotTime.add(this.slotDuration);\r\n\t\t}\r\n\r\n\t\treturn html;\r\n\t},\r\n\r\n\r\n\t/* Options\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Parses various options into properties of this object\r\n\tprocessOptions: function() {\r\n\t\tvar view = this.view;\r\n\t\tvar slotDuration = view.opt('slotDuration');\r\n\t\tvar snapDuration = view.opt('snapDuration');\r\n\t\tvar input;\r\n\r\n\t\tslotDuration = moment.duration(slotDuration);\r\n\t\tsnapDuration = snapDuration ? moment.duration(snapDuration) : slotDuration;\r\n\r\n\t\tthis.slotDuration = slotDuration;\r\n\t\tthis.snapDuration = snapDuration;\r\n\t\tthis.snapsPerSlot = slotDuration / snapDuration; // TODO: ensure an integer multiple?\r\n\r\n\t\tthis.minResizeDuration = snapDuration; // hack\r\n\r\n\t\tthis.minTime = moment.duration(view.opt('minTime'));\r\n\t\tthis.maxTime = moment.duration(view.opt('maxTime'));\r\n\r\n\t\t// might be an array value (for TimelineView).\r\n\t\t// if so, getting the most granular entry (the last one probably).\r\n\t\tinput = view.opt('slotLabelFormat');\r\n\t\tif ($.isArray(input)) {\r\n\t\t\tinput = input[input.length - 1];\r\n\t\t}\r\n\r\n\t\tthis.labelFormat =\r\n\t\t\tinput ||\r\n\t\t\tview.opt('smallTimeFormat'); // the computed default\r\n\r\n\t\tinput = view.opt('slotLabelInterval');\r\n\t\tthis.labelInterval = input ?\r\n\t\t\tmoment.duration(input) :\r\n\t\t\tthis.computeLabelInterval(slotDuration);\r\n\t},\r\n\r\n\r\n\t// Computes an automatic value for slotLabelInterval\r\n\tcomputeLabelInterval: function(slotDuration) {\r\n\t\tvar i;\r\n\t\tvar labelInterval;\r\n\t\tvar slotsPerLabel;\r\n\r\n\t\t// find the smallest stock label interval that results in more than one slots-per-label\r\n\t\tfor (i = AGENDA_STOCK_SUB_DURATIONS.length - 1; i >= 0; i--) {\r\n\t\t\tlabelInterval = moment.duration(AGENDA_STOCK_SUB_DURATIONS[i]);\r\n\t\t\tslotsPerLabel = divideDurationByDuration(labelInterval, slotDuration);\r\n\t\t\tif (isInt(slotsPerLabel) && slotsPerLabel > 1) {\r\n\t\t\t\treturn labelInterval;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn moment.duration(slotDuration); // fall back. clone\r\n\t},\r\n\r\n\r\n\t// Computes a default event time formatting string if `timeFormat` is not explicitly defined\r\n\tcomputeEventTimeFormat: function() {\r\n\t\treturn this.view.opt('noMeridiemTimeFormat'); // like \"6:30\" (no AM/PM)\r\n\t},\r\n\r\n\r\n\t// Computes a default `displayEventEnd` value if one is not expliclty defined\r\n\tcomputeDisplayEventEnd: function() {\r\n\t\treturn true;\r\n\t},\r\n\r\n\r\n\t/* Hit System\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tprepareHits: function() {\r\n\t\tthis.colCoordCache.build();\r\n\t\tthis.slatCoordCache.build();\r\n\t},\r\n\r\n\r\n\treleaseHits: function() {\r\n\t\tthis.colCoordCache.clear();\r\n\t\t// NOTE: don't clear slatCoordCache because we rely on it for computeTimeTop\r\n\t},\r\n\r\n\r\n\tqueryHit: function(leftOffset, topOffset) {\r\n\t\tvar snapsPerSlot = this.snapsPerSlot;\r\n\t\tvar colCoordCache = this.colCoordCache;\r\n\t\tvar slatCoordCache = this.slatCoordCache;\r\n\r\n\t\tif (colCoordCache.isLeftInBounds(leftOffset) && slatCoordCache.isTopInBounds(topOffset)) {\r\n\t\t\tvar colIndex = colCoordCache.getHorizontalIndex(leftOffset);\r\n\t\t\tvar slatIndex = slatCoordCache.getVerticalIndex(topOffset);\r\n\r\n\t\t\tif (colIndex != null && slatIndex != null) {\r\n\t\t\t\tvar slatTop = slatCoordCache.getTopOffset(slatIndex);\r\n\t\t\t\tvar slatHeight = slatCoordCache.getHeight(slatIndex);\r\n\t\t\t\tvar partial = (topOffset - slatTop) / slatHeight; // floating point number between 0 and 1\r\n\t\t\t\tvar localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat\r\n\t\t\t\tvar snapIndex = slatIndex * snapsPerSlot + localSnapIndex;\r\n\t\t\t\tvar snapTop = slatTop + (localSnapIndex / snapsPerSlot) * slatHeight;\r\n\t\t\t\tvar snapBottom = slatTop + ((localSnapIndex + 1) / snapsPerSlot) * slatHeight;\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tcol: colIndex,\r\n\t\t\t\t\tsnap: snapIndex,\r\n\t\t\t\t\tcomponent: this, // needed unfortunately :(\r\n\t\t\t\t\tleft: colCoordCache.getLeftOffset(colIndex),\r\n\t\t\t\t\tright: colCoordCache.getRightOffset(colIndex),\r\n\t\t\t\t\ttop: snapTop,\r\n\t\t\t\t\tbottom: snapBottom\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tgetHitSpan: function(hit) {\r\n\t\tvar start = this.getCellDate(0, hit.col); // row=0\r\n\t\tvar time = this.computeSnapTime(hit.snap); // pass in the snap-index\r\n\t\tvar end;\r\n\r\n\t\tstart.time(time);\r\n\t\tend = start.clone().add(this.snapDuration);\r\n\r\n\t\treturn { start: start, end: end };\r\n\t},\r\n\r\n\r\n\tgetHitEl: function(hit) {\r\n\t\treturn this.colEls.eq(hit.col);\r\n\t},\r\n\r\n\r\n\t/* Dates\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trangeUpdated: function() {\r\n\t\tthis.updateDayTable();\r\n\t},\r\n\r\n\r\n\t// Given a row number of the grid, representing a \"snap\", returns a time (Duration) from its start-of-day\r\n\tcomputeSnapTime: function(snapIndex) {\r\n\t\treturn moment.duration(this.minTime + this.snapDuration * snapIndex);\r\n\t},\r\n\r\n\r\n\t// Slices up the given span (unzoned start/end with other misc data) into an array of segments\r\n\tspanToSegs: function(span) {\r\n\t\tvar segs = this.sliceRangeByTimes(span);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tif (this.isRTL) {\r\n\t\t\t\tsegs[i].col = this.daysPerRow - 1 - segs[i].dayIndex;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tsegs[i].col = segs[i].dayIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\tsliceRangeByTimes: function(range) {\r\n\t\tvar segs = [];\r\n\t\tvar seg;\r\n\t\tvar dayIndex;\r\n\t\tvar dayDate;\r\n\t\tvar dayRange;\r\n\r\n\t\tfor (dayIndex = 0; dayIndex < this.daysPerRow; dayIndex++) {\r\n\t\t\tdayDate = this.dayDates[dayIndex].clone(); // TODO: better API for this?\r\n\t\t\tdayRange = {\r\n\t\t\t\tstart: dayDate.clone().time(this.minTime),\r\n\t\t\t\tend: dayDate.clone().time(this.maxTime)\r\n\t\t\t};\r\n\t\t\tseg = intersectRanges(range, dayRange); // both will be ambig timezone\r\n\t\t\tif (seg) {\r\n\t\t\t\tseg.dayIndex = dayIndex;\r\n\t\t\t\tsegs.push(seg);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t/* Coordinates\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tupdateSize: function(isResize) { // NOT a standard Grid method\r\n\t\tthis.slatCoordCache.build();\r\n\r\n\t\tif (isResize) {\r\n\t\t\tthis.updateSegVerticals(\r\n\t\t\t\t[].concat(this.fgSegs || [], this.bgSegs || [], this.businessSegs || [])\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tgetTotalSlatHeight: function() {\r\n\t\treturn this.slatContainerEl.outerHeight();\r\n\t},\r\n\r\n\r\n\t// Computes the top coordinate, relative to the bounds of the grid, of the given date.\r\n\t// A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.\r\n\tcomputeDateTop: function(date, startOfDayDate) {\r\n\t\treturn this.computeTimeTop(\r\n\t\t\tmoment.duration(\r\n\t\t\t\tdate - startOfDayDate.clone().stripTime()\r\n\t\t\t)\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).\r\n\tcomputeTimeTop: function(time) {\r\n\t\tvar len = this.slatEls.length;\r\n\t\tvar slatCoverage = (time - this.minTime) / this.slotDuration; // floating-point value of # of slots covered\r\n\t\tvar slatIndex;\r\n\t\tvar slatRemainder;\r\n\r\n\t\t// compute a floating-point number for how many slats should be progressed through.\r\n\t\t// from 0 to number of slats (inclusive)\r\n\t\t// constrained because minTime/maxTime might be customized.\r\n\t\tslatCoverage = Math.max(0, slatCoverage);\r\n\t\tslatCoverage = Math.min(len, slatCoverage);\r\n\r\n\t\t// an integer index of the furthest whole slat\r\n\t\t// from 0 to number slats (*exclusive*, so len-1)\r\n\t\tslatIndex = Math.floor(slatCoverage);\r\n\t\tslatIndex = Math.min(slatIndex, len - 1);\r\n\r\n\t\t// how much further through the slatIndex slat (from 0.0-1.0) must be covered in addition.\r\n\t\t// could be 1.0 if slatCoverage is covering *all* the slots\r\n\t\tslatRemainder = slatCoverage - slatIndex;\r\n\r\n\t\treturn this.slatCoordCache.getTopPosition(slatIndex) +\r\n\t\t\tthis.slatCoordCache.getHeight(slatIndex) * slatRemainder;\r\n\t},\r\n\r\n\r\n\r\n\t/* Event Drag Visualization\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of an event being dragged over the specified date(s).\r\n\t// A returned value of `true` signals that a mock \"helper\" event has been rendered.\r\n\trenderDrag: function(eventLocation, seg) {\r\n\r\n\t\tif (seg) { // if there is event information for this drag, render a helper event\r\n\r\n\t\t\t// returns mock event elements\r\n\t\t\t// signal that a helper has been rendered\r\n\t\t\treturn this.renderEventLocationHelper(eventLocation, seg);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// otherwise, just render a highlight\r\n\t\t\tthis.renderHighlight(this.eventToSpan(eventLocation));\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Unrenders any visual indication of an event being dragged\r\n\tunrenderDrag: function() {\r\n\t\tthis.unrenderHelper();\r\n\t\tthis.unrenderHighlight();\r\n\t},\r\n\r\n\r\n\t/* Event Resize Visualization\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of an event being resized\r\n\trenderEventResize: function(eventLocation, seg) {\r\n\t\treturn this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements\r\n\t},\r\n\r\n\r\n\t// Unrenders any visual indication of an event being resized\r\n\tunrenderEventResize: function() {\r\n\t\tthis.unrenderHelper();\r\n\t},\r\n\r\n\r\n\t/* Event Helper\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a mock \"helper\" event. `sourceSeg` is the original segment object and might be null (an external drag)\r\n\trenderHelper: function(event, sourceSeg) {\r\n\t\treturn this.renderHelperSegs(this.eventToSegs(event), sourceSeg); // returns mock event elements\r\n\t},\r\n\r\n\r\n\t// Unrenders any mock helper event\r\n\tunrenderHelper: function() {\r\n\t\tthis.unrenderHelperSegs();\r\n\t},\r\n\r\n\r\n\t/* Business Hours\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderBusinessHours: function() {\r\n\t\tthis.renderBusinessSegs(\r\n\t\t\tthis.buildBusinessHourSegs()\r\n\t\t);\r\n\t},\r\n\r\n\r\n\tunrenderBusinessHours: function() {\r\n\t\tthis.unrenderBusinessSegs();\r\n\t},\r\n\r\n\r\n\t/* Now Indicator\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tgetNowIndicatorUnit: function() {\r\n\t\treturn 'minute'; // will refresh on the minute\r\n\t},\r\n\r\n\r\n\trenderNowIndicator: function(date) {\r\n\t\t// seg system might be overkill, but it handles scenario where line needs to be rendered\r\n\t\t//  more than once because of columns with the same date (resources columns for example)\r\n\t\tvar segs = this.spanToSegs({ start: date, end: date });\r\n\t\tvar top = this.computeDateTop(date, date);\r\n\t\tvar nodes = [];\r\n\t\tvar i;\r\n\r\n\t\t// render lines within the columns\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tnodes.push($('<div class=\"fc-now-indicator fc-now-indicator-line\"></div>')\r\n\t\t\t\t.css('top', top)\r\n\t\t\t\t.appendTo(this.colContainerEls.eq(segs[i].col))[0]);\r\n\t\t}\r\n\r\n\t\t// render an arrow over the axis\r\n\t\tif (segs.length > 0) { // is the current time in view?\r\n\t\t\tnodes.push($('<div class=\"fc-now-indicator fc-now-indicator-arrow\"></div>')\r\n\t\t\t\t.css('top', top)\r\n\t\t\t\t.appendTo(this.el.find('.fc-content-skeleton'))[0]);\r\n\t\t}\r\n\r\n\t\tthis.nowIndicatorEls = $(nodes);\r\n\t},\r\n\r\n\r\n\tunrenderNowIndicator: function() {\r\n\t\tif (this.nowIndicatorEls) {\r\n\t\t\tthis.nowIndicatorEls.remove();\r\n\t\t\tthis.nowIndicatorEls = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Selection\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of a selection. Overrides the default, which was to simply render a highlight.\r\n\trenderSelection: function(span) {\r\n\t\tif (this.view.opt('selectHelper')) { // this setting signals that a mock helper event should be rendered\r\n\r\n\t\t\t// normally acceps an eventLocation, span has a start/end, which is good enough\r\n\t\t\tthis.renderEventLocationHelper(span);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.renderHighlight(span);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Unrenders any visual indication of a selection\r\n\tunrenderSelection: function() {\r\n\t\tthis.unrenderHelper();\r\n\t\tthis.unrenderHighlight();\r\n\t},\r\n\r\n\r\n\t/* Highlight\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderHighlight: function(span) {\r\n\t\tthis.renderHighlightSegs(this.spanToSegs(span));\r\n\t},\r\n\r\n\r\n\tunrenderHighlight: function() {\r\n\t\tthis.unrenderHighlightSegs();\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/* Methods for rendering SEGMENTS, pieces of content that live on the view\r\n ( this file is no longer just for events )\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nTimeGrid.mixin({\r\n\r\n\tcolContainerEls: null, // containers for each column\r\n\r\n\t// inner-containers for each column where different types of segs live\r\n\tfgContainerEls: null,\r\n\tbgContainerEls: null,\r\n\thelperContainerEls: null,\r\n\thighlightContainerEls: null,\r\n\tbusinessContainerEls: null,\r\n\r\n\t// arrays of different types of displayed segments\r\n\tfgSegs: null,\r\n\tbgSegs: null,\r\n\thelperSegs: null,\r\n\thighlightSegs: null,\r\n\tbusinessSegs: null,\r\n\r\n\r\n\t// Renders the DOM that the view's content will live in\r\n\trenderContentSkeleton: function() {\r\n\t\tvar cellHtml = '';\r\n\t\tvar i;\r\n\t\tvar skeletonEl;\r\n\r\n\t\tfor (i = 0; i < this.colCnt; i++) {\r\n\t\t\tcellHtml +=\r\n\t\t\t\t'<td>' +\r\n\t\t\t\t\t'<div class=\"fc-content-col\">' +\r\n\t\t\t\t\t\t'<div class=\"fc-event-container fc-helper-container\"></div>' +\r\n\t\t\t\t\t\t'<div class=\"fc-event-container\"></div>' +\r\n\t\t\t\t\t\t'<div class=\"fc-highlight-container\"></div>' +\r\n\t\t\t\t\t\t'<div class=\"fc-bgevent-container\"></div>' +\r\n\t\t\t\t\t\t'<div class=\"fc-business-container\"></div>' +\r\n\t\t\t\t\t'</div>' +\r\n\t\t\t\t'</td>';\r\n\t\t}\r\n\r\n\t\tskeletonEl = $(\r\n\t\t\t'<div class=\"fc-content-skeleton\">' +\r\n\t\t\t\t'<table>' +\r\n\t\t\t\t\t'<tr>' + cellHtml + '</tr>' +\r\n\t\t\t\t'</table>' +\r\n\t\t\t'</div>'\r\n\t\t);\r\n\r\n\t\tthis.colContainerEls = skeletonEl.find('.fc-content-col');\r\n\t\tthis.helperContainerEls = skeletonEl.find('.fc-helper-container');\r\n\t\tthis.fgContainerEls = skeletonEl.find('.fc-event-container:not(.fc-helper-container)');\r\n\t\tthis.bgContainerEls = skeletonEl.find('.fc-bgevent-container');\r\n\t\tthis.highlightContainerEls = skeletonEl.find('.fc-highlight-container');\r\n\t\tthis.businessContainerEls = skeletonEl.find('.fc-business-container');\r\n\r\n\t\tthis.bookendCells(skeletonEl.find('tr')); // TODO: do this on string level\r\n\t\tthis.el.append(skeletonEl);\r\n\t},\r\n\r\n\r\n\t/* Foreground Events\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderFgSegs: function(segs) {\r\n\t\tsegs = this.renderFgSegsIntoContainers(segs, this.fgContainerEls);\r\n\t\tthis.fgSegs = segs;\r\n\t\treturn segs; // needed for Grid::renderEvents\r\n\t},\r\n\r\n\r\n\tunrenderFgSegs: function() {\r\n\t\tthis.unrenderNamedSegs('fgSegs');\r\n\t},\r\n\r\n\r\n\t/* Foreground Helper Events\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderHelperSegs: function(segs, sourceSeg) {\r\n\t\tvar helperEls = [];\r\n\t\tvar i, seg;\r\n\t\tvar sourceEl;\r\n\r\n\t\tsegs = this.renderFgSegsIntoContainers(segs, this.helperContainerEls);\r\n\r\n\t\t// Try to make the segment that is in the same row as sourceSeg look the same\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\tif (sourceSeg && sourceSeg.col === seg.col) {\r\n\t\t\t\tsourceEl = sourceSeg.el;\r\n\t\t\t\tseg.el.css({\r\n\t\t\t\t\tleft: sourceEl.css('left'),\r\n\t\t\t\t\tright: sourceEl.css('right'),\r\n\t\t\t\t\t'margin-left': sourceEl.css('margin-left'),\r\n\t\t\t\t\t'margin-right': sourceEl.css('margin-right')\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\thelperEls.push(seg.el[0]);\r\n\t\t}\r\n\r\n\t\tthis.helperSegs = segs;\r\n\r\n\t\treturn $(helperEls); // must return rendered helpers\r\n\t},\r\n\r\n\r\n\tunrenderHelperSegs: function() {\r\n\t\tthis.unrenderNamedSegs('helperSegs');\r\n\t},\r\n\r\n\r\n\t/* Background Events\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderBgSegs: function(segs) {\r\n\t\tsegs = this.renderFillSegEls('bgEvent', segs); // TODO: old fill system\r\n\t\tthis.updateSegVerticals(segs);\r\n\t\tthis.attachSegsByCol(this.groupSegsByCol(segs), this.bgContainerEls);\r\n\t\tthis.bgSegs = segs;\r\n\t\treturn segs; // needed for Grid::renderEvents\r\n\t},\r\n\r\n\r\n\tunrenderBgSegs: function() {\r\n\t\tthis.unrenderNamedSegs('bgSegs');\r\n\t},\r\n\r\n\r\n\t/* Highlight\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderHighlightSegs: function(segs) {\r\n\t\tsegs = this.renderFillSegEls('highlight', segs); // TODO: old fill system\r\n\t\tthis.updateSegVerticals(segs);\r\n\t\tthis.attachSegsByCol(this.groupSegsByCol(segs), this.highlightContainerEls);\r\n\t\tthis.highlightSegs = segs;\r\n\t},\r\n\r\n\r\n\tunrenderHighlightSegs: function() {\r\n\t\tthis.unrenderNamedSegs('highlightSegs');\r\n\t},\r\n\r\n\r\n\t/* Business Hours\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderBusinessSegs: function(segs) {\r\n\t\tsegs = this.renderFillSegEls('businessHours', segs); // TODO: old fill system\r\n\t\tthis.updateSegVerticals(segs);\r\n\t\tthis.attachSegsByCol(this.groupSegsByCol(segs), this.businessContainerEls);\r\n\t\tthis.businessSegs = segs;\r\n\t},\r\n\r\n\r\n\tunrenderBusinessSegs: function() {\r\n\t\tthis.unrenderNamedSegs('businessSegs');\r\n\t},\r\n\r\n\r\n\t/* Seg Rendering Utils\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Given a flat array of segments, return an array of sub-arrays, grouped by each segment's col\r\n\tgroupSegsByCol: function(segs) {\r\n\t\tvar segsByCol = [];\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < this.colCnt; i++) {\r\n\t\t\tsegsByCol.push([]);\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tsegsByCol[segs[i].col].push(segs[i]);\r\n\t\t}\r\n\r\n\t\treturn segsByCol;\r\n\t},\r\n\r\n\r\n\t// Given segments grouped by column, insert the segments' elements into a parallel array of container\r\n\t// elements, each living within a column.\r\n\tattachSegsByCol: function(segsByCol, containerEls) {\r\n\t\tvar col;\r\n\t\tvar segs;\r\n\t\tvar i;\r\n\r\n\t\tfor (col = 0; col < this.colCnt; col++) { // iterate each column grouping\r\n\t\t\tsegs = segsByCol[col];\r\n\r\n\t\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\t\tcontainerEls.eq(col).append(segs[i].el);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Given the name of a property of `this` object, assumed to be an array of segments,\r\n\t// loops through each segment and removes from DOM. Will null-out the property afterwards.\r\n\tunrenderNamedSegs: function(propName) {\r\n\t\tvar segs = this[propName];\r\n\t\tvar i;\r\n\r\n\t\tif (segs) {\r\n\t\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\t\tsegs[i].el.remove();\r\n\t\t\t}\r\n\t\t\tthis[propName] = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\r\n\t/* Foreground Event Rendering Utils\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Given an array of foreground segments, render a DOM element for each, computes position,\r\n\t// and attaches to the column inner-container elements.\r\n\trenderFgSegsIntoContainers: function(segs, containerEls) {\r\n\t\tvar segsByCol;\r\n\t\tvar col;\r\n\r\n\t\tsegs = this.renderFgSegEls(segs); // will call fgSegHtml\r\n\t\tsegsByCol = this.groupSegsByCol(segs);\r\n\r\n\t\tfor (col = 0; col < this.colCnt; col++) {\r\n\t\t\tthis.updateFgSegCoords(segsByCol[col]);\r\n\t\t}\r\n\r\n\t\tthis.attachSegsByCol(segsByCol, containerEls);\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\r\n\t// Renders the HTML for a single event segment's default rendering\r\n\tfgSegHtml: function(seg, disableResizing) {\r\n\t\tvar view = this.view;\r\n\t\tvar event = seg.event;\r\n\t\tvar isDraggable = view.isEventDraggable(event);\r\n\t\tvar isResizableFromStart = !disableResizing && seg.isStart && view.isEventResizableFromStart(event);\r\n\t\tvar isResizableFromEnd = !disableResizing && seg.isEnd && view.isEventResizableFromEnd(event);\r\n\t\tvar classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd);\r\n\t\tvar skinCss = cssToStr(this.getSegSkinCss(seg));\r\n\t\tvar timeText;\r\n\t\tvar fullTimeText; // more verbose time text. for the print stylesheet\r\n\t\tvar startTimeText; // just the start time text\r\n\r\n\t\tclasses.unshift('fc-time-grid-event', 'fc-v-event');\r\n\r\n\t\tif (view.isMultiDayEvent(event)) { // if the event appears to span more than one day...\r\n\t\t\t// Don't display time text on segments that run entirely through a day.\r\n\t\t\t// That would appear as midnight-midnight and would look dumb.\r\n\t\t\t// Otherwise, display the time text for the *segment's* times (like 6pm-midnight or midnight-10am)\r\n\t\t\tif (seg.isStart || seg.isEnd) {\r\n\t\t\t\ttimeText = this.getEventTimeText(seg);\r\n\t\t\t\tfullTimeText = this.getEventTimeText(seg, 'LT');\r\n\t\t\t\tstartTimeText = this.getEventTimeText(seg, null, false); // displayEnd=false\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// Display the normal time text for the *event's* times\r\n\t\t\ttimeText = this.getEventTimeText(event);\r\n\t\t\tfullTimeText = this.getEventTimeText(event, 'LT');\r\n\t\t\tstartTimeText = this.getEventTimeText(event, null, false); // displayEnd=false\r\n\t\t}\r\n\r\n\t\treturn '<a class=\"' + classes.join(' ') + '\"' +\r\n\t\t\t(event.url ?\r\n\t\t\t\t' href=\"' + htmlEscape(event.url) + '\"' :\r\n\t\t\t\t''\r\n\t\t\t\t) +\r\n\t\t\t(skinCss ?\r\n\t\t\t\t' style=\"' + skinCss + '\"' :\r\n\t\t\t\t''\r\n\t\t\t\t) +\r\n\t\t\t'>' +\r\n\t\t\t\t'<div class=\"fc-content\">' +\r\n\t\t\t\t\t(timeText ?\r\n\t\t\t\t\t\t'<div class=\"fc-time\"' +\r\n\t\t\t\t\t\t' data-start=\"' + htmlEscape(startTimeText) + '\"' +\r\n\t\t\t\t\t\t' data-full=\"' + htmlEscape(fullTimeText) + '\"' +\r\n\t\t\t\t\t\t'>' +\r\n\t\t\t\t\t\t\t'<span>' + htmlEscape(timeText) + '</span>' +\r\n\t\t\t\t\t\t'</div>' :\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\t\t) +\r\n\t\t\t\t\t(event.title ?\r\n\t\t\t\t\t\t'<div class=\"fc-title\">' +\r\n\t\t\t\t\t\t\thtmlEscape(event.title) +\r\n\t\t\t\t\t\t'</div>' :\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\t\t) +\r\n\t\t\t\t'</div>' +\r\n\t\t\t\t'<div class=\"fc-bg\"/>' +\r\n\t\t\t\t/* TODO: write CSS for this\r\n\t\t\t\t(isResizableFromStart ?\r\n\t\t\t\t\t'<div class=\"fc-resizer fc-start-resizer\" />' :\r\n\t\t\t\t\t''\r\n\t\t\t\t\t) +\r\n\t\t\t\t*/\r\n\t\t\t\t(isResizableFromEnd ?\r\n\t\t\t\t\t'<div class=\"fc-resizer fc-end-resizer\" />' :\r\n\t\t\t\t\t''\r\n\t\t\t\t\t) +\r\n\t\t\t'</a>';\r\n\t},\r\n\r\n\r\n\t/* Seg Position Utils\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Refreshes the CSS top/bottom coordinates for each segment element.\r\n\t// Works when called after initial render, after a window resize/zoom for example.\r\n\tupdateSegVerticals: function(segs) {\r\n\t\tthis.computeSegVerticals(segs);\r\n\t\tthis.assignSegVerticals(segs);\r\n\t},\r\n\r\n\r\n\t// For each segment in an array, computes and assigns its top and bottom properties\r\n\tcomputeSegVerticals: function(segs) {\r\n\t\tvar i, seg;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\tseg.top = this.computeDateTop(seg.start, seg.start);\r\n\t\t\tseg.bottom = this.computeDateTop(seg.end, seg.start);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Given segments that already have their top/bottom properties computed, applies those values to\r\n\t// the segments' elements.\r\n\tassignSegVerticals: function(segs) {\r\n\t\tvar i, seg;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\tseg.el.css(this.generateSegVerticalCss(seg));\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Generates an object with CSS properties for the top/bottom coordinates of a segment element\r\n\tgenerateSegVerticalCss: function(seg) {\r\n\t\treturn {\r\n\t\t\ttop: seg.top,\r\n\t\t\tbottom: -seg.bottom // flipped because needs to be space beyond bottom edge of event container\r\n\t\t};\r\n\t},\r\n\r\n\r\n\t/* Foreground Event Positioning Utils\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Given segments that are assumed to all live in the *same column*,\r\n\t// compute their verical/horizontal coordinates and assign to their elements.\r\n\tupdateFgSegCoords: function(segs) {\r\n\t\tthis.computeSegVerticals(segs); // horizontals relies on this\r\n\t\tthis.computeFgSegHorizontals(segs); // compute horizontal coordinates, z-index's, and reorder the array\r\n\t\tthis.assignSegVerticals(segs);\r\n\t\tthis.assignFgSegHorizontals(segs);\r\n\t},\r\n\r\n\r\n\t// Given an array of segments that are all in the same column, sets the backwardCoord and forwardCoord on each.\r\n\t// NOTE: Also reorders the given array by date!\r\n\tcomputeFgSegHorizontals: function(segs) {\r\n\t\tvar levels;\r\n\t\tvar level0;\r\n\t\tvar i;\r\n\r\n\t\tthis.sortEventSegs(segs); // order by certain criteria\r\n\t\tlevels = buildSlotSegLevels(segs);\r\n\t\tcomputeForwardSlotSegs(levels);\r\n\r\n\t\tif ((level0 = levels[0])) {\r\n\r\n\t\t\tfor (i = 0; i < level0.length; i++) {\r\n\t\t\t\tcomputeSlotSegPressures(level0[i]);\r\n\t\t\t}\r\n\r\n\t\t\tfor (i = 0; i < level0.length; i++) {\r\n\t\t\t\tthis.computeFgSegForwardBack(level0[i], 0, 0);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Calculate seg.forwardCoord and seg.backwardCoord for the segment, where both values range\r\n\t// from 0 to 1. If the calendar is left-to-right, the seg.backwardCoord maps to \"left\" and\r\n\t// seg.forwardCoord maps to \"right\" (via percentage). Vice-versa if the calendar is right-to-left.\r\n\t//\r\n\t// The segment might be part of a \"series\", which means consecutive segments with the same pressure\r\n\t// who's width is unknown until an edge has been hit. `seriesBackwardPressure` is the number of\r\n\t// segments behind this one in the current series, and `seriesBackwardCoord` is the starting\r\n\t// coordinate of the first segment in the series.\r\n\tcomputeFgSegForwardBack: function(seg, seriesBackwardPressure, seriesBackwardCoord) {\r\n\t\tvar forwardSegs = seg.forwardSegs;\r\n\t\tvar i;\r\n\r\n\t\tif (seg.forwardCoord === undefined) { // not already computed\r\n\r\n\t\t\tif (!forwardSegs.length) {\r\n\r\n\t\t\t\t// if there are no forward segments, this segment should butt up against the edge\r\n\t\t\t\tseg.forwardCoord = 1;\r\n\t\t\t}\r\n\t\t\telse {\r\n\r\n\t\t\t\t// sort highest pressure first\r\n\t\t\t\tthis.sortForwardSegs(forwardSegs);\r\n\r\n\t\t\t\t// this segment's forwardCoord will be calculated from the backwardCoord of the\r\n\t\t\t\t// highest-pressure forward segment.\r\n\t\t\t\tthis.computeFgSegForwardBack(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord);\r\n\t\t\t\tseg.forwardCoord = forwardSegs[0].backwardCoord;\r\n\t\t\t}\r\n\r\n\t\t\t// calculate the backwardCoord from the forwardCoord. consider the series\r\n\t\t\tseg.backwardCoord = seg.forwardCoord -\r\n\t\t\t\t(seg.forwardCoord - seriesBackwardCoord) / // available width for series\r\n\t\t\t\t(seriesBackwardPressure + 1); // # of segments in the series\r\n\r\n\t\t\t// use this segment's coordinates to computed the coordinates of the less-pressurized\r\n\t\t\t// forward segments\r\n\t\t\tfor (i=0; i<forwardSegs.length; i++) {\r\n\t\t\t\tthis.computeFgSegForwardBack(forwardSegs[i], 0, seg.forwardCoord);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tsortForwardSegs: function(forwardSegs) {\r\n\t\tforwardSegs.sort(proxy(this, 'compareForwardSegs'));\r\n\t},\r\n\r\n\r\n\t// A cmp function for determining which forward segment to rely on more when computing coordinates.\r\n\tcompareForwardSegs: function(seg1, seg2) {\r\n\t\t// put higher-pressure first\r\n\t\treturn seg2.forwardPressure - seg1.forwardPressure ||\r\n\t\t\t// put segments that are closer to initial edge first (and favor ones with no coords yet)\r\n\t\t\t(seg1.backwardCoord || 0) - (seg2.backwardCoord || 0) ||\r\n\t\t\t// do normal sorting...\r\n\t\t\tthis.compareEventSegs(seg1, seg2);\r\n\t},\r\n\r\n\r\n\t// Given foreground event segments that have already had their position coordinates computed,\r\n\t// assigns position-related CSS values to their elements.\r\n\tassignFgSegHorizontals: function(segs) {\r\n\t\tvar i, seg;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\tseg.el.css(this.generateFgSegHorizontalCss(seg));\r\n\r\n\t\t\t// if the height is short, add a className for alternate styling\r\n\t\t\tif (seg.bottom - seg.top < 30) {\r\n\t\t\t\tseg.el.addClass('fc-short');\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Generates an object with CSS properties/values that should be applied to an event segment element.\r\n\t// Contains important positioning-related properties that should be applied to any event element, customized or not.\r\n\tgenerateFgSegHorizontalCss: function(seg) {\r\n\t\tvar shouldOverlap = this.view.opt('slotEventOverlap');\r\n\t\tvar backwardCoord = seg.backwardCoord; // the left side if LTR. the right side if RTL. floating-point\r\n\t\tvar forwardCoord = seg.forwardCoord; // the right side if LTR. the left side if RTL. floating-point\r\n\t\tvar props = this.generateSegVerticalCss(seg); // get top/bottom first\r\n\t\tvar left; // amount of space from left edge, a fraction of the total width\r\n\t\tvar right; // amount of space from right edge, a fraction of the total width\r\n\r\n\t\tif (shouldOverlap) {\r\n\t\t\t// double the width, but don't go beyond the maximum forward coordinate (1.0)\r\n\t\t\tforwardCoord = Math.min(1, backwardCoord + (forwardCoord - backwardCoord) * 2);\r\n\t\t}\r\n\r\n\t\tif (this.isRTL) {\r\n\t\t\tleft = 1 - forwardCoord;\r\n\t\t\tright = backwardCoord;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tleft = backwardCoord;\r\n\t\t\tright = 1 - forwardCoord;\r\n\t\t}\r\n\r\n\t\tprops.zIndex = seg.level + 1; // convert from 0-base to 1-based\r\n\t\tprops.left = left * 100 + '%';\r\n\t\tprops.right = right * 100 + '%';\r\n\r\n\t\tif (shouldOverlap && seg.forwardPressure) {\r\n\t\t\t// add padding to the edge so that forward stacked events don't cover the resizer's icon\r\n\t\t\tprops[this.isRTL ? 'marginLeft' : 'marginRight'] = 10 * 2; // 10 is a guesstimate of the icon's width\r\n\t\t}\r\n\r\n\t\treturn props;\r\n\t}\r\n\r\n});\r\n\r\n\r\n// Builds an array of segments \"levels\". The first level will be the leftmost tier of segments if the calendar is\r\n// left-to-right, or the rightmost if the calendar is right-to-left. Assumes the segments are already ordered by date.\r\nfunction buildSlotSegLevels(segs) {\r\n\tvar levels = [];\r\n\tvar i, seg;\r\n\tvar j;\r\n\r\n\tfor (i=0; i<segs.length; i++) {\r\n\t\tseg = segs[i];\r\n\r\n\t\t// go through all the levels and stop on the first level where there are no collisions\r\n\t\tfor (j=0; j<levels.length; j++) {\r\n\t\t\tif (!computeSlotSegCollisions(seg, levels[j]).length) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tseg.level = j;\r\n\r\n\t\t(levels[j] || (levels[j] = [])).push(seg);\r\n\t}\r\n\r\n\treturn levels;\r\n}\r\n\r\n\r\n// For every segment, figure out the other segments that are in subsequent\r\n// levels that also occupy the same vertical space. Accumulate in seg.forwardSegs\r\nfunction computeForwardSlotSegs(levels) {\r\n\tvar i, level;\r\n\tvar j, seg;\r\n\tvar k;\r\n\r\n\tfor (i=0; i<levels.length; i++) {\r\n\t\tlevel = levels[i];\r\n\r\n\t\tfor (j=0; j<level.length; j++) {\r\n\t\t\tseg = level[j];\r\n\r\n\t\t\tseg.forwardSegs = [];\r\n\t\t\tfor (k=i+1; k<levels.length; k++) {\r\n\t\t\t\tcomputeSlotSegCollisions(seg, levels[k], seg.forwardSegs);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n// Figure out which path forward (via seg.forwardSegs) results in the longest path until\r\n// the furthest edge is reached. The number of segments in this path will be seg.forwardPressure\r\nfunction computeSlotSegPressures(seg) {\r\n\tvar forwardSegs = seg.forwardSegs;\r\n\tvar forwardPressure = 0;\r\n\tvar i, forwardSeg;\r\n\r\n\tif (seg.forwardPressure === undefined) { // not already computed\r\n\r\n\t\tfor (i=0; i<forwardSegs.length; i++) {\r\n\t\t\tforwardSeg = forwardSegs[i];\r\n\r\n\t\t\t// figure out the child's maximum forward path\r\n\t\t\tcomputeSlotSegPressures(forwardSeg);\r\n\r\n\t\t\t// either use the existing maximum, or use the child's forward pressure\r\n\t\t\t// plus one (for the forwardSeg itself)\r\n\t\t\tforwardPressure = Math.max(\r\n\t\t\t\tforwardPressure,\r\n\t\t\t\t1 + forwardSeg.forwardPressure\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tseg.forwardPressure = forwardPressure;\r\n\t}\r\n}\r\n\r\n\r\n// Find all the segments in `otherSegs` that vertically collide with `seg`.\r\n// Append into an optionally-supplied `results` array and return.\r\nfunction computeSlotSegCollisions(seg, otherSegs, results) {\r\n\tresults = results || [];\r\n\r\n\tfor (var i=0; i<otherSegs.length; i++) {\r\n\t\tif (isSlotSegCollision(seg, otherSegs[i])) {\r\n\t\t\tresults.push(otherSegs[i]);\r\n\t\t}\r\n\t}\r\n\r\n\treturn results;\r\n}\r\n\r\n\r\n// Do these segments occupy the same vertical space?\r\nfunction isSlotSegCollision(seg1, seg2) {\r\n\treturn seg1.bottom > seg2.top && seg1.top < seg2.bottom;\r\n}\r\n\r\n;;\r\n\r\n/* An abstract class from which other views inherit from\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nvar View = FC.View = Class.extend(EmitterMixin, ListenerMixin, {\r\n\r\n\ttype: null, // subclass' view name (string)\r\n\tname: null, // deprecated. use `type` instead\r\n\ttitle: null, // the text that will be displayed in the header's title\r\n\r\n\tcalendar: null, // owner Calendar object\r\n\toptions: null, // hash containing all options. already merged with view-specific-options\r\n\tel: null, // the view's containing element. set by Calendar\r\n\r\n\tisDateSet: false,\r\n\tisDateRendered: false,\r\n\tdateRenderQueue: null,\r\n\r\n\tisEventsBound: false,\r\n\tisEventsSet: false,\r\n\tisEventsRendered: false,\r\n\teventRenderQueue: null,\r\n\r\n\t// range the view is actually displaying (moments)\r\n\tstart: null,\r\n\tend: null, // exclusive\r\n\r\n\t// range the view is formally responsible for (moments)\r\n\t// may be different from start/end. for example, a month view might have 1st-31st, excluding padded dates\r\n\tintervalStart: null,\r\n\tintervalEnd: null, // exclusive\r\n\tintervalDuration: null,\r\n\tintervalUnit: null, // name of largest unit being displayed, like \"month\" or \"week\"\r\n\r\n\tisRTL: false,\r\n\tisSelected: false, // boolean whether a range of time is user-selected or not\r\n\tselectedEvent: null,\r\n\r\n\teventOrderSpecs: null, // criteria for ordering events when they have same date/time\r\n\r\n\t// classNames styled by jqui themes\r\n\twidgetHeaderClass: null,\r\n\twidgetContentClass: null,\r\n\thighlightStateClass: null,\r\n\r\n\t// for date utils, computed from options\r\n\tnextDayThreshold: null,\r\n\tisHiddenDayHash: null,\r\n\r\n\t// now indicator\r\n\tisNowIndicatorRendered: null,\r\n\tinitialNowDate: null, // result first getNow call\r\n\tinitialNowQueriedMs: null, // ms time the getNow was called\r\n\tnowIndicatorTimeoutID: null, // for refresh timing of now indicator\r\n\tnowIndicatorIntervalID: null, // \"\r\n\r\n\r\n\tconstructor: function(calendar, type, options, intervalDuration) {\r\n\r\n\t\tthis.calendar = calendar;\r\n\t\tthis.type = this.name = type; // .name is deprecated\r\n\t\tthis.options = options;\r\n\t\tthis.intervalDuration = intervalDuration || moment.duration(1, 'day');\r\n\r\n\t\tthis.nextDayThreshold = moment.duration(this.opt('nextDayThreshold'));\r\n\t\tthis.initThemingProps();\r\n\t\tthis.initHiddenDays();\r\n\t\tthis.isRTL = this.opt('isRTL');\r\n\r\n\t\tthis.eventOrderSpecs = parseFieldSpecs(this.opt('eventOrder'));\r\n\r\n\t\tthis.dateRenderQueue = new TaskQueue();\r\n\t\tthis.eventRenderQueue = new TaskQueue(this.opt('eventRenderWait'));\r\n\r\n\t\tthis.initialize();\r\n\t},\r\n\r\n\r\n\t// A good place for subclasses to initialize member variables\r\n\tinitialize: function() {\r\n\t\t// subclasses can implement\r\n\t},\r\n\r\n\r\n\t// Retrieves an option with the given name\r\n\topt: function(name) {\r\n\t\treturn this.options[name];\r\n\t},\r\n\r\n\r\n\t// Triggers handlers that are view-related. Modifies args before passing to calendar.\r\n\tpubliclyTrigger: function(name, thisObj) { // arguments beyond thisObj are passed along\r\n\t\tvar calendar = this.calendar;\r\n\r\n\t\treturn calendar.publiclyTrigger.apply(\r\n\t\t\tcalendar,\r\n\t\t\t[name, thisObj || this].concat(\r\n\t\t\t\tArray.prototype.slice.call(arguments, 2), // arguments beyond thisObj\r\n\t\t\t\t[ this ] // always make the last argument a reference to the view. TODO: deprecate\r\n\t\t\t)\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Returns a proxy of the given promise that will be rejected if the given event fires\r\n\t// before the promise resolves.\r\n\trejectOn: function(eventName, promise) {\r\n\t\tvar _this = this;\r\n\r\n\t\treturn new Promise(function(resolve, reject) {\r\n\t\t\t_this.one(eventName, reject);\r\n\r\n\t\t\tfunction cleanup() {\r\n\t\t\t\t_this.off(eventName, reject);\r\n\t\t\t}\r\n\r\n\t\t\tpromise.then(function(res) { // success\r\n\t\t\t\tcleanup();\r\n\t\t\t\tresolve(res);\r\n\t\t\t}, function() { // failure\r\n\t\t\t\tcleanup();\r\n\t\t\t\treject();\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t/* Date Computation\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Updates all internal dates for displaying the given unzoned range.\r\n\tsetRange: function(range) {\r\n\t\t$.extend(this, range); // assigns every property to this object's member variables\r\n\t\tthis.updateTitle();\r\n\t},\r\n\r\n\r\n\t// Given a single current unzoned date, produce information about what range to display.\r\n\t// Subclasses can override. Must return all properties.\r\n\tcomputeRange: function(date) {\r\n\t\tvar intervalUnit = computeIntervalUnit(this.intervalDuration);\r\n\t\tvar intervalStart = date.clone().startOf(intervalUnit);\r\n\t\tvar intervalEnd = intervalStart.clone().add(this.intervalDuration);\r\n\t\tvar start, end;\r\n\r\n\t\t// normalize the range's time-ambiguity\r\n\t\tif (/year|month|week|day/.test(intervalUnit)) { // whole-days?\r\n\t\t\tintervalStart.stripTime();\r\n\t\t\tintervalEnd.stripTime();\r\n\t\t}\r\n\t\telse { // needs to have a time?\r\n\t\t\tif (!intervalStart.hasTime()) {\r\n\t\t\t\tintervalStart = this.calendar.time(0); // give 00:00 time\r\n\t\t\t}\r\n\t\t\tif (!intervalEnd.hasTime()) {\r\n\t\t\t\tintervalEnd = this.calendar.time(0); // give 00:00 time\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tstart = intervalStart.clone();\r\n\t\tstart = this.skipHiddenDays(start);\r\n\t\tend = intervalEnd.clone();\r\n\t\tend = this.skipHiddenDays(end, -1, true); // exclusively move backwards\r\n\r\n\t\treturn {\r\n\t\t\tintervalUnit: intervalUnit,\r\n\t\t\tintervalStart: intervalStart,\r\n\t\t\tintervalEnd: intervalEnd,\r\n\t\t\tstart: start,\r\n\t\t\tend: end\r\n\t\t};\r\n\t},\r\n\r\n\r\n\t// Computes the new date when the user hits the prev button, given the current date\r\n\tcomputePrevDate: function(date) {\r\n\t\treturn this.massageCurrentDate(\r\n\t\t\tdate.clone().startOf(this.intervalUnit).subtract(this.intervalDuration), -1\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Computes the new date when the user hits the next button, given the current date\r\n\tcomputeNextDate: function(date) {\r\n\t\treturn this.massageCurrentDate(\r\n\t\t\tdate.clone().startOf(this.intervalUnit).add(this.intervalDuration)\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Given an arbitrarily calculated current date of the calendar, returns a date that is ensured to be completely\r\n\t// visible. `direction` is optional and indicates which direction the current date was being\r\n\t// incremented or decremented (1 or -1).\r\n\tmassageCurrentDate: function(date, direction) {\r\n\t\tif (this.intervalDuration.as('days') <= 1) { // if the view displays a single day or smaller\r\n\t\t\tif (this.isHiddenDay(date)) {\r\n\t\t\t\tdate = this.skipHiddenDays(date, direction);\r\n\t\t\t\tdate.startOf('day');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn date;\r\n\t},\r\n\r\n\r\n\t/* Title and Date Formatting\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Sets the view's title property to the most updated computed value\r\n\tupdateTitle: function() {\r\n\t\tthis.title = this.computeTitle();\r\n\t\tthis.calendar.setToolbarsTitle(this.title);\r\n\t},\r\n\r\n\r\n\t// Computes what the title at the top of the calendar should be for this view\r\n\tcomputeTitle: function() {\r\n\t\tvar start, end;\r\n\r\n\t\t// for views that span a large unit of time, show the proper interval, ignoring stray days before and after\r\n\t\tif (this.intervalUnit === 'year' || this.intervalUnit === 'month') {\r\n\t\t\tstart = this.intervalStart;\r\n\t\t\tend = this.intervalEnd;\r\n\t\t}\r\n\t\telse { // for day units or smaller, use the actual day range\r\n\t\t\tstart = this.start;\r\n\t\t\tend = this.end;\r\n\t\t}\r\n\r\n\t\treturn this.formatRange(\r\n\t\t\t{\r\n\t\t\t\t// in case intervalStart/End has a time, make sure timezone is correct\r\n\t\t\t\tstart: this.calendar.applyTimezone(start),\r\n\t\t\t\tend: this.calendar.applyTimezone(end)\r\n\t\t\t},\r\n\t\t\tthis.opt('titleFormat') || this.computeTitleFormat(),\r\n\t\t\tthis.opt('titleRangeSeparator')\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Generates the format string that should be used to generate the title for the current date range.\r\n\t// Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`.\r\n\tcomputeTitleFormat: function() {\r\n\t\tif (this.intervalUnit == 'year') {\r\n\t\t\treturn 'YYYY';\r\n\t\t}\r\n\t\telse if (this.intervalUnit == 'month') {\r\n\t\t\treturn this.opt('monthYearFormat'); // like \"September 2014\"\r\n\t\t}\r\n\t\telse if (this.intervalDuration.as('days') > 1) {\r\n\t\t\treturn 'll'; // multi-day range. shorter, like \"Sep 9 - 10 2014\"\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn 'LL'; // one day. longer, like \"September 9 2014\"\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Utility for formatting a range. Accepts a range object, formatting string, and optional separator.\r\n\t// Displays all-day ranges naturally, with an inclusive end. Takes the current isRTL into account.\r\n\t// The timezones of the dates within `range` will be respected.\r\n\tformatRange: function(range, formatStr, separator) {\r\n\t\tvar end = range.end;\r\n\r\n\t\tif (!end.hasTime()) { // all-day?\r\n\t\t\tend = end.clone().subtract(1); // convert to inclusive. last ms of previous day\r\n\t\t}\r\n\r\n\t\treturn formatRange(range.start, end, formatStr, separator, this.opt('isRTL'));\r\n\t},\r\n\r\n\r\n\tgetAllDayHtml: function() {\r\n\t\treturn this.opt('allDayHtml') || htmlEscape(this.opt('allDayText'));\r\n\t},\r\n\r\n\r\n\t/* Navigation\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Generates HTML for an anchor to another view into the calendar.\r\n\t// Will either generate an <a> tag or a non-clickable <span> tag, depending on enabled settings.\r\n\t// `gotoOptions` can either be a moment input, or an object with the form:\r\n\t// { date, type, forceOff }\r\n\t// `type` is a view-type like \"day\" or \"week\". default value is \"day\".\r\n\t// `attrs` and `innerHtml` are use to generate the rest of the HTML tag.\r\n\tbuildGotoAnchorHtml: function(gotoOptions, attrs, innerHtml) {\r\n\t\tvar date, type, forceOff;\r\n\t\tvar finalOptions;\r\n\r\n\t\tif ($.isPlainObject(gotoOptions)) {\r\n\t\t\tdate = gotoOptions.date;\r\n\t\t\ttype = gotoOptions.type;\r\n\t\t\tforceOff = gotoOptions.forceOff;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdate = gotoOptions; // a single moment input\r\n\t\t}\r\n\t\tdate = FC.moment(date); // if a string, parse it\r\n\r\n\t\tfinalOptions = { // for serialization into the link\r\n\t\t\tdate: date.format('YYYY-MM-DD'),\r\n\t\t\ttype: type || 'day'\r\n\t\t};\r\n\r\n\t\tif (typeof attrs === 'string') {\r\n\t\t\tinnerHtml = attrs;\r\n\t\t\tattrs = null;\r\n\t\t}\r\n\r\n\t\tattrs = attrs ? ' ' + attrsToStr(attrs) : ''; // will have a leading space\r\n\t\tinnerHtml = innerHtml || '';\r\n\r\n\t\tif (!forceOff && this.opt('navLinks')) {\r\n\t\t\treturn '<a' + attrs +\r\n\t\t\t\t' data-goto=\"' + htmlEscape(JSON.stringify(finalOptions)) + '\">' +\r\n\t\t\t\tinnerHtml +\r\n\t\t\t\t'</a>';\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn '<span' + attrs + '>' +\r\n\t\t\t\tinnerHtml +\r\n\t\t\t\t'</span>';\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Rendering Non-date-related Content\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// Sets the container element that the view should render inside of, does global DOM-related initializations,\r\n\t// and renders all the non-date-related content inside.\r\n\tsetElement: function(el) {\r\n\t\tthis.el = el;\r\n\t\tthis.bindGlobalHandlers();\r\n\t\tthis.renderSkeleton();\r\n\t},\r\n\r\n\r\n\t// Removes the view's container element from the DOM, clearing any content beforehand.\r\n\t// Undoes any other DOM-related attachments.\r\n\tremoveElement: function() {\r\n\t\tthis.unsetDate();\r\n\t\tthis.unrenderSkeleton();\r\n\r\n\t\tthis.unbindGlobalHandlers();\r\n\r\n\t\tthis.el.remove();\r\n\t\t// NOTE: don't null-out this.el in case the View was destroyed within an API callback.\r\n\t\t// We don't null-out the View's other jQuery element references upon destroy,\r\n\t\t//  so we shouldn't kill this.el either.\r\n\t},\r\n\r\n\r\n\t// Renders the basic structure of the view before any content is rendered\r\n\trenderSkeleton: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Unrenders the basic structure of the view\r\n\tunrenderSkeleton: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Date Setting/Unsetting\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tsetDate: function(date) {\r\n\t\tvar isReset = this.isDateSet;\r\n\r\n\t\tthis.isDateSet = true;\r\n\t\tthis.handleDate(date, isReset);\r\n\t\tthis.trigger(isReset ? 'dateReset' : 'dateSet', date);\r\n\t},\r\n\r\n\r\n\tunsetDate: function() {\r\n\t\tif (this.isDateSet) {\r\n\t\t\tthis.isDateSet = false;\r\n\t\t\tthis.handleDateUnset();\r\n\t\t\tthis.trigger('dateUnset');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Date Handling\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\thandleDate: function(date, isReset) {\r\n\t\tvar _this = this;\r\n\r\n\t\tthis.unbindEvents(); // will do nothing if not already bound\r\n\t\tthis.requestDateRender(date).then(function() {\r\n\t\t\t// wish we could start earlier, but setRange/computeRange needs to execute first\r\n\t\t\t_this.bindEvents(); // will request events\r\n\t\t});\r\n\t},\r\n\r\n\r\n\thandleDateUnset: function() {\r\n\t\tthis.unbindEvents();\r\n\t\tthis.requestDateUnrender();\r\n\t},\r\n\r\n\r\n\t// Date Render Queuing\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// if date not specified, uses current\r\n\trequestDateRender: function(date) {\r\n\t\tvar _this = this;\r\n\r\n\t\treturn this.dateRenderQueue.add(function() {\r\n\t\t\treturn _this.executeDateRender(date);\r\n\t\t});\r\n\t},\r\n\r\n\r\n\trequestDateUnrender: function() {\r\n\t\tvar _this = this;\r\n\r\n\t\treturn this.dateRenderQueue.add(function() {\r\n\t\t\treturn _this.executeDateUnrender();\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Date High-level Rendering\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// if date not specified, uses current\r\n\texecuteDateRender: function(date) {\r\n\t\tvar _this = this;\r\n\r\n\t\t// if rendering a new date, reset scroll to initial state (scrollTime)\r\n\t\tif (date) {\r\n\t\t\tthis.captureInitialScroll();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.captureScroll(); // a rerender of the current date\r\n\t\t}\r\n\r\n\t\tthis.freezeHeight();\r\n\r\n\t\treturn this.executeDateUnrender().then(function() {\r\n\r\n\t\t\tif (date) {\r\n\t\t\t\t_this.setRange(_this.computeRange(date));\r\n\t\t\t}\r\n\r\n\t\t\tif (_this.render) {\r\n\t\t\t\t_this.render(); // TODO: deprecate\r\n\t\t\t}\r\n\r\n\t\t\t_this.renderDates();\r\n\t\t\t_this.updateSize();\r\n\t\t\t_this.renderBusinessHours(); // might need coordinates, so should go after updateSize()\r\n\t\t\t_this.startNowIndicator();\r\n\r\n\t\t\t_this.thawHeight();\r\n\t\t\t_this.releaseScroll();\r\n\r\n\t\t\t_this.isDateRendered = true;\r\n\t\t\t_this.onDateRender();\r\n\t\t\t_this.trigger('dateRender');\r\n\t\t});\r\n\t},\r\n\r\n\r\n\texecuteDateUnrender: function() {\r\n\t\tvar _this = this;\r\n\r\n\t\tif (_this.isDateRendered) {\r\n\t\t\treturn this.requestEventsUnrender().then(function() {\r\n\r\n\t\t\t\t_this.unselect();\r\n\t\t\t\t_this.stopNowIndicator();\r\n\t\t\t\t_this.triggerUnrender();\r\n\t\t\t\t_this.unrenderBusinessHours();\r\n\t\t\t\t_this.unrenderDates();\r\n\r\n\t\t\t\tif (_this.destroy) {\r\n\t\t\t\t\t_this.destroy(); // TODO: deprecate\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_this.isDateRendered = false;\r\n\t\t\t\t_this.trigger('dateUnrender');\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn Promise.resolve();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Date Rendering Triggers\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tonDateRender: function() {\r\n\t\tthis.triggerRender();\r\n\t},\r\n\r\n\r\n\t// Date Low-level Rendering\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// date-cell content only\r\n\trenderDates: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// date-cell content only\r\n\tunrenderDates: function() {\r\n\t\t// subclasses should override\r\n\t},\r\n\r\n\r\n\t// Misc view rendering utils\r\n\t// -------------------------\r\n\r\n\r\n\t// Signals that the view's content has been rendered\r\n\ttriggerRender: function() {\r\n\t\tthis.publiclyTrigger('viewRender', this, this, this.el);\r\n\t},\r\n\r\n\r\n\t// Signals that the view's content is about to be unrendered\r\n\ttriggerUnrender: function() {\r\n\t\tthis.publiclyTrigger('viewDestroy', this, this, this.el);\r\n\t},\r\n\r\n\r\n\t// Binds DOM handlers to elements that reside outside the view container, such as the document\r\n\tbindGlobalHandlers: function() {\r\n\t\tthis.listenTo(GlobalEmitter.get(), {\r\n\t\t\ttouchstart: this.processUnselect,\r\n\t\t\tmousedown: this.handleDocumentMousedown\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Unbinds DOM handlers from elements that reside outside the view container\r\n\tunbindGlobalHandlers: function() {\r\n\t\tthis.stopListeningTo(GlobalEmitter.get());\r\n\t},\r\n\r\n\r\n\t// Initializes internal variables related to theming\r\n\tinitThemingProps: function() {\r\n\t\tvar tm = this.opt('theme') ? 'ui' : 'fc';\r\n\r\n\t\tthis.widgetHeaderClass = tm + '-widget-header';\r\n\t\tthis.widgetContentClass = tm + '-widget-content';\r\n\t\tthis.highlightStateClass = tm + '-state-highlight';\r\n\t},\r\n\r\n\r\n\t/* Business Hours\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders business-hours onto the view. Assumes updateSize has already been called.\r\n\trenderBusinessHours: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Unrenders previously-rendered business-hours\r\n\tunrenderBusinessHours: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t/* Now Indicator\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Immediately render the current time indicator and begins re-rendering it at an interval,\r\n\t// which is defined by this.getNowIndicatorUnit().\r\n\t// TODO: somehow do this for the current whole day's background too\r\n\tstartNowIndicator: function() {\r\n\t\tvar _this = this;\r\n\t\tvar unit;\r\n\t\tvar update;\r\n\t\tvar delay; // ms wait value\r\n\r\n\t\tif (this.opt('nowIndicator')) {\r\n\t\t\tunit = this.getNowIndicatorUnit();\r\n\t\t\tif (unit) {\r\n\t\t\t\tupdate = proxy(this, 'updateNowIndicator'); // bind to `this`\r\n\r\n\t\t\t\tthis.initialNowDate = this.calendar.getNow();\r\n\t\t\t\tthis.initialNowQueriedMs = +new Date();\r\n\t\t\t\tthis.renderNowIndicator(this.initialNowDate);\r\n\t\t\t\tthis.isNowIndicatorRendered = true;\r\n\r\n\t\t\t\t// wait until the beginning of the next interval\r\n\t\t\t\tdelay = this.initialNowDate.clone().startOf(unit).add(1, unit) - this.initialNowDate;\r\n\t\t\t\tthis.nowIndicatorTimeoutID = setTimeout(function() {\r\n\t\t\t\t\t_this.nowIndicatorTimeoutID = null;\r\n\t\t\t\t\tupdate();\r\n\t\t\t\t\tdelay = +moment.duration(1, unit);\r\n\t\t\t\t\tdelay = Math.max(100, delay); // prevent too frequent\r\n\t\t\t\t\t_this.nowIndicatorIntervalID = setInterval(update, delay); // update every interval\r\n\t\t\t\t}, delay);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// rerenders the now indicator, computing the new current time from the amount of time that has passed\r\n\t// since the initial getNow call.\r\n\tupdateNowIndicator: function() {\r\n\t\tif (this.isNowIndicatorRendered) {\r\n\t\t\tthis.unrenderNowIndicator();\r\n\t\t\tthis.renderNowIndicator(\r\n\t\t\t\tthis.initialNowDate.clone().add(new Date() - this.initialNowQueriedMs) // add ms\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Immediately unrenders the view's current time indicator and stops any re-rendering timers.\r\n\t// Won't cause side effects if indicator isn't rendered.\r\n\tstopNowIndicator: function() {\r\n\t\tif (this.isNowIndicatorRendered) {\r\n\r\n\t\t\tif (this.nowIndicatorTimeoutID) {\r\n\t\t\t\tclearTimeout(this.nowIndicatorTimeoutID);\r\n\t\t\t\tthis.nowIndicatorTimeoutID = null;\r\n\t\t\t}\r\n\t\t\tif (this.nowIndicatorIntervalID) {\r\n\t\t\t\tclearTimeout(this.nowIndicatorIntervalID);\r\n\t\t\t\tthis.nowIndicatorIntervalID = null;\r\n\t\t\t}\r\n\r\n\t\t\tthis.unrenderNowIndicator();\r\n\t\t\tthis.isNowIndicatorRendered = false;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Returns a string unit, like 'second' or 'minute' that defined how often the current time indicator\r\n\t// should be refreshed. If something falsy is returned, no time indicator is rendered at all.\r\n\tgetNowIndicatorUnit: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Renders a current time indicator at the given datetime\r\n\trenderNowIndicator: function(date) {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Undoes the rendering actions from renderNowIndicator\r\n\tunrenderNowIndicator: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t/* Dimensions\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Refreshes anything dependant upon sizing of the container element of the grid\r\n\tupdateSize: function(isResize) {\r\n\r\n\t\tif (isResize) {\r\n\t\t\tthis.captureScroll();\r\n\t\t}\r\n\r\n\t\tthis.updateHeight(isResize);\r\n\t\tthis.updateWidth(isResize);\r\n\t\tthis.updateNowIndicator();\r\n\r\n\t\tif (isResize) {\r\n\t\t\tthis.releaseScroll();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Refreshes the horizontal dimensions of the calendar\r\n\tupdateWidth: function(isResize) {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Refreshes the vertical dimensions of the calendar\r\n\tupdateHeight: function(isResize) {\r\n\t\tvar calendar = this.calendar; // we poll the calendar for height information\r\n\r\n\t\tthis.setHeight(\r\n\t\t\tcalendar.getSuggestedViewHeight(),\r\n\t\t\tcalendar.isHeightAuto()\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Updates the vertical dimensions of the calendar to the specified height.\r\n\t// if `isAuto` is set to true, height becomes merely a suggestion and the view should use its \"natural\" height.\r\n\tsetHeight: function(height, isAuto) {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t/* Scroller\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tcapturedScroll: null,\r\n\tcapturedScrollDepth: 0,\r\n\r\n\r\n\tcaptureScroll: function() {\r\n\t\tif (!(this.capturedScrollDepth++)) {\r\n\t\t\tthis.capturedScroll = this.isDateRendered ? this.queryScroll() : {}; // require a render first\r\n\t\t\treturn true; // root?\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\r\n\tcaptureInitialScroll: function(forcedScroll) {\r\n\t\tif (this.captureScroll()) { // root?\r\n\t\t\tthis.capturedScroll.isInitial = true;\r\n\r\n\t\t\tif (forcedScroll) {\r\n\t\t\t\t$.extend(this.capturedScroll, forcedScroll);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.capturedScroll.isComputed = true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\treleaseScroll: function() {\r\n\t\tvar scroll = this.capturedScroll;\r\n\t\tvar isRoot = this.discardScroll();\r\n\r\n\t\tif (scroll.isComputed) {\r\n\t\t\tif (isRoot) {\r\n\t\t\t\t// only compute initial scroll if it will actually be used (is the root capture)\r\n\t\t\t\t$.extend(scroll, this.computeInitialScroll());\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tscroll = null; // scroll couldn't be computed. don't apply it to the DOM\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (scroll) {\r\n\t\t\t// we act immediately on a releaseScroll operation, as opposed to captureScroll.\r\n\t\t\t// if capture/release wraps a render operation that screws up the scroll,\r\n\t\t\t// we still want to restore it a good state after, regardless of depth.\r\n\r\n\t\t\tif (scroll.isInitial) {\r\n\t\t\t\tthis.hardSetScroll(scroll); // outsmart how browsers set scroll on initial DOM\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.setScroll(scroll);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tdiscardScroll: function() {\r\n\t\tif (!(--this.capturedScrollDepth)) {\r\n\t\t\tthis.capturedScroll = null;\r\n\t\t\treturn true; // root?\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\r\n\tcomputeInitialScroll: function() {\r\n\t\treturn {};\r\n\t},\r\n\r\n\r\n\tqueryScroll: function() {\r\n\t\treturn {};\r\n\t},\r\n\r\n\r\n\thardSetScroll: function(scroll) {\r\n\t\tvar _this = this;\r\n\t\tvar exec = function() { _this.setScroll(scroll); };\r\n\t\texec();\r\n\t\tsetTimeout(exec, 0); // to surely clear the browser's initial scroll for the DOM\r\n\t},\r\n\r\n\r\n\tsetScroll: function(scroll) {\r\n\t},\r\n\r\n\r\n\t/* Height Freezing\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tfreezeHeight: function() {\r\n\t\tthis.calendar.freezeContentHeight();\r\n\t},\r\n\r\n\r\n\tthawHeight: function() {\r\n\t\tthis.calendar.thawContentHeight();\r\n\t},\r\n\r\n\r\n\t// Event Binding/Unbinding\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tbindEvents: function() {\r\n\t\tvar _this = this;\r\n\r\n\t\tif (!this.isEventsBound) {\r\n\t\t\tthis.isEventsBound = true;\r\n\t\t\tthis.rejectOn('eventsUnbind', this.requestEvents()).then(function(events) { // TODO: test rejection\r\n\t\t\t\t_this.listenTo(_this.calendar, 'eventsReset', _this.setEvents);\r\n\t\t\t\t_this.setEvents(events);\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tunbindEvents: function() {\r\n\t\tif (this.isEventsBound) {\r\n\t\t\tthis.isEventsBound = false;\r\n\t\t\tthis.stopListeningTo(this.calendar, 'eventsReset');\r\n\t\t\tthis.unsetEvents();\r\n\t\t\tthis.trigger('eventsUnbind');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Event Setting/Unsetting\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tsetEvents: function(events) {\r\n\t\tvar isReset = this.isEventSet;\r\n\r\n\t\tthis.isEventsSet = true;\r\n\t\tthis.handleEvents(events, isReset);\r\n\t\tthis.trigger(isReset ? 'eventsReset' : 'eventsSet', events);\r\n\t},\r\n\r\n\r\n\tunsetEvents: function() {\r\n\t\tif (this.isEventsSet) {\r\n\t\t\tthis.isEventsSet = false;\r\n\t\t\tthis.handleEventsUnset();\r\n\t\t\tthis.trigger('eventsUnset');\r\n\t\t}\r\n\t},\r\n\r\n\r\n\twhenEventsSet: function() {\r\n\t\tvar _this = this;\r\n\r\n\t\tif (this.isEventsSet) {\r\n\t\t\treturn Promise.resolve(this.getCurrentEvents());\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn new Promise(function(resolve) {\r\n\t\t\t\t_this.one('eventsSet', resolve);\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Event Handling\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\thandleEvents: function(events, isReset) {\r\n\t\tthis.requestEventsRender(events);\r\n\t},\r\n\r\n\r\n\thandleEventsUnset: function() {\r\n\t\tthis.requestEventsUnrender();\r\n\t},\r\n\r\n\r\n\t// Event Render Queuing\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// assumes any previous event renders have been cleared already\r\n\trequestEventsRender: function(events) {\r\n\t\tvar _this = this;\r\n\r\n\t\treturn this.eventRenderQueue.add(function() { // might not return a promise if debounced!? bad\r\n\t\t\treturn _this.executeEventsRender(events);\r\n\t\t});\r\n\t},\r\n\r\n\r\n\trequestEventsUnrender: function() {\r\n\t\tvar _this = this;\r\n\r\n\t\tif (this.isEventsRendered) {\r\n\t\t\treturn this.eventRenderQueue.addQuickly(function() {\r\n\t\t\t\treturn _this.executeEventsUnrender();\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn Promise.resolve();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\trequestCurrentEventsRender: function() {\r\n\t\tif (this.isEventsSet) {\r\n\t\t\tthis.requestEventsRender(this.getCurrentEvents());\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn Promise.reject();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Event High-level Rendering\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\texecuteEventsRender: function(events) {\r\n\t\tvar _this = this;\r\n\r\n\t\tthis.captureScroll();\r\n\t\tthis.freezeHeight();\r\n\r\n\t\treturn this.executeEventsUnrender().then(function() {\r\n\t\t\t_this.renderEvents(events);\r\n\r\n\t\t\t_this.thawHeight();\r\n\t\t\t_this.releaseScroll();\r\n\r\n\t\t\t_this.isEventsRendered = true;\r\n\t\t\t_this.onEventsRender();\r\n\t\t\t_this.trigger('eventsRender');\r\n\t\t});\r\n\t},\r\n\r\n\r\n\texecuteEventsUnrender: function() {\r\n\t\tif (this.isEventsRendered) {\r\n\t\t\tthis.onBeforeEventsUnrender();\r\n\r\n\t\t\tthis.captureScroll();\r\n\t\t\tthis.freezeHeight();\r\n\r\n\t\t\tif (this.destroyEvents) {\r\n\t\t\t\tthis.destroyEvents(); // TODO: deprecate\r\n\t\t\t}\r\n\r\n\t\t\tthis.unrenderEvents();\r\n\r\n\t\t\tthis.thawHeight();\r\n\t\t\tthis.releaseScroll();\r\n\r\n\t\t\tthis.isEventsRendered = false;\r\n\t\t\tthis.trigger('eventsUnrender');\r\n\t\t}\r\n\r\n\t\treturn Promise.resolve(); // always synchronous\r\n\t},\r\n\r\n\r\n\t// Event Rendering Triggers\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// Signals that all events have been rendered\r\n\tonEventsRender: function() {\r\n\t\tthis.renderedEventSegEach(function(seg) {\r\n\t\t\tthis.publiclyTrigger('eventAfterRender', seg.event, seg.event, seg.el);\r\n\t\t});\r\n\t\tthis.publiclyTrigger('eventAfterAllRender');\r\n\t},\r\n\r\n\r\n\t// Signals that all event elements are about to be removed\r\n\tonBeforeEventsUnrender: function() {\r\n\t\tthis.renderedEventSegEach(function(seg) {\r\n\t\t\tthis.publiclyTrigger('eventDestroy', seg.event, seg.event, seg.el);\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Event Low-level Rendering\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// Renders the events onto the view.\r\n\trenderEvents: function(events) {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Removes event elements from the view.\r\n\tunrenderEvents: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Event Data Access\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\trequestEvents: function() {\r\n\t\treturn this.calendar.requestEvents(this.start, this.end);\r\n\t},\r\n\r\n\r\n\tgetCurrentEvents: function() {\r\n\t\treturn this.calendar.getPrunedEventCache();\r\n\t},\r\n\r\n\r\n\t// Event Rendering Utils\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\t// Given an event and the default element used for rendering, returns the element that should actually be used.\r\n\t// Basically runs events and elements through the eventRender hook.\r\n\tresolveEventEl: function(event, el) {\r\n\t\tvar custom = this.publiclyTrigger('eventRender', event, event, el);\r\n\r\n\t\tif (custom === false) { // means don't render at all\r\n\t\t\tel = null;\r\n\t\t}\r\n\t\telse if (custom && custom !== true) {\r\n\t\t\tel = $(custom);\r\n\t\t}\r\n\r\n\t\treturn el;\r\n\t},\r\n\r\n\r\n\t// Hides all rendered event segments linked to the given event\r\n\tshowEvent: function(event) {\r\n\t\tthis.renderedEventSegEach(function(seg) {\r\n\t\t\tseg.el.css('visibility', '');\r\n\t\t}, event);\r\n\t},\r\n\r\n\r\n\t// Shows all rendered event segments linked to the given event\r\n\thideEvent: function(event) {\r\n\t\tthis.renderedEventSegEach(function(seg) {\r\n\t\t\tseg.el.css('visibility', 'hidden');\r\n\t\t}, event);\r\n\t},\r\n\r\n\r\n\t// Iterates through event segments that have been rendered (have an el). Goes through all by default.\r\n\t// If the optional `event` argument is specified, only iterates through segments linked to that event.\r\n\t// The `this` value of the callback function will be the view.\r\n\trenderedEventSegEach: function(func, event) {\r\n\t\tvar segs = this.getEventSegs();\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tif (!event || segs[i].event._id === event._id) {\r\n\t\t\t\tif (segs[i].el) {\r\n\t\t\t\t\tfunc.call(this, segs[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Retrieves all the rendered segment objects for the view\r\n\tgetEventSegs: function() {\r\n\t\t// subclasses must implement\r\n\t\treturn [];\r\n\t},\r\n\r\n\r\n\t/* Event Drag-n-Drop\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Computes if the given event is allowed to be dragged by the user\r\n\tisEventDraggable: function(event) {\r\n\t\treturn this.isEventStartEditable(event);\r\n\t},\r\n\r\n\r\n\tisEventStartEditable: function(event) {\r\n\t\treturn firstDefined(\r\n\t\t\tevent.startEditable,\r\n\t\t\t(event.source || {}).startEditable,\r\n\t\t\tthis.opt('eventStartEditable'),\r\n\t\t\tthis.isEventGenerallyEditable(event)\r\n\t\t);\r\n\t},\r\n\r\n\r\n\tisEventGenerallyEditable: function(event) {\r\n\t\treturn firstDefined(\r\n\t\t\tevent.editable,\r\n\t\t\t(event.source || {}).editable,\r\n\t\t\tthis.opt('editable')\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Must be called when an event in the view is dropped onto new location.\r\n\t// `dropLocation` is an object that contains the new zoned start/end/allDay values for the event.\r\n\treportSegDrop: function(seg, dropLocation, largeUnit, el, ev) {\r\n\t\tvar calendar = this.calendar;\r\n\t\tvar mutateResult = calendar.mutateSeg(seg, dropLocation, largeUnit);\r\n\t\tvar undoFunc = function() {\r\n\t\t\tmutateResult.undo();\r\n\t\t\tcalendar.reportEventChange();\r\n\t\t};\r\n\r\n\t\tthis.triggerEventDrop(seg.event, mutateResult.dateDelta, undoFunc, el, ev);\r\n\t\tcalendar.reportEventChange(); // will rerender events\r\n\t},\r\n\r\n\r\n\t// Triggers event-drop handlers that have subscribed via the API\r\n\ttriggerEventDrop: function(event, dateDelta, undoFunc, el, ev) {\r\n\t\tthis.publiclyTrigger('eventDrop', el[0], event, dateDelta, undoFunc, ev, {}); // {} = jqui dummy\r\n\t},\r\n\r\n\r\n\t/* External Element Drag-n-Drop\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Must be called when an external element, via jQuery UI, has been dropped onto the calendar.\r\n\t// `meta` is the parsed data that has been embedded into the dragging event.\r\n\t// `dropLocation` is an object that contains the new zoned start/end/allDay values for the event.\r\n\treportExternalDrop: function(meta, dropLocation, el, ev, ui) {\r\n\t\tvar eventProps = meta.eventProps;\r\n\t\tvar eventInput;\r\n\t\tvar event;\r\n\r\n\t\t// Try to build an event object and render it. TODO: decouple the two\r\n\t\tif (eventProps) {\r\n\t\t\teventInput = $.extend({}, eventProps, dropLocation);\r\n\t\t\tevent = this.calendar.renderEvent(eventInput, meta.stick)[0]; // renderEvent returns an array\r\n\t\t}\r\n\r\n\t\tthis.triggerExternalDrop(event, dropLocation, el, ev, ui);\r\n\t},\r\n\r\n\r\n\t// Triggers external-drop handlers that have subscribed via the API\r\n\ttriggerExternalDrop: function(event, dropLocation, el, ev, ui) {\r\n\r\n\t\t// trigger 'drop' regardless of whether element represents an event\r\n\t\tthis.publiclyTrigger('drop', el[0], dropLocation.start, ev, ui);\r\n\r\n\t\tif (event) {\r\n\t\t\tthis.publiclyTrigger('eventReceive', null, event); // signal an external event landed\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Drag-n-Drop Rendering (for both events and external elements)\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of a event or external-element drag over the given drop zone.\r\n\t// If an external-element, seg will be `null`.\r\n\t// Must return elements used for any mock events.\r\n\trenderDrag: function(dropLocation, seg) {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t// Unrenders a visual indication of an event or external-element being dragged.\r\n\tunrenderDrag: function() {\r\n\t\t// subclasses must implement\r\n\t},\r\n\r\n\r\n\t/* Event Resizing\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Computes if the given event is allowed to be resized from its starting edge\r\n\tisEventResizableFromStart: function(event) {\r\n\t\treturn this.opt('eventResizableFromStart') && this.isEventResizable(event);\r\n\t},\r\n\r\n\r\n\t// Computes if the given event is allowed to be resized from its ending edge\r\n\tisEventResizableFromEnd: function(event) {\r\n\t\treturn this.isEventResizable(event);\r\n\t},\r\n\r\n\r\n\t// Computes if the given event is allowed to be resized by the user at all\r\n\tisEventResizable: function(event) {\r\n\t\tvar source = event.source || {};\r\n\r\n\t\treturn firstDefined(\r\n\t\t\tevent.durationEditable,\r\n\t\t\tsource.durationEditable,\r\n\t\t\tthis.opt('eventDurationEditable'),\r\n\t\t\tevent.editable,\r\n\t\t\tsource.editable,\r\n\t\t\tthis.opt('editable')\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Must be called when an event in the view has been resized to a new length\r\n\treportSegResize: function(seg, resizeLocation, largeUnit, el, ev) {\r\n\t\tvar calendar = this.calendar;\r\n\t\tvar mutateResult = calendar.mutateSeg(seg, resizeLocation, largeUnit);\r\n\t\tvar undoFunc = function() {\r\n\t\t\tmutateResult.undo();\r\n\t\t\tcalendar.reportEventChange();\r\n\t\t};\r\n\r\n\t\tthis.triggerEventResize(seg.event, mutateResult.durationDelta, undoFunc, el, ev);\r\n\t\tcalendar.reportEventChange(); // will rerender events\r\n\t},\r\n\r\n\r\n\t// Triggers event-resize handlers that have subscribed via the API\r\n\ttriggerEventResize: function(event, durationDelta, undoFunc, el, ev) {\r\n\t\tthis.publiclyTrigger('eventResize', el[0], event, durationDelta, undoFunc, ev, {}); // {} = jqui dummy\r\n\t},\r\n\r\n\r\n\t/* Selection (time range)\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Selects a date span on the view. `start` and `end` are both Moments.\r\n\t// `ev` is the native mouse event that begin the interaction.\r\n\tselect: function(span, ev) {\r\n\t\tthis.unselect(ev);\r\n\t\tthis.renderSelection(span);\r\n\t\tthis.reportSelection(span, ev);\r\n\t},\r\n\r\n\r\n\t// Renders a visual indication of the selection\r\n\trenderSelection: function(span) {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t// Called when a new selection is made. Updates internal state and triggers handlers.\r\n\treportSelection: function(span, ev) {\r\n\t\tthis.isSelected = true;\r\n\t\tthis.triggerSelect(span, ev);\r\n\t},\r\n\r\n\r\n\t// Triggers handlers to 'select'\r\n\ttriggerSelect: function(span, ev) {\r\n\t\tthis.publiclyTrigger(\r\n\t\t\t'select',\r\n\t\t\tnull,\r\n\t\t\tthis.calendar.applyTimezone(span.start), // convert to calendar's tz for external API\r\n\t\t\tthis.calendar.applyTimezone(span.end), // \"\r\n\t\t\tev\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Undoes a selection. updates in the internal state and triggers handlers.\r\n\t// `ev` is the native mouse event that began the interaction.\r\n\tunselect: function(ev) {\r\n\t\tif (this.isSelected) {\r\n\t\t\tthis.isSelected = false;\r\n\t\t\tif (this.destroySelection) {\r\n\t\t\t\tthis.destroySelection(); // TODO: deprecate\r\n\t\t\t}\r\n\t\t\tthis.unrenderSelection();\r\n\t\t\tthis.publiclyTrigger('unselect', null, ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Unrenders a visual indication of selection\r\n\tunrenderSelection: function() {\r\n\t\t// subclasses should implement\r\n\t},\r\n\r\n\r\n\t/* Event Selection\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tselectEvent: function(event) {\r\n\t\tif (!this.selectedEvent || this.selectedEvent !== event) {\r\n\t\t\tthis.unselectEvent();\r\n\t\t\tthis.renderedEventSegEach(function(seg) {\r\n\t\t\t\tseg.el.addClass('fc-selected');\r\n\t\t\t}, event);\r\n\t\t\tthis.selectedEvent = event;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tunselectEvent: function() {\r\n\t\tif (this.selectedEvent) {\r\n\t\t\tthis.renderedEventSegEach(function(seg) {\r\n\t\t\t\tseg.el.removeClass('fc-selected');\r\n\t\t\t}, this.selectedEvent);\r\n\t\t\tthis.selectedEvent = null;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tisEventSelected: function(event) {\r\n\t\t// event references might change on refetchEvents(), while selectedEvent doesn't,\r\n\t\t// so compare IDs\r\n\t\treturn this.selectedEvent && this.selectedEvent._id === event._id;\r\n\t},\r\n\r\n\r\n\t/* Mouse / Touch Unselecting (time range & event unselection)\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\t// TODO: move consistently to down/start or up/end?\r\n\t// TODO: don't kill previous selection if touch scrolling\r\n\r\n\r\n\thandleDocumentMousedown: function(ev) {\r\n\t\tif (isPrimaryMouseButton(ev)) {\r\n\t\t\tthis.processUnselect(ev);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tprocessUnselect: function(ev) {\r\n\t\tthis.processRangeUnselect(ev);\r\n\t\tthis.processEventUnselect(ev);\r\n\t},\r\n\r\n\r\n\tprocessRangeUnselect: function(ev) {\r\n\t\tvar ignore;\r\n\r\n\t\t// is there a time-range selection?\r\n\t\tif (this.isSelected && this.opt('unselectAuto')) {\r\n\t\t\t// only unselect if the clicked element is not identical to or inside of an 'unselectCancel' element\r\n\t\t\tignore = this.opt('unselectCancel');\r\n\t\t\tif (!ignore || !$(ev.target).closest(ignore).length) {\r\n\t\t\t\tthis.unselect(ev);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tprocessEventUnselect: function(ev) {\r\n\t\tif (this.selectedEvent) {\r\n\t\t\tif (!$(ev.target).closest('.fc-selected').length) {\r\n\t\t\t\tthis.unselectEvent();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Day Click\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Triggers handlers to 'dayClick'\r\n\t// Span has start/end of the clicked area. Only the start is useful.\r\n\ttriggerDayClick: function(span, dayEl, ev) {\r\n\t\tthis.publiclyTrigger(\r\n\t\t\t'dayClick',\r\n\t\t\tdayEl,\r\n\t\t\tthis.calendar.applyTimezone(span.start), // convert to calendar's timezone for external API\r\n\t\t\tev\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t/* Date Utils\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Initializes internal variables related to calculating hidden days-of-week\r\n\tinitHiddenDays: function() {\r\n\t\tvar hiddenDays = this.opt('hiddenDays') || []; // array of day-of-week indices that are hidden\r\n\t\tvar isHiddenDayHash = []; // is the day-of-week hidden? (hash with day-of-week-index -> bool)\r\n\t\tvar dayCnt = 0;\r\n\t\tvar i;\r\n\r\n\t\tif (this.opt('weekends') === false) {\r\n\t\t\thiddenDays.push(0, 6); // 0=sunday, 6=saturday\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < 7; i++) {\r\n\t\t\tif (\r\n\t\t\t\t!(isHiddenDayHash[i] = $.inArray(i, hiddenDays) !== -1)\r\n\t\t\t) {\r\n\t\t\t\tdayCnt++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!dayCnt) {\r\n\t\t\tthrow 'invalid hiddenDays'; // all days were hidden? bad.\r\n\t\t}\r\n\r\n\t\tthis.isHiddenDayHash = isHiddenDayHash;\r\n\t},\r\n\r\n\r\n\t// Is the current day hidden?\r\n\t// `day` is a day-of-week index (0-6), or a Moment\r\n\tisHiddenDay: function(day) {\r\n\t\tif (moment.isMoment(day)) {\r\n\t\t\tday = day.day();\r\n\t\t}\r\n\t\treturn this.isHiddenDayHash[day];\r\n\t},\r\n\r\n\r\n\t// Incrementing the current day until it is no longer a hidden day, returning a copy.\r\n\t// If the initial value of `date` is not a hidden day, don't do anything.\r\n\t// Pass `isExclusive` as `true` if you are dealing with an end date.\r\n\t// `inc` defaults to `1` (increment one day forward each time)\r\n\tskipHiddenDays: function(date, inc, isExclusive) {\r\n\t\tvar out = date.clone();\r\n\t\tinc = inc || 1;\r\n\t\twhile (\r\n\t\t\tthis.isHiddenDayHash[(out.day() + (isExclusive ? inc : 0) + 7) % 7]\r\n\t\t) {\r\n\t\t\tout.add(inc, 'days');\r\n\t\t}\r\n\t\treturn out;\r\n\t},\r\n\r\n\r\n\t// Returns the date range of the full days the given range visually appears to occupy.\r\n\t// Returns a new range object.\r\n\tcomputeDayRange: function(range) {\r\n\t\tvar startDay = range.start.clone().stripTime(); // the beginning of the day the range starts\r\n\t\tvar end = range.end;\r\n\t\tvar endDay = null;\r\n\t\tvar endTimeMS;\r\n\r\n\t\tif (end) {\r\n\t\t\tendDay = end.clone().stripTime(); // the beginning of the day the range exclusively ends\r\n\t\t\tendTimeMS = +end.time(); // # of milliseconds into `endDay`\r\n\r\n\t\t\t// If the end time is actually inclusively part of the next day and is equal to or\r\n\t\t\t// beyond the next day threshold, adjust the end to be the exclusive end of `endDay`.\r\n\t\t\t// Otherwise, leaving it as inclusive will cause it to exclude `endDay`.\r\n\t\t\tif (endTimeMS && endTimeMS >= this.nextDayThreshold) {\r\n\t\t\t\tendDay.add(1, 'days');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// If no end was specified, or if it is within `startDay` but not past nextDayThreshold,\r\n\t\t// assign the default duration of one day.\r\n\t\tif (!end || endDay <= startDay) {\r\n\t\t\tendDay = startDay.clone().add(1, 'days');\r\n\t\t}\r\n\r\n\t\treturn { start: startDay, end: endDay };\r\n\t},\r\n\r\n\r\n\t// Does the given event visually appear to occupy more than one day?\r\n\tisMultiDayEvent: function(event) {\r\n\t\tvar range = this.computeDayRange(event); // event is range-ish\r\n\r\n\t\treturn range.end.diff(range.start, 'days') > 1;\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\n/*\r\nEmbodies a div that has potential scrollbars\r\n*/\r\nvar Scroller = FC.Scroller = Class.extend({\r\n\r\n\tel: null, // the guaranteed outer element\r\n\tscrollEl: null, // the element with the scrollbars\r\n\toverflowX: null,\r\n\toverflowY: null,\r\n\r\n\r\n\tconstructor: function(options) {\r\n\t\toptions = options || {};\r\n\t\tthis.overflowX = options.overflowX || options.overflow || 'auto';\r\n\t\tthis.overflowY = options.overflowY || options.overflow || 'auto';\r\n\t},\r\n\r\n\r\n\trender: function() {\r\n\t\tthis.el = this.renderEl();\r\n\t\tthis.applyOverflow();\r\n\t},\r\n\r\n\r\n\trenderEl: function() {\r\n\t\treturn (this.scrollEl = $('<div class=\"fc-scroller\"></div>'));\r\n\t},\r\n\r\n\r\n\t// sets to natural height, unlocks overflow\r\n\tclear: function() {\r\n\t\tthis.setHeight('auto');\r\n\t\tthis.applyOverflow();\r\n\t},\r\n\r\n\r\n\tdestroy: function() {\r\n\t\tthis.el.remove();\r\n\t},\r\n\r\n\r\n\t// Overflow\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tapplyOverflow: function() {\r\n\t\tthis.scrollEl.css({\r\n\t\t\t'overflow-x': this.overflowX,\r\n\t\t\t'overflow-y': this.overflowY\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Causes any 'auto' overflow values to resolves to 'scroll' or 'hidden'.\r\n\t// Useful for preserving scrollbar widths regardless of future resizes.\r\n\t// Can pass in scrollbarWidths for optimization.\r\n\tlockOverflow: function(scrollbarWidths) {\r\n\t\tvar overflowX = this.overflowX;\r\n\t\tvar overflowY = this.overflowY;\r\n\r\n\t\tscrollbarWidths = scrollbarWidths || this.getScrollbarWidths();\r\n\r\n\t\tif (overflowX === 'auto') {\r\n\t\t\toverflowX = (\r\n\t\t\t\t\tscrollbarWidths.top || scrollbarWidths.bottom || // horizontal scrollbars?\r\n\t\t\t\t\t// OR scrolling pane with massless scrollbars?\r\n\t\t\t\t\tthis.scrollEl[0].scrollWidth - 1 > this.scrollEl[0].clientWidth\r\n\t\t\t\t\t\t// subtract 1 because of IE off-by-one issue\r\n\t\t\t\t) ? 'scroll' : 'hidden';\r\n\t\t}\r\n\r\n\t\tif (overflowY === 'auto') {\r\n\t\t\toverflowY = (\r\n\t\t\t\t\tscrollbarWidths.left || scrollbarWidths.right || // vertical scrollbars?\r\n\t\t\t\t\t// OR scrolling pane with massless scrollbars?\r\n\t\t\t\t\tthis.scrollEl[0].scrollHeight - 1 > this.scrollEl[0].clientHeight\r\n\t\t\t\t\t\t// subtract 1 because of IE off-by-one issue\r\n\t\t\t\t) ? 'scroll' : 'hidden';\r\n\t\t}\r\n\r\n\t\tthis.scrollEl.css({ 'overflow-x': overflowX, 'overflow-y': overflowY });\r\n\t},\r\n\r\n\r\n\t// Getters / Setters\r\n\t// -----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\tsetHeight: function(height) {\r\n\t\tthis.scrollEl.height(height);\r\n\t},\r\n\r\n\r\n\tgetScrollTop: function() {\r\n\t\treturn this.scrollEl.scrollTop();\r\n\t},\r\n\r\n\r\n\tsetScrollTop: function(top) {\r\n\t\tthis.scrollEl.scrollTop(top);\r\n\t},\r\n\r\n\r\n\tgetClientWidth: function() {\r\n\t\treturn this.scrollEl[0].clientWidth;\r\n\t},\r\n\r\n\r\n\tgetClientHeight: function() {\r\n\t\treturn this.scrollEl[0].clientHeight;\r\n\t},\r\n\r\n\r\n\tgetScrollbarWidths: function() {\r\n\t\treturn getScrollbarWidths(this.scrollEl);\r\n\t}\r\n\r\n});\r\n\r\n;;\r\nfunction Iterator(items) {\r\n    this.items = items || [];\r\n}\r\n\r\n\r\n/* Calls a method on every item passing the arguments through */\r\nIterator.prototype.proxyCall = function(methodName) {\r\n    var args = Array.prototype.slice.call(arguments, 1);\r\n    var results = [];\r\n\r\n    this.items.forEach(function(item) {\r\n        results.push(item[methodName].apply(item, args));\r\n    });\r\n\r\n    return results;\r\n};\r\n\r\n;;\r\n\r\n/* Toolbar with buttons and title\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nfunction Toolbar(calendar, toolbarOptions) {\r\n\tvar t = this;\r\n\r\n\t// exports\r\n\tt.setToolbarOptions = setToolbarOptions;\r\n\tt.render = render;\r\n\tt.removeElement = removeElement;\r\n\tt.updateTitle = updateTitle;\r\n\tt.activateButton = activateButton;\r\n\tt.deactivateButton = deactivateButton;\r\n\tt.disableButton = disableButton;\r\n\tt.enableButton = enableButton;\r\n\tt.getViewsWithButtons = getViewsWithButtons;\r\n\tt.el = null; // mirrors local `el`\r\n\r\n\t// locals\r\n\tvar el;\r\n\tvar viewsWithButtons = [];\r\n\tvar tm;\r\n\r\n\t// method to update toolbar-specific options, not calendar-wide options\r\n\tfunction setToolbarOptions(newToolbarOptions) {\r\n\t\ttoolbarOptions = newToolbarOptions;\r\n\t}\r\n\r\n\t// can be called repeatedly and will rerender\r\n\tfunction render() {\r\n\t\tvar sections = toolbarOptions.layout;\r\n\r\n\t\ttm = calendar.options.theme ? 'ui' : 'fc';\r\n\r\n\t\tif (sections) {\r\n\t\t\tif (!el) {\r\n\t\t\t\tel = this.el = $(\"<div class='fc-toolbar \"+ toolbarOptions.extraClasses + \"'/>\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tel.empty();\r\n\t\t\t}\r\n\t\t\tel.append(renderSection('left'))\r\n\t\t\t\t.append(renderSection('right'))\r\n\t\t\t\t.append(renderSection('center'))\r\n\t\t\t\t.append('<div class=\"fc-clear\"/>');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tremoveElement();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction removeElement() {\r\n\t\tif (el) {\r\n\t\t\tel.remove();\r\n\t\t\tel = t.el = null;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction renderSection(position) {\r\n\t\tvar sectionEl = $('<div class=\"fc-' + position + '\"/>');\r\n\t\tvar buttonStr = toolbarOptions.layout[position];\r\n\r\n\t\tif (buttonStr) {\r\n\t\t\t$.each(buttonStr.split(' '), function(i) {\r\n\t\t\t\tvar groupChildren = $();\r\n\t\t\t\tvar isOnlyButtons = true;\r\n\t\t\t\tvar groupEl;\r\n\r\n\t\t\t\t$.each(this.split(','), function(j, buttonName) {\r\n\t\t\t\t\tvar customButtonProps;\r\n\t\t\t\t\tvar viewSpec;\r\n\t\t\t\t\tvar buttonClick;\r\n\t\t\t\t\tvar overrideText; // text explicitly set by calendar's constructor options. overcomes icons\r\n\t\t\t\t\tvar defaultText;\r\n\t\t\t\t\tvar themeIcon;\r\n\t\t\t\t\tvar normalIcon;\r\n\t\t\t\t\tvar innerHtml;\r\n\t\t\t\t\tvar classes;\r\n\t\t\t\t\tvar button; // the element\r\n\r\n\t\t\t\t\tif (buttonName == 'title') {\r\n\t\t\t\t\t\tgroupChildren = groupChildren.add($('<h2>&nbsp;</h2>')); // we always want it to take up height\r\n\t\t\t\t\t\tisOnlyButtons = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif ((customButtonProps = (calendar.options.customButtons || {})[buttonName])) {\r\n\t\t\t\t\t\t\tbuttonClick = function(ev) {\r\n\t\t\t\t\t\t\t\tif (customButtonProps.click) {\r\n\t\t\t\t\t\t\t\t\tcustomButtonProps.click.call(button[0], ev);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\toverrideText = ''; // icons will override text\r\n\t\t\t\t\t\t\tdefaultText = customButtonProps.text;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if ((viewSpec = calendar.getViewSpec(buttonName))) {\r\n\t\t\t\t\t\t\tbuttonClick = function() {\r\n\t\t\t\t\t\t\t\tcalendar.changeView(buttonName);\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tviewsWithButtons.push(buttonName);\r\n\t\t\t\t\t\t\toverrideText = viewSpec.buttonTextOverride;\r\n\t\t\t\t\t\t\tdefaultText = viewSpec.buttonTextDefault;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (calendar[buttonName]) { // a calendar method\r\n\t\t\t\t\t\t\tbuttonClick = function() {\r\n\t\t\t\t\t\t\t\tcalendar[buttonName]();\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\toverrideText = (calendar.overrides.buttonText || {})[buttonName];\r\n\t\t\t\t\t\t\tdefaultText = calendar.options.buttonText[buttonName]; // everything else is considered default\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (buttonClick) {\r\n\r\n\t\t\t\t\t\t\tthemeIcon =\r\n\t\t\t\t\t\t\t\tcustomButtonProps ?\r\n\t\t\t\t\t\t\t\t\tcustomButtonProps.themeIcon :\r\n\t\t\t\t\t\t\t\t\tcalendar.options.themeButtonIcons[buttonName];\r\n\r\n\t\t\t\t\t\t\tnormalIcon =\r\n\t\t\t\t\t\t\t\tcustomButtonProps ?\r\n\t\t\t\t\t\t\t\t\tcustomButtonProps.icon :\r\n\t\t\t\t\t\t\t\t\tcalendar.options.buttonIcons[buttonName];\r\n\r\n\t\t\t\t\t\t\tif (overrideText) {\r\n\t\t\t\t\t\t\t\tinnerHtml = htmlEscape(overrideText);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (themeIcon && calendar.options.theme) {\r\n\t\t\t\t\t\t\t\tinnerHtml = \"<span class='ui-icon ui-icon-\" + themeIcon + \"'></span>\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (normalIcon && !calendar.options.theme) {\r\n\t\t\t\t\t\t\t\tinnerHtml = \"<span class='fc-icon fc-icon-\" + normalIcon + \"'></span>\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\tinnerHtml = htmlEscape(defaultText);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tclasses = [\r\n\t\t\t\t\t\t\t\t'fc-' + buttonName + '-button',\r\n\t\t\t\t\t\t\t\ttm + '-button',\r\n\t\t\t\t\t\t\t\ttm + '-state-default'\r\n\t\t\t\t\t\t\t];\r\n\r\n\t\t\t\t\t\t\tbutton = $( // type=\"button\" so that it doesn't submit a form\r\n\t\t\t\t\t\t\t\t'<button type=\"button\" class=\"' + classes.join(' ') + '\">' +\r\n\t\t\t\t\t\t\t\t\tinnerHtml +\r\n\t\t\t\t\t\t\t\t'</button>'\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t.click(function(ev) {\r\n\t\t\t\t\t\t\t\t\t// don't process clicks for disabled buttons\r\n\t\t\t\t\t\t\t\t\tif (!button.hasClass(tm + '-state-disabled')) {\r\n\r\n\t\t\t\t\t\t\t\t\t\tbuttonClick(ev);\r\n\r\n\t\t\t\t\t\t\t\t\t\t// after the click action, if the button becomes the \"active\" tab, or disabled,\r\n\t\t\t\t\t\t\t\t\t\t// it should never have a hover class, so remove it now.\r\n\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\tbutton.hasClass(tm + '-state-active') ||\r\n\t\t\t\t\t\t\t\t\t\t\tbutton.hasClass(tm + '-state-disabled')\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\tbutton.removeClass(tm + '-state-hover');\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t.mousedown(function() {\r\n\t\t\t\t\t\t\t\t\t// the *down* effect (mouse pressed in).\r\n\t\t\t\t\t\t\t\t\t// only on buttons that are not the \"active\" tab, or disabled\r\n\t\t\t\t\t\t\t\t\tbutton\r\n\t\t\t\t\t\t\t\t\t\t.not('.' + tm + '-state-active')\r\n\t\t\t\t\t\t\t\t\t\t.not('.' + tm + '-state-disabled')\r\n\t\t\t\t\t\t\t\t\t\t.addClass(tm + '-state-down');\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t.mouseup(function() {\r\n\t\t\t\t\t\t\t\t\t// undo the *down* effect\r\n\t\t\t\t\t\t\t\t\tbutton.removeClass(tm + '-state-down');\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t.hover(\r\n\t\t\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\t\t\t// the *hover* effect.\r\n\t\t\t\t\t\t\t\t\t\t// only on buttons that are not the \"active\" tab, or disabled\r\n\t\t\t\t\t\t\t\t\t\tbutton\r\n\t\t\t\t\t\t\t\t\t\t\t.not('.' + tm + '-state-active')\r\n\t\t\t\t\t\t\t\t\t\t\t.not('.' + tm + '-state-disabled')\r\n\t\t\t\t\t\t\t\t\t\t\t.addClass(tm + '-state-hover');\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\t\t\t// undo the *hover* effect\r\n\t\t\t\t\t\t\t\t\t\tbutton\r\n\t\t\t\t\t\t\t\t\t\t\t.removeClass(tm + '-state-hover')\r\n\t\t\t\t\t\t\t\t\t\t\t.removeClass(tm + '-state-down'); // if mouseleave happens before mouseup\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\tgroupChildren = groupChildren.add(button);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (isOnlyButtons) {\r\n\t\t\t\t\tgroupChildren\r\n\t\t\t\t\t\t.first().addClass(tm + '-corner-left').end()\r\n\t\t\t\t\t\t.last().addClass(tm + '-corner-right').end();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (groupChildren.length > 1) {\r\n\t\t\t\t\tgroupEl = $('<div/>');\r\n\t\t\t\t\tif (isOnlyButtons) {\r\n\t\t\t\t\t\tgroupEl.addClass('fc-button-group');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgroupEl.append(groupChildren);\r\n\t\t\t\t\tsectionEl.append(groupEl);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tsectionEl.append(groupChildren); // 1 or 0 children\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn sectionEl;\r\n\t}\r\n\r\n\r\n\tfunction updateTitle(text) {\r\n\t\tif (el) {\r\n\t\t\tel.find('h2').text(text);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction activateButton(buttonName) {\r\n\t\tif (el) {\r\n\t\t\tel.find('.fc-' + buttonName + '-button')\r\n\t\t\t\t.addClass(tm + '-state-active');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction deactivateButton(buttonName) {\r\n\t\tif (el) {\r\n\t\t\tel.find('.fc-' + buttonName + '-button')\r\n\t\t\t\t.removeClass(tm + '-state-active');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction disableButton(buttonName) {\r\n\t\tif (el) {\r\n\t\t\tel.find('.fc-' + buttonName + '-button')\r\n\t\t\t\t.prop('disabled', true)\r\n\t\t\t\t.addClass(tm + '-state-disabled');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction enableButton(buttonName) {\r\n\t\tif (el) {\r\n\t\t\tel.find('.fc-' + buttonName + '-button')\r\n\t\t\t\t.prop('disabled', false)\r\n\t\t\t\t.removeClass(tm + '-state-disabled');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction getViewsWithButtons() {\r\n\t\treturn viewsWithButtons;\r\n\t}\r\n\r\n}\r\n\r\n;;\r\n\r\nvar Calendar = FC.Calendar = Class.extend({\r\n\r\n\tdirDefaults: null, // option defaults related to LTR or RTL\r\n\tlocaleDefaults: null, // option defaults related to current locale\r\n\toverrides: null, // option overrides given to the fullCalendar constructor\r\n\tdynamicOverrides: null, // options set with dynamic setter method. higher precedence than view overrides.\r\n\toptions: null, // all defaults combined with overrides\r\n\tviewSpecCache: null, // cache of view definitions\r\n\tview: null, // current View object\r\n\theader: null,\r\n\tfooter: null,\r\n\tloadingLevel: 0, // number of simultaneous loading tasks\r\n\r\n\r\n\t// a lot of this class' OOP logic is scoped within this constructor function,\r\n\t// but in the future, write individual methods on the prototype.\r\n\tconstructor: Calendar_constructor,\r\n\r\n\r\n\t// Subclasses can override this for initialization logic after the constructor has been called\r\n\tinitialize: function() {\r\n\t},\r\n\r\n\r\n\t// Computes the flattened options hash for the calendar and assigns to `this.options`.\r\n\t// Assumes this.overrides and this.dynamicOverrides have already been initialized.\r\n\tpopulateOptionsHash: function() {\r\n\t\tvar locale, localeDefaults;\r\n\t\tvar isRTL, dirDefaults;\r\n\r\n\t\tlocale = firstDefined( // explicit locale option given?\r\n\t\t\tthis.dynamicOverrides.locale,\r\n\t\t\tthis.overrides.locale\r\n\t\t);\r\n\t\tlocaleDefaults = localeOptionHash[locale];\r\n\t\tif (!localeDefaults) { // explicit locale option not given or invalid?\r\n\t\t\tlocale = Calendar.defaults.locale;\r\n\t\t\tlocaleDefaults = localeOptionHash[locale] || {};\r\n\t\t}\r\n\r\n\t\tisRTL = firstDefined( // based on options computed so far, is direction RTL?\r\n\t\t\tthis.dynamicOverrides.isRTL,\r\n\t\t\tthis.overrides.isRTL,\r\n\t\t\tlocaleDefaults.isRTL,\r\n\t\t\tCalendar.defaults.isRTL\r\n\t\t);\r\n\t\tdirDefaults = isRTL ? Calendar.rtlDefaults : {};\r\n\r\n\t\tthis.dirDefaults = dirDefaults;\r\n\t\tthis.localeDefaults = localeDefaults;\r\n\t\tthis.options = mergeOptions([ // merge defaults and overrides. lowest to highest precedence\r\n\t\t\tCalendar.defaults, // global defaults\r\n\t\t\tdirDefaults,\r\n\t\t\tlocaleDefaults,\r\n\t\t\tthis.overrides,\r\n\t\t\tthis.dynamicOverrides\r\n\t\t]);\r\n\t\tpopulateInstanceComputableOptions(this.options); // fill in gaps with computed options\r\n\t},\r\n\r\n\r\n\t// Gets information about how to create a view. Will use a cache.\r\n\tgetViewSpec: function(viewType) {\r\n\t\tvar cache = this.viewSpecCache;\r\n\r\n\t\treturn cache[viewType] || (cache[viewType] = this.buildViewSpec(viewType));\r\n\t},\r\n\r\n\r\n\t// Given a duration singular unit, like \"week\" or \"day\", finds a matching view spec.\r\n\t// Preference is given to views that have corresponding buttons.\r\n\tgetUnitViewSpec: function(unit) {\r\n\t\tvar viewTypes;\r\n\t\tvar i;\r\n\t\tvar spec;\r\n\r\n\t\tif ($.inArray(unit, intervalUnits) != -1) {\r\n\r\n\t\t\t// put views that have buttons first. there will be duplicates, but oh well\r\n\t\t\tviewTypes = this.header.getViewsWithButtons(); // TODO: include footer as well?\r\n\t\t\t$.each(FC.views, function(viewType) { // all views\r\n\t\t\t\tviewTypes.push(viewType);\r\n\t\t\t});\r\n\r\n\t\t\tfor (i = 0; i < viewTypes.length; i++) {\r\n\t\t\t\tspec = this.getViewSpec(viewTypes[i]);\r\n\t\t\t\tif (spec) {\r\n\t\t\t\t\tif (spec.singleUnit == unit) {\r\n\t\t\t\t\t\treturn spec;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Builds an object with information on how to create a given view\r\n\tbuildViewSpec: function(requestedViewType) {\r\n\t\tvar viewOverrides = this.overrides.views || {};\r\n\t\tvar specChain = []; // for the view. lowest to highest priority\r\n\t\tvar defaultsChain = []; // for the view. lowest to highest priority\r\n\t\tvar overridesChain = []; // for the view. lowest to highest priority\r\n\t\tvar viewType = requestedViewType;\r\n\t\tvar spec; // for the view\r\n\t\tvar overrides; // for the view\r\n\t\tvar duration;\r\n\t\tvar unit;\r\n\r\n\t\t// iterate from the specific view definition to a more general one until we hit an actual View class\r\n\t\twhile (viewType) {\r\n\t\t\tspec = fcViews[viewType];\r\n\t\t\toverrides = viewOverrides[viewType];\r\n\t\t\tviewType = null; // clear. might repopulate for another iteration\r\n\r\n\t\t\tif (typeof spec === 'function') { // TODO: deprecate\r\n\t\t\t\tspec = { 'class': spec };\r\n\t\t\t}\r\n\r\n\t\t\tif (spec) {\r\n\t\t\t\tspecChain.unshift(spec);\r\n\t\t\t\tdefaultsChain.unshift(spec.defaults || {});\r\n\t\t\t\tduration = duration || spec.duration;\r\n\t\t\t\tviewType = viewType || spec.type;\r\n\t\t\t}\r\n\r\n\t\t\tif (overrides) {\r\n\t\t\t\toverridesChain.unshift(overrides); // view-specific option hashes have options at zero-level\r\n\t\t\t\tduration = duration || overrides.duration;\r\n\t\t\t\tviewType = viewType || overrides.type;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tspec = mergeProps(specChain);\r\n\t\tspec.type = requestedViewType;\r\n\t\tif (!spec['class']) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (duration) {\r\n\t\t\tduration = moment.duration(duration);\r\n\t\t\tif (duration.valueOf()) { // valid?\r\n\t\t\t\tspec.duration = duration;\r\n\t\t\t\tunit = computeIntervalUnit(duration);\r\n\r\n\t\t\t\t// view is a single-unit duration, like \"week\" or \"day\"\r\n\t\t\t\t// incorporate options for this. lowest priority\r\n\t\t\t\tif (duration.as(unit) === 1) {\r\n\t\t\t\t\tspec.singleUnit = unit;\r\n\t\t\t\t\toverridesChain.unshift(viewOverrides[unit] || {});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tspec.defaults = mergeOptions(defaultsChain);\r\n\t\tspec.overrides = mergeOptions(overridesChain);\r\n\r\n\t\tthis.buildViewSpecOptions(spec);\r\n\t\tthis.buildViewSpecButtonText(spec, requestedViewType);\r\n\r\n\t\treturn spec;\r\n\t},\r\n\r\n\r\n\t// Builds and assigns a view spec's options object from its already-assigned defaults and overrides\r\n\tbuildViewSpecOptions: function(spec) {\r\n\t\tspec.options = mergeOptions([ // lowest to highest priority\r\n\t\t\tCalendar.defaults, // global defaults\r\n\t\t\tspec.defaults, // view's defaults (from ViewSubclass.defaults)\r\n\t\t\tthis.dirDefaults,\r\n\t\t\tthis.localeDefaults, // locale and dir take precedence over view's defaults!\r\n\t\t\tthis.overrides, // calendar's overrides (options given to constructor)\r\n\t\t\tspec.overrides, // view's overrides (view-specific options)\r\n\t\t\tthis.dynamicOverrides // dynamically set via setter. highest precedence\r\n\t\t]);\r\n\t\tpopulateInstanceComputableOptions(spec.options);\r\n\t},\r\n\r\n\r\n\t// Computes and assigns a view spec's buttonText-related options\r\n\tbuildViewSpecButtonText: function(spec, requestedViewType) {\r\n\r\n\t\t// given an options object with a possible `buttonText` hash, lookup the buttonText for the\r\n\t\t// requested view, falling back to a generic unit entry like \"week\" or \"day\"\r\n\t\tfunction queryButtonText(options) {\r\n\t\t\tvar buttonText = options.buttonText || {};\r\n\t\t\treturn buttonText[requestedViewType] ||\r\n\t\t\t\t// view can decide to look up a certain key\r\n\t\t\t\t(spec.buttonTextKey ? buttonText[spec.buttonTextKey] : null) ||\r\n\t\t\t\t// a key like \"month\"\r\n\t\t\t\t(spec.singleUnit ? buttonText[spec.singleUnit] : null);\r\n\t\t}\r\n\r\n\t\t// highest to lowest priority\r\n\t\tspec.buttonTextOverride =\r\n\t\t\tqueryButtonText(this.dynamicOverrides) ||\r\n\t\t\tqueryButtonText(this.overrides) || // constructor-specified buttonText lookup hash takes precedence\r\n\t\t\tspec.overrides.buttonText; // `buttonText` for view-specific options is a string\r\n\r\n\t\t// highest to lowest priority. mirrors buildViewSpecOptions\r\n\t\tspec.buttonTextDefault =\r\n\t\t\tqueryButtonText(this.localeDefaults) ||\r\n\t\t\tqueryButtonText(this.dirDefaults) ||\r\n\t\t\tspec.defaults.buttonText || // a single string. from ViewSubclass.defaults\r\n\t\t\tqueryButtonText(Calendar.defaults) ||\r\n\t\t\t(spec.duration ? this.humanizeDuration(spec.duration) : null) || // like \"3 days\"\r\n\t\t\trequestedViewType; // fall back to given view name\r\n\t},\r\n\r\n\r\n\t// Given a view name for a custom view or a standard view, creates a ready-to-go View object\r\n\tinstantiateView: function(viewType) {\r\n\t\tvar spec = this.getViewSpec(viewType);\r\n\r\n\t\treturn new spec['class'](this, viewType, spec.options, spec.duration);\r\n\t},\r\n\r\n\r\n\t// Returns a boolean about whether the view is okay to instantiate at some point\r\n\tisValidViewType: function(viewType) {\r\n\t\treturn Boolean(this.getViewSpec(viewType));\r\n\t},\r\n\r\n\r\n\t// Should be called when any type of async data fetching begins\r\n\tpushLoading: function() {\r\n\t\tif (!(this.loadingLevel++)) {\r\n\t\t\tthis.publiclyTrigger('loading', null, true, this.view);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Should be called when any type of async data fetching completes\r\n\tpopLoading: function() {\r\n\t\tif (!(--this.loadingLevel)) {\r\n\t\t\tthis.publiclyTrigger('loading', null, false, this.view);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Given arguments to the select method in the API, returns a span (unzoned start/end and other info)\r\n\tbuildSelectSpan: function(zonedStartInput, zonedEndInput) {\r\n\t\tvar start = this.moment(zonedStartInput).stripZone();\r\n\t\tvar end;\r\n\r\n\t\tif (zonedEndInput) {\r\n\t\t\tend = this.moment(zonedEndInput).stripZone();\r\n\t\t}\r\n\t\telse if (start.hasTime()) {\r\n\t\t\tend = start.clone().add(this.defaultTimedEventDuration);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tend = start.clone().add(this.defaultAllDayEventDuration);\r\n\t\t}\r\n\r\n\t\treturn { start: start, end: end };\r\n\t}\r\n\r\n});\r\n\r\n\r\nCalendar.mixin(EmitterMixin);\r\n\r\n\r\nfunction Calendar_constructor(element, overrides) {\r\n\tvar t = this;\r\n\r\n\t// declare the current calendar instance relies on GlobalEmitter. needed for garbage collection.\r\n\tGlobalEmitter.needed();\r\n\r\n\r\n\t// Exports\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\tt.render = render;\r\n\tt.destroy = destroy;\r\n\tt.rerenderEvents = rerenderEvents;\r\n\tt.changeView = renderView; // `renderView` will switch to another view\r\n\tt.select = select;\r\n\tt.unselect = unselect;\r\n\tt.prev = prev;\r\n\tt.next = next;\r\n\tt.prevYear = prevYear;\r\n\tt.nextYear = nextYear;\r\n\tt.today = today;\r\n\tt.gotoDate = gotoDate;\r\n\tt.incrementDate = incrementDate;\r\n\tt.zoomTo = zoomTo;\r\n\tt.getDate = getDate;\r\n\tt.getCalendar = getCalendar;\r\n\tt.getView = getView;\r\n\tt.option = option; // getter/setter method\r\n\tt.publiclyTrigger = publiclyTrigger;\r\n\r\n\r\n\t// Options\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\tt.dynamicOverrides = {};\r\n\tt.viewSpecCache = {};\r\n\tt.optionHandlers = {}; // for Calendar.options.js\r\n\tt.overrides = $.extend({}, overrides); // make a copy\r\n\r\n\tt.populateOptionsHash(); // sets this.options\r\n\r\n\r\n\r\n\t// Locale-data Internals\r\n\t// -----------------------------------------------------------------------------------\r\n\t// Apply overrides to the current locale's data\r\n\r\n\tvar localeData;\r\n\r\n\t// Called immediately, and when any of the options change.\r\n\t// Happens before any internal objects rebuild or rerender, because this is very core.\r\n\tt.bindOptions([\r\n\t\t'locale', 'monthNames', 'monthNamesShort', 'dayNames', 'dayNamesShort', 'firstDay', 'weekNumberCalculation'\r\n\t], function(locale, monthNames, monthNamesShort, dayNames, dayNamesShort, firstDay, weekNumberCalculation) {\r\n\r\n\t\t// normalize\r\n\t\tif (weekNumberCalculation === 'iso') {\r\n\t\t\tweekNumberCalculation = 'ISO'; // normalize\r\n\t\t}\r\n\r\n\t\tlocaleData = createObject( // make a cheap copy\r\n\t\t\tgetMomentLocaleData(locale) // will fall back to en\r\n\t\t);\r\n\r\n\t\tif (monthNames) {\r\n\t\t\tlocaleData._months = monthNames;\r\n\t\t}\r\n\t\tif (monthNamesShort) {\r\n\t\t\tlocaleData._monthsShort = monthNamesShort;\r\n\t\t}\r\n\t\tif (dayNames) {\r\n\t\t\tlocaleData._weekdays = dayNames;\r\n\t\t}\r\n\t\tif (dayNamesShort) {\r\n\t\t\tlocaleData._weekdaysShort = dayNamesShort;\r\n\t\t}\r\n\r\n\t\tif (firstDay == null && weekNumberCalculation === 'ISO') {\r\n\t\t\tfirstDay = 1;\r\n\t\t}\r\n\t\tif (firstDay != null) {\r\n\t\t\tvar _week = createObject(localeData._week); // _week: { dow: # }\r\n\t\t\t_week.dow = firstDay;\r\n\t\t\tlocaleData._week = _week;\r\n\t\t}\r\n\r\n\t\tif ( // whitelist certain kinds of input\r\n\t\t\tweekNumberCalculation === 'ISO' ||\r\n\t\t\tweekNumberCalculation === 'local' ||\r\n\t\t\ttypeof weekNumberCalculation === 'function'\r\n\t\t) {\r\n\t\t\tlocaleData._fullCalendar_weekCalc = weekNumberCalculation; // moment-ext will know what to do with it\r\n\t\t}\r\n\r\n\t\t// If the internal current date object already exists, move to new locale.\r\n\t\t// We do NOT need to do this technique for event dates, because this happens when converting to \"segments\".\r\n\t\tif (date) {\r\n\t\t\tlocalizeMoment(date); // sets to localeData\r\n\t\t}\r\n\t});\r\n\r\n\r\n\t// Calendar-specific Date Utilities\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\r\n\tt.defaultAllDayEventDuration = moment.duration(t.options.defaultAllDayEventDuration);\r\n\tt.defaultTimedEventDuration = moment.duration(t.options.defaultTimedEventDuration);\r\n\r\n\r\n\t// Builds a moment using the settings of the current calendar: timezone and locale.\r\n\t// Accepts anything the vanilla moment() constructor accepts.\r\n\tt.moment = function() {\r\n\t\tvar mom;\r\n\r\n\t\tif (t.options.timezone === 'local') {\r\n\t\t\tmom = FC.moment.apply(null, arguments);\r\n\r\n\t\t\t// Force the moment to be local, because FC.moment doesn't guarantee it.\r\n\t\t\tif (mom.hasTime()) { // don't give ambiguously-timed moments a local zone\r\n\t\t\t\tmom.local();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (t.options.timezone === 'UTC') {\r\n\t\t\tmom = FC.moment.utc.apply(null, arguments); // process as UTC\r\n\t\t}\r\n\t\telse {\r\n\t\t\tmom = FC.moment.parseZone.apply(null, arguments); // let the input decide the zone\r\n\t\t}\r\n\r\n\t\tlocalizeMoment(mom);\r\n\r\n\t\treturn mom;\r\n\t};\r\n\r\n\r\n\t// Updates the given moment's locale settings to the current calendar locale settings.\r\n\tfunction localizeMoment(mom) {\r\n\t\tmom._locale = localeData;\r\n\t}\r\n\tt.localizeMoment = localizeMoment;\r\n\r\n\r\n\t// Returns a boolean about whether or not the calendar knows how to calculate\r\n\t// the timezone offset of arbitrary dates in the current timezone.\r\n\tt.getIsAmbigTimezone = function() {\r\n\t\treturn t.options.timezone !== 'local' && t.options.timezone !== 'UTC';\r\n\t};\r\n\r\n\r\n\t// Returns a copy of the given date in the current timezone. Has no effect on dates without times.\r\n\tt.applyTimezone = function(date) {\r\n\t\tif (!date.hasTime()) {\r\n\t\t\treturn date.clone();\r\n\t\t}\r\n\r\n\t\tvar zonedDate = t.moment(date.toArray());\r\n\t\tvar timeAdjust = date.time() - zonedDate.time();\r\n\t\tvar adjustedZonedDate;\r\n\r\n\t\t// Safari sometimes has problems with this coersion when near DST. Adjust if necessary. (bug #2396)\r\n\t\tif (timeAdjust) { // is the time result different than expected?\r\n\t\t\tadjustedZonedDate = zonedDate.clone().add(timeAdjust); // add milliseconds\r\n\t\t\tif (date.time() - adjustedZonedDate.time() === 0) { // does it match perfectly now?\r\n\t\t\t\tzonedDate = adjustedZonedDate;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn zonedDate;\r\n\t};\r\n\r\n\r\n\t// Returns a moment for the current date, as defined by the client's computer or from the `now` option.\r\n\t// Will return an moment with an ambiguous timezone.\r\n\tt.getNow = function() {\r\n\t\tvar now = t.options.now;\r\n\t\tif (typeof now === 'function') {\r\n\t\t\tnow = now();\r\n\t\t}\r\n\t\treturn t.moment(now).stripZone();\r\n\t};\r\n\r\n\r\n\t// Get an event's normalized end date. If not present, calculate it from the defaults.\r\n\tt.getEventEnd = function(event) {\r\n\t\tif (event.end) {\r\n\t\t\treturn event.end.clone();\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn t.getDefaultEventEnd(event.allDay, event.start);\r\n\t\t}\r\n\t};\r\n\r\n\r\n\t// Given an event's allDay status and start date, return what its fallback end date should be.\r\n\t// TODO: rename to computeDefaultEventEnd\r\n\tt.getDefaultEventEnd = function(allDay, zonedStart) {\r\n\t\tvar end = zonedStart.clone();\r\n\r\n\t\tif (allDay) {\r\n\t\t\tend.stripTime().add(t.defaultAllDayEventDuration);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tend.add(t.defaultTimedEventDuration);\r\n\t\t}\r\n\r\n\t\tif (t.getIsAmbigTimezone()) {\r\n\t\t\tend.stripZone(); // we don't know what the tzo should be\r\n\t\t}\r\n\r\n\t\treturn end;\r\n\t};\r\n\r\n\r\n\t// Produces a human-readable string for the given duration.\r\n\t// Side-effect: changes the locale of the given duration.\r\n\tt.humanizeDuration = function(duration) {\r\n\t\treturn duration.locale(t.options.locale).humanize();\r\n\t};\r\n\r\n\r\n\r\n\t// Imports\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\r\n\tEventManager.call(t);\r\n\r\n\r\n\r\n\t// Locals\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\r\n\tvar _element = element[0];\r\n\tvar toolbarsManager;\r\n\tvar header;\r\n\tvar footer;\r\n\tvar content;\r\n\tvar tm; // for making theme classes\r\n\tvar currentView; // NOTE: keep this in sync with this.view\r\n\tvar viewsByType = {}; // holds all instantiated view instances, current or not\r\n\tvar suggestedViewHeight;\r\n\tvar windowResizeProxy; // wraps the windowResize function\r\n\tvar ignoreWindowResize = 0;\r\n\tvar date; // unzoned\r\n\r\n\r\n\r\n\t// Main Rendering\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\r\n\t// compute the initial ambig-timezone date\r\n\tif (t.options.defaultDate != null) {\r\n\t\tdate = t.moment(t.options.defaultDate).stripZone();\r\n\t}\r\n\telse {\r\n\t\tdate = t.getNow(); // getNow already returns unzoned\r\n\t}\r\n\r\n\r\n\tfunction render() {\r\n\t\tif (!content) {\r\n\t\t\tinitialRender();\r\n\t\t}\r\n\t\telse if (elementVisible()) {\r\n\t\t\t// mainly for the public API\r\n\t\t\tcalcSize();\r\n\t\t\trenderView();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction initialRender() {\r\n\t\telement.addClass('fc');\r\n\r\n\t\t// event delegation for nav links\r\n\t\telement.on('click.fc', 'a[data-goto]', function(ev) {\r\n\t\t\tvar anchorEl = $(this);\r\n\t\t\tvar gotoOptions = anchorEl.data('goto'); // will automatically parse JSON\r\n\t\t\tvar date = t.moment(gotoOptions.date);\r\n\t\t\tvar viewType = gotoOptions.type;\r\n\r\n\t\t\t// property like \"navLinkDayClick\". might be a string or a function\r\n\t\t\tvar customAction = currentView.opt('navLink' + capitaliseFirstLetter(viewType) + 'Click');\r\n\r\n\t\t\tif (typeof customAction === 'function') {\r\n\t\t\t\tcustomAction(date, ev);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (typeof customAction === 'string') {\r\n\t\t\t\t\tviewType = customAction;\r\n\t\t\t\t}\r\n\t\t\t\tzoomTo(date, viewType);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// called immediately, and upon option change\r\n\t\tt.bindOption('theme', function(theme) {\r\n\t\t\ttm = theme ? 'ui' : 'fc'; // affects a larger scope\r\n\t\t\telement.toggleClass('ui-widget', theme);\r\n\t\t\telement.toggleClass('fc-unthemed', !theme);\r\n\t\t});\r\n\r\n\t\t// called immediately, and upon option change.\r\n\t\t// HACK: locale often affects isRTL, so we explicitly listen to that too.\r\n\t\tt.bindOptions([ 'isRTL', 'locale' ], function(isRTL) {\r\n\t\t\telement.toggleClass('fc-ltr', !isRTL);\r\n\t\t\telement.toggleClass('fc-rtl', isRTL);\r\n\t\t});\r\n\r\n\t\tcontent = $(\"<div class='fc-view-container'/>\").prependTo(element);\r\n\r\n\t\tvar toolbars = buildToolbars();\r\n\t\ttoolbarsManager = new Iterator(toolbars);\r\n\r\n\t\theader = t.header = toolbars[0];\r\n\t\tfooter = t.footer = toolbars[1];\r\n\r\n\t\trenderHeader();\r\n\t\trenderFooter();\r\n\t\trenderView(t.options.defaultView);\r\n\r\n\t\tif (t.options.handleWindowResize) {\r\n\t\t\twindowResizeProxy = debounce(windowResize, t.options.windowResizeDelay); // prevents rapid calls\r\n\t\t\t$(window).resize(windowResizeProxy);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction destroy() {\r\n\r\n\t\tif (currentView) {\r\n\t\t\tcurrentView.removeElement();\r\n\r\n\t\t\t// NOTE: don't null-out currentView/t.view in case API methods are called after destroy.\r\n\t\t\t// It is still the \"current\" view, just not rendered.\r\n\t\t}\r\n\r\n\t\ttoolbarsManager.proxyCall('removeElement');\r\n\t\tcontent.remove();\r\n\t\telement.removeClass('fc fc-ltr fc-rtl fc-unthemed ui-widget');\r\n\r\n\t\telement.off('.fc'); // unbind nav link handlers\r\n\r\n\t\tif (windowResizeProxy) {\r\n\t\t\t$(window).unbind('resize', windowResizeProxy);\r\n\t\t}\r\n\r\n\t\tGlobalEmitter.unneeded();\r\n\t}\r\n\r\n\r\n\tfunction elementVisible() {\r\n\t\treturn element.is(':visible');\r\n\t}\r\n\r\n\r\n\r\n\t// View Rendering\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\r\n\t// Renders a view because of a date change, view-type change, or for the first time.\r\n\t// If not given a viewType, keep the current view but render different dates.\r\n\t// Accepts an optional scroll state to restore to.\r\n\tfunction renderView(viewType, forcedScroll) {\r\n\t\tignoreWindowResize++;\r\n\r\n\t\tvar needsClearView = currentView && viewType && currentView.type !== viewType;\r\n\r\n\t\t// if viewType is changing, remove the old view's rendering\r\n\t\tif (needsClearView) {\r\n\t\t\tfreezeContentHeight(); // prevent a scroll jump when view element is removed\r\n\t\t\tclearView();\r\n\t\t}\r\n\r\n\t\t// if viewType changed, or the view was never created, create a fresh view\r\n\t\tif (!currentView && viewType) {\r\n\t\t\tcurrentView = t.view =\r\n\t\t\t\tviewsByType[viewType] ||\r\n\t\t\t\t(viewsByType[viewType] = t.instantiateView(viewType));\r\n\r\n\t\t\tcurrentView.setElement(\r\n\t\t\t\t$(\"<div class='fc-view fc-\" + viewType + \"-view' />\").appendTo(content)\r\n\t\t\t);\r\n\t\t\ttoolbarsManager.proxyCall('activateButton', viewType);\r\n\t\t}\r\n\r\n\t\tif (currentView) {\r\n\r\n\t\t\t// in case the view should render a period of time that is completely hidden\r\n\t\t\tdate = currentView.massageCurrentDate(date);\r\n\r\n\t\t\t// render or rerender the view\r\n\t\t\tif (\r\n\t\t\t\t!currentView.isDateSet ||\r\n\t\t\t\t!( // NOT within interval range signals an implicit date window change\r\n\t\t\t\t\tdate >= currentView.intervalStart &&\r\n\t\t\t\t\tdate < currentView.intervalEnd\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tif (elementVisible()) {\r\n\r\n\t\t\t\t\tif (forcedScroll) {\r\n\t\t\t\t\t\tcurrentView.captureInitialScroll(forcedScroll);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcurrentView.setDate(date, forcedScroll);\r\n\r\n\t\t\t\t\tif (forcedScroll) {\r\n\t\t\t\t\t\tcurrentView.releaseScroll();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// need to do this after View::render, so dates are calculated\r\n\t\t\t\t\t// NOTE: view updates title text proactively\r\n\t\t\t\t\tupdateToolbarsTodayButton();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (needsClearView) {\r\n\t\t\tthawContentHeight();\r\n\t\t}\r\n\r\n\t\tignoreWindowResize--;\r\n\t}\r\n\r\n\r\n\t// Unrenders the current view and reflects this change in the Header.\r\n\t// Unregsiters the `currentView`, but does not remove from viewByType hash.\r\n\tfunction clearView() {\r\n\t\ttoolbarsManager.proxyCall('deactivateButton', currentView.type);\r\n\t\tcurrentView.removeElement();\r\n\t\tcurrentView = t.view = null;\r\n\t}\r\n\r\n\r\n\t// Destroys the view, including the view object. Then, re-instantiates it and renders it.\r\n\t// Maintains the same scroll state.\r\n\t// TODO: maintain any other user-manipulated state.\r\n\tfunction reinitView() {\r\n\t\tignoreWindowResize++;\r\n\t\tfreezeContentHeight();\r\n\r\n\t\tvar viewType = currentView.type;\r\n\t\tvar scrollState = currentView.queryScroll();\r\n\t\tclearView();\r\n\t\tcalcSize();\r\n\t\trenderView(viewType, scrollState);\r\n\r\n\t\tthawContentHeight();\r\n\t\tignoreWindowResize--;\r\n\t}\r\n\r\n\r\n\r\n\t// Resizing\r\n\t// -----------------------------------------------------------------------------------\r\n\r\n\r\n\tt.getSuggestedViewHeight = function() {\r\n\t\tif (suggestedViewHeight === undefined) {\r\n\t\t\tcalcSize();\r\n\t\t}\r\n\t\treturn suggestedViewHeight;\r\n\t};\r\n\r\n\r\n\tt.isHeightAuto = function() {\r\n\t\treturn t.options.contentHeight === 'auto' || t.options.height === 'auto';\r\n\t};\r\n\r\n\r\n\tfunction updateSize(shouldRecalc) {\r\n\t\tif (elementVisible()) {\r\n\r\n\t\t\tif (shouldRecalc) {\r\n\t\t\t\t_calcSize();\r\n\t\t\t}\r\n\r\n\t\t\tignoreWindowResize++;\r\n\t\t\tcurrentView.updateSize(true); // isResize=true. will poll getSuggestedViewHeight() and isHeightAuto()\r\n\t\t\tignoreWindowResize--;\r\n\r\n\t\t\treturn true; // signal success\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction calcSize() {\r\n\t\tif (elementVisible()) {\r\n\t\t\t_calcSize();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction _calcSize() { // assumes elementVisible\r\n\t\tvar contentHeightInput = t.options.contentHeight;\r\n\t\tvar heightInput = t.options.height;\r\n\r\n\t\tif (typeof contentHeightInput === 'number') { // exists and not 'auto'\r\n\t\t\tsuggestedViewHeight = contentHeightInput;\r\n\t\t}\r\n\t\telse if (typeof contentHeightInput === 'function') { // exists and is a function\r\n\t\t\tsuggestedViewHeight = contentHeightInput();\r\n\t\t}\r\n\t\telse if (typeof heightInput === 'number') { // exists and not 'auto'\r\n\t\t\tsuggestedViewHeight = heightInput - queryToolbarsHeight();\r\n\t\t}\r\n\t\telse if (typeof heightInput === 'function') { // exists and is a function\r\n\t\t\tsuggestedViewHeight = heightInput() - queryToolbarsHeight();\r\n\t\t}\r\n\t\telse if (heightInput === 'parent') { // set to height of parent element\r\n\t\t\tsuggestedViewHeight = element.parent().height() - queryToolbarsHeight();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsuggestedViewHeight = Math.round(content.width() / Math.max(t.options.aspectRatio, .5));\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction queryToolbarsHeight() {\r\n\t\treturn toolbarsManager.items.reduce(function(accumulator, toolbar) {\r\n\t\t\tvar toolbarHeight = toolbar.el ? toolbar.el.outerHeight(true) : 0; // includes margin\r\n\t\t\treturn accumulator + toolbarHeight;\r\n\t\t}, 0);\r\n\t}\r\n\r\n\r\n\tfunction windowResize(ev) {\r\n\t\tif (\r\n\t\t\t!ignoreWindowResize &&\r\n\t\t\tev.target === window && // so we don't process jqui \"resize\" events that have bubbled up\r\n\t\t\tcurrentView.start // view has already been rendered\r\n\t\t) {\r\n\t\t\tif (updateSize(true)) {\r\n\t\t\t\tcurrentView.publiclyTrigger('windowResize', _element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/* Event Rendering\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\tfunction rerenderEvents() { // API method. destroys old events if previously rendered.\r\n\t\tif (elementVisible()) {\r\n\t\t\tt.reportEventChange(); // will re-trasmit events to the view, causing a rerender\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/* Toolbars\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\tfunction buildToolbars() {\r\n\t\treturn [\r\n\t\t\tnew Toolbar(t, computeHeaderOptions()),\r\n\t\t\tnew Toolbar(t, computeFooterOptions())\r\n\t\t];\r\n\t}\r\n\r\n\r\n\tfunction computeHeaderOptions() {\r\n\t\treturn {\r\n\t\t\textraClasses: 'fc-header-toolbar',\r\n\t\t\tlayout: t.options.header\r\n\t\t};\r\n\t}\r\n\r\n\r\n\tfunction computeFooterOptions() {\r\n\t\treturn {\r\n\t\t\textraClasses: 'fc-footer-toolbar',\r\n\t\t\tlayout: t.options.footer\r\n\t\t};\r\n\t}\r\n\r\n\r\n\t// can be called repeatedly and Header will rerender\r\n\tfunction renderHeader() {\r\n\t\theader.setToolbarOptions(computeHeaderOptions());\r\n\t\theader.render();\r\n\t\tif (header.el) {\r\n\t\t\telement.prepend(header.el);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// can be called repeatedly and Footer will rerender\r\n\tfunction renderFooter() {\r\n\t\tfooter.setToolbarOptions(computeFooterOptions());\r\n\t\tfooter.render();\r\n\t\tif (footer.el) {\r\n\t\t\telement.append(footer.el);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tt.setToolbarsTitle = function(title) {\r\n\t\ttoolbarsManager.proxyCall('updateTitle', title);\r\n\t};\r\n\r\n\r\n\tfunction updateToolbarsTodayButton() {\r\n\t\tvar now = t.getNow();\r\n\t\tif (now >= currentView.intervalStart && now < currentView.intervalEnd) {\r\n\t\t\ttoolbarsManager.proxyCall('disableButton', 'today');\r\n\t\t}\r\n\t\telse {\r\n\t\t\ttoolbarsManager.proxyCall('enableButton', 'today');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/* Selection\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\t// this public method receives start/end dates in any format, with any timezone\r\n\tfunction select(zonedStartInput, zonedEndInput) {\r\n\t\tcurrentView.select(\r\n\t\t\tt.buildSelectSpan.apply(t, arguments)\r\n\t\t);\r\n\t}\r\n\r\n\r\n\tfunction unselect() { // safe to be called before renderView\r\n\t\tif (currentView) {\r\n\t\t\tcurrentView.unselect();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/* Date\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\tfunction prev() {\r\n\t\tdate = currentView.computePrevDate(date);\r\n\t\trenderView();\r\n\t}\r\n\r\n\r\n\tfunction next() {\r\n\t\tdate = currentView.computeNextDate(date);\r\n\t\trenderView();\r\n\t}\r\n\r\n\r\n\tfunction prevYear() {\r\n\t\tdate.add(-1, 'years');\r\n\t\trenderView();\r\n\t}\r\n\r\n\r\n\tfunction nextYear() {\r\n\t\tdate.add(1, 'years');\r\n\t\trenderView();\r\n\t}\r\n\r\n\r\n\tfunction today() {\r\n\t\tdate = t.getNow();\r\n\t\trenderView();\r\n\t}\r\n\r\n\r\n\tfunction gotoDate(zonedDateInput) {\r\n\t\tdate = t.moment(zonedDateInput).stripZone();\r\n\t\trenderView();\r\n\t}\r\n\r\n\r\n\tfunction incrementDate(delta) {\r\n\t\tdate.add(moment.duration(delta));\r\n\t\trenderView();\r\n\t}\r\n\r\n\r\n\t// Forces navigation to a view for the given date.\r\n\t// `viewType` can be a specific view name or a generic one like \"week\" or \"day\".\r\n\tfunction zoomTo(newDate, viewType) {\r\n\t\tvar spec;\r\n\r\n\t\tviewType = viewType || 'day'; // day is default zoom\r\n\t\tspec = t.getViewSpec(viewType) || t.getUnitViewSpec(viewType);\r\n\r\n\t\tdate = newDate.clone();\r\n\t\trenderView(spec ? spec.type : null);\r\n\t}\r\n\r\n\r\n\t// for external API\r\n\tfunction getDate() {\r\n\t\treturn t.applyTimezone(date); // infuse the calendar's timezone\r\n\t}\r\n\r\n\r\n\r\n\t/* Height \"Freezing\"\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\tt.freezeContentHeight = freezeContentHeight;\r\n\tt.thawContentHeight = thawContentHeight;\r\n\r\n\tvar freezeContentHeightDepth = 0;\r\n\r\n\r\n\tfunction freezeContentHeight() {\r\n\t\tif (!(freezeContentHeightDepth++)) {\r\n\t\t\tcontent.css({\r\n\t\t\t\twidth: '100%',\r\n\t\t\t\theight: content.height(),\r\n\t\t\t\toverflow: 'hidden'\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction thawContentHeight() {\r\n\t\tif (!(--freezeContentHeightDepth)) {\r\n\t\t\tcontent.css({\r\n\t\t\t\twidth: '',\r\n\t\t\t\theight: '',\r\n\t\t\t\toverflow: ''\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/* Misc\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\tfunction getCalendar() {\r\n\t\treturn t;\r\n\t}\r\n\r\n\r\n\tfunction getView() {\r\n\t\treturn currentView;\r\n\t}\r\n\r\n\r\n\tfunction option(name, value) {\r\n\t\tvar newOptionHash;\r\n\r\n\t\tif (typeof name === 'string') {\r\n\t\t\tif (value === undefined) { // getter\r\n\t\t\t\treturn t.options[name];\r\n\t\t\t}\r\n\t\t\telse { // setter for individual option\r\n\t\t\t\tnewOptionHash = {};\r\n\t\t\t\tnewOptionHash[name] = value;\r\n\t\t\t\tsetOptions(newOptionHash);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (typeof name === 'object') { // compound setter with object input\r\n\t\t\tsetOptions(name);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction setOptions(newOptionHash) {\r\n\t\tvar optionCnt = 0;\r\n\t\tvar optionName;\r\n\r\n\t\tfor (optionName in newOptionHash) {\r\n\t\t\tt.dynamicOverrides[optionName] = newOptionHash[optionName];\r\n\t\t}\r\n\r\n\t\tt.viewSpecCache = {}; // the dynamic override invalidates the options in this cache, so just clear it\r\n\t\tt.populateOptionsHash(); // this.options needs to be recomputed after the dynamic override\r\n\r\n\t\t// trigger handlers after this.options has been updated\r\n\t\tfor (optionName in newOptionHash) {\r\n\t\t\tt.triggerOptionHandlers(optionName); // recall bindOption/bindOptions\r\n\t\t\toptionCnt++;\r\n\t\t}\r\n\r\n\t\t// special-case handling of single option change.\r\n\t\t// if only one option change, `optionName` will be its name.\r\n\t\tif (optionCnt === 1) {\r\n\t\t\tif (optionName === 'height' || optionName === 'contentHeight' || optionName === 'aspectRatio') {\r\n\t\t\t\tupdateSize(true); // true = allow recalculation of height\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse if (optionName === 'defaultDate') {\r\n\t\t\t\treturn; // can't change date this way. use gotoDate instead\r\n\t\t\t}\r\n\t\t\telse if (optionName === 'businessHours') {\r\n\t\t\t\tif (currentView) {\r\n\t\t\t\t\tcurrentView.unrenderBusinessHours();\r\n\t\t\t\t\tcurrentView.renderBusinessHours();\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse if (optionName === 'timezone') {\r\n\t\t\t\tt.rezoneArrayEventSources();\r\n\t\t\t\tt.refetchEvents();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// catch-all. rerender the header and footer and rebuild/rerender the current view\r\n\t\trenderHeader();\r\n\t\trenderFooter();\r\n\t\tviewsByType = {}; // even non-current views will be affected by this option change. do before rerender\r\n\t\treinitView();\r\n\t}\r\n\r\n\r\n\tfunction publiclyTrigger(name, thisObj) {\r\n\t\tvar args = Array.prototype.slice.call(arguments, 2);\r\n\r\n\t\tthisObj = thisObj || _element;\r\n\t\tthis.triggerWith(name, thisObj, args); // Emitter's method\r\n\r\n\t\tif (t.options[name]) {\r\n\t\t\treturn t.options[name].apply(thisObj, args);\r\n\t\t}\r\n\t}\r\n\r\n\tt.initialize();\r\n}\r\n\r\n;;\r\n/*\r\nOptions binding/triggering system.\r\n*/\r\nCalendar.mixin({\r\n\r\n\t// A map of option names to arrays of handler objects. Initialized to {} in Calendar.\r\n\t// Format for a handler object:\r\n\t// {\r\n\t//   func // callback function to be called upon change\r\n\t//   names // option names whose values should be given to func\r\n\t// }\r\n\toptionHandlers: null, \r\n\r\n\t// Calls handlerFunc immediately, and when the given option has changed.\r\n\t// handlerFunc will be given the option value.\r\n\tbindOption: function(optionName, handlerFunc) {\r\n\t\tthis.bindOptions([ optionName ], handlerFunc);\r\n\t},\r\n\r\n\t// Calls handlerFunc immediately, and when any of the given options change.\r\n\t// handlerFunc will be given each option value as ordered function arguments.\r\n\tbindOptions: function(optionNames, handlerFunc) {\r\n\t\tvar handlerObj = { func: handlerFunc, names: optionNames };\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < optionNames.length; i++) {\r\n\t\t\tthis.registerOptionHandlerObj(optionNames[i], handlerObj);\r\n\t\t}\r\n\r\n\t\tthis.triggerOptionHandlerObj(handlerObj);\r\n\t},\r\n\r\n\t// Puts the given handler object into the internal hash\r\n\tregisterOptionHandlerObj: function(optionName, handlerObj) {\r\n\t\t(this.optionHandlers[optionName] || (this.optionHandlers[optionName] = []))\r\n\t\t\t.push(handlerObj);\r\n\t},\r\n\r\n\t// Reports that the given option has changed, and calls all appropriate handlers.\r\n\ttriggerOptionHandlers: function(optionName) {\r\n\t\tvar handlerObjs = this.optionHandlers[optionName] || [];\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < handlerObjs.length; i++) {\r\n\t\t\tthis.triggerOptionHandlerObj(handlerObjs[i]);\r\n\t\t}\r\n\t},\r\n\r\n\t// Calls the callback for a specific handler object, passing in the appropriate arguments.\r\n\ttriggerOptionHandlerObj: function(handlerObj) {\r\n\t\tvar optionNames = handlerObj.names;\r\n\t\tvar optionValues = [];\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 0; i < optionNames.length; i++) {\r\n\t\t\toptionValues.push(this.options[optionNames[i]]);\r\n\t\t}\r\n\r\n\t\thandlerObj.func.apply(this, optionValues); // maintain the Calendar's `this` context\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\nCalendar.defaults = {\r\n\r\n\ttitleRangeSeparator: ' \\u2013 ', // en dash\r\n\tmonthYearFormat: 'MMMM YYYY', // required for en. other locales rely on datepicker computable option\r\n\r\n\tdefaultTimedEventDuration: '02:00:00',\r\n\tdefaultAllDayEventDuration: { days: 1 },\r\n\tforceEventDuration: false,\r\n\tnextDayThreshold: '09:00:00', // 9am\r\n\r\n\t// display\r\n\tdefaultView: 'month',\r\n\taspectRatio: 1.35,\r\n\theader: {\r\n\t\tleft: 'title',\r\n\t\tcenter: '',\r\n\t\tright: 'today prev,next'\r\n\t},\r\n\tweekends: true,\r\n\tweekNumbers: false,\r\n\r\n\tweekNumberTitle: 'W',\r\n\tweekNumberCalculation: 'local',\r\n\t\r\n\t//editable: false,\r\n\r\n\t//nowIndicator: false,\r\n\r\n\tscrollTime: '06:00:00',\r\n\t\r\n\t// event ajax\r\n\tlazyFetching: true,\r\n\tstartParam: 'start',\r\n\tendParam: 'end',\r\n\ttimezoneParam: 'timezone',\r\n\r\n\ttimezone: false,\r\n\r\n\t//allDayDefault: undefined,\r\n\r\n\t// locale\r\n\tisRTL: false,\r\n\tbuttonText: {\r\n\t\tprev: \"prev\",\r\n\t\tnext: \"next\",\r\n\t\tprevYear: \"prev year\",\r\n\t\tnextYear: \"next year\",\r\n\t\tyear: 'year', // TODO: locale files need to specify this\r\n\t\ttoday: 'today',\r\n\t\tmonth: 'month',\r\n\t\tweek: 'week',\r\n\t\tday: 'day'\r\n\t},\r\n\r\n\tbuttonIcons: {\r\n\t\tprev: 'left-single-arrow',\r\n\t\tnext: 'right-single-arrow',\r\n\t\tprevYear: 'left-double-arrow',\r\n\t\tnextYear: 'right-double-arrow'\r\n\t},\r\n\r\n\tallDayText: 'all-day',\r\n\t\r\n\t// jquery-ui theming\r\n\ttheme: false,\r\n\tthemeButtonIcons: {\r\n\t\tprev: 'circle-triangle-w',\r\n\t\tnext: 'circle-triangle-e',\r\n\t\tprevYear: 'seek-prev',\r\n\t\tnextYear: 'seek-next'\r\n\t},\r\n\r\n\t//eventResizableFromStart: false,\r\n\tdragOpacity: .75,\r\n\tdragRevertDuration: 500,\r\n\tdragScroll: true,\r\n\t\r\n\t//selectable: false,\r\n\tunselectAuto: true,\r\n\t//selectMinDistance: 0,\r\n\t\r\n\tdropAccept: '*',\r\n\r\n\teventOrder: 'title',\r\n\t//eventRenderWait: null,\r\n\r\n\teventLimit: false,\r\n\teventLimitText: 'more',\r\n\teventLimitClick: 'popover',\r\n\tdayPopoverFormat: 'LL',\r\n\t\r\n\thandleWindowResize: true,\r\n\twindowResizeDelay: 100, // milliseconds before an updateSize happens\r\n\r\n\tlongPressDelay: 1000\r\n\t\r\n};\r\n\r\n\r\nCalendar.englishDefaults = { // used by locale.js\r\n\tdayPopoverFormat: 'dddd, MMMM D'\r\n};\r\n\r\n\r\nCalendar.rtlDefaults = { // right-to-left defaults\r\n\theader: { // TODO: smarter solution (first/center/last ?)\r\n\t\tleft: 'next,prev today',\r\n\t\tcenter: '',\r\n\t\tright: 'title'\r\n\t},\r\n\tbuttonIcons: {\r\n\t\tprev: 'right-single-arrow',\r\n\t\tnext: 'left-single-arrow',\r\n\t\tprevYear: 'right-double-arrow',\r\n\t\tnextYear: 'left-double-arrow'\r\n\t},\r\n\tthemeButtonIcons: {\r\n\t\tprev: 'circle-triangle-e',\r\n\t\tnext: 'circle-triangle-w',\r\n\t\tnextYear: 'seek-prev',\r\n\t\tprevYear: 'seek-next'\r\n\t}\r\n};\r\n\r\n;;\r\n\r\nvar localeOptionHash = FC.locales = {}; // initialize and expose\r\n\r\n\r\n// TODO: document the structure and ordering of a FullCalendar locale file\r\n\r\n\r\n// Initialize jQuery UI datepicker translations while using some of the translations\r\n// Will set this as the default locales for datepicker.\r\nFC.datepickerLocale = function(localeCode, dpLocaleCode, dpOptions) {\r\n\r\n\t// get the FullCalendar internal option hash for this locale. create if necessary\r\n\tvar fcOptions = localeOptionHash[localeCode] || (localeOptionHash[localeCode] = {});\r\n\r\n\t// transfer some simple options from datepicker to fc\r\n\tfcOptions.isRTL = dpOptions.isRTL;\r\n\tfcOptions.weekNumberTitle = dpOptions.weekHeader;\r\n\r\n\t// compute some more complex options from datepicker\r\n\t$.each(dpComputableOptions, function(name, func) {\r\n\t\tfcOptions[name] = func(dpOptions);\r\n\t});\r\n\r\n\t// is jQuery UI Datepicker is on the page?\r\n\tif ($.datepicker) {\r\n\r\n\t\t// Register the locale data.\r\n\t\t// FullCalendar and MomentJS use locale codes like \"pt-br\" but Datepicker\r\n\t\t// does it like \"pt-BR\" or if it doesn't have the locale, maybe just \"pt\".\r\n\t\t// Make an alias so the locale can be referenced either way.\r\n\t\t$.datepicker.regional[dpLocaleCode] =\r\n\t\t\t$.datepicker.regional[localeCode] = // alias\r\n\t\t\t\tdpOptions;\r\n\r\n\t\t// Alias 'en' to the default locale data. Do this every time.\r\n\t\t$.datepicker.regional.en = $.datepicker.regional[''];\r\n\r\n\t\t// Set as Datepicker's global defaults.\r\n\t\t$.datepicker.setDefaults(dpOptions);\r\n\t}\r\n};\r\n\r\n\r\n// Sets FullCalendar-specific translations. Will set the locales as the global default.\r\nFC.locale = function(localeCode, newFcOptions) {\r\n\tvar fcOptions;\r\n\tvar momOptions;\r\n\r\n\t// get the FullCalendar internal option hash for this locale. create if necessary\r\n\tfcOptions = localeOptionHash[localeCode] || (localeOptionHash[localeCode] = {});\r\n\r\n\t// provided new options for this locales? merge them in\r\n\tif (newFcOptions) {\r\n\t\tfcOptions = localeOptionHash[localeCode] = mergeOptions([ fcOptions, newFcOptions ]);\r\n\t}\r\n\r\n\t// compute locale options that weren't defined.\r\n\t// always do this. newFcOptions can be undefined when initializing from i18n file,\r\n\t// so no way to tell if this is an initialization or a default-setting.\r\n\tmomOptions = getMomentLocaleData(localeCode); // will fall back to en\r\n\t$.each(momComputableOptions, function(name, func) {\r\n\t\tif (fcOptions[name] == null) {\r\n\t\t\tfcOptions[name] = func(momOptions, fcOptions);\r\n\t\t}\r\n\t});\r\n\r\n\t// set it as the default locale for FullCalendar\r\n\tCalendar.defaults.locale = localeCode;\r\n};\r\n\r\n\r\n// NOTE: can't guarantee any of these computations will run because not every locale has datepicker\r\n// configs, so make sure there are English fallbacks for these in the defaults file.\r\nvar dpComputableOptions = {\r\n\r\n\tbuttonText: function(dpOptions) {\r\n\t\treturn {\r\n\t\t\t// the translations sometimes wrongly contain HTML entities\r\n\t\t\tprev: stripHtmlEntities(dpOptions.prevText),\r\n\t\t\tnext: stripHtmlEntities(dpOptions.nextText),\r\n\t\t\ttoday: stripHtmlEntities(dpOptions.currentText)\r\n\t\t};\r\n\t},\r\n\r\n\t// Produces format strings like \"MMMM YYYY\" -> \"September 2014\"\r\n\tmonthYearFormat: function(dpOptions) {\r\n\t\treturn dpOptions.showMonthAfterYear ?\r\n\t\t\t'YYYY[' + dpOptions.yearSuffix + '] MMMM' :\r\n\t\t\t'MMMM YYYY[' + dpOptions.yearSuffix + ']';\r\n\t}\r\n\r\n};\r\n\r\nvar momComputableOptions = {\r\n\r\n\t// Produces format strings like \"ddd M/D\" -> \"Fri 9/15\"\r\n\tdayOfMonthFormat: function(momOptions, fcOptions) {\r\n\t\tvar format = momOptions.longDateFormat('l'); // for the format like \"M/D/YYYY\"\r\n\r\n\t\t// strip the year off the edge, as well as other misc non-whitespace chars\r\n\t\tformat = format.replace(/^Y+[^\\w\\s]*|[^\\w\\s]*Y+$/g, '');\r\n\r\n\t\tif (fcOptions.isRTL) {\r\n\t\t\tformat += ' ddd'; // for RTL, add day-of-week to end\r\n\t\t}\r\n\t\telse {\r\n\t\t\tformat = 'ddd ' + format; // for LTR, add day-of-week to beginning\r\n\t\t}\r\n\t\treturn format;\r\n\t},\r\n\r\n\t// Produces format strings like \"h:mma\" -> \"6:00pm\"\r\n\tmediumTimeFormat: function(momOptions) { // can't be called `timeFormat` because collides with option\r\n\t\treturn momOptions.longDateFormat('LT')\r\n\t\t\t.replace(/\\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand\r\n\t},\r\n\r\n\t// Produces format strings like \"h(:mm)a\" -> \"6pm\" / \"6:30pm\"\r\n\tsmallTimeFormat: function(momOptions) {\r\n\t\treturn momOptions.longDateFormat('LT')\r\n\t\t\t.replace(':mm', '(:mm)')\r\n\t\t\t.replace(/(\\Wmm)$/, '($1)') // like above, but for foreign locales\r\n\t\t\t.replace(/\\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand\r\n\t},\r\n\r\n\t// Produces format strings like \"h(:mm)t\" -> \"6p\" / \"6:30p\"\r\n\textraSmallTimeFormat: function(momOptions) {\r\n\t\treturn momOptions.longDateFormat('LT')\r\n\t\t\t.replace(':mm', '(:mm)')\r\n\t\t\t.replace(/(\\Wmm)$/, '($1)') // like above, but for foreign locales\r\n\t\t\t.replace(/\\s*a$/i, 't'); // convert to AM/PM/am/pm to lowercase one-letter. remove any spaces beforehand\r\n\t},\r\n\r\n\t// Produces format strings like \"ha\" / \"H\" -> \"6pm\" / \"18\"\r\n\thourFormat: function(momOptions) {\r\n\t\treturn momOptions.longDateFormat('LT')\r\n\t\t\t.replace(':mm', '')\r\n\t\t\t.replace(/(\\Wmm)$/, '') // like above, but for foreign locales\r\n\t\t\t.replace(/\\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand\r\n\t},\r\n\r\n\t// Produces format strings like \"h:mm\" -> \"6:30\" (with no AM/PM)\r\n\tnoMeridiemTimeFormat: function(momOptions) {\r\n\t\treturn momOptions.longDateFormat('LT')\r\n\t\t\t.replace(/\\s*a$/i, ''); // remove trailing AM/PM\r\n\t}\r\n\r\n};\r\n\r\n\r\n// options that should be computed off live calendar options (considers override options)\r\n// TODO: best place for this? related to locale?\r\n// TODO: flipping text based on isRTL is a bad idea because the CSS `direction` might want to handle it\r\nvar instanceComputableOptions = {\r\n\r\n\t// Produces format strings for results like \"Mo 16\"\r\n\tsmallDayDateFormat: function(options) {\r\n\t\treturn options.isRTL ?\r\n\t\t\t'D dd' :\r\n\t\t\t'dd D';\r\n\t},\r\n\r\n\t// Produces format strings for results like \"Wk 5\"\r\n\tweekFormat: function(options) {\r\n\t\treturn options.isRTL ?\r\n\t\t\t'w[ ' + options.weekNumberTitle + ']' :\r\n\t\t\t'[' + options.weekNumberTitle + ' ]w';\r\n\t},\r\n\r\n\t// Produces format strings for results like \"Wk5\"\r\n\tsmallWeekFormat: function(options) {\r\n\t\treturn options.isRTL ?\r\n\t\t\t'w[' + options.weekNumberTitle + ']' :\r\n\t\t\t'[' + options.weekNumberTitle + ']w';\r\n\t}\r\n\r\n};\r\n\r\nfunction populateInstanceComputableOptions(options) {\r\n\t$.each(instanceComputableOptions, function(name, func) {\r\n\t\tif (options[name] == null) {\r\n\t\t\toptions[name] = func(options);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n\r\n// Returns moment's internal locale data. If doesn't exist, returns English.\r\nfunction getMomentLocaleData(localeCode) {\r\n\treturn moment.localeData(localeCode) || moment.localeData('en');\r\n}\r\n\r\n\r\n// Initialize English by forcing computation of moment-derived options.\r\n// Also, sets it as the default.\r\nFC.locale('en', Calendar.englishDefaults);\r\n\r\n;;\r\n\r\nFC.sourceNormalizers = [];\r\nFC.sourceFetchers = [];\r\n\r\nvar ajaxDefaults = {\r\n\tdataType: 'json',\r\n\tcache: false\r\n};\r\n\r\nvar eventGUID = 1;\r\n\r\n\r\nfunction EventManager() { // assumed to be a calendar\r\n\tvar t = this;\r\n\r\n\r\n\t// exports\r\n\tt.requestEvents = requestEvents;\r\n\tt.reportEventChange = reportEventChange;\r\n\tt.isFetchNeeded = isFetchNeeded;\r\n\tt.fetchEvents = fetchEvents;\r\n\tt.fetchEventSources = fetchEventSources;\r\n\tt.refetchEvents = refetchEvents;\r\n\tt.refetchEventSources = refetchEventSources;\r\n\tt.getEventSources = getEventSources;\r\n\tt.getEventSourceById = getEventSourceById;\r\n\tt.addEventSource = addEventSource;\r\n\tt.removeEventSource = removeEventSource;\r\n\tt.removeEventSources = removeEventSources;\r\n\tt.updateEvent = updateEvent;\r\n\tt.updateEvents = updateEvents;\r\n\tt.renderEvent = renderEvent;\r\n\tt.renderEvents = renderEvents;\r\n\tt.removeEvents = removeEvents;\r\n\tt.clientEvents = clientEvents;\r\n\tt.mutateEvent = mutateEvent;\r\n\tt.normalizeEventDates = normalizeEventDates;\r\n\tt.normalizeEventTimes = normalizeEventTimes;\r\n\r\n\r\n\t// locals\r\n\tvar stickySource = { events: [] };\r\n\tvar sources = [ stickySource ];\r\n\tvar rangeStart, rangeEnd;\r\n\tvar pendingSourceCnt = 0; // outstanding fetch requests, max one per source\r\n\tvar cache = []; // holds events that have already been expanded\r\n\tvar prunedCache; // like cache, but only events that intersect with rangeStart/rangeEnd\r\n\r\n\r\n\t$.each(\r\n\t\t(t.options.events ? [ t.options.events ] : []).concat(t.options.eventSources || []),\r\n\t\tfunction(i, sourceInput) {\r\n\t\t\tvar source = buildEventSource(sourceInput);\r\n\t\t\tif (source) {\r\n\t\t\t\tsources.push(source);\r\n\t\t\t}\r\n\t\t}\r\n\t);\r\n\r\n\r\n\r\n\tfunction requestEvents(start, end) {\r\n\t\tif (!t.options.lazyFetching || isFetchNeeded(start, end)) {\r\n\t\t\treturn fetchEvents(start, end);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn Promise.resolve(prunedCache);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction reportEventChange() {\r\n\t\tprunedCache = filterEventsWithinRange(cache);\r\n\t\tt.trigger('eventsReset', prunedCache);\r\n\t}\r\n\r\n\r\n\tfunction filterEventsWithinRange(events) {\r\n\t\tvar filteredEvents = [];\r\n\t\tvar i, event;\r\n\r\n\t\tfor (i = 0; i < events.length; i++) {\r\n\t\t\tevent = events[i];\r\n\r\n\t\t\tif (\r\n\t\t\t\tevent.start.clone().stripZone() < rangeEnd &&\r\n\t\t\t\tt.getEventEnd(event).stripZone() > rangeStart\r\n\t\t\t) {\r\n\t\t\t\tfilteredEvents.push(event);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn filteredEvents;\r\n\t}\r\n\r\n\r\n\tt.getEventCache = function() {\r\n\t\treturn cache;\r\n\t};\r\n\r\n\r\n\tt.getPrunedEventCache = function() {\r\n\t\treturn prunedCache;\r\n\t};\r\n\r\n\r\n\r\n\t/* Fetching\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\t// start and end are assumed to be unzoned\r\n\tfunction isFetchNeeded(start, end) {\r\n\t\treturn !rangeStart || // nothing has been fetched yet?\r\n\t\t\tstart < rangeStart || end > rangeEnd; // is part of the new range outside of the old range?\r\n\t}\r\n\r\n\r\n\tfunction fetchEvents(start, end) {\r\n\t\trangeStart = start;\r\n\t\trangeEnd = end;\r\n\t\treturn refetchEvents();\r\n\t}\r\n\r\n\r\n\t// poorly named. fetches all sources with current `rangeStart` and `rangeEnd`.\r\n\tfunction refetchEvents() {\r\n\t\treturn fetchEventSources(sources, 'reset');\r\n\t}\r\n\r\n\r\n\t// poorly named. fetches a subset of event sources.\r\n\tfunction refetchEventSources(matchInputs) {\r\n\t\treturn fetchEventSources(getEventSourcesByMatchArray(matchInputs));\r\n\t}\r\n\r\n\r\n\t// expects an array of event source objects (the originals, not copies)\r\n\t// `specialFetchType` is an optimization parameter that affects purging of the event cache.\r\n\tfunction fetchEventSources(specificSources, specialFetchType) {\r\n\t\tvar i, source;\r\n\r\n\t\tif (specialFetchType === 'reset') {\r\n\t\t\tcache = [];\r\n\t\t}\r\n\t\telse if (specialFetchType !== 'add') {\r\n\t\t\tcache = excludeEventsBySources(cache, specificSources);\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < specificSources.length; i++) {\r\n\t\t\tsource = specificSources[i];\r\n\r\n\t\t\t// already-pending sources have already been accounted for in pendingSourceCnt\r\n\t\t\tif (source._status !== 'pending') {\r\n\t\t\t\tpendingSourceCnt++;\r\n\t\t\t}\r\n\r\n\t\t\tsource._fetchId = (source._fetchId || 0) + 1;\r\n\t\t\tsource._status = 'pending';\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < specificSources.length; i++) {\r\n\t\t\tsource = specificSources[i];\r\n\t\t\ttryFetchEventSource(source, source._fetchId);\r\n\t\t}\r\n\r\n\t\tif (pendingSourceCnt) {\r\n\t\t\treturn new Promise(function(resolve) {\r\n\t\t\t\tt.one('eventsReceived', resolve); // will send prunedCache\r\n\t\t\t});\r\n\t\t}\r\n\t\telse { // executed all synchronously, or no sources at all\r\n\t\t\treturn Promise.resolve(prunedCache);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// fetches an event source and processes its result ONLY if it is still the current fetch.\r\n\t// caller is responsible for incrementing pendingSourceCnt first.\r\n\tfunction tryFetchEventSource(source, fetchId) {\r\n\t\t_fetchEventSource(source, function(eventInputs) {\r\n\t\t\tvar isArraySource = $.isArray(source.events);\r\n\t\t\tvar i, eventInput;\r\n\t\t\tvar abstractEvent;\r\n\r\n\t\t\tif (\r\n\t\t\t\t// is this the source's most recent fetch?\r\n\t\t\t\t// if not, rely on an upcoming fetch of this source to decrement pendingSourceCnt\r\n\t\t\t\tfetchId === source._fetchId &&\r\n\t\t\t\t// event source no longer valid?\r\n\t\t\t\tsource._status !== 'rejected'\r\n\t\t\t) {\r\n\t\t\t\tsource._status = 'resolved';\r\n\r\n\t\t\t\tif (eventInputs) {\r\n\t\t\t\t\tfor (i = 0; i < eventInputs.length; i++) {\r\n\t\t\t\t\t\teventInput = eventInputs[i];\r\n\r\n\t\t\t\t\t\tif (isArraySource) { // array sources have already been convert to Event Objects\r\n\t\t\t\t\t\t\tabstractEvent = eventInput;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tabstractEvent = buildEventFromInput(eventInput, source);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (abstractEvent) { // not false (an invalid event)\r\n\t\t\t\t\t\t\tcache.push.apply( // append\r\n\t\t\t\t\t\t\t\tcache,\r\n\t\t\t\t\t\t\t\texpandEvent(abstractEvent) // add individual expanded events to the cache\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdecrementPendingSourceCnt();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tfunction rejectEventSource(source) {\r\n\t\tvar wasPending = source._status === 'pending';\r\n\r\n\t\tsource._status = 'rejected';\r\n\r\n\t\tif (wasPending) {\r\n\t\t\tdecrementPendingSourceCnt();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction decrementPendingSourceCnt() {\r\n\t\tpendingSourceCnt--;\r\n\t\tif (!pendingSourceCnt) {\r\n\t\t\treportEventChange(cache); // updates prunedCache\r\n\t\t\tt.trigger('eventsReceived', prunedCache);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction _fetchEventSource(source, callback) {\r\n\t\tvar i;\r\n\t\tvar fetchers = FC.sourceFetchers;\r\n\t\tvar res;\r\n\r\n\t\tfor (i=0; i<fetchers.length; i++) {\r\n\t\t\tres = fetchers[i].call(\r\n\t\t\t\tt, // this, the Calendar object\r\n\t\t\t\tsource,\r\n\t\t\t\trangeStart.clone(),\r\n\t\t\t\trangeEnd.clone(),\r\n\t\t\t\tt.options.timezone,\r\n\t\t\t\tcallback\r\n\t\t\t);\r\n\r\n\t\t\tif (res === true) {\r\n\t\t\t\t// the fetcher is in charge. made its own async request\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse if (typeof res == 'object') {\r\n\t\t\t\t// the fetcher returned a new source. process it\r\n\t\t\t\t_fetchEventSource(res, callback);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar events = source.events;\r\n\t\tif (events) {\r\n\t\t\tif ($.isFunction(events)) {\r\n\t\t\t\tt.pushLoading();\r\n\t\t\t\tevents.call(\r\n\t\t\t\t\tt, // this, the Calendar object\r\n\t\t\t\t\trangeStart.clone(),\r\n\t\t\t\t\trangeEnd.clone(),\r\n\t\t\t\t\tt.options.timezone,\r\n\t\t\t\t\tfunction(events) {\r\n\t\t\t\t\t\tcallback(events);\r\n\t\t\t\t\t\tt.popLoading();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\telse if ($.isArray(events)) {\r\n\t\t\t\tcallback(events);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcallback();\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\tvar url = source.url;\r\n\t\t\tif (url) {\r\n\t\t\t\tvar success = source.success;\r\n\t\t\t\tvar error = source.error;\r\n\t\t\t\tvar complete = source.complete;\r\n\r\n\t\t\t\t// retrieve any outbound GET/POST $.ajax data from the options\r\n\t\t\t\tvar customData;\r\n\t\t\t\tif ($.isFunction(source.data)) {\r\n\t\t\t\t\t// supplied as a function that returns a key/value object\r\n\t\t\t\t\tcustomData = source.data();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t// supplied as a straight key/value object\r\n\t\t\t\t\tcustomData = source.data;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// use a copy of the custom data so we can modify the parameters\r\n\t\t\t\t// and not affect the passed-in object.\r\n\t\t\t\tvar data = $.extend({}, customData || {});\r\n\r\n\t\t\t\tvar startParam = firstDefined(source.startParam, t.options.startParam);\r\n\t\t\t\tvar endParam = firstDefined(source.endParam, t.options.endParam);\r\n\t\t\t\tvar timezoneParam = firstDefined(source.timezoneParam, t.options.timezoneParam);\r\n\r\n\t\t\t\tif (startParam) {\r\n\t\t\t\t\tdata[startParam] = rangeStart.format();\r\n\t\t\t\t}\r\n\t\t\t\tif (endParam) {\r\n\t\t\t\t\tdata[endParam] = rangeEnd.format();\r\n\t\t\t\t}\r\n\t\t\t\tif (t.options.timezone && t.options.timezone != 'local') {\r\n\t\t\t\t\tdata[timezoneParam] = t.options.timezone;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tt.pushLoading();\r\n\t\t\t\t$.ajax($.extend({}, ajaxDefaults, source, {\r\n\t\t\t\t\tdata: data,\r\n\t\t\t\t\tsuccess: function(events) {\r\n\t\t\t\t\t\tevents = events || [];\r\n\t\t\t\t\t\tvar res = applyAll(success, this, arguments);\r\n\t\t\t\t\t\tif ($.isArray(res)) {\r\n\t\t\t\t\t\t\tevents = res;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcallback(events);\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: function() {\r\n\t\t\t\t\t\tapplyAll(error, this, arguments);\r\n\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcomplete: function() {\r\n\t\t\t\t\t\tapplyAll(complete, this, arguments);\r\n\t\t\t\t\t\tt.popLoading();\r\n\t\t\t\t\t}\r\n\t\t\t\t}));\r\n\t\t\t}else{\r\n\t\t\t\tcallback();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/* Sources\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\tfunction addEventSource(sourceInput) {\r\n\t\tvar source = buildEventSource(sourceInput);\r\n\t\tif (source) {\r\n\t\t\tsources.push(source);\r\n\t\t\tfetchEventSources([ source ], 'add'); // will eventually call reportEventChange\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction buildEventSource(sourceInput) { // will return undefined if invalid source\r\n\t\tvar normalizers = FC.sourceNormalizers;\r\n\t\tvar source;\r\n\t\tvar i;\r\n\r\n\t\tif ($.isFunction(sourceInput) || $.isArray(sourceInput)) {\r\n\t\t\tsource = { events: sourceInput };\r\n\t\t}\r\n\t\telse if (typeof sourceInput === 'string') {\r\n\t\t\tsource = { url: sourceInput };\r\n\t\t}\r\n\t\telse if (typeof sourceInput === 'object') {\r\n\t\t\tsource = $.extend({}, sourceInput); // shallow copy\r\n\t\t}\r\n\r\n\t\tif (source) {\r\n\r\n\t\t\t// TODO: repeat code, same code for event classNames\r\n\t\t\tif (source.className) {\r\n\t\t\t\tif (typeof source.className === 'string') {\r\n\t\t\t\t\tsource.className = source.className.split(/\\s+/);\r\n\t\t\t\t}\r\n\t\t\t\t// otherwise, assumed to be an array\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tsource.className = [];\r\n\t\t\t}\r\n\r\n\t\t\t// for array sources, we convert to standard Event Objects up front\r\n\t\t\tif ($.isArray(source.events)) {\r\n\t\t\t\tsource.origArray = source.events; // for removeEventSource\r\n\t\t\t\tsource.events = $.map(source.events, function(eventInput) {\r\n\t\t\t\t\treturn buildEventFromInput(eventInput, source);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tfor (i=0; i<normalizers.length; i++) {\r\n\t\t\t\tnormalizers[i].call(t, source);\r\n\t\t\t}\r\n\r\n\t\t\treturn source;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction removeEventSource(matchInput) {\r\n\t\tremoveSpecificEventSources(\r\n\t\t\tgetEventSourcesByMatch(matchInput)\r\n\t\t);\r\n\t}\r\n\r\n\r\n\t// if called with no arguments, removes all.\r\n\tfunction removeEventSources(matchInputs) {\r\n\t\tif (matchInputs == null) {\r\n\t\t\tremoveSpecificEventSources(sources, true); // isAll=true\r\n\t\t}\r\n\t\telse {\r\n\t\t\tremoveSpecificEventSources(\r\n\t\t\t\tgetEventSourcesByMatchArray(matchInputs)\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction removeSpecificEventSources(targetSources, isAll) {\r\n\t\tvar i;\r\n\r\n\t\t// cancel pending requests\r\n\t\tfor (i = 0; i < targetSources.length; i++) {\r\n\t\t\trejectEventSource(targetSources[i]);\r\n\t\t}\r\n\r\n\t\tif (isAll) { // an optimization\r\n\t\t\tsources = [];\r\n\t\t\tcache = [];\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// remove from persisted source list\r\n\t\t\tsources = $.grep(sources, function(source) {\r\n\t\t\t\tfor (i = 0; i < targetSources.length; i++) {\r\n\t\t\t\t\tif (source === targetSources[i]) {\r\n\t\t\t\t\t\treturn false; // exclude\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn true; // include\r\n\t\t\t});\r\n\r\n\t\t\tcache = excludeEventsBySources(cache, targetSources);\r\n\t\t}\r\n\r\n\t\treportEventChange();\r\n\t}\r\n\r\n\r\n\tfunction getEventSources() {\r\n\t\treturn sources.slice(1); // returns a shallow copy of sources with stickySource removed\r\n\t}\r\n\r\n\r\n\tfunction getEventSourceById(id) {\r\n\t\treturn $.grep(sources, function(source) {\r\n\t\t\treturn source.id && source.id === id;\r\n\t\t})[0];\r\n\t}\r\n\r\n\r\n\t// like getEventSourcesByMatch, but accepts multple match criteria (like multiple IDs)\r\n\tfunction getEventSourcesByMatchArray(matchInputs) {\r\n\r\n\t\t// coerce into an array\r\n\t\tif (!matchInputs) {\r\n\t\t\tmatchInputs = [];\r\n\t\t}\r\n\t\telse if (!$.isArray(matchInputs)) {\r\n\t\t\tmatchInputs = [ matchInputs ];\r\n\t\t}\r\n\r\n\t\tvar matchingSources = [];\r\n\t\tvar i;\r\n\r\n\t\t// resolve raw inputs to real event source objects\r\n\t\tfor (i = 0; i < matchInputs.length; i++) {\r\n\t\t\tmatchingSources.push.apply( // append\r\n\t\t\t\tmatchingSources,\r\n\t\t\t\tgetEventSourcesByMatch(matchInputs[i])\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn matchingSources;\r\n\t}\r\n\r\n\r\n\t// matchInput can either by a real event source object, an ID, or the function/URL for the source.\r\n\t// returns an array of matching source objects.\r\n\tfunction getEventSourcesByMatch(matchInput) {\r\n\t\tvar i, source;\r\n\r\n\t\t// given an proper event source object\r\n\t\tfor (i = 0; i < sources.length; i++) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (source === matchInput) {\r\n\t\t\t\treturn [ source ];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// an ID match\r\n\t\tsource = getEventSourceById(matchInput);\r\n\t\tif (source) {\r\n\t\t\treturn [ source ];\r\n\t\t}\r\n\r\n\t\treturn $.grep(sources, function(source) {\r\n\t\t\treturn isSourcesEquivalent(matchInput, source);\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tfunction isSourcesEquivalent(source1, source2) {\r\n\t\treturn source1 && source2 && getSourcePrimitive(source1) == getSourcePrimitive(source2);\r\n\t}\r\n\r\n\r\n\tfunction getSourcePrimitive(source) {\r\n\t\treturn (\r\n\t\t\t(typeof source === 'object') ? // a normalized event source?\r\n\t\t\t\t(source.origArray || source.googleCalendarId || source.url || source.events) : // get the primitive\r\n\t\t\t\tnull\r\n\t\t) ||\r\n\t\tsource; // the given argument *is* the primitive\r\n\t}\r\n\r\n\r\n\t// util\r\n\t// returns a filtered array without events that are part of any of the given sources\r\n\tfunction excludeEventsBySources(specificEvents, specificSources) {\r\n\t\treturn $.grep(specificEvents, function(event) {\r\n\t\t\tfor (var i = 0; i < specificSources.length; i++) {\r\n\t\t\t\tif (event.source === specificSources[i]) {\r\n\t\t\t\t\treturn false; // exclude\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true; // keep\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\t/* Manipulation\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Only ever called from the externally-facing API\r\n\tfunction updateEvent(event) {\r\n\t\tupdateEvents([ event ]);\r\n\t}\r\n\r\n\r\n\t// Only ever called from the externally-facing API\r\n\tfunction updateEvents(events) {\r\n\t\tvar i, event;\r\n\r\n\t\tfor (i = 0; i < events.length; i++) {\r\n\t\t\tevent = events[i];\r\n\r\n\t\t\t// massage start/end values, even if date string values\r\n\t\t\tevent.start = t.moment(event.start);\r\n\t\t\tif (event.end) {\r\n\t\t\t\tevent.end = t.moment(event.end);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tevent.end = null;\r\n\t\t\t}\r\n\r\n\t\t\tmutateEvent(event, getMiscEventProps(event)); // will handle start/end/allDay normalization\r\n\t\t}\r\n\r\n\t\treportEventChange(); // reports event modifications (so we can redraw)\r\n\t}\r\n\r\n\r\n\t// Returns a hash of misc event properties that should be copied over to related events.\r\n\tfunction getMiscEventProps(event) {\r\n\t\tvar props = {};\r\n\r\n\t\t$.each(event, function(name, val) {\r\n\t\t\tif (isMiscEventPropName(name)) {\r\n\t\t\t\tif (val !== undefined && isAtomic(val)) { // a defined non-object\r\n\t\t\t\t\tprops[name] = val;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn props;\r\n\t}\r\n\r\n\t// non-date-related, non-id-related, non-secret\r\n\tfunction isMiscEventPropName(name) {\r\n\t\treturn !/^_|^(id|allDay|start|end)$/.test(name);\r\n\t}\r\n\r\n\r\n\t// returns the expanded events that were created\r\n\tfunction renderEvent(eventInput, stick) {\r\n\t\treturn renderEvents([ eventInput ], stick);\r\n\t}\r\n\r\n\r\n\t// returns the expanded events that were created\r\n\tfunction renderEvents(eventInputs, stick) {\r\n\t\tvar renderedEvents = [];\r\n\t\tvar renderableEvents;\r\n\t\tvar abstractEvent;\r\n\t\tvar i, j, event;\r\n\r\n\t\tfor (i = 0; i < eventInputs.length; i++) {\r\n\t\t\tabstractEvent = buildEventFromInput(eventInputs[i]);\r\n\r\n\t\t\tif (abstractEvent) { // not false (a valid input)\r\n\t\t\t\trenderableEvents = expandEvent(abstractEvent);\r\n\r\n\t\t\t\tfor (j = 0; j < renderableEvents.length; j++) {\r\n\t\t\t\t\tevent = renderableEvents[j];\r\n\r\n\t\t\t\t\tif (!event.source) {\r\n\t\t\t\t\t\tif (stick) {\r\n\t\t\t\t\t\t\tstickySource.events.push(event);\r\n\t\t\t\t\t\t\tevent.source = stickySource;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcache.push(event);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\trenderedEvents = renderedEvents.concat(renderableEvents);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (renderedEvents.length) { // any new events rendered?\r\n\t\t\treportEventChange();\r\n\t\t}\r\n\r\n\t\treturn renderedEvents;\r\n\t}\r\n\r\n\r\n\tfunction removeEvents(filter) {\r\n\t\tvar eventID;\r\n\t\tvar i;\r\n\r\n\t\tif (filter == null) { // null or undefined. remove all events\r\n\t\t\tfilter = function() { return true; }; // will always match\r\n\t\t}\r\n\t\telse if (!$.isFunction(filter)) { // an event ID\r\n\t\t\teventID = filter + '';\r\n\t\t\tfilter = function(event) {\r\n\t\t\t\treturn event._id == eventID;\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t// Purge event(s) from our local cache\r\n\t\tcache = $.grep(cache, filter, true); // inverse=true\r\n\r\n\t\t// Remove events from array sources.\r\n\t\t// This works because they have been converted to official Event Objects up front.\r\n\t\t// (and as a result, event._id has been calculated).\r\n\t\tfor (i=0; i<sources.length; i++) {\r\n\t\t\tif ($.isArray(sources[i].events)) {\r\n\t\t\t\tsources[i].events = $.grep(sources[i].events, filter, true);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treportEventChange();\r\n\t}\r\n\r\n\r\n\tfunction clientEvents(filter) {\r\n\t\tif ($.isFunction(filter)) {\r\n\t\t\treturn $.grep(cache, filter);\r\n\t\t}\r\n\t\telse if (filter != null) { // not null, not undefined. an event ID\r\n\t\t\tfilter += '';\r\n\t\t\treturn $.grep(cache, function(e) {\r\n\t\t\t\treturn e._id == filter;\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn cache; // else, return all\r\n\t}\r\n\r\n\r\n\t// Makes sure all array event sources have their internal event objects\r\n\t// converted over to the Calendar's current timezone.\r\n\tt.rezoneArrayEventSources = function() {\r\n\t\tvar i;\r\n\t\tvar events;\r\n\t\tvar j;\r\n\r\n\t\tfor (i = 0; i < sources.length; i++) {\r\n\t\t\tevents = sources[i].events;\r\n\t\t\tif ($.isArray(events)) {\r\n\r\n\t\t\t\tfor (j = 0; j < events.length; j++) {\r\n\t\t\t\t\trezoneEventDates(events[j]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfunction rezoneEventDates(event) {\r\n\t\tevent.start = t.moment(event.start);\r\n\t\tif (event.end) {\r\n\t\t\tevent.end = t.moment(event.end);\r\n\t\t}\r\n\t\tbackupEventDates(event);\r\n\t}\r\n\r\n\r\n\t/* Event Normalization\r\n\t-----------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Given a raw object with key/value properties, returns an \"abstract\" Event object.\r\n\t// An \"abstract\" event is an event that, if recurring, will not have been expanded yet.\r\n\t// Will return `false` when input is invalid.\r\n\t// `source` is optional\r\n\tfunction buildEventFromInput(input, source) {\r\n\t\tvar out = {};\r\n\t\tvar start, end;\r\n\t\tvar allDay;\r\n\r\n\t\tif (t.options.eventDataTransform) {\r\n\t\t\tinput = t.options.eventDataTransform(input);\r\n\t\t}\r\n\t\tif (source && source.eventDataTransform) {\r\n\t\t\tinput = source.eventDataTransform(input);\r\n\t\t}\r\n\r\n\t\t// Copy all properties over to the resulting object.\r\n\t\t// The special-case properties will be copied over afterwards.\r\n\t\t$.extend(out, input);\r\n\r\n\t\tif (source) {\r\n\t\t\tout.source = source;\r\n\t\t}\r\n\r\n\t\tout._id = input._id || (input.id === undefined ? '_fc' + eventGUID++ : input.id + '');\r\n\r\n\t\tif (input.className) {\r\n\t\t\tif (typeof input.className == 'string') {\r\n\t\t\t\tout.className = input.className.split(/\\s+/);\r\n\t\t\t}\r\n\t\t\telse { // assumed to be an array\r\n\t\t\t\tout.className = input.className;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tout.className = [];\r\n\t\t}\r\n\r\n\t\tstart = input.start || input.date; // \"date\" is an alias for \"start\"\r\n\t\tend = input.end;\r\n\r\n\t\t// parse as a time (Duration) if applicable\r\n\t\tif (isTimeString(start)) {\r\n\t\t\tstart = moment.duration(start);\r\n\t\t}\r\n\t\tif (isTimeString(end)) {\r\n\t\t\tend = moment.duration(end);\r\n\t\t}\r\n\r\n\t\tif (input.dow || moment.isDuration(start) || moment.isDuration(end)) {\r\n\r\n\t\t\t// the event is \"abstract\" (recurring) so don't calculate exact start/end dates just yet\r\n\t\t\tout.start = start ? moment.duration(start) : null; // will be a Duration or null\r\n\t\t\tout.end = end ? moment.duration(end) : null; // will be a Duration or null\r\n\t\t\tout._recurring = true; // our internal marker\r\n\t\t}\r\n\t\telse {\r\n\r\n\t\t\tif (start) {\r\n\t\t\t\tstart = t.moment(start);\r\n\t\t\t\tif (!start.isValid()) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (end) {\r\n\t\t\t\tend = t.moment(end);\r\n\t\t\t\tif (!end.isValid()) {\r\n\t\t\t\t\tend = null; // let defaults take over\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tallDay = input.allDay;\r\n\t\t\tif (allDay === undefined) { // still undefined? fallback to default\r\n\t\t\t\tallDay = firstDefined(\r\n\t\t\t\t\tsource ? source.allDayDefault : undefined,\r\n\t\t\t\t\tt.options.allDayDefault\r\n\t\t\t\t);\r\n\t\t\t\t// still undefined? normalizeEventDates will calculate it\r\n\t\t\t}\r\n\r\n\t\t\tassignDatesToEvent(start, end, allDay, out);\r\n\t\t}\r\n\r\n\t\tt.normalizeEvent(out); // hook for external use. a prototype method\r\n\r\n\t\treturn out;\r\n\t}\r\n\tt.buildEventFromInput = buildEventFromInput;\r\n\r\n\r\n\t// Normalizes and assigns the given dates to the given partially-formed event object.\r\n\t// NOTE: mutates the given start/end moments. does not make a copy.\r\n\tfunction assignDatesToEvent(start, end, allDay, event) {\r\n\t\tevent.start = start;\r\n\t\tevent.end = end;\r\n\t\tevent.allDay = allDay;\r\n\t\tnormalizeEventDates(event);\r\n\t\tbackupEventDates(event);\r\n\t}\r\n\r\n\r\n\t// Ensures proper values for allDay/start/end. Accepts an Event object, or a plain object with event-ish properties.\r\n\t// NOTE: Will modify the given object.\r\n\tfunction normalizeEventDates(eventProps) {\r\n\r\n\t\tnormalizeEventTimes(eventProps);\r\n\r\n\t\tif (eventProps.end && !eventProps.end.isAfter(eventProps.start)) {\r\n\t\t\teventProps.end = null;\r\n\t\t}\r\n\r\n\t\tif (!eventProps.end) {\r\n\t\t\tif (t.options.forceEventDuration) {\r\n\t\t\t\teventProps.end = t.getDefaultEventEnd(eventProps.allDay, eventProps.start);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\teventProps.end = null;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// Ensures the allDay property exists and the timeliness of the start/end dates are consistent\r\n\tfunction normalizeEventTimes(eventProps) {\r\n\t\tif (eventProps.allDay == null) {\r\n\t\t\teventProps.allDay = !(eventProps.start.hasTime() || (eventProps.end && eventProps.end.hasTime()));\r\n\t\t}\r\n\r\n\t\tif (eventProps.allDay) {\r\n\t\t\teventProps.start.stripTime();\r\n\t\t\tif (eventProps.end) {\r\n\t\t\t\t// TODO: consider nextDayThreshold here? If so, will require a lot of testing and adjustment\r\n\t\t\t\teventProps.end.stripTime();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (!eventProps.start.hasTime()) {\r\n\t\t\t\teventProps.start = t.applyTimezone(eventProps.start.time(0)); // will assign a 00:00 time\r\n\t\t\t}\r\n\t\t\tif (eventProps.end && !eventProps.end.hasTime()) {\r\n\t\t\t\teventProps.end = t.applyTimezone(eventProps.end.time(0)); // will assign a 00:00 time\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// If the given event is a recurring event, break it down into an array of individual instances.\r\n\t// If not a recurring event, return an array with the single original event.\r\n\t// If given a falsy input (probably because of a failed buildEventFromInput call), returns an empty array.\r\n\t// HACK: can override the recurring window by providing custom rangeStart/rangeEnd (for businessHours).\r\n\tfunction expandEvent(abstractEvent, _rangeStart, _rangeEnd) {\r\n\t\tvar events = [];\r\n\t\tvar dowHash;\r\n\t\tvar dow;\r\n\t\tvar i;\r\n\t\tvar date;\r\n\t\tvar startTime, endTime;\r\n\t\tvar start, end;\r\n\t\tvar event;\r\n\r\n\t\t_rangeStart = _rangeStart || rangeStart;\r\n\t\t_rangeEnd = _rangeEnd || rangeEnd;\r\n\r\n\t\tif (abstractEvent) {\r\n\t\t\tif (abstractEvent._recurring) {\r\n\r\n\t\t\t\t// make a boolean hash as to whether the event occurs on each day-of-week\r\n\t\t\t\tif ((dow = abstractEvent.dow)) {\r\n\t\t\t\t\tdowHash = {};\r\n\t\t\t\t\tfor (i = 0; i < dow.length; i++) {\r\n\t\t\t\t\t\tdowHash[dow[i]] = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// iterate through every day in the current range\r\n\t\t\t\tdate = _rangeStart.clone().stripTime(); // holds the date of the current day\r\n\t\t\t\twhile (date.isBefore(_rangeEnd)) {\r\n\r\n\t\t\t\t\tif (!dowHash || dowHash[date.day()]) { // if everyday, or this particular day-of-week\r\n\r\n\t\t\t\t\t\tstartTime = abstractEvent.start; // the stored start and end properties are times (Durations)\r\n\t\t\t\t\t\tendTime = abstractEvent.end; // \"\r\n\t\t\t\t\t\tstart = date.clone();\r\n\t\t\t\t\t\tend = null;\r\n\r\n\t\t\t\t\t\tif (startTime) {\r\n\t\t\t\t\t\t\tstart = start.time(startTime);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (endTime) {\r\n\t\t\t\t\t\t\tend = date.clone().time(endTime);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tevent = $.extend({}, abstractEvent); // make a copy of the original\r\n\t\t\t\t\t\tassignDatesToEvent(\r\n\t\t\t\t\t\t\tstart, end,\r\n\t\t\t\t\t\t\t!startTime && !endTime, // allDay?\r\n\t\t\t\t\t\t\tevent\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tevents.push(event);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdate.add(1, 'days');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tevents.push(abstractEvent); // return the original event. will be a one-item array\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn events;\r\n\t}\r\n\tt.expandEvent = expandEvent;\r\n\r\n\r\n\r\n\t/* Event Modification Math\r\n\t-----------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Modifies an event and all related events by applying the given properties.\r\n\t// Special date-diffing logic is used for manipulation of dates.\r\n\t// If `props` does not contain start/end dates, the updated values are assumed to be the event's current start/end.\r\n\t// All date comparisons are done against the event's pristine _start and _end dates.\r\n\t// Returns an object with delta information and a function to undo all operations.\r\n\t// For making computations in a granularity greater than day/time, specify largeUnit.\r\n\t// NOTE: The given `newProps` might be mutated for normalization purposes.\r\n\tfunction mutateEvent(event, newProps, largeUnit) {\r\n\t\tvar miscProps = {};\r\n\t\tvar oldProps;\r\n\t\tvar clearEnd;\r\n\t\tvar startDelta;\r\n\t\tvar endDelta;\r\n\t\tvar durationDelta;\r\n\t\tvar undoFunc;\r\n\r\n\t\t// diffs the dates in the appropriate way, returning a duration\r\n\t\tfunction diffDates(date1, date0) { // date1 - date0\r\n\t\t\tif (largeUnit) {\r\n\t\t\t\treturn diffByUnit(date1, date0, largeUnit);\r\n\t\t\t}\r\n\t\t\telse if (newProps.allDay) {\r\n\t\t\t\treturn diffDay(date1, date0);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn diffDayTime(date1, date0);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tnewProps = newProps || {};\r\n\r\n\t\t// normalize new date-related properties\r\n\t\tif (!newProps.start) {\r\n\t\t\tnewProps.start = event.start.clone();\r\n\t\t}\r\n\t\tif (newProps.end === undefined) {\r\n\t\t\tnewProps.end = event.end ? event.end.clone() : null;\r\n\t\t}\r\n\t\tif (newProps.allDay == null) { // is null or undefined?\r\n\t\t\tnewProps.allDay = event.allDay;\r\n\t\t}\r\n\t\tnormalizeEventDates(newProps);\r\n\r\n\t\t// create normalized versions of the original props to compare against\r\n\t\t// need a real end value, for diffing\r\n\t\toldProps = {\r\n\t\t\tstart: event._start.clone(),\r\n\t\t\tend: event._end ? event._end.clone() : t.getDefaultEventEnd(event._allDay, event._start),\r\n\t\t\tallDay: newProps.allDay // normalize the dates in the same regard as the new properties\r\n\t\t};\r\n\t\tnormalizeEventDates(oldProps);\r\n\r\n\t\t// need to clear the end date if explicitly changed to null\r\n\t\tclearEnd = event._end !== null && newProps.end === null;\r\n\r\n\t\t// compute the delta for moving the start date\r\n\t\tstartDelta = diffDates(newProps.start, oldProps.start);\r\n\r\n\t\t// compute the delta for moving the end date\r\n\t\tif (newProps.end) {\r\n\t\t\tendDelta = diffDates(newProps.end, oldProps.end);\r\n\t\t\tdurationDelta = endDelta.subtract(startDelta);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdurationDelta = null;\r\n\t\t}\r\n\r\n\t\t// gather all non-date-related properties\r\n\t\t$.each(newProps, function(name, val) {\r\n\t\t\tif (isMiscEventPropName(name)) {\r\n\t\t\t\tif (val !== undefined) {\r\n\t\t\t\t\tmiscProps[name] = val;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// apply the operations to the event and all related events\r\n\t\tundoFunc = mutateEvents(\r\n\t\t\tclientEvents(event._id), // get events with this ID\r\n\t\t\tclearEnd,\r\n\t\t\tnewProps.allDay,\r\n\t\t\tstartDelta,\r\n\t\t\tdurationDelta,\r\n\t\t\tmiscProps\r\n\t\t);\r\n\r\n\t\treturn {\r\n\t\t\tdateDelta: startDelta,\r\n\t\t\tdurationDelta: durationDelta,\r\n\t\t\tundo: undoFunc\r\n\t\t};\r\n\t}\r\n\r\n\r\n\t// Modifies an array of events in the following ways (operations are in order):\r\n\t// - clear the event's `end`\r\n\t// - convert the event to allDay\r\n\t// - add `dateDelta` to the start and end\r\n\t// - add `durationDelta` to the event's duration\r\n\t// - assign `miscProps` to the event\r\n\t//\r\n\t// Returns a function that can be called to undo all the operations.\r\n\t//\r\n\t// TODO: don't use so many closures. possible memory issues when lots of events with same ID.\r\n\t//\r\n\tfunction mutateEvents(events, clearEnd, allDay, dateDelta, durationDelta, miscProps) {\r\n\t\tvar isAmbigTimezone = t.getIsAmbigTimezone();\r\n\t\tvar undoFunctions = [];\r\n\r\n\t\t// normalize zero-length deltas to be null\r\n\t\tif (dateDelta && !dateDelta.valueOf()) { dateDelta = null; }\r\n\t\tif (durationDelta && !durationDelta.valueOf()) { durationDelta = null; }\r\n\r\n\t\t$.each(events, function(i, event) {\r\n\t\t\tvar oldProps;\r\n\t\t\tvar newProps;\r\n\r\n\t\t\t// build an object holding all the old values, both date-related and misc.\r\n\t\t\t// for the undo function.\r\n\t\t\toldProps = {\r\n\t\t\t\tstart: event.start.clone(),\r\n\t\t\t\tend: event.end ? event.end.clone() : null,\r\n\t\t\t\tallDay: event.allDay\r\n\t\t\t};\r\n\t\t\t$.each(miscProps, function(name) {\r\n\t\t\t\toldProps[name] = event[name];\r\n\t\t\t});\r\n\r\n\t\t\t// new date-related properties. work off the original date snapshot.\r\n\t\t\t// ok to use references because they will be thrown away when backupEventDates is called.\r\n\t\t\tnewProps = {\r\n\t\t\t\tstart: event._start,\r\n\t\t\t\tend: event._end,\r\n\t\t\t\tallDay: allDay // normalize the dates in the same regard as the new properties\r\n\t\t\t};\r\n\t\t\tnormalizeEventDates(newProps); // massages start/end/allDay\r\n\r\n\t\t\t// strip or ensure the end date\r\n\t\t\tif (clearEnd) {\r\n\t\t\t\tnewProps.end = null;\r\n\t\t\t}\r\n\t\t\telse if (durationDelta && !newProps.end) { // the duration translation requires an end date\r\n\t\t\t\tnewProps.end = t.getDefaultEventEnd(newProps.allDay, newProps.start);\r\n\t\t\t}\r\n\r\n\t\t\tif (dateDelta) {\r\n\t\t\t\tnewProps.start.add(dateDelta);\r\n\t\t\t\tif (newProps.end) {\r\n\t\t\t\t\tnewProps.end.add(dateDelta);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (durationDelta) {\r\n\t\t\t\tnewProps.end.add(durationDelta); // end already ensured above\r\n\t\t\t}\r\n\r\n\t\t\t// if the dates have changed, and we know it is impossible to recompute the\r\n\t\t\t// timezone offsets, strip the zone.\r\n\t\t\tif (\r\n\t\t\t\tisAmbigTimezone &&\r\n\t\t\t\t!newProps.allDay &&\r\n\t\t\t\t(dateDelta || durationDelta)\r\n\t\t\t) {\r\n\t\t\t\tnewProps.start.stripZone();\r\n\t\t\t\tif (newProps.end) {\r\n\t\t\t\t\tnewProps.end.stripZone();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$.extend(event, miscProps, newProps); // copy over misc props, then date-related props\r\n\t\t\tbackupEventDates(event); // regenerate internal _start/_end/_allDay\r\n\r\n\t\t\tundoFunctions.push(function() {\r\n\t\t\t\t$.extend(event, oldProps);\r\n\t\t\t\tbackupEventDates(event); // regenerate internal _start/_end/_allDay\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\treturn function() {\r\n\t\t\tfor (var i = 0; i < undoFunctions.length; i++) {\r\n\t\t\t\tundoFunctions[i]();\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n}\r\n\r\n\r\n// returns an undo function\r\nCalendar.prototype.mutateSeg = function(seg, newProps) {\r\n\treturn this.mutateEvent(seg.event, newProps);\r\n};\r\n\r\n\r\n// hook for external libs to manipulate event properties upon creation.\r\n// should manipulate the event in-place.\r\nCalendar.prototype.normalizeEvent = function(event) {\r\n};\r\n\r\n\r\n// Does the given span (start, end, and other location information)\r\n// fully contain the other?\r\nCalendar.prototype.spanContainsSpan = function(outerSpan, innerSpan) {\r\n\tvar eventStart = outerSpan.start.clone().stripZone();\r\n\tvar eventEnd = this.getEventEnd(outerSpan).stripZone();\r\n\r\n\treturn innerSpan.start >= eventStart && innerSpan.end <= eventEnd;\r\n};\r\n\r\n\r\n// Returns a list of events that the given event should be compared against when being considered for a move to\r\n// the specified span. Attached to the Calendar's prototype because EventManager is a mixin for a Calendar.\r\nCalendar.prototype.getPeerEvents = function(span, event) {\r\n\tvar cache = this.getEventCache();\r\n\tvar peerEvents = [];\r\n\tvar i, otherEvent;\r\n\r\n\tfor (i = 0; i < cache.length; i++) {\r\n\t\totherEvent = cache[i];\r\n\t\tif (\r\n\t\t\t!event ||\r\n\t\t\tevent._id !== otherEvent._id // don't compare the event to itself or other related [repeating] events\r\n\t\t) {\r\n\t\t\tpeerEvents.push(otherEvent);\r\n\t\t}\r\n\t}\r\n\r\n\treturn peerEvents;\r\n};\r\n\r\n\r\n// updates the \"backup\" properties, which are preserved in order to compute diffs later on.\r\nfunction backupEventDates(event) {\r\n\tevent._allDay = event.allDay;\r\n\tevent._start = event.start.clone();\r\n\tevent._end = event.end ? event.end.clone() : null;\r\n}\r\n\r\n\r\n/* Overlapping / Constraining\r\n-----------------------------------------------------------------------------------------*/\r\n\r\n\r\n// Determines if the given event can be relocated to the given span (unzoned start/end with other misc data)\r\nCalendar.prototype.isEventSpanAllowed = function(span, event) {\r\n\tvar source = event.source || {};\r\n\r\n\tvar constraint = firstDefined(\r\n\t\tevent.constraint,\r\n\t\tsource.constraint,\r\n\t\tthis.options.eventConstraint\r\n\t);\r\n\r\n\tvar overlap = firstDefined(\r\n\t\tevent.overlap,\r\n\t\tsource.overlap,\r\n\t\tthis.options.eventOverlap\r\n\t);\r\n\r\n\treturn this.isSpanAllowed(span, constraint, overlap, event) &&\r\n\t\t(!this.options.eventAllow || this.options.eventAllow(span, event) !== false);\r\n};\r\n\r\n\r\n// Determines if an external event can be relocated to the given span (unzoned start/end with other misc data)\r\nCalendar.prototype.isExternalSpanAllowed = function(eventSpan, eventLocation, eventProps) {\r\n\tvar eventInput;\r\n\tvar event;\r\n\r\n\t// note: very similar logic is in View's reportExternalDrop\r\n\tif (eventProps) {\r\n\t\teventInput = $.extend({}, eventProps, eventLocation);\r\n\t\tevent = this.expandEvent(\r\n\t\t\tthis.buildEventFromInput(eventInput)\r\n\t\t)[0];\r\n\t}\r\n\r\n\tif (event) {\r\n\t\treturn this.isEventSpanAllowed(eventSpan, event);\r\n\t}\r\n\telse { // treat it as a selection\r\n\r\n\t\treturn this.isSelectionSpanAllowed(eventSpan);\r\n\t}\r\n};\r\n\r\n\r\n// Determines the given span (unzoned start/end with other misc data) can be selected.\r\nCalendar.prototype.isSelectionSpanAllowed = function(span) {\r\n\treturn this.isSpanAllowed(span, this.options.selectConstraint, this.options.selectOverlap) &&\r\n\t\t(!this.options.selectAllow || this.options.selectAllow(span) !== false);\r\n};\r\n\r\n\r\n// Returns true if the given span (caused by an event drop/resize or a selection) is allowed to exist\r\n// according to the constraint/overlap settings.\r\n// `event` is not required if checking a selection.\r\nCalendar.prototype.isSpanAllowed = function(span, constraint, overlap, event) {\r\n\tvar constraintEvents;\r\n\tvar anyContainment;\r\n\tvar peerEvents;\r\n\tvar i, peerEvent;\r\n\tvar peerOverlap;\r\n\r\n\t// the range must be fully contained by at least one of produced constraint events\r\n\tif (constraint != null) {\r\n\r\n\t\t// not treated as an event! intermediate data structure\r\n\t\t// TODO: use ranges in the future\r\n\t\tconstraintEvents = this.constraintToEvents(constraint);\r\n\t\tif (constraintEvents) { // not invalid\r\n\r\n\t\t\tanyContainment = false;\r\n\t\t\tfor (i = 0; i < constraintEvents.length; i++) {\r\n\t\t\t\tif (this.spanContainsSpan(constraintEvents[i], span)) {\r\n\t\t\t\t\tanyContainment = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!anyContainment) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpeerEvents = this.getPeerEvents(span, event);\r\n\r\n\tfor (i = 0; i < peerEvents.length; i++)  {\r\n\t\tpeerEvent = peerEvents[i];\r\n\r\n\t\t// there needs to be an actual intersection before disallowing anything\r\n\t\tif (this.eventIntersectsRange(peerEvent, span)) {\r\n\r\n\t\t\t// evaluate overlap for the given range and short-circuit if necessary\r\n\t\t\tif (overlap === false) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t// if the event's overlap is a test function, pass the peer event in question as the first param\r\n\t\t\telse if (typeof overlap === 'function' && !overlap(peerEvent, event)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\t// if we are computing if the given range is allowable for an event, consider the other event's\r\n\t\t\t// EventObject-specific or Source-specific `overlap` property\r\n\t\t\tif (event) {\r\n\t\t\t\tpeerOverlap = firstDefined(\r\n\t\t\t\t\tpeerEvent.overlap,\r\n\t\t\t\t\t(peerEvent.source || {}).overlap\r\n\t\t\t\t\t// we already considered the global `eventOverlap`\r\n\t\t\t\t);\r\n\t\t\t\tif (peerOverlap === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\t// if the peer event's overlap is a test function, pass the subject event as the first param\r\n\t\t\t\tif (typeof peerOverlap === 'function' && !peerOverlap(event, peerEvent)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn true;\r\n};\r\n\r\n\r\n// Given an event input from the API, produces an array of event objects. Possible event inputs:\r\n// 'businessHours'\r\n// An event ID (number or string)\r\n// An object with specific start/end dates or a recurring event (like what businessHours accepts)\r\nCalendar.prototype.constraintToEvents = function(constraintInput) {\r\n\r\n\tif (constraintInput === 'businessHours') {\r\n\t\treturn this.getCurrentBusinessHourEvents();\r\n\t}\r\n\r\n\tif (typeof constraintInput === 'object') {\r\n\t\tif (constraintInput.start != null) { // needs to be event-like input\r\n\t\t\treturn this.expandEvent(this.buildEventFromInput(constraintInput));\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn null; // invalid\r\n\t\t}\r\n\t}\r\n\r\n\treturn this.clientEvents(constraintInput); // probably an ID\r\n};\r\n\r\n\r\n// Does the event's date range intersect with the given range?\r\n// start/end already assumed to have stripped zones :(\r\nCalendar.prototype.eventIntersectsRange = function(event, range) {\r\n\tvar eventStart = event.start.clone().stripZone();\r\n\tvar eventEnd = this.getEventEnd(event).stripZone();\r\n\r\n\treturn range.start < eventEnd && range.end > eventStart;\r\n};\r\n\r\n\r\n/* Business Hours\r\n-----------------------------------------------------------------------------------------*/\r\n\r\nvar BUSINESS_HOUR_EVENT_DEFAULTS = {\r\n\tid: '_fcBusinessHours', // will relate events from different calls to expandEvent\r\n\tstart: '09:00',\r\n\tend: '17:00',\r\n\tdow: [ 1, 2, 3, 4, 5 ], // monday - friday\r\n\trendering: 'inverse-background'\r\n\t// classNames are defined in businessHoursSegClasses\r\n};\r\n\r\n// Return events objects for business hours within the current view.\r\n// Abuse of our event system :(\r\nCalendar.prototype.getCurrentBusinessHourEvents = function(wholeDay) {\r\n\treturn this.computeBusinessHourEvents(wholeDay, this.options.businessHours);\r\n};\r\n\r\n// Given a raw input value from options, return events objects for business hours within the current view.\r\nCalendar.prototype.computeBusinessHourEvents = function(wholeDay, input) {\r\n\tif (input === true) {\r\n\t\treturn this.expandBusinessHourEvents(wholeDay, [ {} ]);\r\n\t}\r\n\telse if ($.isPlainObject(input)) {\r\n\t\treturn this.expandBusinessHourEvents(wholeDay, [ input ]);\r\n\t}\r\n\telse if ($.isArray(input)) {\r\n\t\treturn this.expandBusinessHourEvents(wholeDay, input, true);\r\n\t}\r\n\telse {\r\n\t\treturn [];\r\n\t}\r\n};\r\n\r\n// inputs expected to be an array of objects.\r\n// if ignoreNoDow is true, will ignore entries that don't specify a day-of-week (dow) key.\r\nCalendar.prototype.expandBusinessHourEvents = function(wholeDay, inputs, ignoreNoDow) {\r\n\tvar view = this.getView();\r\n\tvar events = [];\r\n\tvar i, input;\r\n\r\n\tfor (i = 0; i < inputs.length; i++) {\r\n\t\tinput = inputs[i];\r\n\r\n\t\tif (ignoreNoDow && !input.dow) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\t// give defaults. will make a copy\r\n\t\tinput = $.extend({}, BUSINESS_HOUR_EVENT_DEFAULTS, input);\r\n\r\n\t\t// if a whole-day series is requested, clear the start/end times\r\n\t\tif (wholeDay) {\r\n\t\t\tinput.start = null;\r\n\t\t\tinput.end = null;\r\n\t\t}\r\n\r\n\t\tevents.push.apply(events, // append\r\n\t\t\tthis.expandEvent(\r\n\t\t\t\tthis.buildEventFromInput(input),\r\n\t\t\t\tview.start,\r\n\t\t\t\tview.end\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\treturn events;\r\n};\r\n\r\n;;\r\n\r\n/* An abstract class for the \"basic\" views, as well as month view. Renders one or more rows of day cells.\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.\r\n// It is responsible for managing width/height.\r\n\r\nvar BasicView = FC.BasicView = View.extend({\r\n\r\n\tscroller: null,\r\n\r\n\tdayGridClass: DayGrid, // class the dayGrid will be instantiated from (overridable by subclasses)\r\n\tdayGrid: null, // the main subcomponent that does most of the heavy lifting\r\n\r\n\tdayNumbersVisible: false, // display day numbers on each day cell?\r\n\tcolWeekNumbersVisible: false, // display week numbers along the side?\r\n\tcellWeekNumbersVisible: false, // display week numbers in day cell?\r\n\r\n\tweekNumberWidth: null, // width of all the week-number cells running down the side\r\n\r\n\theadContainerEl: null, // div that hold's the dayGrid's rendered date header\r\n\theadRowEl: null, // the fake row element of the day-of-week header\r\n\r\n\r\n\tinitialize: function() {\r\n\t\tthis.dayGrid = this.instantiateDayGrid();\r\n\r\n\t\tthis.scroller = new Scroller({\r\n\t\t\toverflowX: 'hidden',\r\n\t\t\toverflowY: 'auto'\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Generates the DayGrid object this view needs. Draws from this.dayGridClass\r\n\tinstantiateDayGrid: function() {\r\n\t\t// generate a subclass on the fly with BasicView-specific behavior\r\n\t\t// TODO: cache this subclass\r\n\t\tvar subclass = this.dayGridClass.extend(basicDayGridMethods);\r\n\r\n\t\treturn new subclass(this);\r\n\t},\r\n\r\n\r\n\t// Sets the display range and computes all necessary dates\r\n\tsetRange: function(range) {\r\n\t\tView.prototype.setRange.call(this, range); // call the super-method\r\n\r\n\t\tthis.dayGrid.breakOnWeeks = /year|month|week/.test(this.intervalUnit); // do before setRange\r\n\t\tthis.dayGrid.setRange(range);\r\n\t},\r\n\r\n\r\n\t// Compute the value to feed into setRange. Overrides superclass.\r\n\tcomputeRange: function(date) {\r\n\t\tvar range = View.prototype.computeRange.call(this, date); // get value from the super-method\r\n\r\n\t\t// year and month views should be aligned with weeks. this is already done for week\r\n\t\tif (/year|month/.test(range.intervalUnit)) {\r\n\t\t\trange.start.startOf('week');\r\n\t\t\trange.start = this.skipHiddenDays(range.start);\r\n\r\n\t\t\t// make end-of-week if not already\r\n\t\t\tif (range.end.weekday()) {\r\n\t\t\t\trange.end.add(1, 'week').startOf('week');\r\n\t\t\t\trange.end = this.skipHiddenDays(range.end, -1, true); // exclusively move backwards\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn range;\r\n\t},\r\n\r\n\r\n\t// Renders the view into `this.el`, which should already be assigned\r\n\trenderDates: function() {\r\n\r\n\t\tthis.dayNumbersVisible = this.dayGrid.rowCnt > 1; // TODO: make grid responsible\r\n\t\tif (this.opt('weekNumbers')) {\r\n\t\t\tif (this.opt('weekNumbersWithinDays')) {\r\n\t\t\t\tthis.cellWeekNumbersVisible = true;\r\n\t\t\t\tthis.colWeekNumbersVisible = false;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.cellWeekNumbersVisible = false;\r\n\t\t\t\tthis.colWeekNumbersVisible = true;\r\n\t\t\t};\r\n\t\t}\r\n\t\tthis.dayGrid.numbersVisible = this.dayNumbersVisible ||\r\n\t\t\tthis.cellWeekNumbersVisible || this.colWeekNumbersVisible;\r\n\r\n\t\tthis.el.addClass('fc-basic-view').html(this.renderSkeletonHtml());\r\n\t\tthis.renderHead();\r\n\r\n\t\tthis.scroller.render();\r\n\t\tvar dayGridContainerEl = this.scroller.el.addClass('fc-day-grid-container');\r\n\t\tvar dayGridEl = $('<div class=\"fc-day-grid\" />').appendTo(dayGridContainerEl);\r\n\t\tthis.el.find('.fc-body > tr > td').append(dayGridContainerEl);\r\n\r\n\t\tthis.dayGrid.setElement(dayGridEl);\r\n\t\tthis.dayGrid.renderDates(this.hasRigidRows());\r\n\t},\r\n\r\n\r\n\t// render the day-of-week headers\r\n\trenderHead: function() {\r\n\t\tthis.headContainerEl =\r\n\t\t\tthis.el.find('.fc-head-container')\r\n\t\t\t\t.html(this.dayGrid.renderHeadHtml());\r\n\t\tthis.headRowEl = this.headContainerEl.find('.fc-row');\r\n\t},\r\n\r\n\r\n\t// Unrenders the content of the view. Since we haven't separated skeleton rendering from date rendering,\r\n\t// always completely kill the dayGrid's rendering.\r\n\tunrenderDates: function() {\r\n\t\tthis.dayGrid.unrenderDates();\r\n\t\tthis.dayGrid.removeElement();\r\n\t\tthis.scroller.destroy();\r\n\t},\r\n\r\n\r\n\trenderBusinessHours: function() {\r\n\t\tthis.dayGrid.renderBusinessHours();\r\n\t},\r\n\r\n\r\n\tunrenderBusinessHours: function() {\r\n\t\tthis.dayGrid.unrenderBusinessHours();\r\n\t},\r\n\r\n\r\n\t// Builds the HTML skeleton for the view.\r\n\t// The day-grid component will render inside of a container defined by this HTML.\r\n\trenderSkeletonHtml: function() {\r\n\t\treturn '' +\r\n\t\t\t'<table>' +\r\n\t\t\t\t'<thead class=\"fc-head\">' +\r\n\t\t\t\t\t'<tr>' +\r\n\t\t\t\t\t\t'<td class=\"fc-head-container ' + this.widgetHeaderClass + '\"></td>' +\r\n\t\t\t\t\t'</tr>' +\r\n\t\t\t\t'</thead>' +\r\n\t\t\t\t'<tbody class=\"fc-body\">' +\r\n\t\t\t\t\t'<tr>' +\r\n\t\t\t\t\t\t'<td class=\"' + this.widgetContentClass + '\"></td>' +\r\n\t\t\t\t\t'</tr>' +\r\n\t\t\t\t'</tbody>' +\r\n\t\t\t'</table>';\r\n\t},\r\n\r\n\r\n\t// Generates an HTML attribute string for setting the width of the week number column, if it is known\r\n\tweekNumberStyleAttr: function() {\r\n\t\tif (this.weekNumberWidth !== null) {\r\n\t\t\treturn 'style=\"width:' + this.weekNumberWidth + 'px\"';\r\n\t\t}\r\n\t\treturn '';\r\n\t},\r\n\r\n\r\n\t// Determines whether each row should have a constant height\r\n\thasRigidRows: function() {\r\n\t\tvar eventLimit = this.opt('eventLimit');\r\n\t\treturn eventLimit && typeof eventLimit !== 'number';\r\n\t},\r\n\r\n\r\n\t/* Dimensions\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Refreshes the horizontal dimensions of the view\r\n\tupdateWidth: function() {\r\n\t\tif (this.colWeekNumbersVisible) {\r\n\t\t\t// Make sure all week number cells running down the side have the same width.\r\n\t\t\t// Record the width for cells created later.\r\n\t\t\tthis.weekNumberWidth = matchCellWidths(\r\n\t\t\t\tthis.el.find('.fc-week-number')\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Adjusts the vertical dimensions of the view to the specified values\r\n\tsetHeight: function(totalHeight, isAuto) {\r\n\t\tvar eventLimit = this.opt('eventLimit');\r\n\t\tvar scrollerHeight;\r\n\t\tvar scrollbarWidths;\r\n\r\n\t\t// reset all heights to be natural\r\n\t\tthis.scroller.clear();\r\n\t\tuncompensateScroll(this.headRowEl);\r\n\r\n\t\tthis.dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\r\n\r\n\t\t// is the event limit a constant level number?\r\n\t\tif (eventLimit && typeof eventLimit === 'number') {\r\n\t\t\tthis.dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after\r\n\t\t}\r\n\r\n\t\t// distribute the height to the rows\r\n\t\t// (totalHeight is a \"recommended\" value if isAuto)\r\n\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\r\n\t\tthis.setGridHeight(scrollerHeight, isAuto);\r\n\r\n\t\t// is the event limit dynamically calculated?\r\n\t\tif (eventLimit && typeof eventLimit !== 'number') {\r\n\t\t\tthis.dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set\r\n\t\t}\r\n\r\n\t\tif (!isAuto) { // should we force dimensions of the scroll container?\r\n\r\n\t\t\tthis.scroller.setHeight(scrollerHeight);\r\n\t\t\tscrollbarWidths = this.scroller.getScrollbarWidths();\r\n\r\n\t\t\tif (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\r\n\r\n\t\t\t\tcompensateScroll(this.headRowEl, scrollbarWidths);\r\n\r\n\t\t\t\t// doing the scrollbar compensation might have created text overflow which created more height. redo\r\n\t\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\r\n\t\t\t\tthis.scroller.setHeight(scrollerHeight);\r\n\t\t\t}\r\n\r\n\t\t\t// guarantees the same scrollbar widths\r\n\t\t\tthis.scroller.lockOverflow(scrollbarWidths);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// given a desired total height of the view, returns what the height of the scroller should be\r\n\tcomputeScrollerHeight: function(totalHeight) {\r\n\t\treturn totalHeight -\r\n\t\t\tsubtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\r\n\t},\r\n\r\n\r\n\t// Sets the height of just the DayGrid component in this view\r\n\tsetGridHeight: function(height, isAuto) {\r\n\t\tif (isAuto) {\r\n\t\t\tundistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdistributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Scroll\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tcomputeInitialScroll: function() {\r\n\t\treturn { top: 0 };\r\n\t},\r\n\r\n\r\n\tqueryScroll: function() {\r\n\t\treturn { top: this.scroller.getScrollTop() };\r\n\t},\r\n\r\n\r\n\tsetScroll: function(scroll) {\r\n\t\tthis.scroller.setScrollTop(scroll.top);\r\n\t},\r\n\r\n\r\n\t/* Hit Areas\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\t// forward all hit-related method calls to dayGrid\r\n\r\n\r\n\thitsNeeded: function() {\r\n\t\tthis.dayGrid.hitsNeeded();\r\n\t},\r\n\r\n\r\n\thitsNotNeeded: function() {\r\n\t\tthis.dayGrid.hitsNotNeeded();\r\n\t},\r\n\r\n\r\n\tprepareHits: function() {\r\n\t\tthis.dayGrid.prepareHits();\r\n\t},\r\n\r\n\r\n\treleaseHits: function() {\r\n\t\tthis.dayGrid.releaseHits();\r\n\t},\r\n\r\n\r\n\tqueryHit: function(left, top) {\r\n\t\treturn this.dayGrid.queryHit(left, top);\r\n\t},\r\n\r\n\r\n\tgetHitSpan: function(hit) {\r\n\t\treturn this.dayGrid.getHitSpan(hit);\r\n\t},\r\n\r\n\r\n\tgetHitEl: function(hit) {\r\n\t\treturn this.dayGrid.getHitEl(hit);\r\n\t},\r\n\r\n\r\n\t/* Events\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders the given events onto the view and populates the segments array\r\n\trenderEvents: function(events) {\r\n\t\tthis.dayGrid.renderEvents(events);\r\n\r\n\t\tthis.updateHeight(); // must compensate for events that overflow the row\r\n\t},\r\n\r\n\r\n\t// Retrieves all segment objects that are rendered in the view\r\n\tgetEventSegs: function() {\r\n\t\treturn this.dayGrid.getEventSegs();\r\n\t},\r\n\r\n\r\n\t// Unrenders all event elements and clears internal segment data\r\n\tunrenderEvents: function() {\r\n\t\tthis.dayGrid.unrenderEvents();\r\n\r\n\t\t// we DON'T need to call updateHeight() because\r\n\t\t// a renderEvents() call always happens after this, which will eventually call updateHeight()\r\n\t},\r\n\r\n\r\n\t/* Dragging (for both events and external elements)\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// A returned value of `true` signals that a mock \"helper\" event has been rendered.\r\n\trenderDrag: function(dropLocation, seg) {\r\n\t\treturn this.dayGrid.renderDrag(dropLocation, seg);\r\n\t},\r\n\r\n\r\n\tunrenderDrag: function() {\r\n\t\tthis.dayGrid.unrenderDrag();\r\n\t},\r\n\r\n\r\n\t/* Selection\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of a selection\r\n\trenderSelection: function(span) {\r\n\t\tthis.dayGrid.renderSelection(span);\r\n\t},\r\n\r\n\r\n\t// Unrenders a visual indications of a selection\r\n\tunrenderSelection: function() {\r\n\t\tthis.dayGrid.unrenderSelection();\r\n\t}\r\n\r\n});\r\n\r\n\r\n// Methods that will customize the rendering behavior of the BasicView's dayGrid\r\nvar basicDayGridMethods = {\r\n\r\n\r\n\t// Generates the HTML that will go before the day-of week header cells\r\n\trenderHeadIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\tif (view.colWeekNumbersVisible) {\r\n\t\t\treturn '' +\r\n\t\t\t\t'<th class=\"fc-week-number ' + view.widgetHeaderClass + '\" ' + view.weekNumberStyleAttr() + '>' +\r\n\t\t\t\t\t'<span>' + // needed for matchCellWidths\r\n\t\t\t\t\t\thtmlEscape(view.opt('weekNumberTitle')) +\r\n\t\t\t\t\t'</span>' +\r\n\t\t\t\t'</th>';\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t},\r\n\r\n\r\n\t// Generates the HTML that will go before content-skeleton cells that display the day/week numbers\r\n\trenderNumberIntroHtml: function(row) {\r\n\t\tvar view = this.view;\r\n\t\tvar weekStart = this.getCellDate(row, 0);\r\n\r\n\t\tif (view.colWeekNumbersVisible) {\r\n\t\t\treturn '' +\r\n\t\t\t\t'<td class=\"fc-week-number\" ' + view.weekNumberStyleAttr() + '>' +\r\n\t\t\t\t\tview.buildGotoAnchorHtml( // aside from link, important for matchCellWidths\r\n\t\t\t\t\t\t{ date: weekStart, type: 'week', forceOff: this.colCnt === 1 },\r\n\t\t\t\t\t\tweekStart.format('w') // inner HTML\r\n\t\t\t\t\t) +\r\n\t\t\t\t'</td>';\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t},\r\n\r\n\r\n\t// Generates the HTML that goes before the day bg cells for each day-row\r\n\trenderBgIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\tif (view.colWeekNumbersVisible) {\r\n\t\t\treturn '<td class=\"fc-week-number ' + view.widgetContentClass + '\" ' +\r\n\t\t\t\tview.weekNumberStyleAttr() + '></td>';\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t},\r\n\r\n\r\n\t// Generates the HTML that goes before every other type of row generated by DayGrid.\r\n\t// Affects helper-skeleton and highlight-skeleton rows.\r\n\trenderIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\tif (view.colWeekNumbersVisible) {\r\n\t\t\treturn '<td class=\"fc-week-number\" ' + view.weekNumberStyleAttr() + '></td>';\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t}\r\n\r\n};\r\n\r\n;;\r\n\r\n/* A month view with day cells running in rows (one-per-week) and columns\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n\r\nvar MonthView = FC.MonthView = BasicView.extend({\r\n\r\n\t// Produces information about what range to display\r\n\tcomputeRange: function(date) {\r\n\t\tvar range = BasicView.prototype.computeRange.call(this, date); // get value from super-method\r\n\t\tvar rowCnt;\r\n\r\n\t\t// ensure 6 weeks\r\n\t\tif (this.isFixedWeeks()) {\r\n\t\t\trowCnt = Math.ceil(range.end.diff(range.start, 'weeks', true)); // could be partial weeks due to hiddenDays\r\n\t\t\trange.end.add(6 - rowCnt, 'weeks');\r\n\t\t}\r\n\r\n\t\treturn range;\r\n\t},\r\n\r\n\r\n\t// Overrides the default BasicView behavior to have special multi-week auto-height logic\r\n\tsetGridHeight: function(height, isAuto) {\r\n\r\n\t\t// if auto, make the height of each row the height that it would be if there were 6 weeks\r\n\t\tif (isAuto) {\r\n\t\t\theight *= this.rowCnt / 6;\r\n\t\t}\r\n\r\n\t\tdistributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows\r\n\t},\r\n\r\n\r\n\tisFixedWeeks: function() {\r\n\t\treturn this.opt('fixedWeekCount');\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\nfcViews.basic = {\r\n\t'class': BasicView\r\n};\r\n\r\nfcViews.basicDay = {\r\n\ttype: 'basic',\r\n\tduration: { days: 1 }\r\n};\r\n\r\nfcViews.basicWeek = {\r\n\ttype: 'basic',\r\n\tduration: { weeks: 1 }\r\n};\r\n\r\nfcViews.month = {\r\n\t'class': MonthView,\r\n\tduration: { months: 1 }, // important for prev/next\r\n\tdefaults: {\r\n\t\tfixedWeekCount: true\r\n\t}\r\n};\r\n;;\r\n\r\n/* An abstract class for all agenda-related views. Displays one more columns with time slots running vertically.\r\n----------------------------------------------------------------------------------------------------------------------*/\r\n// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).\r\n// Responsible for managing width/height.\r\n\r\nvar AgendaView = FC.AgendaView = View.extend({\r\n\r\n\tscroller: null,\r\n\r\n\ttimeGridClass: TimeGrid, // class used to instantiate the timeGrid. subclasses can override\r\n\ttimeGrid: null, // the main time-grid subcomponent of this view\r\n\r\n\tdayGridClass: DayGrid, // class used to instantiate the dayGrid. subclasses can override\r\n\tdayGrid: null, // the \"all-day\" subcomponent. if all-day is turned off, this will be null\r\n\r\n\taxisWidth: null, // the width of the time axis running down the side\r\n\r\n\theadContainerEl: null, // div that hold's the timeGrid's rendered date header\r\n\tnoScrollRowEls: null, // set of fake row elements that must compensate when scroller has scrollbars\r\n\r\n\t// when the time-grid isn't tall enough to occupy the given height, we render an <hr> underneath\r\n\tbottomRuleEl: null,\r\n\r\n\r\n\tinitialize: function() {\r\n\t\tthis.timeGrid = this.instantiateTimeGrid();\r\n\r\n\t\tif (this.opt('allDaySlot')) { // should we display the \"all-day\" area?\r\n\t\t\tthis.dayGrid = this.instantiateDayGrid(); // the all-day subcomponent of this view\r\n\t\t}\r\n\r\n\t\tthis.scroller = new Scroller({\r\n\t\t\toverflowX: 'hidden',\r\n\t\t\toverflowY: 'auto'\r\n\t\t});\r\n\t},\r\n\r\n\r\n\t// Instantiates the TimeGrid object this view needs. Draws from this.timeGridClass\r\n\tinstantiateTimeGrid: function() {\r\n\t\tvar subclass = this.timeGridClass.extend(agendaTimeGridMethods);\r\n\r\n\t\treturn new subclass(this);\r\n\t},\r\n\r\n\r\n\t// Instantiates the DayGrid object this view might need. Draws from this.dayGridClass\r\n\tinstantiateDayGrid: function() {\r\n\t\tvar subclass = this.dayGridClass.extend(agendaDayGridMethods);\r\n\r\n\t\treturn new subclass(this);\r\n\t},\r\n\r\n\r\n\t/* Rendering\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Sets the display range and computes all necessary dates\r\n\tsetRange: function(range) {\r\n\t\tView.prototype.setRange.call(this, range); // call the super-method\r\n\r\n\t\tthis.timeGrid.setRange(range);\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.setRange(range);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Renders the view into `this.el`, which has already been assigned\r\n\trenderDates: function() {\r\n\r\n\t\tthis.el.addClass('fc-agenda-view').html(this.renderSkeletonHtml());\r\n\t\tthis.renderHead();\r\n\r\n\t\tthis.scroller.render();\r\n\t\tvar timeGridWrapEl = this.scroller.el.addClass('fc-time-grid-container');\r\n\t\tvar timeGridEl = $('<div class=\"fc-time-grid\" />').appendTo(timeGridWrapEl);\r\n\t\tthis.el.find('.fc-body > tr > td').append(timeGridWrapEl);\r\n\r\n\t\tthis.timeGrid.setElement(timeGridEl);\r\n\t\tthis.timeGrid.renderDates();\r\n\r\n\t\t// the <hr> that sometimes displays under the time-grid\r\n\t\tthis.bottomRuleEl = $('<hr class=\"fc-divider ' + this.widgetHeaderClass + '\"/>')\r\n\t\t\t.appendTo(this.timeGrid.el); // inject it into the time-grid\r\n\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.setElement(this.el.find('.fc-day-grid'));\r\n\t\t\tthis.dayGrid.renderDates();\r\n\r\n\t\t\t// have the day-grid extend it's coordinate area over the <hr> dividing the two grids\r\n\t\t\tthis.dayGrid.bottomCoordPadding = this.dayGrid.el.next('hr').outerHeight();\r\n\t\t}\r\n\r\n\t\tthis.noScrollRowEls = this.el.find('.fc-row:not(.fc-scroller *)'); // fake rows not within the scroller\r\n\t},\r\n\r\n\r\n\t// render the day-of-week headers\r\n\trenderHead: function() {\r\n\t\tthis.headContainerEl =\r\n\t\t\tthis.el.find('.fc-head-container')\r\n\t\t\t\t.html(this.timeGrid.renderHeadHtml());\r\n\t},\r\n\r\n\r\n\t// Unrenders the content of the view. Since we haven't separated skeleton rendering from date rendering,\r\n\t// always completely kill each grid's rendering.\r\n\tunrenderDates: function() {\r\n\t\tthis.timeGrid.unrenderDates();\r\n\t\tthis.timeGrid.removeElement();\r\n\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.unrenderDates();\r\n\t\t\tthis.dayGrid.removeElement();\r\n\t\t}\r\n\r\n\t\tthis.scroller.destroy();\r\n\t},\r\n\r\n\r\n\t// Builds the HTML skeleton for the view.\r\n\t// The day-grid and time-grid components will render inside containers defined by this HTML.\r\n\trenderSkeletonHtml: function() {\r\n\t\treturn '' +\r\n\t\t\t'<table>' +\r\n\t\t\t\t'<thead class=\"fc-head\">' +\r\n\t\t\t\t\t'<tr>' +\r\n\t\t\t\t\t\t'<td class=\"fc-head-container ' + this.widgetHeaderClass + '\"></td>' +\r\n\t\t\t\t\t'</tr>' +\r\n\t\t\t\t'</thead>' +\r\n\t\t\t\t'<tbody class=\"fc-body\">' +\r\n\t\t\t\t\t'<tr>' +\r\n\t\t\t\t\t\t'<td class=\"' + this.widgetContentClass + '\">' +\r\n\t\t\t\t\t\t\t(this.dayGrid ?\r\n\t\t\t\t\t\t\t\t'<div class=\"fc-day-grid\"/>' +\r\n\t\t\t\t\t\t\t\t'<hr class=\"fc-divider ' + this.widgetHeaderClass + '\"/>' :\r\n\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t) +\r\n\t\t\t\t\t\t'</td>' +\r\n\t\t\t\t\t'</tr>' +\r\n\t\t\t\t'</tbody>' +\r\n\t\t\t'</table>';\r\n\t},\r\n\r\n\r\n\t// Generates an HTML attribute string for setting the width of the axis, if it is known\r\n\taxisStyleAttr: function() {\r\n\t\tif (this.axisWidth !== null) {\r\n\t\t\t return 'style=\"width:' + this.axisWidth + 'px\"';\r\n\t\t}\r\n\t\treturn '';\r\n\t},\r\n\r\n\r\n\t/* Business Hours\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\trenderBusinessHours: function() {\r\n\t\tthis.timeGrid.renderBusinessHours();\r\n\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.renderBusinessHours();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tunrenderBusinessHours: function() {\r\n\t\tthis.timeGrid.unrenderBusinessHours();\r\n\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.unrenderBusinessHours();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Now Indicator\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tgetNowIndicatorUnit: function() {\r\n\t\treturn this.timeGrid.getNowIndicatorUnit();\r\n\t},\r\n\r\n\r\n\trenderNowIndicator: function(date) {\r\n\t\tthis.timeGrid.renderNowIndicator(date);\r\n\t},\r\n\r\n\r\n\tunrenderNowIndicator: function() {\r\n\t\tthis.timeGrid.unrenderNowIndicator();\r\n\t},\r\n\r\n\r\n\t/* Dimensions\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\tupdateSize: function(isResize) {\r\n\t\tthis.timeGrid.updateSize(isResize);\r\n\r\n\t\tView.prototype.updateSize.call(this, isResize); // call the super-method\r\n\t},\r\n\r\n\r\n\t// Refreshes the horizontal dimensions of the view\r\n\tupdateWidth: function() {\r\n\t\t// make all axis cells line up, and record the width so newly created axis cells will have it\r\n\t\tthis.axisWidth = matchCellWidths(this.el.find('.fc-axis'));\r\n\t},\r\n\r\n\r\n\t// Adjusts the vertical dimensions of the view to the specified values\r\n\tsetHeight: function(totalHeight, isAuto) {\r\n\t\tvar eventLimit;\r\n\t\tvar scrollerHeight;\r\n\t\tvar scrollbarWidths;\r\n\r\n\t\t// reset all dimensions back to the original state\r\n\t\tthis.bottomRuleEl.hide(); // .show() will be called later if this <hr> is necessary\r\n\t\tthis.scroller.clear(); // sets height to 'auto' and clears overflow\r\n\t\tuncompensateScroll(this.noScrollRowEls);\r\n\r\n\t\t// limit number of events in the all-day area\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\r\n\r\n\t\t\teventLimit = this.opt('eventLimit');\r\n\t\t\tif (eventLimit && typeof eventLimit !== 'number') {\r\n\t\t\t\teventLimit = AGENDA_ALL_DAY_EVENT_LIMIT; // make sure \"auto\" goes to a real number\r\n\t\t\t}\r\n\t\t\tif (eventLimit) {\r\n\t\t\t\tthis.dayGrid.limitRows(eventLimit);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!isAuto) { // should we force dimensions of the scroll container?\r\n\r\n\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\r\n\t\t\tthis.scroller.setHeight(scrollerHeight);\r\n\t\t\tscrollbarWidths = this.scroller.getScrollbarWidths();\r\n\r\n\t\t\tif (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\r\n\r\n\t\t\t\t// make the all-day and header rows lines up\r\n\t\t\t\tcompensateScroll(this.noScrollRowEls, scrollbarWidths);\r\n\r\n\t\t\t\t// the scrollbar compensation might have changed text flow, which might affect height, so recalculate\r\n\t\t\t\t// and reapply the desired height to the scroller.\r\n\t\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\r\n\t\t\t\tthis.scroller.setHeight(scrollerHeight);\r\n\t\t\t}\r\n\r\n\t\t\t// guarantees the same scrollbar widths\r\n\t\t\tthis.scroller.lockOverflow(scrollbarWidths);\r\n\r\n\t\t\t// if there's any space below the slats, show the horizontal rule.\r\n\t\t\t// this won't cause any new overflow, because lockOverflow already called.\r\n\t\t\tif (this.timeGrid.getTotalSlatHeight() < scrollerHeight) {\r\n\t\t\t\tthis.bottomRuleEl.show();\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// given a desired total height of the view, returns what the height of the scroller should be\r\n\tcomputeScrollerHeight: function(totalHeight) {\r\n\t\treturn totalHeight -\r\n\t\t\tsubtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\r\n\t},\r\n\r\n\r\n\t/* Scroll\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Computes the initial pre-configured scroll state prior to allowing the user to change it\r\n\tcomputeInitialScroll: function() {\r\n\t\tvar scrollTime = moment.duration(this.opt('scrollTime'));\r\n\t\tvar top = this.timeGrid.computeTimeTop(scrollTime);\r\n\r\n\t\t// zoom can give weird floating-point values. rather scroll a little bit further\r\n\t\ttop = Math.ceil(top);\r\n\r\n\t\tif (top) {\r\n\t\t\ttop++; // to overcome top border that slots beyond the first have. looks better\r\n\t\t}\r\n\r\n\t\treturn { top: top };\r\n\t},\r\n\r\n\r\n\tqueryScroll: function() {\r\n\t\treturn { top: this.scroller.getScrollTop() };\r\n\t},\r\n\r\n\r\n\tsetScroll: function(scroll) {\r\n\t\tthis.scroller.setScrollTop(scroll.top);\r\n\t},\r\n\r\n\r\n\t/* Hit Areas\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\t// forward all hit-related method calls to the grids (dayGrid might not be defined)\r\n\r\n\r\n\thitsNeeded: function() {\r\n\t\tthis.timeGrid.hitsNeeded();\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.hitsNeeded();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\thitsNotNeeded: function() {\r\n\t\tthis.timeGrid.hitsNotNeeded();\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.hitsNotNeeded();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tprepareHits: function() {\r\n\t\tthis.timeGrid.prepareHits();\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.prepareHits();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\treleaseHits: function() {\r\n\t\tthis.timeGrid.releaseHits();\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.releaseHits();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tqueryHit: function(left, top) {\r\n\t\tvar hit = this.timeGrid.queryHit(left, top);\r\n\r\n\t\tif (!hit && this.dayGrid) {\r\n\t\t\thit = this.dayGrid.queryHit(left, top);\r\n\t\t}\r\n\r\n\t\treturn hit;\r\n\t},\r\n\r\n\r\n\tgetHitSpan: function(hit) {\r\n\t\t// TODO: hit.component is set as a hack to identify where the hit came from\r\n\t\treturn hit.component.getHitSpan(hit);\r\n\t},\r\n\r\n\r\n\tgetHitEl: function(hit) {\r\n\t\t// TODO: hit.component is set as a hack to identify where the hit came from\r\n\t\treturn hit.component.getHitEl(hit);\r\n\t},\r\n\r\n\r\n\t/* Events\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders events onto the view and populates the View's segment array\r\n\trenderEvents: function(events) {\r\n\t\tvar dayEvents = [];\r\n\t\tvar timedEvents = [];\r\n\t\tvar daySegs = [];\r\n\t\tvar timedSegs;\r\n\t\tvar i;\r\n\r\n\t\t// separate the events into all-day and timed\r\n\t\tfor (i = 0; i < events.length; i++) {\r\n\t\t\tif (events[i].allDay) {\r\n\t\t\t\tdayEvents.push(events[i]);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\ttimedEvents.push(events[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// render the events in the subcomponents\r\n\t\ttimedSegs = this.timeGrid.renderEvents(timedEvents);\r\n\t\tif (this.dayGrid) {\r\n\t\t\tdaySegs = this.dayGrid.renderEvents(dayEvents);\r\n\t\t}\r\n\r\n\t\t// the all-day area is flexible and might have a lot of events, so shift the height\r\n\t\tthis.updateHeight();\r\n\t},\r\n\r\n\r\n\t// Retrieves all segment objects that are rendered in the view\r\n\tgetEventSegs: function() {\r\n\t\treturn this.timeGrid.getEventSegs().concat(\r\n\t\t\tthis.dayGrid ? this.dayGrid.getEventSegs() : []\r\n\t\t);\r\n\t},\r\n\r\n\r\n\t// Unrenders all event elements and clears internal segment data\r\n\tunrenderEvents: function() {\r\n\r\n\t\t// unrender the events in the subcomponents\r\n\t\tthis.timeGrid.unrenderEvents();\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.unrenderEvents();\r\n\t\t}\r\n\r\n\t\t// we DON'T need to call updateHeight() because\r\n\t\t// a renderEvents() call always happens after this, which will eventually call updateHeight()\r\n\t},\r\n\r\n\r\n\t/* Dragging (for events and external elements)\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// A returned value of `true` signals that a mock \"helper\" event has been rendered.\r\n\trenderDrag: function(dropLocation, seg) {\r\n\t\tif (dropLocation.start.hasTime()) {\r\n\t\t\treturn this.timeGrid.renderDrag(dropLocation, seg);\r\n\t\t}\r\n\t\telse if (this.dayGrid) {\r\n\t\t\treturn this.dayGrid.renderDrag(dropLocation, seg);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\tunrenderDrag: function() {\r\n\t\tthis.timeGrid.unrenderDrag();\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.unrenderDrag();\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/* Selection\r\n\t------------------------------------------------------------------------------------------------------------------*/\r\n\r\n\r\n\t// Renders a visual indication of a selection\r\n\trenderSelection: function(span) {\r\n\t\tif (span.start.hasTime() || span.end.hasTime()) {\r\n\t\t\tthis.timeGrid.renderSelection(span);\r\n\t\t}\r\n\t\telse if (this.dayGrid) {\r\n\t\t\tthis.dayGrid.renderSelection(span);\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Unrenders a visual indications of a selection\r\n\tunrenderSelection: function() {\r\n\t\tthis.timeGrid.unrenderSelection();\r\n\t\tif (this.dayGrid) {\r\n\t\t\tthis.dayGrid.unrenderSelection();\r\n\t\t}\r\n\t}\r\n\r\n});\r\n\r\n\r\n// Methods that will customize the rendering behavior of the AgendaView's timeGrid\r\n// TODO: move into TimeGrid\r\nvar agendaTimeGridMethods = {\r\n\r\n\r\n\t// Generates the HTML that will go before the day-of week header cells\r\n\trenderHeadIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\t\tvar weekText;\r\n\r\n\t\tif (view.opt('weekNumbers')) {\r\n\t\t\tweekText = this.start.format(view.opt('smallWeekFormat'));\r\n\r\n\t\t\treturn '' +\r\n\t\t\t\t'<th class=\"fc-axis fc-week-number ' + view.widgetHeaderClass + '\" ' + view.axisStyleAttr() + '>' +\r\n\t\t\t\t\tview.buildGotoAnchorHtml( // aside from link, important for matchCellWidths\r\n\t\t\t\t\t\t{ date: this.start, type: 'week', forceOff: this.colCnt > 1 },\r\n\t\t\t\t\t\thtmlEscape(weekText) // inner HTML\r\n\t\t\t\t\t) +\r\n\t\t\t\t'</th>';\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn '<th class=\"fc-axis ' + view.widgetHeaderClass + '\" ' + view.axisStyleAttr() + '></th>';\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t// Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column.\r\n\trenderBgIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\treturn '<td class=\"fc-axis ' + view.widgetContentClass + '\" ' + view.axisStyleAttr() + '></td>';\r\n\t},\r\n\r\n\r\n\t// Generates the HTML that goes before all other types of cells.\r\n\t// Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid.\r\n\trenderIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\treturn '<td class=\"fc-axis\" ' + view.axisStyleAttr() + '></td>';\r\n\t}\r\n\r\n};\r\n\r\n\r\n// Methods that will customize the rendering behavior of the AgendaView's dayGrid\r\nvar agendaDayGridMethods = {\r\n\r\n\r\n\t// Generates the HTML that goes before the all-day cells\r\n\trenderBgIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\treturn '' +\r\n\t\t\t'<td class=\"fc-axis ' + view.widgetContentClass + '\" ' + view.axisStyleAttr() + '>' +\r\n\t\t\t\t'<span>' + // needed for matchCellWidths\r\n\t\t\t\t\tview.getAllDayHtml() +\r\n\t\t\t\t'</span>' +\r\n\t\t\t'</td>';\r\n\t},\r\n\r\n\r\n\t// Generates the HTML that goes before all other types of cells.\r\n\t// Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid.\r\n\trenderIntroHtml: function() {\r\n\t\tvar view = this.view;\r\n\r\n\t\treturn '<td class=\"fc-axis\" ' + view.axisStyleAttr() + '></td>';\r\n\t}\r\n\r\n};\r\n\r\n;;\r\n\r\nvar AGENDA_ALL_DAY_EVENT_LIMIT = 5;\r\n\r\n// potential nice values for the slot-duration and interval-duration\r\n// from largest to smallest\r\nvar AGENDA_STOCK_SUB_DURATIONS = [\r\n\t{ hours: 1 },\r\n\t{ minutes: 30 },\r\n\t{ minutes: 15 },\r\n\t{ seconds: 30 },\r\n\t{ seconds: 15 }\r\n];\r\n\r\nfcViews.agenda = {\r\n\t'class': AgendaView,\r\n\tdefaults: {\r\n\t\tallDaySlot: true,\r\n\t\tslotDuration: '00:30:00',\r\n\t\tminTime: '00:00:00',\r\n\t\tmaxTime: '24:00:00',\r\n\t\tslotEventOverlap: true // a bad name. confused with overlap/constraint system\r\n\t}\r\n};\r\n\r\nfcViews.agendaDay = {\r\n\ttype: 'agenda',\r\n\tduration: { days: 1 }\r\n};\r\n\r\nfcViews.agendaWeek = {\r\n\ttype: 'agenda',\r\n\tduration: { weeks: 1 }\r\n};\r\n;;\r\n\r\n/*\r\nResponsible for the scroller, and forwarding event-related actions into the \"grid\"\r\n*/\r\nvar ListView = View.extend({\r\n\r\n\tgrid: null,\r\n\tscroller: null,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.grid = new ListViewGrid(this);\r\n\t\tthis.scroller = new Scroller({\r\n\t\t\toverflowX: 'hidden',\r\n\t\t\toverflowY: 'auto'\r\n\t\t});\r\n\t},\r\n\r\n\tsetRange: function(range) {\r\n\t\tView.prototype.setRange.call(this, range); // super\r\n\r\n\t\tthis.grid.setRange(range); // needs to process range-related options\r\n\t},\r\n\r\n\trenderSkeleton: function() {\r\n\t\tthis.el.addClass(\r\n\t\t\t'fc-list-view ' +\r\n\t\t\tthis.widgetContentClass\r\n\t\t);\r\n\r\n\t\tthis.scroller.render();\r\n\t\tthis.scroller.el.appendTo(this.el);\r\n\r\n\t\tthis.grid.setElement(this.scroller.scrollEl);\r\n\t},\r\n\r\n\tunrenderSkeleton: function() {\r\n\t\tthis.scroller.destroy(); // will remove the Grid too\r\n\t},\r\n\r\n\tsetHeight: function(totalHeight, isAuto) {\r\n\t\tthis.scroller.setHeight(this.computeScrollerHeight(totalHeight));\r\n\t},\r\n\r\n\tcomputeScrollerHeight: function(totalHeight) {\r\n\t\treturn totalHeight -\r\n\t\t\tsubtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\r\n\t},\r\n\r\n\trenderEvents: function(events) {\r\n\t\tthis.grid.renderEvents(events);\r\n\t},\r\n\r\n\tunrenderEvents: function() {\r\n\t\tthis.grid.unrenderEvents();\r\n\t},\r\n\r\n\tisEventResizable: function(event) {\r\n\t\treturn false;\r\n\t},\r\n\r\n\tisEventDraggable: function(event) {\r\n\t\treturn false;\r\n\t}\r\n\r\n});\r\n\r\n/*\r\nResponsible for event rendering and user-interaction.\r\nIts \"el\" is the inner-content of the above view's scroller.\r\n*/\r\nvar ListViewGrid = Grid.extend({\r\n\r\n\tsegSelector: '.fc-list-item', // which elements accept event actions\r\n\thasDayInteractions: false, // no day selection or day clicking\r\n\r\n\t// slices by day\r\n\tspanToSegs: function(span) {\r\n\t\tvar view = this.view;\r\n\t\tvar dayStart = view.start.clone().time(0); // timed, so segs get times!\r\n\t\tvar dayIndex = 0;\r\n\t\tvar seg;\r\n\t\tvar segs = [];\r\n\r\n\t\twhile (dayStart < view.end) {\r\n\r\n\t\t\tseg = intersectRanges(span, {\r\n\t\t\t\tstart: dayStart,\r\n\t\t\t\tend: dayStart.clone().add(1, 'day')\r\n\t\t\t});\r\n\r\n\t\t\tif (seg) {\r\n\t\t\t\tseg.dayIndex = dayIndex;\r\n\t\t\t\tsegs.push(seg);\r\n\t\t\t}\r\n\r\n\t\t\tdayStart.add(1, 'day');\r\n\t\t\tdayIndex++;\r\n\r\n\t\t\t// detect when span won't go fully into the next day,\r\n\t\t\t// and mutate the latest seg to the be the end.\r\n\t\t\tif (\r\n\t\t\t\tseg && !seg.isEnd && span.end.hasTime() &&\r\n\t\t\t\tspan.end < dayStart.clone().add(this.view.nextDayThreshold)\r\n\t\t\t) {\r\n\t\t\t\tseg.end = span.end.clone();\r\n\t\t\t\tseg.isEnd = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\t// like \"4:00am\"\r\n\tcomputeEventTimeFormat: function() {\r\n\t\treturn this.view.opt('mediumTimeFormat');\r\n\t},\r\n\r\n\t// for events with a url, the whole <tr> should be clickable,\r\n\t// but it's impossible to wrap with an <a> tag. simulate this.\r\n\thandleSegClick: function(seg, ev) {\r\n\t\tvar url;\r\n\r\n\t\tGrid.prototype.handleSegClick.apply(this, arguments); // super. might prevent the default action\r\n\r\n\t\t// not clicking on or within an <a> with an href\r\n\t\tif (!$(ev.target).closest('a[href]').length) {\r\n\t\t\turl = seg.event.url;\r\n\t\t\tif (url && !ev.isDefaultPrevented()) { // jsEvent not cancelled in handler\r\n\t\t\t\twindow.location.href = url; // simulate link click\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// returns list of foreground segs that were actually rendered\r\n\trenderFgSegs: function(segs) {\r\n\t\tsegs = this.renderFgSegEls(segs); // might filter away hidden events\r\n\r\n\t\tif (!segs.length) {\r\n\t\t\tthis.renderEmptyMessage();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.renderSegList(segs);\r\n\t\t}\r\n\r\n\t\treturn segs;\r\n\t},\r\n\r\n\trenderEmptyMessage: function() {\r\n\t\tthis.el.html(\r\n\t\t\t'<div class=\"fc-list-empty-wrap2\">' + // TODO: try less wraps\r\n\t\t\t'<div class=\"fc-list-empty-wrap1\">' +\r\n\t\t\t'<div class=\"fc-list-empty\">' +\r\n\t\t\t\thtmlEscape(this.view.opt('noEventsMessage')) +\r\n\t\t\t'</div>' +\r\n\t\t\t'</div>' +\r\n\t\t\t'</div>'\r\n\t\t);\r\n\t},\r\n\r\n\t// render the event segments in the view\r\n\trenderSegList: function(allSegs) {\r\n\t\tvar segsByDay = this.groupSegsByDay(allSegs); // sparse array\r\n\t\tvar dayIndex;\r\n\t\tvar daySegs;\r\n\t\tvar i;\r\n\t\tvar tableEl = $('<table class=\"fc-list-table\"><tbody/></table>');\r\n\t\tvar tbodyEl = tableEl.find('tbody');\r\n\r\n\t\tfor (dayIndex = 0; dayIndex < segsByDay.length; dayIndex++) {\r\n\t\t\tdaySegs = segsByDay[dayIndex];\r\n\t\t\tif (daySegs) { // sparse array, so might be undefined\r\n\r\n\t\t\t\t// append a day header\r\n\t\t\t\ttbodyEl.append(this.dayHeaderHtml(\r\n\t\t\t\t\tthis.view.start.clone().add(dayIndex, 'days')\r\n\t\t\t\t));\r\n\r\n\t\t\t\tthis.sortEventSegs(daySegs);\r\n\r\n\t\t\t\tfor (i = 0; i < daySegs.length; i++) {\r\n\t\t\t\t\ttbodyEl.append(daySegs[i].el); // append event row\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.el.empty().append(tableEl);\r\n\t},\r\n\r\n\t// Returns a sparse array of arrays, segs grouped by their dayIndex\r\n\tgroupSegsByDay: function(segs) {\r\n\t\tvar segsByDay = []; // sparse array\r\n\t\tvar i, seg;\r\n\r\n\t\tfor (i = 0; i < segs.length; i++) {\r\n\t\t\tseg = segs[i];\r\n\t\t\t(segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))\r\n\t\t\t\t.push(seg);\r\n\t\t}\r\n\r\n\t\treturn segsByDay;\r\n\t},\r\n\r\n\t// generates the HTML for the day headers that live amongst the event rows\r\n\tdayHeaderHtml: function(dayDate) {\r\n\t\tvar view = this.view;\r\n\t\tvar mainFormat = view.opt('listDayFormat');\r\n\t\tvar altFormat = view.opt('listDayAltFormat');\r\n\r\n\t\treturn '<tr class=\"fc-list-heading\" data-date=\"' + dayDate.format('YYYY-MM-DD') + '\">' +\r\n\t\t\t'<td class=\"' + view.widgetHeaderClass + '\" colspan=\"3\">' +\r\n\t\t\t\t(mainFormat ?\r\n\t\t\t\t\tview.buildGotoAnchorHtml(\r\n\t\t\t\t\t\tdayDate,\r\n\t\t\t\t\t\t{ 'class': 'fc-list-heading-main' },\r\n\t\t\t\t\t\thtmlEscape(dayDate.format(mainFormat)) // inner HTML\r\n\t\t\t\t\t) :\r\n\t\t\t\t\t'') +\r\n\t\t\t\t(altFormat ?\r\n\t\t\t\t\tview.buildGotoAnchorHtml(\r\n\t\t\t\t\t\tdayDate,\r\n\t\t\t\t\t\t{ 'class': 'fc-list-heading-alt' },\r\n\t\t\t\t\t\thtmlEscape(dayDate.format(altFormat)) // inner HTML\r\n\t\t\t\t\t) :\r\n\t\t\t\t\t'') +\r\n\t\t\t'</td>' +\r\n\t\t'</tr>';\r\n\t},\r\n\r\n\t// generates the HTML for a single event row\r\n\tfgSegHtml: function(seg) {\r\n\t\tvar view = this.view;\r\n\t\tvar classes = [ 'fc-list-item' ].concat(this.getSegCustomClasses(seg));\r\n\t\tvar bgColor = this.getSegBackgroundColor(seg);\r\n\t\tvar event = seg.event;\r\n\t\tvar url = event.url;\r\n\t\tvar timeHtml;\r\n\r\n\t\tif (event.allDay) {\r\n\t\t\ttimeHtml = view.getAllDayHtml();\r\n\t\t}\r\n\t\telse if (view.isMultiDayEvent(event)) { // if the event appears to span more than one day\r\n\t\t\tif (seg.isStart || seg.isEnd) { // outer segment that probably lasts part of the day\r\n\t\t\t\ttimeHtml = htmlEscape(this.getEventTimeText(seg));\r\n\t\t\t}\r\n\t\t\telse { // inner segment that lasts the whole day\r\n\t\t\t\ttimeHtml = view.getAllDayHtml();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// Display the normal time text for the *event's* times\r\n\t\t\ttimeHtml = htmlEscape(this.getEventTimeText(event));\r\n\t\t}\r\n\r\n\t\tif (url) {\r\n\t\t\tclasses.push('fc-has-url');\r\n\t\t}\r\n\r\n\t\treturn '<tr class=\"' + classes.join(' ') + '\">' +\r\n\t\t\t(this.displayEventTime ?\r\n\t\t\t\t'<td class=\"fc-list-item-time ' + view.widgetContentClass + '\">' +\r\n\t\t\t\t\t(timeHtml || '') +\r\n\t\t\t\t'</td>' :\r\n\t\t\t\t'') +\r\n\t\t\t'<td class=\"fc-list-item-marker ' + view.widgetContentClass + '\">' +\r\n\t\t\t\t'<span class=\"fc-event-dot\"' +\r\n\t\t\t\t(bgColor ?\r\n\t\t\t\t\t' style=\"background-color:' + bgColor + '\"' :\r\n\t\t\t\t\t'') +\r\n\t\t\t\t'></span>' +\r\n\t\t\t'</td>' +\r\n\t\t\t'<td class=\"fc-list-item-title ' + view.widgetContentClass + '\">' +\r\n\t\t\t\t'<a' + (url ? ' href=\"' + htmlEscape(url) + '\"' : '') + '>' +\r\n\t\t\t\t\thtmlEscape(seg.event.title || '') +\r\n\t\t\t\t'</a>' +\r\n\t\t\t'</td>' +\r\n\t\t'</tr>';\r\n\t}\r\n\r\n});\r\n\r\n;;\r\n\r\nfcViews.list = {\r\n\t'class': ListView,\r\n\tbuttonTextKey: 'list', // what to lookup in locale files\r\n\tdefaults: {\r\n\t\tbuttonText: 'list', // text to display for English\r\n\t\tlistDayFormat: 'LL', // like \"January 1, 2016\"\r\n\t\tnoEventsMessage: 'No events to display'\r\n\t}\r\n};\r\n\r\nfcViews.listDay = {\r\n\ttype: 'list',\r\n\tduration: { days: 1 },\r\n\tdefaults: {\r\n\t\tlistDayFormat: 'dddd' // day-of-week is all we need. full date is probably in header\r\n\t}\r\n};\r\n\r\nfcViews.listWeek = {\r\n\ttype: 'list',\r\n\tduration: { weeks: 1 },\r\n\tdefaults: {\r\n\t\tlistDayFormat: 'dddd', // day-of-week is more important\r\n\t\tlistDayAltFormat: 'LL'\r\n\t}\r\n};\r\n\r\nfcViews.listMonth = {\r\n\ttype: 'list',\r\n\tduration: { month: 1 },\r\n\tdefaults: {\r\n\t\tlistDayAltFormat: 'dddd' // day-of-week is nice-to-have\r\n\t}\r\n};\r\n\r\nfcViews.listYear = {\r\n\ttype: 'list',\r\n\tduration: { year: 1 },\r\n\tdefaults: {\r\n\t\tlistDayAltFormat: 'dddd' // day-of-week is nice-to-have\r\n\t}\r\n};\r\n\r\n;;\r\n\r\nreturn FC; // export for Node/CommonJS\r\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fullcalendar/dist/fullcalendar.js\n// module id = 1198\n// module chunks = 3","module.exports = [\r\n  // if it says it's a webview, let's go with that\r\n  'WebView',\r\n  // iOS webview will be the same as safari but missing \"Safari\"\r\n  '(iPhone|iPod|iPad)(?!.*Safari)',\r\n  // Android Lollipop and Above: webview will be the same as native but it will contain \"wv\"\r\n  // Android KitKat to lollipop webview will put {version}.0.0.0\r\n  'Android.*(wv|\\.0\\.0\\.0)',\r\n  // old chrome android webview agent\r\n  'Linux; U; Android'\r\n];\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/is-ua-webview/data/rules.js\n// module id = 1199\n// module chunks = 3","var rules = require('./data/rules')\r\nvar webviewRegExp = new RegExp('(' + rules.join('|') + ')', 'ig')\r\n\r\nmodule.exports = function isWebview(ua) {\r\n  return !!ua.match(webviewRegExp)\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/is-ua-webview/index.js\n// module id = 1200\n// module chunks = 3","module.exports = {\n\t\"country_phone_code_to_countries\": {\n\t\t\"1\": [\n\t\t\t\"US\",\n\t\t\t\"AG\",\n\t\t\t\"AI\",\n\t\t\t\"AS\",\n\t\t\t\"BB\",\n\t\t\t\"BM\",\n\t\t\t\"BS\",\n\t\t\t\"CA\",\n\t\t\t\"DM\",\n\t\t\t\"DO\",\n\t\t\t\"GD\",\n\t\t\t\"GU\",\n\t\t\t\"JM\",\n\t\t\t\"KN\",\n\t\t\t\"KY\",\n\t\t\t\"LC\",\n\t\t\t\"MP\",\n\t\t\t\"MS\",\n\t\t\t\"PR\",\n\t\t\t\"SX\",\n\t\t\t\"TC\",\n\t\t\t\"TT\",\n\t\t\t\"VC\",\n\t\t\t\"VG\",\n\t\t\t\"VI\"\n\t\t],\n\t\t\"7\": [\n\t\t\t\"RU\",\n\t\t\t\"KZ\"\n\t\t],\n\t\t\"20\": [\n\t\t\t\"EG\"\n\t\t],\n\t\t\"27\": [\n\t\t\t\"ZA\"\n\t\t],\n\t\t\"30\": [\n\t\t\t\"GR\"\n\t\t],\n\t\t\"31\": [\n\t\t\t\"NL\"\n\t\t],\n\t\t\"32\": [\n\t\t\t\"BE\"\n\t\t],\n\t\t\"33\": [\n\t\t\t\"FR\"\n\t\t],\n\t\t\"34\": [\n\t\t\t\"ES\"\n\t\t],\n\t\t\"36\": [\n\t\t\t\"HU\"\n\t\t],\n\t\t\"39\": [\n\t\t\t\"IT\",\n\t\t\t\"VA\"\n\t\t],\n\t\t\"40\": [\n\t\t\t\"RO\"\n\t\t],\n\t\t\"41\": [\n\t\t\t\"CH\"\n\t\t],\n\t\t\"43\": [\n\t\t\t\"AT\"\n\t\t],\n\t\t\"44\": [\n\t\t\t\"GB\",\n\t\t\t\"GG\",\n\t\t\t\"IM\",\n\t\t\t\"JE\"\n\t\t],\n\t\t\"45\": [\n\t\t\t\"DK\"\n\t\t],\n\t\t\"46\": [\n\t\t\t\"SE\"\n\t\t],\n\t\t\"47\": [\n\t\t\t\"NO\",\n\t\t\t\"SJ\"\n\t\t],\n\t\t\"48\": [\n\t\t\t\"PL\"\n\t\t],\n\t\t\"49\": [\n\t\t\t\"DE\"\n\t\t],\n\t\t\"51\": [\n\t\t\t\"PE\"\n\t\t],\n\t\t\"52\": [\n\t\t\t\"MX\"\n\t\t],\n\t\t\"53\": [\n\t\t\t\"CU\"\n\t\t],\n\t\t\"54\": [\n\t\t\t\"AR\"\n\t\t],\n\t\t\"55\": [\n\t\t\t\"BR\"\n\t\t],\n\t\t\"56\": [\n\t\t\t\"CL\"\n\t\t],\n\t\t\"57\": [\n\t\t\t\"CO\"\n\t\t],\n\t\t\"58\": [\n\t\t\t\"VE\"\n\t\t],\n\t\t\"60\": [\n\t\t\t\"MY\"\n\t\t],\n\t\t\"61\": [\n\t\t\t\"AU\",\n\t\t\t\"CC\",\n\t\t\t\"CX\"\n\t\t],\n\t\t\"62\": [\n\t\t\t\"ID\"\n\t\t],\n\t\t\"63\": [\n\t\t\t\"PH\"\n\t\t],\n\t\t\"64\": [\n\t\t\t\"NZ\"\n\t\t],\n\t\t\"65\": [\n\t\t\t\"SG\"\n\t\t],\n\t\t\"66\": [\n\t\t\t\"TH\"\n\t\t],\n\t\t\"81\": [\n\t\t\t\"JP\"\n\t\t],\n\t\t\"82\": [\n\t\t\t\"KR\"\n\t\t],\n\t\t\"84\": [\n\t\t\t\"VN\"\n\t\t],\n\t\t\"86\": [\n\t\t\t\"CN\"\n\t\t],\n\t\t\"90\": [\n\t\t\t\"TR\"\n\t\t],\n\t\t\"91\": [\n\t\t\t\"IN\"\n\t\t],\n\t\t\"92\": [\n\t\t\t\"PK\"\n\t\t],\n\t\t\"93\": [\n\t\t\t\"AF\"\n\t\t],\n\t\t\"94\": [\n\t\t\t\"LK\"\n\t\t],\n\t\t\"95\": [\n\t\t\t\"MM\"\n\t\t],\n\t\t\"98\": [\n\t\t\t\"IR\"\n\t\t],\n\t\t\"211\": [\n\t\t\t\"SS\"\n\t\t],\n\t\t\"212\": [\n\t\t\t\"MA\",\n\t\t\t\"EH\"\n\t\t],\n\t\t\"213\": [\n\t\t\t\"DZ\"\n\t\t],\n\t\t\"216\": [\n\t\t\t\"TN\"\n\t\t],\n\t\t\"218\": [\n\t\t\t\"LY\"\n\t\t],\n\t\t\"220\": [\n\t\t\t\"GM\"\n\t\t],\n\t\t\"221\": [\n\t\t\t\"SN\"\n\t\t],\n\t\t\"222\": [\n\t\t\t\"MR\"\n\t\t],\n\t\t\"223\": [\n\t\t\t\"ML\"\n\t\t],\n\t\t\"224\": [\n\t\t\t\"GN\"\n\t\t],\n\t\t\"225\": [\n\t\t\t\"CI\"\n\t\t],\n\t\t\"226\": [\n\t\t\t\"BF\"\n\t\t],\n\t\t\"227\": [\n\t\t\t\"NE\"\n\t\t],\n\t\t\"228\": [\n\t\t\t\"TG\"\n\t\t],\n\t\t\"229\": [\n\t\t\t\"BJ\"\n\t\t],\n\t\t\"230\": [\n\t\t\t\"MU\"\n\t\t],\n\t\t\"231\": [\n\t\t\t\"LR\"\n\t\t],\n\t\t\"232\": [\n\t\t\t\"SL\"\n\t\t],\n\t\t\"233\": [\n\t\t\t\"GH\"\n\t\t],\n\t\t\"234\": [\n\t\t\t\"NG\"\n\t\t],\n\t\t\"235\": [\n\t\t\t\"TD\"\n\t\t],\n\t\t\"236\": [\n\t\t\t\"CF\"\n\t\t],\n\t\t\"237\": [\n\t\t\t\"CM\"\n\t\t],\n\t\t\"238\": [\n\t\t\t\"CV\"\n\t\t],\n\t\t\"239\": [\n\t\t\t\"ST\"\n\t\t],\n\t\t\"240\": [\n\t\t\t\"GQ\"\n\t\t],\n\t\t\"241\": [\n\t\t\t\"GA\"\n\t\t],\n\t\t\"242\": [\n\t\t\t\"CG\"\n\t\t],\n\t\t\"243\": [\n\t\t\t\"CD\"\n\t\t],\n\t\t\"244\": [\n\t\t\t\"AO\"\n\t\t],\n\t\t\"245\": [\n\t\t\t\"GW\"\n\t\t],\n\t\t\"246\": [\n\t\t\t\"IO\"\n\t\t],\n\t\t\"247\": [\n\t\t\t\"AC\"\n\t\t],\n\t\t\"248\": [\n\t\t\t\"SC\"\n\t\t],\n\t\t\"249\": [\n\t\t\t\"SD\"\n\t\t],\n\t\t\"250\": [\n\t\t\t\"RW\"\n\t\t],\n\t\t\"251\": [\n\t\t\t\"ET\"\n\t\t],\n\t\t\"252\": [\n\t\t\t\"SO\"\n\t\t],\n\t\t\"253\": [\n\t\t\t\"DJ\"\n\t\t],\n\t\t\"254\": [\n\t\t\t\"KE\"\n\t\t],\n\t\t\"255\": [\n\t\t\t\"TZ\"\n\t\t],\n\t\t\"256\": [\n\t\t\t\"UG\"\n\t\t],\n\t\t\"257\": [\n\t\t\t\"BI\"\n\t\t],\n\t\t\"258\": [\n\t\t\t\"MZ\"\n\t\t],\n\t\t\"260\": [\n\t\t\t\"ZM\"\n\t\t],\n\t\t\"261\": [\n\t\t\t\"MG\"\n\t\t],\n\t\t\"262\": [\n\t\t\t\"RE\",\n\t\t\t\"YT\"\n\t\t],\n\t\t\"263\": [\n\t\t\t\"ZW\"\n\t\t],\n\t\t\"264\": [\n\t\t\t\"NA\"\n\t\t],\n\t\t\"265\": [\n\t\t\t\"MW\"\n\t\t],\n\t\t\"266\": [\n\t\t\t\"LS\"\n\t\t],\n\t\t\"267\": [\n\t\t\t\"BW\"\n\t\t],\n\t\t\"268\": [\n\t\t\t\"SZ\"\n\t\t],\n\t\t\"269\": [\n\t\t\t\"KM\"\n\t\t],\n\t\t\"290\": [\n\t\t\t\"SH\",\n\t\t\t\"TA\"\n\t\t],\n\t\t\"291\": [\n\t\t\t\"ER\"\n\t\t],\n\t\t\"297\": [\n\t\t\t\"AW\"\n\t\t],\n\t\t\"298\": [\n\t\t\t\"FO\"\n\t\t],\n\t\t\"299\": [\n\t\t\t\"GL\"\n\t\t],\n\t\t\"350\": [\n\t\t\t\"GI\"\n\t\t],\n\t\t\"351\": [\n\t\t\t\"PT\"\n\t\t],\n\t\t\"352\": [\n\t\t\t\"LU\"\n\t\t],\n\t\t\"353\": [\n\t\t\t\"IE\"\n\t\t],\n\t\t\"354\": [\n\t\t\t\"IS\"\n\t\t],\n\t\t\"355\": [\n\t\t\t\"AL\"\n\t\t],\n\t\t\"356\": [\n\t\t\t\"MT\"\n\t\t],\n\t\t\"357\": [\n\t\t\t\"CY\"\n\t\t],\n\t\t\"358\": [\n\t\t\t\"FI\",\n\t\t\t\"AX\"\n\t\t],\n\t\t\"359\": [\n\t\t\t\"BG\"\n\t\t],\n\t\t\"370\": [\n\t\t\t\"LT\"\n\t\t],\n\t\t\"371\": [\n\t\t\t\"LV\"\n\t\t],\n\t\t\"372\": [\n\t\t\t\"EE\"\n\t\t],\n\t\t\"373\": [\n\t\t\t\"MD\"\n\t\t],\n\t\t\"374\": [\n\t\t\t\"AM\"\n\t\t],\n\t\t\"375\": [\n\t\t\t\"BY\"\n\t\t],\n\t\t\"376\": [\n\t\t\t\"AD\"\n\t\t],\n\t\t\"377\": [\n\t\t\t\"MC\"\n\t\t],\n\t\t\"378\": [\n\t\t\t\"SM\"\n\t\t],\n\t\t\"380\": [\n\t\t\t\"UA\"\n\t\t],\n\t\t\"381\": [\n\t\t\t\"RS\"\n\t\t],\n\t\t\"382\": [\n\t\t\t\"ME\"\n\t\t],\n\t\t\"385\": [\n\t\t\t\"HR\"\n\t\t],\n\t\t\"386\": [\n\t\t\t\"SI\"\n\t\t],\n\t\t\"387\": [\n\t\t\t\"BA\"\n\t\t],\n\t\t\"389\": [\n\t\t\t\"MK\"\n\t\t],\n\t\t\"420\": [\n\t\t\t\"CZ\"\n\t\t],\n\t\t\"421\": [\n\t\t\t\"SK\"\n\t\t],\n\t\t\"423\": [\n\t\t\t\"LI\"\n\t\t],\n\t\t\"500\": [\n\t\t\t\"FK\"\n\t\t],\n\t\t\"501\": [\n\t\t\t\"BZ\"\n\t\t],\n\t\t\"502\": [\n\t\t\t\"GT\"\n\t\t],\n\t\t\"503\": [\n\t\t\t\"SV\"\n\t\t],\n\t\t\"504\": [\n\t\t\t\"HN\"\n\t\t],\n\t\t\"505\": [\n\t\t\t\"NI\"\n\t\t],\n\t\t\"506\": [\n\t\t\t\"CR\"\n\t\t],\n\t\t\"507\": [\n\t\t\t\"PA\"\n\t\t],\n\t\t\"508\": [\n\t\t\t\"PM\"\n\t\t],\n\t\t\"509\": [\n\t\t\t\"HT\"\n\t\t],\n\t\t\"590\": [\n\t\t\t\"GP\",\n\t\t\t\"BL\",\n\t\t\t\"MF\"\n\t\t],\n\t\t\"591\": [\n\t\t\t\"BO\"\n\t\t],\n\t\t\"592\": [\n\t\t\t\"GY\"\n\t\t],\n\t\t\"593\": [\n\t\t\t\"EC\"\n\t\t],\n\t\t\"594\": [\n\t\t\t\"GF\"\n\t\t],\n\t\t\"595\": [\n\t\t\t\"PY\"\n\t\t],\n\t\t\"596\": [\n\t\t\t\"MQ\"\n\t\t],\n\t\t\"597\": [\n\t\t\t\"SR\"\n\t\t],\n\t\t\"598\": [\n\t\t\t\"UY\"\n\t\t],\n\t\t\"599\": [\n\t\t\t\"CW\",\n\t\t\t\"BQ\"\n\t\t],\n\t\t\"670\": [\n\t\t\t\"TL\"\n\t\t],\n\t\t\"672\": [\n\t\t\t\"NF\"\n\t\t],\n\t\t\"673\": [\n\t\t\t\"BN\"\n\t\t],\n\t\t\"674\": [\n\t\t\t\"NR\"\n\t\t],\n\t\t\"675\": [\n\t\t\t\"PG\"\n\t\t],\n\t\t\"676\": [\n\t\t\t\"TO\"\n\t\t],\n\t\t\"677\": [\n\t\t\t\"SB\"\n\t\t],\n\t\t\"678\": [\n\t\t\t\"VU\"\n\t\t],\n\t\t\"679\": [\n\t\t\t\"FJ\"\n\t\t],\n\t\t\"680\": [\n\t\t\t\"PW\"\n\t\t],\n\t\t\"681\": [\n\t\t\t\"WF\"\n\t\t],\n\t\t\"682\": [\n\t\t\t\"CK\"\n\t\t],\n\t\t\"683\": [\n\t\t\t\"NU\"\n\t\t],\n\t\t\"685\": [\n\t\t\t\"WS\"\n\t\t],\n\t\t\"686\": [\n\t\t\t\"KI\"\n\t\t],\n\t\t\"687\": [\n\t\t\t\"NC\"\n\t\t],\n\t\t\"688\": [\n\t\t\t\"TV\"\n\t\t],\n\t\t\"689\": [\n\t\t\t\"PF\"\n\t\t],\n\t\t\"690\": [\n\t\t\t\"TK\"\n\t\t],\n\t\t\"691\": [\n\t\t\t\"FM\"\n\t\t],\n\t\t\"692\": [\n\t\t\t\"MH\"\n\t\t],\n\t\t\"800\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"808\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"850\": [\n\t\t\t\"KP\"\n\t\t],\n\t\t\"852\": [\n\t\t\t\"HK\"\n\t\t],\n\t\t\"853\": [\n\t\t\t\"MO\"\n\t\t],\n\t\t\"855\": [\n\t\t\t\"KH\"\n\t\t],\n\t\t\"856\": [\n\t\t\t\"LA\"\n\t\t],\n\t\t\"870\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"878\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"880\": [\n\t\t\t\"BD\"\n\t\t],\n\t\t\"881\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"882\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"883\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"886\": [\n\t\t\t\"TW\"\n\t\t],\n\t\t\"888\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"960\": [\n\t\t\t\"MV\"\n\t\t],\n\t\t\"961\": [\n\t\t\t\"LB\"\n\t\t],\n\t\t\"962\": [\n\t\t\t\"JO\"\n\t\t],\n\t\t\"963\": [\n\t\t\t\"SY\"\n\t\t],\n\t\t\"964\": [\n\t\t\t\"IQ\"\n\t\t],\n\t\t\"965\": [\n\t\t\t\"KW\"\n\t\t],\n\t\t\"966\": [\n\t\t\t\"SA\"\n\t\t],\n\t\t\"967\": [\n\t\t\t\"YE\"\n\t\t],\n\t\t\"968\": [\n\t\t\t\"OM\"\n\t\t],\n\t\t\"970\": [\n\t\t\t\"PS\"\n\t\t],\n\t\t\"971\": [\n\t\t\t\"AE\"\n\t\t],\n\t\t\"972\": [\n\t\t\t\"IL\"\n\t\t],\n\t\t\"973\": [\n\t\t\t\"BH\"\n\t\t],\n\t\t\"974\": [\n\t\t\t\"QA\"\n\t\t],\n\t\t\"975\": [\n\t\t\t\"BT\"\n\t\t],\n\t\t\"976\": [\n\t\t\t\"MN\"\n\t\t],\n\t\t\"977\": [\n\t\t\t\"NP\"\n\t\t],\n\t\t\"979\": [\n\t\t\t\"001\"\n\t\t],\n\t\t\"992\": [\n\t\t\t\"TJ\"\n\t\t],\n\t\t\"993\": [\n\t\t\t\"TM\"\n\t\t],\n\t\t\"994\": [\n\t\t\t\"AZ\"\n\t\t],\n\t\t\"995\": [\n\t\t\t\"GE\"\n\t\t],\n\t\t\"996\": [\n\t\t\t\"KG\"\n\t\t],\n\t\t\"998\": [\n\t\t\t\"UZ\"\n\t\t]\n\t},\n\t\"countries\": {\n\t\t\"AC\": [\n\t\t\t\"247\",\n\t\t\t\"[46]\\\\d{4}|[01589]\\\\d{5}\"\n\t\t],\n\t\t\"AD\": [\n\t\t\t\"376\",\n\t\t\t\"[16]\\\\d{5,8}|[37-9]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[137-9]|6[0-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"180[02]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"690\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"AE\": [\n\t\t\t\"971\",\n\t\t\t\"[2-79]\\\\d{7,8}|800\\\\d{2,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-4679])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-4679][2-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([479]00)(\\\\d)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[479]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([68]00)(\\\\d{2,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"60|8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AF\": [\n\t\t\t\"93\",\n\t\t\t\"[2-7]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-7]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AG\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"268\"\n\t\t],\n\t\t\"AI\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"264\"\n\t\t],\n\t\t\"AL\": [\n\t\t\t\"355\",\n\t\t\t\"[2-57]\\\\d{7}|6\\\\d{8}|8\\\\d{5,7}|9\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(4)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[0-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2358][2-5]|4[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235][16-9]|8[016-9]|[79]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AM\": [\n\t\t\t\"374\",\n\t\t\t\"[1-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|47\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[1349]|[5-7]|88|9[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8|90\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0 $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"AO\": [\n\t\t\t\"244\",\n\t\t\t\"[29]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"AR\": [\n\t\t\t\"54\",\n\t\t\t\"11\\\\d{8}|[2368]\\\\d{9}|9\\\\d{10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([68]\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(11)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$2 15-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"911\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3-$4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$2 15-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:2[234689]|3[3-8])\",\n\t\t\t\t\t\t\"9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578]))\",\n\t\t\t\t\t\t\"9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))\",\n\t\t\t\t\t\t\"9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3-$4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$2 15-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[23]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3-$4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(11)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[1-358]|5[138]|6[24]|7[069]|8[013578])\",\n\t\t\t\t\t\t\"2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[456]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))\",\n\t\t\t\t\t\t\"2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1239])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45]))\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\t\"true\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))?15)?\",\n\t\t\t\"9$1\"\n\t\t],\n\t\t\"AS\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"684\"\n\t\t],\n\t\t\"AT\": [\n\t\t\t\"43\",\n\t\t\t\"[1-9]\\\\d{3,12}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(116\\\\d{3})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"116\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3,12})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[079]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[079]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{4})(\\\\d{4,7})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[079]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,10})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"316|46|51|732|6(?:5[0-3579]|[6-9])|7(?:[28]0)|[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-9]|5[468])|7(?:2[1-8]|35|4[1-8]|[5-79])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"AU\": [\n\t\t\t\"61\",\n\t\t\t\"1\\\\d{4,9}|[2-578]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2378])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2378]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]|14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[389]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[38]0|90)\",\n\t\t\t\t\t\t\"1(?:[38]00|90)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(180)(2\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1802\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[13]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[679]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(13)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"[237]\\\\d{8}|8(?:[6-8]\\\\d{3}|9(?:[02-9]\\\\d{2}|1(?:[0-57-9]\\\\d|6[0135-9])))\\\\d{4}\",\n\t\t\t\t\"14(?:5\\\\d|71)\\\\d{5}|4(?:[0-3]\\\\d|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\\\d{6}\",\n\t\t\t\t\"180(?:0\\\\d{3}|2)\\\\d{3}\",\n\t\t\t\t\"19(?:0[0126]\\\\d|[679])\\\\d{5}\",\n\t\t\t\t\"500\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"16\\\\d{3,7}\",\n\t\t\t\t\"550\\\\d{6}\",\n\t\t\t\t\"13(?:00\\\\d{3}|45[0-4]|\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"AW\": [\n\t\t\t\"297\",\n\t\t\t\"[25-9]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"AX\": [\n\t\t\t\"358\",\n\t\t\t\"[15]\\\\d{6,9}|2\\\\d{4,9}|3\\\\d{5,9}|4\\\\d{7,10}|[67]\\\\d{7,9}|8\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[1-3]00|[6-8]0)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(116\\\\d{3})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"116\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:0[1-9]|[3-9])|2(?:0[1-9]|9)|30[1-9]|4|50|7(?:[13]|5[03-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{5,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235689][1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(39\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"39\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"18[1-8]\\\\d{4,6}\",\n\t\t\t\t\"4(?:[0-8]\\\\d{6,8}|9\\\\d{9})|50\\\\d{6,8}\",\n\t\t\t\t\"800\\\\d{5,6}\",\n\t\t\t\t\"[67]00\\\\d{5,6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"10(?:0\\\\d{4,6}|[1-9]\\\\d{5,7})|2(?:0(?:0\\\\d{4,6}|[13-8]\\\\d{5,7}|2(?:[023]\\\\d{4,5}|[14-9]\\\\d{4,6})|9(?:[0-7]\\\\d{4,6}|[89]\\\\d{1,6}))|9\\\\d{5,8})|3(?:0(?:0\\\\d{3,7}|[1-57-9]\\\\d{5,7}|6(?:\\\\d{3}|\\\\d{5,7}))|93\\\\d{5,7})|60(?:[12]\\\\d{5,6}|6\\\\d{7})|7(?:1\\\\d{7}|3\\\\d{8}|5[03-9]\\\\d{5,6})\"\n\t\t\t]\n\t\t],\n\t\t\"AZ\": [\n\t\t\t\"994\",\n\t\t\t\"[1-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:1[28]|2(?:[45]2|[0-36])|365)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"BA\": [\n\t\t\t\"387\",\n\t\t\t\"[3-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[1-356]|[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[047]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BB\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"246\"\n\t\t],\n\t\t\"BD\": [\n\t\t\t\"880\",\n\t\t\t\"[2-79]\\\\d{5,9}|1\\\\d{9}|8[0-7]\\\\d{4,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{7,8})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-79]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|3(?:0|[2-58]2)|4(?:0|[25]2|3[23]|[4689][25])|5(?:[02-578]2|6[25])|6(?:[0347-9]2|[26][25])|7[02-9]2|8(?:[023][23]|[4-7]2)|9(?:[02][23]|[458]2|6[016])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-79][2-9]|8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BE\": [\n\t\t\t\"32\",\n\t\t\t\"[1-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[6-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]|4[23]|9[2-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[156]|7[018]|8(?:0[1-9]|[1-79])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:80|9)0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BF\": [\n\t\t\t\"226\",\n\t\t\t\"[25-7]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BG\": [\n\t\t\t\"359\",\n\t\t\t\"[23567]\\\\d{5,7}|[489]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"43[124-7]|70[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"43[124-7]|70[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[78]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"99[69]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"48|8[7-9]|9[08]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"BH\": [\n\t\t\t\"973\",\n\t\t\t\"[136-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BI\": [\n\t\t\t\"257\",\n\t\t\t\"[267]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BJ\": [\n\t\t\t\"229\",\n\t\t\t\"[2689]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2689]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BL\": [\n\t\t\t\"590\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([56]90)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"590(?:2[7-9]|5[12]|87)\\\\d{4}\",\n\t\t\t\t\"690(?:0[05-9]|[1-9]\\\\d)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"BM\": [\n\t\t\t\"1\",\n\t\t\t\"[4589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"441\"\n\t\t],\n\t\t\"BN\": [\n\t\t\t\"673\",\n\t\t\t\"[2-578]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-578]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BO\": [\n\t\t\t\"591\",\n\t\t\t\"[23467]\\\\d{7}|8\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([234])(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[234]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([67]\\\\d{7})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0(1\\\\d)?\"\n\t\t],\n\t\t\"BQ\": [\n\t\t\t\"599\",\n\t\t\t\"[347]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|50)\\\\d)\\\\d{3}\",\n\t\t\t\t\"(?:31(?:8[14-8]|9[14578])|416[145-9]|7(?:0[01]|7[07]|8\\\\d|9[056])\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"BR\": [\n\t\t\t\"55\",\n\t\t\t\"[1-46-9]\\\\d{7,10}|5(?:[0-4]\\\\d{7,9}|5(?:[2-8]\\\\d{7}|9\\\\d{7,8}))\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:300|40[02])\",\n\t\t\t\t\t\t\"(?:300|40(?:0|20))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3589]00)(\\\\d{2,3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3589]00\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-9][1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-9][1-9]9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\n\t\t\t\"$2\"\n\t\t],\n\t\t\"BS\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"242\"\n\t\t],\n\t\t\"BT\": [\n\t\t\t\"975\",\n\t\t\t\"[1-8]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|77\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-8])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-68]|7[246]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BW\": [\n\t\t\t\"267\",\n\t\t\t\"[2-79]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(90)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"BY\": [\n\t\t\t\"375\",\n\t\t\t\"[1-4]\\\\d{8}|800\\\\d{3,7}|[89]\\\\d{9,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"17[0-3589]|2[4-9]|[34]\",\n\t\t\t\t\t\t\"17(?:[02358]|1[0-2]|9[0189])|2[4-9]|[34]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:5[24]|6[235]|7[467])|2(?:1[246]|2[25]|3[26])\",\n\t\t\t\t\t\t\"1(?:5[24]|6(?:2|3[04-9]|5[0346-9])|7(?:[46]|7[37-9]))|2(?:1[246]|2[25]|3[26])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\n\t\t\t\t\t\t\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[01]|9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(82\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"82\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{2})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\tnull,\n\t\t\t\"8?0?\"\n\t\t],\n\t\t\"BZ\": [\n\t\t\t\"501\",\n\t\t\t\"[2-8]\\\\d{6}|0\\\\d{10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0)(800)(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CA\": [\n\t\t\t\"1\",\n\t\t\t\"[2-9]\\\\d{9}|3\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:0[04]|13|22|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}|310\\\\d{4}\",\n\t\t\t\t\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:0[04]|13|22|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",\n\t\t\t\t\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}|310\\\\d{4}\",\n\t\t\t\t\"900[2-9]\\\\d{6}\",\n\t\t\t\t\"5(?:00|22|33|44|66|77|88)[2-9]\\\\d{6}\"\n\t\t\t]\n\t\t],\n\t\t\"CC\": [\n\t\t\t\"61\",\n\t\t\t\"[1458]\\\\d{5,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2378])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2378]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]|14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[389]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[38]0|90)\",\n\t\t\t\t\t\t\"1(?:[38]00|90)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(180)(2\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1802\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[13]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[679]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(13)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"89162\\\\d{4}\",\n\t\t\t\t\"14(?:5\\\\d|71)\\\\d{5}|4(?:[0-2]\\\\d|3[0-57-9]|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\\\d{6}\",\n\t\t\t\t\"180(?:0\\\\d{3}|2)\\\\d{3}\",\n\t\t\t\t\"190[0126]\\\\d{6}\",\n\t\t\t\t\"500\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"550\\\\d{6}\",\n\t\t\t\t\"13(?:00\\\\d{2})?\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"CD\": [\n\t\t\t\"243\",\n\t\t\t\"[2-6]\\\\d{6}|[18]\\\\d{6,8}|9\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"12\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[0-2459]|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"88\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-6]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"CF\": [\n\t\t\t\"236\",\n\t\t\t\"[278]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CG\": [\n\t\t\t\"242\",\n\t\t\t\"[028]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"801\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[02]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CH\": [\n\t\t\t\"41\",\n\t\t\t\"[2-9]\\\\d{8}|860\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-9]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]|[89]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[047]|90\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"860\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"CI\": [\n\t\t\t\"225\",\n\t\t\t\"[02-8]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CK\": [\n\t\t\t\"682\",\n\t\t\t\"[2-8]\\\\d{4}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CL\": [\n\t\t\t\"56\",\n\t\t\t\"(?:[2-9]|600|123)\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[23]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[357]|4[1-35]|6[13-57]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(44)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"44\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([68]00)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"60|8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(600)(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"60\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1230)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"219\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"0|(1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))\"\n\t\t],\n\t\t\"CM\": [\n\t\t\t\"237\",\n\t\t\t\"[2368]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([26])(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]|88\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CN\": [\n\t\t\t\"86\",\n\t\t\t\"[1-7]\\\\d{6,11}|8[0-357-9]\\\\d{6,9}|9\\\\d{7,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80[2678]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([48]00)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[48]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:10|2\\\\d)[19]\",\n\t\t\t\t\t\t\"(?:10|2\\\\d)(?:10|9[56])\",\n\t\t\t\t\t\t\"(?:10|2\\\\d)(?:100|9[56])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-9]\",\n\t\t\t\t\t\t\"[3-9]\\\\d{2}[19]\",\n\t\t\t\t\t\t\"[3-9]\\\\d{2}(?:10|9[56])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(21)(\\\\d{4})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"10[1-9]|2[02-9]\",\n\t\t\t\t\t\t\"10[1-9]|2[02-9]\",\n\t\t\t\t\t\t\"10(?:[1-79]|8(?:[1-9]|0[1-9]))|2[02-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:1[02-9]|35|49|5|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7\\\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|3|5[1-9]|7[02-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:11|7[179])|4(?:[15]1|3[1-35])|5(?:1|2[37]|3[12]|51|7[13-79]|9[15])|7(?:31|5[457]|6[09]|91)|8(?:[57]1|98)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"807\",\n\t\t\t\t\t\t\"8078\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[3-578]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(10800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"108\",\n\t\t\t\t\t\t\"1080\",\n\t\t\t\t\t\t\"10800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"950\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"(1(?:[129]\\\\d{3}|79\\\\d{2}))|0\"\n\t\t],\n\t\t\"CO\": [\n\t\t\t\"57\",\n\t\t\t\"(?:[13]\\\\d{0,3}|[24-8])\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:8[2-9]|9[0-3]|[2-7])|[24-8]\",\n\t\t\t\t\t\t\"1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"($1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:80|9[04])\",\n\t\t\t\t\t\t\"1(?:800|9(?:0[01]|4[78]))\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0([3579]|4(?:44|56))?\"\n\t\t],\n\t\t\"CR\": [\n\t\t\t\"506\",\n\t\t\t\"[24-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-7]|8[3-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(19(?:0[012468]|1[09]|20|66|77|99))\"\n\t\t],\n\t\t\"CU\": [\n\t\t\t\"53\",\n\t\t\t\"[2-57]\\\\d{5,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{6,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"CV\": [\n\t\t\t\"238\",\n\t\t\t\"[259]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CW\": [\n\t\t\t\"599\",\n\t\t\t\"[169]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"9(?:[48]\\\\d{2}|50\\\\d|7(?:2[0-24]|[34]\\\\d|6[35-7]|77|8[7-9]))\\\\d{4}\",\n\t\t\t\t\"9(?:5(?:[12467]\\\\d|3[01])|6(?:[15-9]\\\\d|3[01]))\\\\d{4}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"955\\\\d{5}\",\n\t\t\t\tnull,\n\t\t\t\t\"60[0-2]\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"CX\": [\n\t\t\t\"61\",\n\t\t\t\"[1458]\\\\d{5,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2378])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2378]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]|14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(16)(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[389]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[38]0|90)\",\n\t\t\t\t\t\t\"1(?:[38]00|90)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(180)(2\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1802\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[13]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(19\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19[679]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(13)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"89164\\\\d{4}\",\n\t\t\t\t\"14(?:5\\\\d|71)\\\\d{5}|4(?:[0-2]\\\\d|3[0-57-9]|4[47-9]|5[0-25-9]|6[6-9]|7[02-9]|8[147-9]|9[017-9])\\\\d{6}\",\n\t\t\t\t\"180(?:0\\\\d{3}|2)\\\\d{3}\",\n\t\t\t\t\"190[0126]\\\\d{6}\",\n\t\t\t\t\"500\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"550\\\\d{6}\",\n\t\t\t\t\"13(?:00\\\\d{2})?\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"CY\": [\n\t\t\t\"357\",\n\t\t\t\"[257-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"CZ\": [\n\t\t\t\"420\",\n\t\t\t\"[2-8]\\\\d{8}|9\\\\d{8,11}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8]|9[015-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(96\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"96\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[36]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"DE\": [\n\t\t\t\"49\",\n\t\t\t\"[1-35-9]\\\\d{3,14}|4(?:[0-8]\\\\d{3,12}|9(?:[0-37]\\\\d|4(?:[1-35-8]|4\\\\d?)|5\\\\d{1,2}|6[1-8]\\\\d?)\\\\d{2,8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{2})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15[0568]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[02]|40|[68]9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:\\\\d1|0[2389]|1[24]|28|34)|3(?:[3-9][15]|40)|[4-8][1-9]1|9(?:06|[1-9]1)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-6]|[7-9](?:\\\\d[1-9]|[1-9]\\\\d)|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])\",\n\t\t\t\t\t\t\"[24-6]|[7-9](?:\\\\d[1-9]|[1-9]\\\\d)|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|4[1246]|6[1-4]|7[1346]|8[13568]|9[1246])|6(?:0[356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3\\\\d{4})(\\\\d{1,10})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{7,12})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:18|90)0|137\",\n\t\t\t\t\t\t\"1(?:37|80)|900[1359]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{2})(\\\\d{5,11})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"181\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(18\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"185\",\n\t\t\t\t\t\t\"1850\",\n\t\t\t\t\t\t\"18500\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(18\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"18[68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(18\\\\d)(\\\\d{8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"18[2-579]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(700)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"700\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(138)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"138\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15[013-68])(\\\\d{2})(\\\\d{8})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15[013-68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15[279]\\\\d)(\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15[279]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[67]\\\\d)(\\\\d{2})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:6[023]|7)\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"DJ\": [\n\t\t\t\"253\",\n\t\t\t\"[27]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"DK\": [\n\t\t\t\"45\",\n\t\t\t\"[2-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"DM\": [\n\t\t\t\"1\",\n\t\t\t\"[57-9]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"767\"\n\t\t],\n\t\t\"DO\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"8[024]9\"\n\t\t],\n\t\t\"DZ\": [\n\t\t\t\"213\",\n\t\t\t\"(?:[1-4]|[5-9]\\\\d)\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-4]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5-8]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[5-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"EC\": [\n\t\t\t\"593\",\n\t\t\t\"1\\\\d{9,10}|[2-8]\\\\d{7}|9\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[247]|[356][2-8]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1800)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"EE\": [\n\t\t\t\"372\",\n\t\t\t\"[3-9]\\\\d{6,7}|800\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3-79]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]\",\n\t\t\t\t\t\t\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(70)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8000)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8000\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([458]\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"40|5|8(?:00|[1-5])\",\n\t\t\t\t\t\t\"40|5|8(?:00[1-9]|[1-5])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"EG\": [\n\t\t\t\"20\",\n\t\t\t\"1\\\\d{4,9}|[2456]\\\\d{8}|3\\\\d{7}|[89]\\\\d{8,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[012]|[89]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[35]|[4-6]|[89][2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"155\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"EH\": [\n\t\t\t\"212\",\n\t\t\t\"[5-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([5-7]\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[015-7]|3[0-4])|[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[2-489]|3[5-9]|92)|892\",\n\t\t\t\t\t\t\"5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|924)|892\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:29|38)\",\n\t\t\t\t\t\t\"5(?:29|38)[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:4[067]|5[03])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8[09])(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:0|9[013-9])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"528[89]\"\n\t\t],\n\t\t\"ER\": [\n\t\t\t\"291\",\n\t\t\t\"[178]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ES\": [\n\t\t\t\"34\",\n\t\t\t\"[5-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([89]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5-9]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[568]|[79][0-8]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"ET\": [\n\t\t\t\"251\",\n\t\t\t\"[1-59]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-59]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"FI\": [\n\t\t\t\"358\",\n\t\t\t\"[16]\\\\d{6,9}|2\\\\d{4,9}|[35]\\\\d{5,9}|4\\\\d{7,10}|7\\\\d{7,9}|[89]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[1-3]00|[6-8]0)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(116\\\\d{3})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"116\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:0[1-9]|[3-9])|2(?:0[1-9]|9)|30[1-9]|4|50|7(?:[13]|5[03-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{5,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235689][1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(39\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"39\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1[3-79][1-8]\\\\d{4,6}|[235689][1-8]\\\\d{5,7}\",\n\t\t\t\t\"4(?:[0-8]\\\\d{6,8}|9\\\\d{9})|50\\\\d{4,8}\",\n\t\t\t\t\"800\\\\d{5,6}\",\n\t\t\t\t\"[67]00\\\\d{5,6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"10(?:0\\\\d{4,6}|[1-9]\\\\d{5,7})|2(?:0(?:0\\\\d{4,6}|[13-8]\\\\d{5,7}|2(?:[023]\\\\d{4,5}|[14-9]\\\\d{4,6})|9(?:[0-7]\\\\d{4,6}|[89]\\\\d{1,6}))|9\\\\d{5,8})|3(?:0(?:0\\\\d{3,7}|[1-57-9]\\\\d{5,7}|6(?:\\\\d{3}|\\\\d{5,7}))|93\\\\d{5,7})|60(?:[12]\\\\d{5,6}|6\\\\d{7})|7(?:1\\\\d{7}|3\\\\d{8}|5[03-9]\\\\d{5,6})\"\n\t\t\t]\n\t\t],\n\t\t\"FJ\": [\n\t\t\t\"679\",\n\t\t\t\"[35-9]\\\\d{6}|0\\\\d{10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"FK\": [\n\t\t\t\"500\",\n\t\t\t\"[2-7]\\\\d{4}\"\n\t\t],\n\t\t\"FM\": [\n\t\t\t\"691\",\n\t\t\t\"[39]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"FO\": [\n\t\t\t\"298\",\n\t\t\t\"[2-9]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{6})\",\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(10(?:01|[12]0|88))\"\n\t\t],\n\t\t\"FR\": [\n\t\t\t\"33\",\n\t\t\t\"[1-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-79])(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-79]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0 $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"GA\": [\n\t\t\t\"241\",\n\t\t\t\"0?\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GB\": [\n\t\t\t\"44\",\n\t\t\t\"\\\\d{7,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{7}|1(?:1(?:3[0-48]|[46][0-4]|5[0-26-9]|[78][0-49])|21[0-7]|31[0-8]|[4-69]1\\\\d)\\\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)|3(?:0\\\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[28][02-57-9]|[37]\\\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\\\d|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\\\d|9[2-57]))\\\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\\\d)|276\\\\d|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[567]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}|176888[2-46-8]\\\\d{2}|16977[23]\\\\d{3}\",\n\t\t\t\t\"7(?:[1-3]\\\\d{3}|4(?:[0-46-9]\\\\d{2}|5(?:[0-689]\\\\d|7[0-57-9]))|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])\\\\d|7(?:0(?:0[01]|[1-9]\\\\d)|[1-7]\\\\d{2}|8[02-9]\\\\d|9[0-689]\\\\d)|8(?:[014-9]\\\\d|[23][0-8])\\\\d|9(?:[024-9]\\\\d{2}|1(?:[02-9]\\\\d|1[028])|3[0-689]\\\\d))\\\\d{5}\",\n\t\t\t\t\"80(?:0(?:1111|\\\\d{6,7})|8\\\\d{7})|500\\\\d{6}\",\n\t\t\t\t\"(?:87[123]|9(?:[01]\\\\d|8[2349]))\\\\d{7}\",\n\t\t\t\t\"70\\\\d{8}\",\n\t\t\t\tnull,\n\t\t\t\t\"(?:3[0347]|55)\\\\d{8}\",\n\t\t\t\t\"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:5464\\\\d|[2-5]\\\\d{7})|70\\\\d{7})\"\n\t\t\t]\n\t\t],\n\t\t\"GD\": [\n\t\t\t\"1\",\n\t\t\t\"[4589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"473\"\n\t\t],\n\t\t\"GE\": [\n\t\t\t\"995\",\n\t\t\t\"[34578]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[348]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"GF\": [\n\t\t\t\"594\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"GG\": [\n\t\t\t\"44\",\n\t\t\t\"[135789]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1481[25-9]\\\\d{5}\",\n\t\t\t\t\"7(?:781\\\\d|839\\\\d|911[17])\\\\d{5}\",\n\t\t\t\t\"80(?:0(?:1111|\\\\d{6,7})|8\\\\d{7})|500\\\\d{6}\",\n\t\t\t\t\"(?:87[123]|9(?:[01]\\\\d|8[0-3]))\\\\d{7}\",\n\t\t\t\t\"70\\\\d{8}\",\n\t\t\t\tnull,\n\t\t\t\t\"(?:3[0347]|55)\\\\d{8}\",\n\t\t\t\t\"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:5464\\\\d|[2-5]\\\\d{7})|70\\\\d{7})\"\n\t\t\t]\n\t\t],\n\t\t\"GH\": [\n\t\t\t\"233\",\n\t\t\t\"[235]\\\\d{8}|8\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"GI\": [\n\t\t\t\"350\",\n\t\t\t\"[256]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GL\": [\n\t\t\t\"299\",\n\t\t\t\"[1-689]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GM\": [\n\t\t\t\"220\",\n\t\t\t\"[2-9]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GN\": [\n\t\t\t\"224\",\n\t\t\t\"[367]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GP\": [\n\t\t\t\"590\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([56]90)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"590(?:0[13468]|1[012]|2[0-68]|3[28]|4[0-8]|5[579]|6[0189]|70|8[0-689]|9\\\\d)\\\\d{4}\",\n\t\t\t\t\"690(?:0[05-9]|[1-9]\\\\d)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"GQ\": [\n\t\t\t\"240\",\n\t\t\t\"[23589]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GR\": [\n\t\t\t\"30\",\n\t\t\t\"[26-9]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([27]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21|7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[2-9]1|[689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[2-9][02-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GT\": [\n\t\t\t\"502\",\n\t\t\t\"[2-7]\\\\d{7}|1[89]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GU\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"671\"\n\t\t],\n\t\t\"GW\": [\n\t\t\t\"245\",\n\t\t\t\"(?:4(?:0\\\\d{5}|4\\\\d{7})|9\\\\d{8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"44|9[567]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"40\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"GY\": [\n\t\t\t\"592\",\n\t\t\t\"[2-46-9]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HK\": [\n\t\t\t\"852\",\n\t\t\t\"[235-7]\\\\d{7}|8\\\\d{7,8}|9\\\\d{4,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235-7]|[89](?:0[1-9]|[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(900)(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"900\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(900)(\\\\d{2,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"900\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HN\": [\n\t\t\t\"504\",\n\t\t\t\"[237-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HR\": [\n\t\t\t\"385\",\n\t\t\t\"[1-7]\\\\d{5,8}|[89]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-5]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6[01])(\\\\d{2})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[01]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([67]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80[01])(\\\\d{2})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80[01])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"HT\": [\n\t\t\t\"509\",\n\t\t\t\"[2-489]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"HU\": [\n\t\t\t\"36\",\n\t\t\t\"[1-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"06\",\n\t\t\t\"($1)\"\n\t\t],\n\t\t\"ID\": [\n\t\t\t\"62\",\n\t\t\t\"(?:[1-79]\\\\d{6,10}|8\\\\d{7,11})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[124]|[36]1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4579]|2[035-9]|[36][02-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3,4})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(500)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(177)(\\\\d{6,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"17\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{5,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(804)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"804\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80[79]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"IE\": [\n\t\t\t\"353\",\n\t\t\t\"[124-9]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[24-9]|47|58|6[237-9]|9[35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"40[24]|50[45]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(48)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"48\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(818)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"81\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-69]|7[14]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"76|8[35-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d)(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[35-9]5\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(700)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:8[059]|5)\",\n\t\t\t\t\t\t\"1(?:8[059]0|5)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"IL\": [\n\t\t\t\"972\",\n\t\t\t\"1\\\\d{6,11}|[2-589]\\\\d{3}(?:\\\\d{3,6})?|6\\\\d{3}|7\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-489])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-489]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([57]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[57]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(153)(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"153\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)([7-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1255)(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"125\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1200)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"120\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1212)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"121\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1599)(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1599\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(151)(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"151\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})\",\n\t\t\t\t\t\"*$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-689]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"$1\"\n\t\t],\n\t\t\"IM\": [\n\t\t\t\"44\",\n\t\t\t\"[135789]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1624[5-8]\\\\d{5}\",\n\t\t\t\t\"7(?:4576|[59]24\\\\d|624[2-4])\\\\d{5}\",\n\t\t\t\t\"808162\\\\d{4}\",\n\t\t\t\t\"(?:872299|90[0167]624)\\\\d{4}\",\n\t\t\t\t\"70\\\\d{8}\",\n\t\t\t\tnull,\n\t\t\t\t\"3(?:08162\\\\d|3\\\\d{5}|4(?:40[49]06|5624\\\\d)|7(?:0624\\\\d|2299\\\\d))\\\\d{3}|55\\\\d{8}\",\n\t\t\t\t\"7624[01689]\\\\d{5}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:40[49]06|5624\\\\d)|70624\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"IN\": [\n\t\t\t\"91\",\n\t\t\t\"008\\\\d{9}|1\\\\d{7,12}|[2-9]\\\\d{9,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{8})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"561\",\n\t\t\t\t\t\t\"5616\",\n\t\t\t\t\t\t\"56161\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"600|7(?:[02-8]|19|9[037-9])|8(?:0[015-9]|[1-9])|9\",\n\t\t\t\t\t\t\"600|7(?:[078]|19[0-5]|2(?:[02356-9]|[14][017-9]|9[389])|3(?:[025-9]|1[017-9]|[34][017-9])|4(?:[0-35689]|[47][017-9])|5(?:[02346-9]|1[017-9]|5[017-9])|6(?:[02-9]|1[0-257-9])|9(?:[089]|31|7[02-9]))|8(?:0(?:[01589]|6[67]|7[02-9])|1(?:[0-57-9]|6[07-9])|2(?:0[07-9]|[14][07-9]|[235-9])|3(?:[03-57-9]|[126][07-9])|[45]|6(?:[02457-9]|[136][07-9])|7(?:[078][07-9]|[1-69])|8(?:[0-25-9]|3[07-9]|4[047-9])|9(?:[02-9]|1[027-9]))|9\",\n\t\t\t\t\t\t\"600|7(?:0|19[0-5]|2(?:[0235679]|[14][017-9]|8(?:[0-569]|[78][089])|9[389])|3(?:[05-8]|1(?:[0189]|7[5-9])|2(?:[5-8]|[0-49][089])|3[017-9]|4(?:[07-9]|11)|9(?:[01689]|[2345][089]|40|7[0189]))|4(?:[056]|1(?:[0135-9]|[23][089]|2[089]|4[089])|2(?:0[089]|[1-7][089]|[89])|3(?:[0-8][089]|9)|4(?:[089]|11|7[02-8])|7(?:[089]|11|7[02-8])|8(?:[0-24-7][089]|[389])|9(?:[0-7][089]|[89]))|5(?:[0346-9]|1[017-9]|2(?:[03-9]|[12][089])|5[017-9])|6(?:[0346-9]|1[0-257-9]|2(?:[0-4]\\\\d|[5-9][089])|5(?:[0-367][089]|[4589]))|7(?:0(?:[02-9]|1[089])|[1-9])|8(?:[0-79]|8(?:0[0189]|11|8[013-9]|9))|9(?:[089]|313|7(?:[02-8]|9[07-9])))|8(?:0(?:[01589]|6[67]|7(?:[02-8]|9[05-9]))|1(?:[02-57-9]|1(?:[0-35-9]|4[0-46-9])|6(?:[089]|7[02-8]))|2(?:0(?:[089]|7[02])|[14](?:[089]|7[02-8])|[235-9])|3(?:[0357-9]|1(?:[089]|7[02-6])|2(?:[09]|77|8[0-689])|4(?:0[1-7]|[1-9])|6(?:[089]|7[02-7]))|[45]|6(?:[02457-9]|1(?:[089]|7[02-8])|3(?:[089]|7[02-8])|6(?:[08]|7[02-8]|9\\\\d))|7(?:0[07-9]|[1-69]|7(?:[089]|7[02-8])|8(?:[089]|7[02-8]))|8(?:[0-25-9]|3(?:[089]|7[02-8])|4(?:[0489]|7[02-68]))|9(?:[02-9]|1(?:[0289]|7[2-6])))|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"11|2[02]|33|4[04]|79[1-9]|80[2-46]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:2[0-249]|3[0-25]|4[145]|[59][14]|7[1257]|[68][1-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[23579]|[468][1-9])|[2-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"008\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"140\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"160\",\n\t\t\t\t\t\t\"1600\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"180\",\n\t\t\t\t\t\t\"1800\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"186\",\n\t\t\t\t\t\t\"1860\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"18[06]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"IO\": [\n\t\t\t\"246\",\n\t\t\t\"3\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"IQ\": [\n\t\t\t\"964\",\n\t\t\t\"[1-7]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-6]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"IR\": [\n\t\t\t\"98\",\n\t\t\t\"[1-8]\\\\d{5,9}|9(?:[0-4]\\\\d{8}|9\\\\d{8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4,5})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"96\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"IS\": [\n\t\t\t\"354\",\n\t\t\t\"[4-9]\\\\d{6}|38\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"IT\": [\n\t\t\t\"39\",\n\t\t\t\"[01589]\\\\d{5,10}|3(?:[12457-9]\\\\d{8}|[36]\\\\d{7,9})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]|55\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9[245])\",\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{2,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9[59])\",\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9(?:5[5-9]|9))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"894\",\n\t\t\t\t\t\t\"894[5-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"0(?:[26]\\\\d{4,9}|(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2346]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[34578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7})\",\n\t\t\t\t\"3(?:[12457-9]\\\\d{8}|6\\\\d{7,8}|3\\\\d{7,9})\",\n\t\t\t\t\"80(?:0\\\\d{6}|3\\\\d{3})\",\n\t\t\t\t\"0878\\\\d{5}|1(?:44|6[346])\\\\d{6}|89(?:2\\\\d{3}|4(?:[0-4]\\\\d{2}|[5-9]\\\\d{4})|5(?:[0-4]\\\\d{2}|[5-9]\\\\d{6})|9\\\\d{6})\",\n\t\t\t\t\"1(?:78\\\\d|99)\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"55\\\\d{8}\",\n\t\t\t\t\"84(?:[08]\\\\d{6}|[17]\\\\d{3})\"\n\t\t\t]\n\t\t],\n\t\t\"JE\": [\n\t\t\t\"44\",\n\t\t\t\"[135789]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7(?:[1-57-9]|62)\",\n\t\t\t\t\t\t\"7(?:[1-57-9]|624)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|5[56]|7[06]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:1|\\\\d1)|3|9[018]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:38|5[23]|69|76|94)\",\n\t\t\t\t\t\t\"1(?:387|5(?:24|39)|697|768|946)\",\n\t\t\t\t\t\t\"1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\",\n\t\t\t\t\t\t\"8001\",\n\t\t\t\t\t\t\"80011\",\n\t\t\t\t\t\t\"800111\",\n\t\t\t\t\t\t\"8001111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(845)(46)(4\\\\d)\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"845\",\n\t\t\t\t\t\t\"8454\",\n\t\t\t\t\t\t\"84546\",\n\t\t\t\t\t\t\"845464\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:4[2-5]|7[0-3])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"1534[0-24-8]\\\\d{5}\",\n\t\t\t\t\"7(?:509\\\\d|7(?:00[378]|97[7-9])|829\\\\d|937\\\\d)\\\\d{5}\",\n\t\t\t\t\"80(?:07(?:35|81)|8901)\\\\d{4}\",\n\t\t\t\t\"(?:871206|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\",\n\t\t\t\t\"701511\\\\d{4}\",\n\t\t\t\tnull,\n\t\t\t\t\"3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\\\d{4}|55\\\\d{8}\",\n\t\t\t\t\"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",\n\t\t\t\t\"56\\\\d{8}\",\n\t\t\t\t\"8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|70002)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"JM\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"876\"\n\t\t],\n\t\t\"JO\": [\n\t\t\t\"962\",\n\t\t\t\"[235-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2356]|87\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[457-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[0158]|9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"JP\": [\n\t\t\t\"81\",\n\t\t\t\"[1-9]\\\\d{8,9}|00(?:[36]\\\\d{7,14}|7\\\\d{5,7}|8\\\\d{7})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:12|57|99)0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"800\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2579]0|80[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])\",\n\t\t\t\t\t\t\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))\",\n\t\t\t\t\t\t\"1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])\",\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-6]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))\",\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\",\n\t\t\t\t\t\t\"1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)\",\n\t\t\t\t\t\t\"1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])\",\n\t\t\t\t\t\t\"1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:9[14-79]|74|[34]7|[56]9)|82|993\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3|4(?:2[09]|7[01])|6[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2479][1-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"KE\": [\n\t\t\t\"254\",\n\t\t\t\"20\\\\d{6,7}|[4-9]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"005|0\"\n\t\t],\n\t\t\"KG\": [\n\t\t\t\"996\",\n\t\t\t\"[235-8]\\\\d{8,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[25-7]|31[25]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:1[36]|[2-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"KH\": [\n\t\t\t\"855\",\n\t\t\t\"[1-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\\\\d[1-9]|[2-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[89]0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"KI\": [\n\t\t\t\"686\",\n\t\t\t\"[2458]\\\\d{4}|3\\\\d{4,7}|7\\\\d{7}\",\n\t\t\t[],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"0\"\n\t\t],\n\t\t\"KM\": [\n\t\t\t\"269\",\n\t\t\t\"[3478]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"KN\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"869\"\n\t\t],\n\t\t\"KP\": [\n\t\t\t\"850\",\n\t\t\t\"1\\\\d{9}|[28]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"KR\": [\n\t\t\t\"82\",\n\t\t\t\"007\\\\d{9,11}|[1-7]\\\\d{3,9}|8\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:0|1[19]|[69]9|5[458])|[57]0\",\n\t\t\t\t\t\t\"1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[01]|5[1-4]|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]\",\n\t\t\t\t\t\t\"1(?:[01]|5(?:[1-3]|4[56])|6[2-8]|[7-9])|[68]0|[3-6][1-9][1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"131\",\n\t\t\t\t\t\t\"1312\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"131\",\n\t\t\t\t\t\t\"131[13-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"30\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21[0-46-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-6][1-9]1\",\n\t\t\t\t\t\t\"[3-6][1-9]1(?:[0-46-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:5[246-9]|6[04678]|8[03579])\",\n\t\t\t\t\t\t\"1(?:5(?:22|44|66|77|88|99)|6(?:00|44|6[16]|70|88)|8(?:00|33|55|77|99))\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\t\"0(8[1-46-8]|85\\\\d{2})?\"\n\t\t],\n\t\t\"KW\": [\n\t\t\t\"965\",\n\t\t\t\"[12569]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[16]|2(?:[0-35-9]|4[0-35-9])|9[024-9]|52[25]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"244|5(?:[015]|6[56])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"KY\": [\n\t\t\t\"1\",\n\t\t\t\"[3589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"345\"\n\t\t],\n\t\t\"KZ\": [\n\t\t\t\"7\",\n\t\t\t\"(?:33\\\\d|7\\\\d{2}|80[089])\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3489]\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[34689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"33622\\\\d{5}|7(?:1(?:0(?:[23]\\\\d|4[0-3]|59|63)|1(?:[23]\\\\d|4[0-79]|59)|2(?:[23]\\\\d|59)|3(?:2\\\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\\\d|3[013-9]|5[1-9])|5(?:2\\\\d|3[1-9]|4[0-7]|59)|6(?:[234]\\\\d|5[19]|61)|72\\\\d|8(?:[27]\\\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\\\d|4[46-9]|5[3469])|2(?:2\\\\d|3[0679]|46|5[12679])|3(?:[234]\\\\d|5[139])|4(?:2\\\\d|3[1235-9]|59)|5(?:[23]\\\\d|4[01246-8]|59|61)|6(?:2\\\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\\\d|40|5[279])|8(?:[23]\\\\d|4[0-3]|59)|9(?:2\\\\d|3[124578]|59)))\\\\d{5}\",\n\t\t\t\t\"7(?:0[012578]|47|6[02-4]|7[15-8]|85)\\\\d{7}\",\n\t\t\t\t\"800\\\\d{7}\",\n\t\t\t\t\"809\\\\d{7}\",\n\t\t\t\t\"808\\\\d{7}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"751\\\\d{7}\"\n\t\t\t]\n\t\t],\n\t\t\"LA\": [\n\t\t\t\"856\",\n\t\t\t\"[2-8]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-8]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[13]|3[14]|[4-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(30)(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"30\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"LB\": [\n\t\t\t\"961\",\n\t\t\t\"[13-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-6]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]|9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([7-9]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89][01]|7(?:[01]|6[013-9]|8[89]|9[1-3])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"LC\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"758\"\n\t\t],\n\t\t\"LI\": [\n\t\t\t\"423\",\n\t\t\t\"6\\\\d{8}|[23789]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23789]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[56]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(69)(7\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"697\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\t\"0|10(?:01|20|66)\"\n\t\t],\n\t\t\"LK\": [\n\t\t\t\"94\",\n\t\t\t\"[1-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{1})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"LR\": [\n\t\t\t\"231\",\n\t\t\t\"2\\\\d{7,8}|[378]\\\\d{8}|4\\\\d{6}|5\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([4-5])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[45]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23578]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"LS\": [\n\t\t\t\"266\",\n\t\t\t\"[2568]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"LT\": [\n\t\t\t\"370\",\n\t\t\t\"[3-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([34]\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"37|4(?:1|5[45]|6[2-4])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-6]\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[148]|4(?:[24]|6[09])|528|6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([7-9]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5)(2\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"52[0-79]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"(8-$1)\",\n\t\t\t\"[08]\",\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"LU\": [\n\t\t\t\"352\",\n\t\t\t\"[24-9]\\\\d{3,10}|3(?:[0-46-9]\\\\d{2,9}|5[013-9]\\\\d{1,8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-5]|7[1-9]|[89](?:[1-9]|0[2-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-5]|7[1-9]|[89](?:[1-9]|0[2-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:[0367]|4[3-8])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:[0367]|4[3-8])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:[12589]|4[12])|[3-5]|7[1-9]|8(?:[1-9]|0[2-9])|9(?:[1-9]|0[2-46-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70|80[01]|90[015]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\\\\d)\"\n\t\t],\n\t\t\"LV\": [\n\t\t\t\"371\",\n\t\t\t\"[2689]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2689]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"LY\": [\n\t\t\t\"218\",\n\t\t\t\"[25679]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([25679]\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MA\": [\n\t\t\t\"212\",\n\t\t\t\"[5-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([5-7]\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[015-7]|3[0-4])|[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:2[2-489]|3[5-9]|92)|892\",\n\t\t\t\t\t\t\"5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|924)|892\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:29|38)\",\n\t\t\t\t\t\t\"5(?:29|38)[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([5]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5(?:4[067]|5[03])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8[09])(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:0|9[013-9])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"5(?:2(?:[015-79]\\\\d|2[02-9]|3[2-57]|4[2-8]|8[235-7])\\\\d|3(?:[0-48]\\\\d|[57][2-9]|6[2-8]|9[3-9])\\\\d|4[067]\\\\d{2}|5[03]\\\\d{2})\\\\d{4}\",\n\t\t\t\t\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[07][07]|6[12]))\\\\d{6}\",\n\t\t\t\t\"80\\\\d{7}\",\n\t\t\t\t\"89\\\\d{7}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"5924[01]\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"MC\": [\n\t\t\t\"377\",\n\t\t\t\"[34689]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[39]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MD\": [\n\t\t\t\"373\",\n\t\t\t\"[235-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"22|3\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([25-7]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[13-9]|[5-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ME\": [\n\t\t\t\"382\",\n\t\t\t\"[2-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-57-9]|6[036-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MF\": [\n\t\t\t\"590\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([56]90)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"590(?:[02][79]|13|5[0-268]|[78]7)\\\\d{4}\",\n\t\t\t\t\"690(?:0[05-9]|[1-9]\\\\d)\\\\d{4}\"\n\t\t\t]\n\t\t],\n\t\t\"MG\": [\n\t\t\t\"261\",\n\t\t\t\"[23]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([23]\\\\d)(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MH\": [\n\t\t\t\"692\",\n\t\t\t\"[2-6]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\"\n\t\t],\n\t\t\"MK\": [\n\t\t\t\"389\",\n\t\t\t\"[2-578]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([347]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[347]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{2})(\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ML\": [\n\t\t\t\"223\",\n\t\t\t\"[246-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[246-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MM\": [\n\t\t\t\"95\",\n\t\t\t\"[178]\\\\d{5,7}|[24-6]\\\\d{5,8}|9(?:[279]\\\\d{0,2}|5|[34]\\\\d{1,2}|6(?:\\\\d{1,2})?|8(?:\\\\d{2})?)\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|2[245]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"251\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"16|2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"432|67|81\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:2[0-4]|[35-9]|4[137-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)([34]\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:3[0-36]|4[0-57-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"92[56]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"93\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MN\": [\n\t\t\t\"976\",\n\t\t\t\"[12]\\\\d{7,9}|[57-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]2\\\\d)(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]2[1-3]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12](?:27|[3-5])\",\n\t\t\t\t\t\t\"[12](?:27|[3-5]\\\\d)2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[57-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([12]\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12](?:27|[3-5])\",\n\t\t\t\t\t\t\"[12](?:27|[3-5]\\\\d)[4-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MO\": [\n\t\t\t\"853\",\n\t\t\t\"[268]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([268]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MP\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"670\"\n\t\t],\n\t\t\"MQ\": [\n\t\t\t\"596\",\n\t\t\t\"[56]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MR\": [\n\t\t\t\"222\",\n\t\t\t\"[2-48]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-48]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MS\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"664\"\n\t\t],\n\t\t\"MT\": [\n\t\t\t\"356\",\n\t\t\t\"[2357-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MU\": [\n\t\t\t\"230\",\n\t\t\t\"[2-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2-46-9]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-46-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MV\": [\n\t\t\t\"960\",\n\t\t\t\"[346-8]\\\\d{6,9}|9(?:00\\\\d{7}|\\\\d{6})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3467]|9(?:[1-9]|0[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]00\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"MW\": [\n\t\t\t\"265\",\n\t\t\t\"(?:1(?:\\\\d{2})?|[2789]\\\\d{2})\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1789]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"MX\": [\n\t\t\t\"52\",\n\t\t\t\"[1-9]\\\\d{9,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([358]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"33|55|81\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2467]|3[0-2457-9]|5[089]|8[02-9]|9[0-35-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)([358]\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"044 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:33|55|81)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"044 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[2467]|3[0-2457-9]|5[089]|8[2-9]|9[1-35-9])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"01\",\n\t\t\t\"01 $1\",\n\t\t\t\"0[12]|04[45](\\\\d{10})\",\n\t\t\t\"1$1\",\n\t\t\ttrue\n\t\t],\n\t\t\"MY\": [\n\t\t\t\"60\",\n\t\t\t\"[13-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([4-79])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-79]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([18]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[02-46-9][1-9]|8\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1)([36-8]00)(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[36-8]0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(11)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"11\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(15[49])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"MZ\": [\n\t\t\t\"258\",\n\t\t\t\"[28]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([28]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2|8[2-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NA\": [\n\t\t\t\"264\",\n\t\t\t\"[68]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(88)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"88\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(870)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"870\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NC\": [\n\t\t\t\"687\",\n\t\t\t\"[2-57-9]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1.$2.$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-46-9]|5[0-4]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NE\": [\n\t\t\t\"227\",\n\t\t\t\"[0289]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[289]|09\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(08)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"08\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NF\": [\n\t\t\t\"672\",\n\t\t\t\"[13]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NG\": [\n\t\t\t\"234\",\n\t\t\t\"[1-6]\\\\d{5,8}|9\\\\d{5,9}|[78]\\\\d{5,13}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]|9(?:0[3-9]|[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-6]|7(?:[1-79]|0[1-9])|8[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70|8[01]|90[235-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([78]00)(\\\\d{4})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[78]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([78]00)(\\\\d{5})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[78]00\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(78)(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"78\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NI\": [\n\t\t\t\"505\",\n\t\t\t\"[125-8]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NL\": [\n\t\t\t\"31\",\n\t\t\t\"1\\\\d{4,8}|[2-7]\\\\d{8}|[89]\\\\d{6,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-578]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7|8[4578]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-5]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6)(\\\\d{8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6[0-57-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(66)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"66\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(14)(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"14\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]0\\\\d)(\\\\d{4,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80|9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NO\": [\n\t\t\t\"47\",\n\t\t\t\"0\\\\d{4}|[2-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([489]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[489]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([235-7]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\\\d{6}\",\n\t\t\t\t\"(?:4[015-8]|5[89]|87|9\\\\d)\\\\d{6}\",\n\t\t\t\t\"80[01]\\\\d{5}\",\n\t\t\t\t\"82[09]\\\\d{5}\",\n\t\t\t\t\"880\\\\d{5}\",\n\t\t\t\t\"81[23]\\\\d{5}\",\n\t\t\t\t\"0\\\\d{4}|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d{2})\\\\d{3}\",\n\t\t\t\tnull,\n\t\t\t\t\"85[0-5]\\\\d{5}\",\n\t\t\t\t\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"NP\": [\n\t\t\t\"977\",\n\t\t\t\"[1-8]\\\\d{7}|9(?:[1-69]\\\\d{6,8}|7[2-6]\\\\d{5,7}|8\\\\d{8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[01]|[2-8]|9(?:[1-69]|7[15-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9(?:6[013]|7[245]|8)\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"NR\": [\n\t\t\t\"674\",\n\t\t\t\"[458]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"NU\": [\n\t\t\t\"683\",\n\t\t\t\"[1-5]\\\\d{3}\"\n\t\t],\n\t\t\"NZ\": [\n\t\t\t\"64\",\n\t\t\t\"6[235-9]\\\\d{6}|[2-57-9]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"240|[346]|7[2-57-9]|9[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:1[1-9]|[69]|7[0-35-9])|70|86\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[028]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"90\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:10|74)|5|[89]0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"OM\": [\n\t\t\t\"968\",\n\t\t\t\"(?:5|[279]\\\\d)\\\\d{6}|800\\\\d{5,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([79]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[79]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]00)(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[58]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PA\": [\n\t\t\t\"507\",\n\t\t\t\"[1-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-57-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PE\": [\n\t\t\t\"51\",\n\t\t\t\"[14-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(1)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([4-8]\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[4-7]|8[2-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"PF\": [\n\t\t\t\"689\",\n\t\t\t\"4\\\\d{5,7}|8\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[09]|8[79]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"44\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PG\": [\n\t\t\t\"675\",\n\t\t\t\"[1-9]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13-689]|27\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20|7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PH\": [\n\t\t\t\"63\",\n\t\t\t\"2\\\\d{5,7}|[3-9]\\\\d{7,9}|1800\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|5(?:22|44)|642|8(?:62|8[245])\",\n\t\t\t\t\t\t\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"346|4(?:27|9[35])|883\",\n\t\t\t\t\t\t\"3469|4(?:279|9(?:30|56))|8834\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-8]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"81|9\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1800)(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"PK\": [\n\t\t\t\"92\",\n\t\t\t\"1\\\\d{8}|[2-8]\\\\d{5,11}|9(?:[013-9]\\\\d{4,9}|2\\\\d(?:111\\\\d{6}|\\\\d{3,7}))\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(111)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)1\",\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)11\",\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(111)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[349]|45|54|60|72|8[2-5]|9[2-9]\",\n\t\t\t\t\t\t\"(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\\\d1\",\n\t\t\t\t\t\t\"(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\\\d11\",\n\t\t\t\t\t\t\"(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\\\d111\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{7,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[349]|45|5(?:4|8[12])|60|72|8[2-5]|9[2-9]\",\n\t\t\t\t\t\t\"(?:2[349]|45|5(?:4|8[12])|60|72|8[2-5]|9[2-9])\\\\d[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(3\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d{3})(\\\\d{5,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(586\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"586\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]00)(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]00\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"PL\": [\n\t\t\t\"48\",\n\t\t\t\"[1-57-9]\\\\d{6,8}|6\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"11[68]|64\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"19\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"64\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"26|39|45|5[0137]|6[0469]|7[02389]|8[08]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[14]|2[0-57-9]|3[2-4]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PM\": [\n\t\t\t\"508\",\n\t\t\t\"[45]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([45]\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"PR\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"787|939\"\n\t\t],\n\t\t\"PS\": [\n\t\t\t\"970\",\n\t\t\t\"1\\\\d{9}|[24589]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([2489])(2\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2489]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5[69]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[78]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"PT\": [\n\t\t\t\"351\",\n\t\t\t\"[2-46-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[12]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-46-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[3-9]|[346-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PW\": [\n\t\t\t\"680\",\n\t\t\t\"[2-8]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"PY\": [\n\t\t\t\"595\",\n\t\t\t\"5[0-5]\\\\d{4,7}|[2-46-9]\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-9]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8700\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8][1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-8][1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"QA\": [\n\t\t\t\"974\",\n\t\t\t\"[2-8]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([28]\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[28]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-7]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"RE\": [\n\t\t\t\"262\",\n\t\t\t\"[268]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([268]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"262|69|8\"\n\t\t],\n\t\t\"RO\": [\n\t\t\t\"40\",\n\t\t\t\"[23]\\\\d{5,8}|[7-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]1\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23][3-7]|[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[3-6]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"RS\": [\n\t\t\t\"381\",\n\t\t\t\"[126-9]\\\\d{4,11}|3(?:[0-79]\\\\d{3,10}|8[2-9]\\\\d{2,9})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([23]\\\\d{2})(\\\\d{4,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:2[389]|39)0\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-3]\\\\d)(\\\\d{5,10})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1|2(?:[0-24-7]|[389][1-9])|3(?:[0-8]|9[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(6\\\\d)(\\\\d{6,8})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7[26])(\\\\d{4,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7[08]\\\\d)(\\\\d{4,9})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[08]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"RU\": [\n\t\t\t\"7\",\n\t\t\t\"[3489]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3489]\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[34689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"8 ($1)\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\\\d{7}\",\n\t\t\t\t\"9\\\\d{9}\",\n\t\t\t\t\"80[04]\\\\d{7}\",\n\t\t\t\t\"80[39]\\\\d{7}\",\n\t\t\t\t\"808\\\\d{7}\"\n\t\t\t]\n\t\t],\n\t\t\"RW\": [\n\t\t\t\"250\",\n\t\t\t\"[027-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([7-9]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"SA\": [\n\t\t\t\"966\",\n\t\t\t\"1\\\\d{7,8}|(?:[2-467]|92)\\\\d{7}|5\\\\d{8}|8\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-467])(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-467]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[1-467]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(5\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(92\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"92\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(811)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"81\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SB\": [\n\t\t\t\"677\",\n\t\t\t\"[1-9]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SC\": [\n\t\t\t\"248\",\n\t\t\t\"[24689]\\\\d{5,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[246]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SD\": [\n\t\t\t\"249\",\n\t\t\t\"[19]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SE\": [\n\t\t\t\"46\",\n\t\t\t\"[1-35-9]\\\\d{5,11}|4\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(8)(\\\\d{2,3})(\\\\d{2,3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-69]\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-469]\\\\d)(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[136]|2[136]|3[356]|4[0246]|6[03]|90\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(77)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d{2,3})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9[034]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[034]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9[034]\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[034]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2 $3 $4 $5\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"25[245]|67[3-6]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1 $2 $3 $4 $5\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SG\": [\n\t\t\t\"65\",\n\t\t\t\"[36]\\\\d{7}|[17-9]\\\\d{7,10}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3689]\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[369]|8[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7000)(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SH\": [\n\t\t\t\"290\",\n\t\t\t\"[256]\\\\d{4}\",\n\t\t\t[],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"2(?:[0-57-9]\\\\d|6[4-9])\\\\d{2}\",\n\t\t\t\t\"[56]\\\\d{4}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"262\\\\d{2}\"\n\t\t\t]\n\t\t],\n\t\t\"SI\": [\n\t\t\t\"386\",\n\t\t\t\"[1-7]\\\\d{6,7}|[89]\\\\d{4,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[12]|3[24-8]|4[24-8]|5[2-8]|7[3-8]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-7]\\\\d)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[37][01]|4[0139]|51|6\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89][09])(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89][09]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([58]\\\\d{2})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"59|8[1-3]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SJ\": [\n\t\t\t\"47\",\n\t\t\t\"0\\\\d{4}|[45789]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([489]\\\\d{2})(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[489]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([235-7]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[235-7]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"79\\\\d{6}\",\n\t\t\t\t\"(?:4[015-8]|5[89]|9\\\\d)\\\\d{6}\",\n\t\t\t\t\"80[01]\\\\d{5}\",\n\t\t\t\t\"82[09]\\\\d{5}\",\n\t\t\t\t\"880\\\\d{5}\",\n\t\t\t\t\"81[23]\\\\d{5}\",\n\t\t\t\t\"0\\\\d{4}|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d{2})\\\\d{3}\",\n\t\t\t\tnull,\n\t\t\t\t\"85[0-5]\\\\d{5}\",\n\t\t\t\t\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"SK\": [\n\t\t\t\"421\",\n\t\t\t\"(?:[2-68]\\\\d{5,8}|9\\\\d{6,8})\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(1[67])(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"21[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-5]\\\\d)(1[67])(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\n\t\t\t\t\t\"$1/$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-5]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1/$2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[3-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([689]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[689]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9090)(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9090\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"SL\": [\n\t\t\t\"232\",\n\t\t\t\"[2-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"(0$1)\"\n\t\t],\n\t\t\"SM\": [\n\t\t\t\"378\",\n\t\t\t\"[05-7]\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[5-7]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0549)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"($1) $2\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{6})\",\n\t\t\t\t\t\"0549 $1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t],\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"(0549) $1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"(?:0549)?([89]\\\\d{5})\",\n\t\t\t\"0549$1\"\n\t\t],\n\t\t\"SN\": [\n\t\t\t\"221\",\n\t\t\t\"[3789]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[379]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SO\": [\n\t\t\t\"252\",\n\t\t\t\"[1-9]\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{6})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[134]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[0-79]|[13-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"24|[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[125]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{5,7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"15|28|6[1-35-9]|799|9[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[59]|4[89]|6[24-6]|79|8[08]|90\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"SR\": [\n\t\t\t\"597\",\n\t\t\t\"[2-8]\\\\d{5,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-4]|5[2-58]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1-$2-$3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"56\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[6-8]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SS\": [\n\t\t\t\"211\",\n\t\t\t\"[19]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\tnull,\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"ST\": [\n\t\t\t\"239\",\n\t\t\t\"[29]\\\\d{6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SV\": [\n\t\t\t\"503\",\n\t\t\t\"[267]\\\\d{7}|[89]\\\\d{6}(?:\\\\d{4})?\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[267]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"SX\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"721\"\n\t\t],\n\t\t\"SY\": [\n\t\t\t\"963\",\n\t\t\t\"[1-59]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-5]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(9\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"SZ\": [\n\t\t\t\"268\",\n\t\t\t\"[027]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[027]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TA\": [\n\t\t\t\"290\",\n\t\t\t\"8\\\\d{3}\",\n\t\t\t[],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"8\\\\d{3}\"\n\t\t\t]\n\t\t],\n\t\t\"TC\": [\n\t\t\t\"1\",\n\t\t\t\"[5689]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"649\"\n\t\t],\n\t\t\"TD\": [\n\t\t\t\"235\",\n\t\t\t\"[2679]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TG\": [\n\t\t\t\"228\",\n\t\t\t\"[29]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[29]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TH\": [\n\t\t\t\"66\",\n\t\t\t\"1\\\\d{8,9}|[2-9]\\\\d{7,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(2)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([13-9]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"14|[3-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"TJ\": [\n\t\t\t\"992\",\n\t\t\t\"[3-57-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([349]\\\\d{2})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[34]7|91[78]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([457-9]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4[148]|[578]|9(?:1[59]|[0235-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(331700)(\\\\d)(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"331\",\n\t\t\t\t\t\t\"3317\",\n\t\t\t\t\t\t\"33170\",\n\t\t\t\t\t\t\"331700\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[1-5]\",\n\t\t\t\t\t\t\"3(?:[1245]|3(?:[02-9]|1[0-589]))\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"TK\": [\n\t\t\t\"690\",\n\t\t\t\"[2-47]\\\\d{3,6}\"\n\t\t],\n\t\t\"TL\": [\n\t\t\t\"670\",\n\t\t\t\"[2-489]\\\\d{6}|7\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-489]|70\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[3-8]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TM\": [\n\t\t\t\"993\",\n\t\t\t\"[1-6]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"12\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"6\"\n\t\t\t\t\t],\n\t\t\t\t\t\"8 $1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2-$3-$4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"13|[2-5]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"(8 $1)\"\n\t\t],\n\t\t\"TN\": [\n\t\t\t\"216\",\n\t\t\t\"[2-57-9]\\\\d{7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TO\": [\n\t\t\t\"676\",\n\t\t\t\"[02-8]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})\",\n\t\t\t\t\t\"$1-$2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-6]|7[0-4]|8[05]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[5-9]|8[47-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"TR\": [\n\t\t\t\"90\",\n\t\t\t\"[2-589]\\\\d{9}|444\\\\d{4}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]|4(?:[0-35-9]|4[0-35-9])\"\n\t\t\t\t\t],\n\t\t\t\t\t\"(0$1)\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"5[02-69]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"51|[89]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\",\n\t\t\t\t\t\"true\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(444)(\\\\d{1})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"444\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"TT\": [\n\t\t\t\"1\",\n\t\t\t\"[589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"868\"\n\t\t],\n\t\t\"TV\": [\n\t\t\t\"688\",\n\t\t\t\"[279]\\\\d{4,6}\"\n\t\t],\n\t\t\"TW\": [\n\t\t\t\"886\",\n\t\t\t\"2\\\\d{6,8}|[3-689]\\\\d{7,8}|7\\\\d{7,9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"202\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(20)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"20[013-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2-8])(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[23-8]|[3-6]|[78][1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(70)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"70\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"TZ\": [\n\t\t\t\"255\",\n\t\t\t\"\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([24]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([67]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[67]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d{2})(\\\\d{2})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"UA\": [\n\t\t\t\"380\",\n\t\t\t\"[3-9]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([3-9]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[38]9|4(?:[45][0-5]|87)|5(?:0|6[37]|7[37])|6[36-8]|7|9[1-9]\",\n\t\t\t\t\t\t\"[38]9|4(?:[45][0-5]|87)|5(?:0|6(?:3[14-7]|7)|7[37])|6[36-8]|7|9[1-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-689]\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3[1-8]2|4[13678]2|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8[0-8]|90\",\n\t\t\t\t\t\t\"3(?:[1-46-8]2[013-9]|52)|4(?:[1378]2|62[013-9])|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8[0-8]|90\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([3-6]\\\\d{3})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3(?:5[013-9]|[1-46-8])|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])\",\n\t\t\t\t\t\t\"3(?:5[013-9]|[1-46-8](?:22|[013-9]))|4(?:[137][013-9]|6(?:[013-9]|22)|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6(?:3[02389]|[015689])|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"UG\": [\n\t\t\t\"256\",\n\t\t\t\"\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[7-9]|20(?:[013-8]|2[5-9])|4(?:6[45]|[7-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3|4(?:[1-5]|6[0-36-9])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(2024)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2024\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"US\": [\n\t\t\t\"1\",\n\t\t\t\"[2-9]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[012])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\t\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",\n\t\t\t\t\"900[2-9]\\\\d{6}\",\n\t\t\t\t\"5(?:00|22|33|44|66|77|88)[2-9]\\\\d{6}\"\n\t\t\t]\n\t\t],\n\t\t\"UY\": [\n\t\t\t\"598\",\n\t\t\t\"[2489]\\\\d{6,7}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[24]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"9[1-9]\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[89]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"0$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\"\n\t\t],\n\t\t\"UZ\": [\n\t\t\t\"998\",\n\t\t\t\"[679]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([679]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"8\",\n\t\t\t\"8 $1\"\n\t\t],\n\t\t\"VA\": [\n\t\t\t\"39\",\n\t\t\t\"(?:0(?:878\\\\d{5}|6698\\\\d{5})|[1589]\\\\d{5,10}|3(?:[12457-9]\\\\d{8}|[36]\\\\d{7,9}))\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]|55\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4})(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0[26])(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[26]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9[245])\",\n\t\t\t\t\t\t\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(0\\\\d{3})(\\\\d{2,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"0[13-57-9][2-46-8]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9[59])\",\n\t\t\t\t\t\t\"[13]|8(?:00|4[08]|9(?:5[5-9]|9))\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"894\",\n\t\t\t\t\t\t\"894[5-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"3\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t[\n\t\t\t\t\"06698\\\\d{5}\",\n\t\t\t\t\"3(?:[12457-9]\\\\d{8}|6\\\\d{7,8}|3\\\\d{7,9})\",\n\t\t\t\t\"80(?:0\\\\d{6}|3\\\\d{3})\",\n\t\t\t\t\"0878\\\\d{5}|1(?:44|6[346])\\\\d{6}|89(?:2\\\\d{3}|4(?:[0-4]\\\\d{2}|[5-9]\\\\d{4})|5(?:[0-4]\\\\d{2}|[5-9]\\\\d{6})|9\\\\d{6})\",\n\t\t\t\t\"1(?:78\\\\d|99)\\\\d{6}\",\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\t\"55\\\\d{8}\",\n\t\t\t\t\"84(?:[08]\\\\d{6}|[17]\\\\d{3})\"\n\t\t\t]\n\t\t],\n\t\t\"VC\": [\n\t\t\t\"1\",\n\t\t\t\"[5789]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"784\"\n\t\t],\n\t\t\"VE\": [\n\t\t\t\"58\",\n\t\t\t\"[24589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{7})\",\n\t\t\t\t\t\"$1-$2\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"VG\": [\n\t\t\t\"1\",\n\t\t\t\"[2589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"284\"\n\t\t],\n\t\t\"VI\": [\n\t\t\t\"1\",\n\t\t\t\"[3589]\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"($1) $2-$3\",\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\tnull,\n\t\t\t\t\t\"$1-$2-$3\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"340\"\n\t\t],\n\t\t\"VN\": [\n\t\t\t\"84\",\n\t\t\t\"[167]\\\\d{6,9}|[2-59]\\\\d{7,9}|8\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([17]99)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[17]99\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([48])(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4|8(?:[2-5]|6[236]|7[13])\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{4})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[48]|5[5-9]|6[0-46-8]|7[0235]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(69\\\\d)(\\\\d{4,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"69\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2[0-35-79]|50|65\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([89]\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8(?:8|9[89])|9\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[2689]\\\\d)(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1(?:[26]|8[68]|99)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(86[89])(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"86[89]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(1[89]00)(\\\\d{4,6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[89]0\"\n\t\t\t\t\t],\n\t\t\t\t\t\"$1\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\ttrue\n\t\t],\n\t\t\"VU\": [\n\t\t\t\"678\",\n\t\t\t\"[2-57-9]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[579]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"WF\": [\n\t\t\t\"681\",\n\t\t\t\"[4-8]\\\\d{5}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"WS\": [\n\t\t\t\"685\",\n\t\t\t\"[2-8]\\\\d{4,6}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{5})\",\n\t\t\t\t\t\"$1\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[2-6]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t]\n\t\t],\n\t\t\"YE\": [\n\t\t\t\"967\",\n\t\t\t\"[1-7]\\\\d{6,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([1-7])(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-6]|7[24-68]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7[0137]\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"YT\": [\n\t\t\t\"262\",\n\t\t\t\"[268]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([268]\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\n\t\t\t\t\t\"$1 $2 $3 $4\"\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\t\"269|63\"\n\t\t],\n\t\t\"ZA\": [\n\t\t\t\"27\",\n\t\t\t\"[1-79]\\\\d{8}|8\\\\d{4,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(860)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"860\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8[1-4]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[1-79]|8(?:[0-57]|6[1-9])\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ZM\": [\n\t\t\t\"260\",\n\t\t\t\"[289]\\\\d{8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([29]\\\\d)(\\\\d{7})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[29]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(800)(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"8\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"ZW\": [\n\t\t\t\"263\",\n\t\t\t\"2(?:[0-2457-9]\\\\d{3,8}|6(?:[14]\\\\d{7}|\\\\d{4}))|[13-79]\\\\d{4,9}|8[06]\\\\d{5,8}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"([49])(\\\\d{3})(\\\\d{2,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"4|9[2-9]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(7\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"7\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(86\\\\d{2})(\\\\d{3})(\\\\d{3})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"86[24]\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([2356]\\\\d{2})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:0[45]|2[278]|[49]8|[78])|3(?:08|17|3[78]|7[1569]|8[37]|98)|5[15][78]|6(?:[29]8|[38]7|6[78]|75|[89]8)\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"2(?:1[39]|2[0157]|31|[56][14]|7[35]|84)|329\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([1-356]\\\\d)(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"1[3-9]|2[02569]|3[0-69]|5[05689]|6\\\\d\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([235]\\\\d)(\\\\d{3})(\\\\d{3,4})\",\n\t\t\t\t\t\"$1 $2 $3\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"[23]9|54\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"([25]\\\\d{3})(\\\\d{3,5})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"(?:25|54)8\",\n\t\t\t\t\t\t\"258[23]|5483\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(8\\\\d{3})(\\\\d{6})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"86\"\n\t\t\t\t\t]\n\t\t\t\t],\n\t\t\t\t[\n\t\t\t\t\t\"(80\\\\d)(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2\",\n\t\t\t\t\t[\n\t\t\t\t\t\t\"80\"\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t],\n\t\t\t\"0\",\n\t\t\t\"0$1\"\n\t\t],\n\t\t\"001\": [\n\t\t\t\"979\",\n\t\t\t\"\\\\d{9}\",\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\n\t\t\t\t\t\"$1 $2 $3\"\n\t\t\t\t]\n\t\t\t]\n\t\t]\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/metadata.min.json\n// module id = 1201\n// module chunks = 3","module.exports = {\n\t\"version\": \"2017c\",\n\t\"zones\": [\n\t\t\"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5\",\n\t\t\"Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5\",\n\t\t\"Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5\",\n\t\t\"Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5\",\n\t\t\"Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6\",\n\t\t\"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldWV.E 2xonV.E|39e4\",\n\t\t\"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5\",\n\t\t\"Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6\",\n\t\t\"Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5\",\n\t\t\"Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3\",\n\t\t\"Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4\",\n\t\t\"Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5\",\n\t\t\"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0\",\n\t\t\"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5\",\n\t\t\"Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5\",\n\t\t\"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5\",\n\t\t\"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5\",\n\t\t\"Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5\",\n\t\t\"Africa/Windhoek|+0130 SAST SAST CAT WAT WAST|-1u -20 -30 -20 -10 -20|01213454545454545454545454545454545454545454545454543|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\",\n\t\t\"America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326\",\n\t\t\"America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4\",\n\t\t\"America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3\",\n\t\t\"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4\",\n\t\t\"America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\n\t\t\"America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\n\t\t\"America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\n\t\t\"America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0\",\n\t\t\"America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\n\t\t\"America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0\",\n\t\t\"America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\n\t\t\"America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0\",\n\t\t\"America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0\",\n\t\t\"America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0\",\n\t\t\"America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0\",\n\t\t\"America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0\",\n\t\t\"America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4\",\n\t\t\"America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5\",\n\t\t\"America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2\",\n\t\t\"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5\",\n\t\t\"America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3\",\n\t\t\"America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4\",\n\t\t\"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5\",\n\t\t\"America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3\",\n\t\t\"America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2\",\n\t\t\"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2\",\n\t\t\"America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5\",\n\t\t\"America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4\",\n\t\t\"America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2\",\n\t\t\"America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|77e4\",\n\t\t\"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\",\n\t\t\"America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5\",\n\t\t\"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3\",\n\t\t\"America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5\",\n\t\t\"America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5\",\n\t\t\"America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4\",\n\t\t\"America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5\",\n\t\t\"America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2\",\n\t\t\"America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|54e4\",\n\t\t\"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8\",\n\t\t\"America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2\",\n\t\t\"America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3\",\n\t\t\"America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5\",\n\t\t\"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5\",\n\t\t\"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5\",\n\t\t\"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3\",\n\t\t\"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5\",\n\t\t\"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5\",\n\t\t\"America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\",\n\t\t\"America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5\",\n\t\t\"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\n\t\t\"America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3\",\n\t\t\"America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2\",\n\t\t\"America/Grand_Turk|KMT EST EDT AST|57.b 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.N 2HHBQ.N 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2\",\n\t\t\"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5\",\n\t\t\"America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5\",\n\t\t\"America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4\",\n\t\t\"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4\",\n\t\t\"America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5\",\n\t\t\"America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4\",\n\t\t\"America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2\",\n\t\t\"America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2\",\n\t\t\"America/Jamaica|KMT EST EDT|57.b 50 40|0121212121212121212121|-2l1uQ.N 2uM1Q.N 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4\",\n\t\t\"America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3\",\n\t\t\"America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/La_Paz|CMT BOST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5\",\n\t\t\"America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6\",\n\t\t\"America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6\",\n\t\t\"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4\",\n\t\t\"America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5\",\n\t\t\"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5\",\n\t\t\"America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4\",\n\t\t\"America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4\",\n\t\t\"America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4\",\n\t\t\"America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2\",\n\t\t\"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5\",\n\t\t\"America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\n\t\t\"America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6\",\n\t\t\"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2\",\n\t\t\"America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3\",\n\t\t\"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5\",\n\t\t\"America/Montevideo|MMT -0330 -03 -02 -0230|3I.I 3u 30 20 2u|012121212121212121212121213232323232324242423243232323232323232323232323232323232323232|-20UIf.g 8jzJ.g 1cLu 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1qMu WLu 1qMu 11zu 1o0u 11zu NAu 11bu 2iMu zWu Dq10 19X0 pd0 jz0 cm10 19X0 1fB0 1on0 11d0 1oL0 1nB0 1fzu 1aou 1fzu 1aou 1fzu 3nAu Jb0 3MN0 1SLu 4jzu 2PB0 Lb0 3Dd0 1pb0 ixd0 An0 1MN0 An0 1wp0 On0 1wp0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5\",\n\t\t\"America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5\",\n\t\t\"America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4\",\n\t\t\"America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6\",\n\t\t\"America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2\",\n\t\t\"America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2\",\n\t\t\"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2\",\n\t\t\"America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\n\t\t\"America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\n\t\t\"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4\",\n\t\t\"America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5\",\n\t\t\"America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\n\t\t\"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4\",\n\t\t\"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4\",\n\t\t\"America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5\",\n\t\t\"America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0\",\n\t\t\"America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842\",\n\t\t\"America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2\",\n\t\t\"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5\",\n\t\t\"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4\",\n\t\t\"America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229\",\n\t\t\"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4\",\n\t\t\"America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5\",\n\t\t\"America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5\",\n\t\t\"America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0|20e6\",\n\t\t\"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452\",\n\t\t\"America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2\",\n\t\t\"America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\n\t\t\"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3\",\n\t\t\"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5\",\n\t\t\"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656\",\n\t\t\"America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\n\t\t\"America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\n\t\t\"America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\n\t\t\"America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4\",\n\t\t\"America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642\",\n\t\t\"America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\n\t\t\"Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212|-2q00 1DjS0 T90 40P0 KL0 blz0|10\",\n\t\t\"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70\",\n\t\t\"Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80\",\n\t\t\"Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1\",\n\t\t\"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60\",\n\t\t\"Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5\",\n\t\t\"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\",\n\t\t\"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130\",\n\t\t\"Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20\",\n\t\t\"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40\",\n\t\t\"Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25\",\n\t\t\"Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4\",\n\t\t\"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5\",\n\t\t\"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5\",\n\t\t\"Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5\",\n\t\t\"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3\",\n\t\t\"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4\",\n\t\t\"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4\",\n\t\t\"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4\",\n\t\t\"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0\",\n\t\t\"Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5\",\n\t\t\"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4\",\n\t\t\"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\n\t\t\"Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6\",\n\t\t\"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\n\t\t\"Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5\",\n\t\t\"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4\",\n\t\t\"Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4\",\n\t\t\"Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6\",\n\t\t\"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4\",\n\t\t\"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3\",\n\t\t\"Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6\",\n\t\t\"Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5\",\n\t\t\"Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6\",\n\t\t\"Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5\",\n\t\t\"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4\",\n\t\t\"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5\",\n\t\t\"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4\",\n\t\t\"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|18e5\",\n\t\t\"Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|25e4\",\n\t\t\"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5\",\n\t\t\"Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5\",\n\t\t\"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3\",\n\t\t\"Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\n\t\t\"Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\",\n\t\t\"Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6\",\n\t\t\"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4\",\n\t\t\"Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4\",\n\t\t\"Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5\",\n\t\t\"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4\",\n\t\t\"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6\",\n\t\t\"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5\",\n\t\t\"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5\",\n\t\t\"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2\",\n\t\t\"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\n\t\t\"Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5\",\n\t\t\"Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4\",\n\t\t\"Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le7y.k 1XO34.k 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4\",\n\t\t\"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3\",\n\t\t\"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5\",\n\t\t\"Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6\",\n\t\t\"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4\",\n\t\t\"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4\",\n\t\t\"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5\",\n\t\t\"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5\",\n\t\t\"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4\",\n\t\t\"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4\",\n\t\t\"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|01231|-2um8n 97XR 1lTzu 2Onc0|29e5\",\n\t\t\"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4\",\n\t\t\"Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5\",\n\t\t\"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4\",\n\t\t\"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4\",\n\t\t\"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6\",\n\t\t\"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2\",\n\t\t\"Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5\",\n\t\t\"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5\",\n\t\t\"Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5\",\n\t\t\"Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6\",\n\t\t\"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3\",\n\t\t\"Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJH0 QL0 1lB0 13X0 1zB0 NX0 1zB0 NX0|38e6\",\n\t\t\"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5\",\n\t\t\"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5\",\n\t\t\"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2\",\n\t\t\"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\n\t\t\"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4\",\n\t\t\"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5\",\n\t\t\"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5\",\n\t\t\"Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW5.s aPX5.s Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4\",\n\t\t\"Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3\",\n\t\t\"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2xomp.U 1qOMp.U 7zX0 1djf0|50e4\",\n\t\t\"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3\",\n\t\t\"Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldWQ.o aPWQ.o Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4\",\n\t\t\"Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4\",\n\t\t\"Atlantic/South_Georgia|-02|20|0||30\",\n\t\t\"Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2\",\n\t\t\"Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5\",\n\t\t\"Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5\",\n\t\t\"Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5\",\n\t\t\"Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3\",\n\t\t\"Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746\",\n\t\t\"Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4\",\n\t\t\"Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368\",\n\t\t\"Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4\",\n\t\t\"Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347\",\n\t\t\"Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10\",\n\t\t\"Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5\",\n\t\t\"Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5\",\n\t\t\"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2\",\n\t\t\"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"EST|EST|50|0|\",\n\t\t\"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Etc/GMT+0|GMT|0|0|\",\n\t\t\"Etc/GMT+1|-01|10|0|\",\n\t\t\"Etc/GMT+10|-10|a0|0|\",\n\t\t\"Etc/GMT+11|-11|b0|0|\",\n\t\t\"Etc/GMT+12|-12|c0|0|\",\n\t\t\"Etc/GMT+3|-03|30|0|\",\n\t\t\"Etc/GMT+4|-04|40|0|\",\n\t\t\"Etc/GMT+5|-05|50|0|\",\n\t\t\"Etc/GMT+6|-06|60|0|\",\n\t\t\"Etc/GMT+7|-07|70|0|\",\n\t\t\"Etc/GMT+8|-08|80|0|\",\n\t\t\"Etc/GMT+9|-09|90|0|\",\n\t\t\"Etc/GMT-1|+01|-10|0|\",\n\t\t\"Pacific/Port_Moresby|+10|-a0|0||25e4\",\n\t\t\"Pacific/Pohnpei|+11|-b0|0||34e3\",\n\t\t\"Pacific/Tarawa|+12|-c0|0||29e3\",\n\t\t\"Etc/GMT-13|+13|-d0|0|\",\n\t\t\"Etc/GMT-14|+14|-e0|0|\",\n\t\t\"Etc/GMT-2|+02|-20|0|\",\n\t\t\"Etc/GMT-3|+03|-30|0|\",\n\t\t\"Etc/GMT-4|+04|-40|0|\",\n\t\t\"Etc/GMT-5|+05|-50|0|\",\n\t\t\"Etc/GMT-6|+06|-60|0|\",\n\t\t\"Indian/Christmas|+07|-70|0||21e2\",\n\t\t\"Etc/GMT-8|+08|-80|0|\",\n\t\t\"Pacific/Palau|+09|-90|0||21e3\",\n\t\t\"Etc/UCT|UCT|0|0|\",\n\t\t\"Etc/UTC|UTC|0|0|\",\n\t\t\"Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5\",\n\t\t\"Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3\",\n\t\t\"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\n\t\t\"Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5\",\n\t\t\"Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6\",\n\t\t\"Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5\",\n\t\t\"Europe/Prague|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 16M0 1lc0 1tA0 17A0 11c0 1io0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5\",\n\t\t\"Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5\",\n\t\t\"Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5\",\n\t\t\"Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\n\t\t\"Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4\",\n\t\t\"Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4\",\n\t\t\"Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3\",\n\t\t\"Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4\",\n\t\t\"Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5\",\n\t\t\"Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4\",\n\t\t\"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ldXn.f aPWn.f Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5\",\n\t\t\"Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5\",\n\t\t\"Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\n\t\t\"Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5\",\n\t\t\"Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3\",\n\t\t\"Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6\",\n\t\t\"Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6\",\n\t\t\"Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4\",\n\t\t\"Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5\",\n\t\t\"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5\",\n\t\t\"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810\",\n\t\t\"Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4\",\n\t\t\"Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5\",\n\t\t\"Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4\",\n\t\t\"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\n\t\t\"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\n\t\t\"Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4\",\n\t\t\"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5\",\n\t\t\"Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\n\t\t\"Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\n\t\t\"Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4\",\n\t\t\"HST|HST|a0|0|\",\n\t\t\"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2\",\n\t\t\"Indian/Cocos|+0630|-6u|0||596\",\n\t\t\"Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130\",\n\t\t\"Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3\",\n\t\t\"Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4\",\n\t\t\"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4\",\n\t\t\"Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4\",\n\t\t\"Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3\",\n\t\t\"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\n\t\t\"MST|MST|70|0|\",\n\t\t\"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600\",\n\t\t\"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\n\t\t\"Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3\",\n\t\t\"Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4\",\n\t\t\"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3\",\n\t\t\"Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B8n0|1\",\n\t\t\"Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483\",\n\t\t\"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4\",\n\t\t\"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3\",\n\t\t\"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125\",\n\t\t\"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4\",\n\t\t\"Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4\",\n\t\t\"Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4\",\n\t\t\"Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B8nk|51e2\",\n\t\t\"Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2\",\n\t\t\"Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3\",\n\t\t\"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2\",\n\t\t\"Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2\",\n\t\t\"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3\",\n\t\t\"Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2\",\n\t\t\"Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4\",\n\t\t\"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3\",\n\t\t\"Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56\",\n\t\t\"Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3\",\n\t\t\"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4\",\n\t\t\"Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3\",\n\t\t\"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\"\n\t],\n\t\"links\": [\n\t\t\"Africa/Abidjan|Africa/Bamako\",\n\t\t\"Africa/Abidjan|Africa/Banjul\",\n\t\t\"Africa/Abidjan|Africa/Conakry\",\n\t\t\"Africa/Abidjan|Africa/Dakar\",\n\t\t\"Africa/Abidjan|Africa/Freetown\",\n\t\t\"Africa/Abidjan|Africa/Lome\",\n\t\t\"Africa/Abidjan|Africa/Nouakchott\",\n\t\t\"Africa/Abidjan|Africa/Ouagadougou\",\n\t\t\"Africa/Abidjan|Africa/Sao_Tome\",\n\t\t\"Africa/Abidjan|Africa/Timbuktu\",\n\t\t\"Africa/Abidjan|Atlantic/St_Helena\",\n\t\t\"Africa/Cairo|Egypt\",\n\t\t\"Africa/Johannesburg|Africa/Maseru\",\n\t\t\"Africa/Johannesburg|Africa/Mbabane\",\n\t\t\"Africa/Lagos|Africa/Bangui\",\n\t\t\"Africa/Lagos|Africa/Brazzaville\",\n\t\t\"Africa/Lagos|Africa/Douala\",\n\t\t\"Africa/Lagos|Africa/Kinshasa\",\n\t\t\"Africa/Lagos|Africa/Libreville\",\n\t\t\"Africa/Lagos|Africa/Luanda\",\n\t\t\"Africa/Lagos|Africa/Malabo\",\n\t\t\"Africa/Lagos|Africa/Niamey\",\n\t\t\"Africa/Lagos|Africa/Porto-Novo\",\n\t\t\"Africa/Maputo|Africa/Blantyre\",\n\t\t\"Africa/Maputo|Africa/Bujumbura\",\n\t\t\"Africa/Maputo|Africa/Gaborone\",\n\t\t\"Africa/Maputo|Africa/Harare\",\n\t\t\"Africa/Maputo|Africa/Kigali\",\n\t\t\"Africa/Maputo|Africa/Lubumbashi\",\n\t\t\"Africa/Maputo|Africa/Lusaka\",\n\t\t\"Africa/Nairobi|Africa/Addis_Ababa\",\n\t\t\"Africa/Nairobi|Africa/Asmara\",\n\t\t\"Africa/Nairobi|Africa/Asmera\",\n\t\t\"Africa/Nairobi|Africa/Dar_es_Salaam\",\n\t\t\"Africa/Nairobi|Africa/Djibouti\",\n\t\t\"Africa/Nairobi|Africa/Kampala\",\n\t\t\"Africa/Nairobi|Africa/Mogadishu\",\n\t\t\"Africa/Nairobi|Indian/Antananarivo\",\n\t\t\"Africa/Nairobi|Indian/Comoro\",\n\t\t\"Africa/Nairobi|Indian/Mayotte\",\n\t\t\"Africa/Tripoli|Libya\",\n\t\t\"America/Adak|America/Atka\",\n\t\t\"America/Adak|US/Aleutian\",\n\t\t\"America/Anchorage|US/Alaska\",\n\t\t\"America/Argentina/Buenos_Aires|America/Buenos_Aires\",\n\t\t\"America/Argentina/Catamarca|America/Argentina/ComodRivadavia\",\n\t\t\"America/Argentina/Catamarca|America/Catamarca\",\n\t\t\"America/Argentina/Cordoba|America/Cordoba\",\n\t\t\"America/Argentina/Cordoba|America/Rosario\",\n\t\t\"America/Argentina/Jujuy|America/Jujuy\",\n\t\t\"America/Argentina/Mendoza|America/Mendoza\",\n\t\t\"America/Atikokan|America/Coral_Harbour\",\n\t\t\"America/Chicago|US/Central\",\n\t\t\"America/Curacao|America/Aruba\",\n\t\t\"America/Curacao|America/Kralendijk\",\n\t\t\"America/Curacao|America/Lower_Princes\",\n\t\t\"America/Denver|America/Shiprock\",\n\t\t\"America/Denver|Navajo\",\n\t\t\"America/Denver|US/Mountain\",\n\t\t\"America/Detroit|US/Michigan\",\n\t\t\"America/Edmonton|Canada/Mountain\",\n\t\t\"America/Fort_Wayne|America/Indiana/Indianapolis\",\n\t\t\"America/Fort_Wayne|America/Indianapolis\",\n\t\t\"America/Fort_Wayne|US/East-Indiana\",\n\t\t\"America/Halifax|Canada/Atlantic\",\n\t\t\"America/Havana|Cuba\",\n\t\t\"America/Indiana/Knox|America/Knox_IN\",\n\t\t\"America/Indiana/Knox|US/Indiana-Starke\",\n\t\t\"America/Jamaica|Jamaica\",\n\t\t\"America/Kentucky/Louisville|America/Louisville\",\n\t\t\"America/Los_Angeles|US/Pacific\",\n\t\t\"America/Los_Angeles|US/Pacific-New\",\n\t\t\"America/Manaus|Brazil/West\",\n\t\t\"America/Mazatlan|Mexico/BajaSur\",\n\t\t\"America/Mexico_City|Mexico/General\",\n\t\t\"America/New_York|US/Eastern\",\n\t\t\"America/Noronha|Brazil/DeNoronha\",\n\t\t\"America/Panama|America/Cayman\",\n\t\t\"America/Phoenix|US/Arizona\",\n\t\t\"America/Port_of_Spain|America/Anguilla\",\n\t\t\"America/Port_of_Spain|America/Antigua\",\n\t\t\"America/Port_of_Spain|America/Dominica\",\n\t\t\"America/Port_of_Spain|America/Grenada\",\n\t\t\"America/Port_of_Spain|America/Guadeloupe\",\n\t\t\"America/Port_of_Spain|America/Marigot\",\n\t\t\"America/Port_of_Spain|America/Montserrat\",\n\t\t\"America/Port_of_Spain|America/St_Barthelemy\",\n\t\t\"America/Port_of_Spain|America/St_Kitts\",\n\t\t\"America/Port_of_Spain|America/St_Lucia\",\n\t\t\"America/Port_of_Spain|America/St_Thomas\",\n\t\t\"America/Port_of_Spain|America/St_Vincent\",\n\t\t\"America/Port_of_Spain|America/Tortola\",\n\t\t\"America/Port_of_Spain|America/Virgin\",\n\t\t\"America/Regina|Canada/Saskatchewan\",\n\t\t\"America/Rio_Branco|America/Porto_Acre\",\n\t\t\"America/Rio_Branco|Brazil/Acre\",\n\t\t\"America/Santiago|Chile/Continental\",\n\t\t\"America/Sao_Paulo|Brazil/East\",\n\t\t\"America/St_Johns|Canada/Newfoundland\",\n\t\t\"America/Tijuana|America/Ensenada\",\n\t\t\"America/Tijuana|America/Santa_Isabel\",\n\t\t\"America/Tijuana|Mexico/BajaNorte\",\n\t\t\"America/Toronto|America/Montreal\",\n\t\t\"America/Toronto|Canada/Eastern\",\n\t\t\"America/Vancouver|Canada/Pacific\",\n\t\t\"America/Whitehorse|Canada/Yukon\",\n\t\t\"America/Winnipeg|Canada/Central\",\n\t\t\"Asia/Ashgabat|Asia/Ashkhabad\",\n\t\t\"Asia/Bangkok|Asia/Phnom_Penh\",\n\t\t\"Asia/Bangkok|Asia/Vientiane\",\n\t\t\"Asia/Dhaka|Asia/Dacca\",\n\t\t\"Asia/Dubai|Asia/Muscat\",\n\t\t\"Asia/Ho_Chi_Minh|Asia/Saigon\",\n\t\t\"Asia/Hong_Kong|Hongkong\",\n\t\t\"Asia/Jerusalem|Asia/Tel_Aviv\",\n\t\t\"Asia/Jerusalem|Israel\",\n\t\t\"Asia/Kathmandu|Asia/Katmandu\",\n\t\t\"Asia/Kolkata|Asia/Calcutta\",\n\t\t\"Asia/Kuala_Lumpur|Asia/Singapore\",\n\t\t\"Asia/Kuala_Lumpur|Singapore\",\n\t\t\"Asia/Macau|Asia/Macao\",\n\t\t\"Asia/Makassar|Asia/Ujung_Pandang\",\n\t\t\"Asia/Nicosia|Europe/Nicosia\",\n\t\t\"Asia/Qatar|Asia/Bahrain\",\n\t\t\"Asia/Rangoon|Asia/Yangon\",\n\t\t\"Asia/Riyadh|Asia/Aden\",\n\t\t\"Asia/Riyadh|Asia/Kuwait\",\n\t\t\"Asia/Seoul|ROK\",\n\t\t\"Asia/Shanghai|Asia/Chongqing\",\n\t\t\"Asia/Shanghai|Asia/Chungking\",\n\t\t\"Asia/Shanghai|Asia/Harbin\",\n\t\t\"Asia/Shanghai|PRC\",\n\t\t\"Asia/Taipei|ROC\",\n\t\t\"Asia/Tehran|Iran\",\n\t\t\"Asia/Thimphu|Asia/Thimbu\",\n\t\t\"Asia/Tokyo|Japan\",\n\t\t\"Asia/Ulaanbaatar|Asia/Ulan_Bator\",\n\t\t\"Asia/Urumqi|Asia/Kashgar\",\n\t\t\"Atlantic/Faroe|Atlantic/Faeroe\",\n\t\t\"Atlantic/Reykjavik|Iceland\",\n\t\t\"Atlantic/South_Georgia|Etc/GMT+2\",\n\t\t\"Australia/Adelaide|Australia/South\",\n\t\t\"Australia/Brisbane|Australia/Queensland\",\n\t\t\"Australia/Broken_Hill|Australia/Yancowinna\",\n\t\t\"Australia/Darwin|Australia/North\",\n\t\t\"Australia/Hobart|Australia/Tasmania\",\n\t\t\"Australia/Lord_Howe|Australia/LHI\",\n\t\t\"Australia/Melbourne|Australia/Victoria\",\n\t\t\"Australia/Perth|Australia/West\",\n\t\t\"Australia/Sydney|Australia/ACT\",\n\t\t\"Australia/Sydney|Australia/Canberra\",\n\t\t\"Australia/Sydney|Australia/NSW\",\n\t\t\"Etc/GMT+0|Etc/GMT\",\n\t\t\"Etc/GMT+0|Etc/GMT-0\",\n\t\t\"Etc/GMT+0|Etc/GMT0\",\n\t\t\"Etc/GMT+0|Etc/Greenwich\",\n\t\t\"Etc/GMT+0|GMT\",\n\t\t\"Etc/GMT+0|GMT+0\",\n\t\t\"Etc/GMT+0|GMT-0\",\n\t\t\"Etc/GMT+0|GMT0\",\n\t\t\"Etc/GMT+0|Greenwich\",\n\t\t\"Etc/UCT|UCT\",\n\t\t\"Etc/UTC|Etc/Universal\",\n\t\t\"Etc/UTC|Etc/Zulu\",\n\t\t\"Etc/UTC|UTC\",\n\t\t\"Etc/UTC|Universal\",\n\t\t\"Etc/UTC|Zulu\",\n\t\t\"Europe/Belgrade|Europe/Ljubljana\",\n\t\t\"Europe/Belgrade|Europe/Podgorica\",\n\t\t\"Europe/Belgrade|Europe/Sarajevo\",\n\t\t\"Europe/Belgrade|Europe/Skopje\",\n\t\t\"Europe/Belgrade|Europe/Zagreb\",\n\t\t\"Europe/Chisinau|Europe/Tiraspol\",\n\t\t\"Europe/Dublin|Eire\",\n\t\t\"Europe/Helsinki|Europe/Mariehamn\",\n\t\t\"Europe/Istanbul|Asia/Istanbul\",\n\t\t\"Europe/Istanbul|Turkey\",\n\t\t\"Europe/Lisbon|Portugal\",\n\t\t\"Europe/London|Europe/Belfast\",\n\t\t\"Europe/London|Europe/Guernsey\",\n\t\t\"Europe/London|Europe/Isle_of_Man\",\n\t\t\"Europe/London|Europe/Jersey\",\n\t\t\"Europe/London|GB\",\n\t\t\"Europe/London|GB-Eire\",\n\t\t\"Europe/Moscow|W-SU\",\n\t\t\"Europe/Oslo|Arctic/Longyearbyen\",\n\t\t\"Europe/Oslo|Atlantic/Jan_Mayen\",\n\t\t\"Europe/Prague|Europe/Bratislava\",\n\t\t\"Europe/Rome|Europe/San_Marino\",\n\t\t\"Europe/Rome|Europe/Vatican\",\n\t\t\"Europe/Warsaw|Poland\",\n\t\t\"Europe/Zurich|Europe/Busingen\",\n\t\t\"Europe/Zurich|Europe/Vaduz\",\n\t\t\"Indian/Christmas|Etc/GMT-7\",\n\t\t\"Pacific/Auckland|Antarctica/McMurdo\",\n\t\t\"Pacific/Auckland|Antarctica/South_Pole\",\n\t\t\"Pacific/Auckland|NZ\",\n\t\t\"Pacific/Chatham|NZ-CHAT\",\n\t\t\"Pacific/Easter|Chile/EasterIsland\",\n\t\t\"Pacific/Guam|Pacific/Saipan\",\n\t\t\"Pacific/Honolulu|Pacific/Johnston\",\n\t\t\"Pacific/Honolulu|US/Hawaii\",\n\t\t\"Pacific/Kwajalein|Kwajalein\",\n\t\t\"Pacific/Pago_Pago|Pacific/Midway\",\n\t\t\"Pacific/Pago_Pago|Pacific/Samoa\",\n\t\t\"Pacific/Pago_Pago|US/Samoa\",\n\t\t\"Pacific/Palau|Etc/GMT-9\",\n\t\t\"Pacific/Pohnpei|Etc/GMT-11\",\n\t\t\"Pacific/Pohnpei|Pacific/Ponape\",\n\t\t\"Pacific/Port_Moresby|Etc/GMT-10\",\n\t\t\"Pacific/Port_Moresby|Pacific/Chuuk\",\n\t\t\"Pacific/Port_Moresby|Pacific/Truk\",\n\t\t\"Pacific/Port_Moresby|Pacific/Yap\",\n\t\t\"Pacific/Tarawa|Etc/GMT-12\",\n\t\t\"Pacific/Tarawa|Pacific/Funafuti\",\n\t\t\"Pacific/Tarawa|Pacific/Wake\",\n\t\t\"Pacific/Tarawa|Pacific/Wallis\"\n\t]\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/moment-timezone/data/packed/latest.json\n// module id = 1202\n// module chunks = 3","import metadata from './metadata.min.json'\r\n\r\nimport parseCustom from './es6/parse'\r\nimport getNumberTypeCustom from './es6/get number type'\r\nimport formatCustom from './es6/format'\r\nimport isValidNumberCustom from './es6/validate'\r\nimport asYouTypeCustom from './es6/as you type'\r\n\r\nimport { get_phone_code } from './es6/metadata'\r\n\r\nexport function parse()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn parseCustom.apply(this, parameters)\r\n}\r\n\r\nexport function format()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn formatCustom.apply(this, parameters)\r\n}\r\n\r\nexport function get_number_type()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn getNumberTypeCustom.apply(this, parameters)\r\n}\r\n\r\n// camelCase alias\r\nexport function getNumberType()\r\n{\r\n\treturn get_number_type.apply(this, arguments)\r\n}\r\n\r\nexport function is_valid_number()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn isValidNumberCustom.apply(this, parameters)\r\n}\r\n\r\n// camelCase alias\r\nexport function isValidNumber()\r\n{\r\n\treturn is_valid_number.apply(this, arguments)\r\n}\r\n\r\nexport function as_you_type(country)\r\n{\r\n\tasYouTypeCustom.call(this, country, metadata)\r\n}\r\n\r\nas_you_type.prototype = Object.create(asYouTypeCustom.prototype, {})\r\nas_you_type.prototype.constructor = as_you_type\r\n\r\n// camelCase alias\r\n\r\nexport function asYouType(country)\r\n{\r\n\tasYouTypeCustom.call(this, country, metadata)\r\n}\r\n\r\nasYouType.prototype = Object.create(asYouTypeCustom.prototype, {})\r\nasYouType.prototype.constructor = asYouType\r\n\r\nexport { default as parseCustom }         from './es6/parse'\r\nexport { default as formatCustom }        from './es6/format'\r\nexport { default as isValidNumberCustom } from './es6/validate'\r\nexport { default as getNumberTypeCustom } from './es6/get number type'\r\n\r\nexport\r\n{\r\n\tdefault as asYouTypeCustom,\r\n\tDIGIT_PLACEHOLDER\r\n}\r\nfrom './es6/as you type'\r\n\r\nexport function getPhoneCode(country)\r\n{\r\n\treturn getPhoneCodeCustom(country, metadata)\r\n}\r\n\r\nexport function getPhoneCodeCustom(country, metadata)\r\n{\r\n\tif (!metadata.countries[country])\r\n\t{\r\n\t\tthrow new Error('Unknown country: \"' + country + '\"')\r\n\t}\r\n\r\n\treturn get_phone_code(metadata.countries[country])\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/libphonenumber-js/index.es6.js\n// module id = 1203\n// module chunks = 3","//! moment-timezone.js\r\n//! version : 0.5.14\r\n//! Copyright (c) JS Foundation and other contributors\r\n//! license : MIT\r\n//! github.com/moment/moment-timezone\r\n\r\n(function (root, factory) {\r\n\t\"use strict\";\r\n\r\n\t/*global define*/\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\tdefine(['moment'], factory);                 // AMD\r\n\t} else if (typeof module === 'object' && module.exports) {\r\n\t\tmodule.exports = factory(require('moment')); // Node\r\n\t} else {\r\n\t\tfactory(root.moment);                        // Browser\r\n\t}\r\n}(this, function (moment) {\r\n\t\"use strict\";\r\n\r\n\t// Do not load moment-timezone a second time.\r\n\t// if (moment.tz !== undefined) {\r\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\r\n\t// \treturn moment;\r\n\t// }\r\n\r\n\tvar VERSION = \"0.5.14\",\r\n\t\tzones = {},\r\n\t\tlinks = {},\r\n\t\tnames = {},\r\n\t\tguesses = {},\r\n\t\tcachedGuess,\r\n\r\n\t\tmomentVersion = moment.version.split('.'),\r\n\t\tmajor = +momentVersion[0],\r\n\t\tminor = +momentVersion[1];\r\n\r\n\t// Moment.js version check\r\n\tif (major < 2 || (major === 2 && minor < 6)) {\r\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\r\n\t}\r\n\r\n\t/************************************\r\n\t\tUnpacking\r\n\t************************************/\r\n\r\n\tfunction charCodeToInt(charCode) {\r\n\t\tif (charCode > 96) {\r\n\t\t\treturn charCode - 87;\r\n\t\t} else if (charCode > 64) {\r\n\t\t\treturn charCode - 29;\r\n\t\t}\r\n\t\treturn charCode - 48;\r\n\t}\r\n\r\n\tfunction unpackBase60(string) {\r\n\t\tvar i = 0,\r\n\t\t\tparts = string.split('.'),\r\n\t\t\twhole = parts[0],\r\n\t\t\tfractional = parts[1] || '',\r\n\t\t\tmultiplier = 1,\r\n\t\t\tnum,\r\n\t\t\tout = 0,\r\n\t\t\tsign = 1;\r\n\r\n\t\t// handle negative numbers\r\n\t\tif (string.charCodeAt(0) === 45) {\r\n\t\t\ti = 1;\r\n\t\t\tsign = -1;\r\n\t\t}\r\n\r\n\t\t// handle digits before the decimal\r\n\t\tfor (i; i < whole.length; i++) {\r\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\r\n\t\t\tout = 60 * out + num;\r\n\t\t}\r\n\r\n\t\t// handle digits after the decimal\r\n\t\tfor (i = 0; i < fractional.length; i++) {\r\n\t\t\tmultiplier = multiplier / 60;\r\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\r\n\t\t\tout += num * multiplier;\r\n\t\t}\r\n\r\n\t\treturn out * sign;\r\n\t}\r\n\r\n\tfunction arrayToInt (array) {\r\n\t\tfor (var i = 0; i < array.length; i++) {\r\n\t\t\tarray[i] = unpackBase60(array[i]);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction intToUntil (array, length) {\r\n\t\tfor (var i = 0; i < length; i++) {\r\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\r\n\t\t}\r\n\r\n\t\tarray[length - 1] = Infinity;\r\n\t}\r\n\r\n\tfunction mapIndices (source, indices) {\r\n\t\tvar out = [], i;\r\n\r\n\t\tfor (i = 0; i < indices.length; i++) {\r\n\t\t\tout[i] = source[indices[i]];\r\n\t\t}\r\n\r\n\t\treturn out;\r\n\t}\r\n\r\n\tfunction unpack (string) {\r\n\t\tvar data = string.split('|'),\r\n\t\t\toffsets = data[2].split(' '),\r\n\t\t\tindices = data[3].split(''),\r\n\t\t\tuntils  = data[4].split(' ');\r\n\r\n\t\tarrayToInt(offsets);\r\n\t\tarrayToInt(indices);\r\n\t\tarrayToInt(untils);\r\n\r\n\t\tintToUntil(untils, indices.length);\r\n\r\n\t\treturn {\r\n\t\t\tname       : data[0],\r\n\t\t\tabbrs      : mapIndices(data[1].split(' '), indices),\r\n\t\t\toffsets    : mapIndices(offsets, indices),\r\n\t\t\tuntils     : untils,\r\n\t\t\tpopulation : data[5] | 0\r\n\t\t};\r\n\t}\r\n\r\n\t/************************************\r\n\t\tZone object\r\n\t************************************/\r\n\r\n\tfunction Zone (packedString) {\r\n\t\tif (packedString) {\r\n\t\t\tthis._set(unpack(packedString));\r\n\t\t}\r\n\t}\r\n\r\n\tZone.prototype = {\r\n\t\t_set : function (unpacked) {\r\n\t\t\tthis.name       = unpacked.name;\r\n\t\t\tthis.abbrs      = unpacked.abbrs;\r\n\t\t\tthis.untils     = unpacked.untils;\r\n\t\t\tthis.offsets    = unpacked.offsets;\r\n\t\t\tthis.population = unpacked.population;\r\n\t\t},\r\n\r\n\t\t_index : function (timestamp) {\r\n\t\t\tvar target = +timestamp,\r\n\t\t\t\tuntils = this.untils,\r\n\t\t\t\ti;\r\n\r\n\t\t\tfor (i = 0; i < untils.length; i++) {\r\n\t\t\t\tif (target < untils[i]) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tparse : function (timestamp) {\r\n\t\t\tvar target  = +timestamp,\r\n\t\t\t\toffsets = this.offsets,\r\n\t\t\t\tuntils  = this.untils,\r\n\t\t\t\tmax     = untils.length - 1,\r\n\t\t\t\toffset, offsetNext, offsetPrev, i;\r\n\r\n\t\t\tfor (i = 0; i < max; i++) {\r\n\t\t\t\toffset     = offsets[i];\r\n\t\t\t\toffsetNext = offsets[i + 1];\r\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\r\n\r\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\r\n\t\t\t\t\toffset = offsetNext;\r\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\r\n\t\t\t\t\toffset = offsetPrev;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\r\n\t\t\t\t\treturn offsets[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn offsets[max];\r\n\t\t},\r\n\r\n\t\tabbr : function (mom) {\r\n\t\t\treturn this.abbrs[this._index(mom)];\r\n\t\t},\r\n\r\n\t\toffset : function (mom) {\r\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\r\n\t\t\treturn this.offsets[this._index(mom)];\r\n\t\t},\r\n\r\n\t\tutcOffset : function (mom) {\r\n\t\t\treturn this.offsets[this._index(mom)];\r\n\t\t}\r\n\t};\r\n\r\n\t/************************************\r\n\t\tCurrent Timezone\r\n\t************************************/\r\n\r\n\tfunction OffsetAt(at) {\r\n\t\tvar timeString = at.toTimeString();\r\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\r\n\t\tif (abbr && abbr[0]) {\r\n\t\t\t// 17:56:31 GMT-0600 (CST)\r\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\r\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\r\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\r\n\t\t} else {\r\n\t\t\t// 17:56:31 CST\r\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\r\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\r\n\t\t\tabbr = abbr ? abbr[0] : undefined;\r\n\t\t}\r\n\r\n\t\tif (abbr === 'GMT') {\r\n\t\t\tabbr = undefined;\r\n\t\t}\r\n\r\n\t\tthis.at = +at;\r\n\t\tthis.abbr = abbr;\r\n\t\tthis.offset = at.getTimezoneOffset();\r\n\t}\r\n\r\n\tfunction ZoneScore(zone) {\r\n\t\tthis.zone = zone;\r\n\t\tthis.offsetScore = 0;\r\n\t\tthis.abbrScore = 0;\r\n\t}\r\n\r\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\r\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\r\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\r\n\t\t\tthis.abbrScore++;\r\n\t\t}\r\n\t};\r\n\r\n\tfunction findChange(low, high) {\r\n\t\tvar mid, diff;\r\n\r\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\r\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\r\n\t\t\tif (mid.offset === low.offset) {\r\n\t\t\t\tlow = mid;\r\n\t\t\t} else {\r\n\t\t\t\thigh = mid;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn low;\r\n\t}\r\n\r\n\tfunction userOffsets() {\r\n\t\tvar startYear = new Date().getFullYear() - 2,\r\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\r\n\t\t\toffsets = [last],\r\n\t\t\tchange, next, i;\r\n\r\n\t\tfor (i = 1; i < 48; i++) {\r\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\r\n\t\t\tif (next.offset !== last.offset) {\r\n\t\t\t\tchange = findChange(last, next);\r\n\t\t\t\toffsets.push(change);\r\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\r\n\t\t\t}\r\n\t\t\tlast = next;\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < 4; i++) {\r\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\r\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\r\n\t\t}\r\n\r\n\t\treturn offsets;\r\n\t}\r\n\r\n\tfunction sortZoneScores (a, b) {\r\n\t\tif (a.offsetScore !== b.offsetScore) {\r\n\t\t\treturn a.offsetScore - b.offsetScore;\r\n\t\t}\r\n\t\tif (a.abbrScore !== b.abbrScore) {\r\n\t\t\treturn a.abbrScore - b.abbrScore;\r\n\t\t}\r\n\t\treturn b.zone.population - a.zone.population;\r\n\t}\r\n\r\n\tfunction addToGuesses (name, offsets) {\r\n\t\tvar i, offset;\r\n\t\tarrayToInt(offsets);\r\n\t\tfor (i = 0; i < offsets.length; i++) {\r\n\t\t\toffset = offsets[i];\r\n\t\t\tguesses[offset] = guesses[offset] || {};\r\n\t\t\tguesses[offset][name] = true;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction guessesForUserOffsets (offsets) {\r\n\t\tvar offsetsLength = offsets.length,\r\n\t\t\tfilteredGuesses = {},\r\n\t\t\tout = [],\r\n\t\t\ti, j, guessesOffset;\r\n\r\n\t\tfor (i = 0; i < offsetsLength; i++) {\r\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\r\n\t\t\tfor (j in guessesOffset) {\r\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\r\n\t\t\t\t\tfilteredGuesses[j] = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (i in filteredGuesses) {\r\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\r\n\t\t\t\tout.push(names[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn out;\r\n\t}\r\n\r\n\tfunction rebuildGuess () {\r\n\r\n\t\t// use Intl API when available and returning valid time zone\r\n\t\ttry {\r\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\t\t\tif (intlName && intlName.length > 3) {\r\n\t\t\t\tvar name = names[normalizeName(intlName)];\r\n\t\t\t\tif (name) {\r\n\t\t\t\t\treturn name;\r\n\t\t\t\t}\r\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\t// Intl unavailable, fall back to manual guessing.\r\n\t\t}\r\n\r\n\t\tvar offsets = userOffsets(),\r\n\t\t\toffsetsLength = offsets.length,\r\n\t\t\tguesses = guessesForUserOffsets(offsets),\r\n\t\t\tzoneScores = [],\r\n\t\t\tzoneScore, i, j;\r\n\r\n\t\tfor (i = 0; i < guesses.length; i++) {\r\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\r\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\r\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\r\n\t\t\t}\r\n\t\t\tzoneScores.push(zoneScore);\r\n\t\t}\r\n\r\n\t\tzoneScores.sort(sortZoneScores);\r\n\r\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\r\n\t}\r\n\r\n\tfunction guess (ignoreCache) {\r\n\t\tif (!cachedGuess || ignoreCache) {\r\n\t\t\tcachedGuess = rebuildGuess();\r\n\t\t}\r\n\t\treturn cachedGuess;\r\n\t}\r\n\r\n\t/************************************\r\n\t\tGlobal Methods\r\n\t************************************/\r\n\r\n\tfunction normalizeName (name) {\r\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\r\n\t}\r\n\r\n\tfunction addZone (packed) {\r\n\t\tvar i, name, split, normalized;\r\n\r\n\t\tif (typeof packed === \"string\") {\r\n\t\t\tpacked = [packed];\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < packed.length; i++) {\r\n\t\t\tsplit = packed[i].split('|');\r\n\t\t\tname = split[0];\r\n\t\t\tnormalized = normalizeName(name);\r\n\t\t\tzones[normalized] = packed[i];\r\n\t\t\tnames[normalized] = name;\r\n\t\t\taddToGuesses(normalized, split[2].split(' '));\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getZone (name, caller) {\r\n\t\tname = normalizeName(name);\r\n\r\n\t\tvar zone = zones[name];\r\n\t\tvar link;\r\n\r\n\t\tif (zone instanceof Zone) {\r\n\t\t\treturn zone;\r\n\t\t}\r\n\r\n\t\tif (typeof zone === 'string') {\r\n\t\t\tzone = new Zone(zone);\r\n\t\t\tzones[name] = zone;\r\n\t\t\treturn zone;\r\n\t\t}\r\n\r\n\t\t// Pass getZone to prevent recursion more than 1 level deep\r\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\r\n\t\t\tzone = zones[name] = new Zone();\r\n\t\t\tzone._set(link);\r\n\t\t\tzone.name = names[name];\r\n\t\t\treturn zone;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction getNames () {\r\n\t\tvar i, out = [];\r\n\r\n\t\tfor (i in names) {\r\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\r\n\t\t\t\tout.push(names[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn out.sort();\r\n\t}\r\n\r\n\tfunction addLink (aliases) {\r\n\t\tvar i, alias, normal0, normal1;\r\n\r\n\t\tif (typeof aliases === \"string\") {\r\n\t\t\taliases = [aliases];\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < aliases.length; i++) {\r\n\t\t\talias = aliases[i].split('|');\r\n\r\n\t\t\tnormal0 = normalizeName(alias[0]);\r\n\t\t\tnormal1 = normalizeName(alias[1]);\r\n\r\n\t\t\tlinks[normal0] = normal1;\r\n\t\t\tnames[normal0] = alias[0];\r\n\r\n\t\t\tlinks[normal1] = normal0;\r\n\t\t\tnames[normal1] = alias[1];\r\n\t\t}\r\n\t}\r\n\r\n\tfunction loadData (data) {\r\n\t\taddZone(data.zones);\r\n\t\taddLink(data.links);\r\n\t\ttz.dataVersion = data.version;\r\n\t}\r\n\r\n\tfunction zoneExists (name) {\r\n\t\tif (!zoneExists.didShowError) {\r\n\t\t\tzoneExists.didShowError = true;\r\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\r\n\t\t}\r\n\t\treturn !!getZone(name);\r\n\t}\r\n\r\n\tfunction needsOffset (m) {\r\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\r\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\r\n\t}\r\n\r\n\tfunction logError (message) {\r\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\r\n\t\t\tconsole.error(message);\r\n\t\t}\r\n\t}\r\n\r\n\t/************************************\r\n\t\tmoment.tz namespace\r\n\t************************************/\r\n\r\n\tfunction tz (input) {\r\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\r\n\t\t\tname = arguments[arguments.length - 1],\r\n\t\t\tzone = getZone(name),\r\n\t\t\tout  = moment.utc.apply(null, args);\r\n\r\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\r\n\t\t\tout.add(zone.parse(out), 'minutes');\r\n\t\t}\r\n\r\n\t\tout.tz(name);\r\n\r\n\t\treturn out;\r\n\t}\r\n\r\n\ttz.version      = VERSION;\r\n\ttz.dataVersion  = '';\r\n\ttz._zones       = zones;\r\n\ttz._links       = links;\r\n\ttz._names       = names;\r\n\ttz.add          = addZone;\r\n\ttz.link         = addLink;\r\n\ttz.load         = loadData;\r\n\ttz.zone         = getZone;\r\n\ttz.zoneExists   = zoneExists; // deprecated in 0.1.0\r\n\ttz.guess        = guess;\r\n\ttz.names        = getNames;\r\n\ttz.Zone         = Zone;\r\n\ttz.unpack       = unpack;\r\n\ttz.unpackBase60 = unpackBase60;\r\n\ttz.needsOffset  = needsOffset;\r\n\ttz.moveInvalidForward   = true;\r\n\ttz.moveAmbiguousForward = false;\r\n\r\n\t/************************************\r\n\t\tInterface with Moment.js\r\n\t************************************/\r\n\r\n\tvar fn = moment.fn;\r\n\r\n\tmoment.tz = tz;\r\n\r\n\tmoment.defaultZone = null;\r\n\r\n\tmoment.updateOffset = function (mom, keepTime) {\r\n\t\tvar zone = moment.defaultZone,\r\n\t\t\toffset;\r\n\r\n\t\tif (mom._z === undefined) {\r\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\r\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\r\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\r\n\t\t\t}\r\n\t\t\tmom._z = zone;\r\n\t\t}\r\n\t\tif (mom._z) {\r\n\t\t\toffset = mom._z.utcOffset(mom);\r\n\t\t\tif (Math.abs(offset) < 16) {\r\n\t\t\t\toffset = offset / 60;\r\n\t\t\t}\r\n\t\t\tif (mom.utcOffset !== undefined) {\r\n\t\t\t\tmom.utcOffset(-offset, keepTime);\r\n\t\t\t} else {\r\n\t\t\t\tmom.zone(offset, keepTime);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfn.tz = function (name, keepTime) {\r\n\t\tif (name) {\r\n\t\t\tthis._z = getZone(name);\r\n\t\t\tif (this._z) {\r\n\t\t\t\tmoment.updateOffset(this, keepTime);\r\n\t\t\t} else {\r\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif (this._z) { return this._z.name; }\r\n\t};\r\n\r\n\tfunction abbrWrap (old) {\r\n\t\treturn function () {\r\n\t\t\tif (this._z) { return this._z.abbr(this); }\r\n\t\t\treturn old.call(this);\r\n\t\t};\r\n\t}\r\n\r\n\tfunction resetZoneWrap (old) {\r\n\t\treturn function () {\r\n\t\t\tthis._z = null;\r\n\t\t\treturn old.apply(this, arguments);\r\n\t\t};\r\n\t}\r\n\r\n\tfn.zoneName = abbrWrap(fn.zoneName);\r\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\r\n\tfn.utc      = resetZoneWrap(fn.utc);\r\n\r\n\tmoment.tz.setDefault = function(name) {\r\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\r\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\r\n\t\t}\r\n\t\tmoment.defaultZone = name ? getZone(name) : null;\r\n\t\treturn moment;\r\n\t};\r\n\r\n\t// Cloning a moment should include the _z property.\r\n\tvar momentProperties = moment.momentProperties;\r\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\r\n\t\t// moment 2.8.1+\r\n\t\tmomentProperties.push('_z');\r\n\t\tmomentProperties.push('_a');\r\n\t} else if (momentProperties) {\r\n\t\t// moment 2.7.0\r\n\t\tmomentProperties._z = null;\r\n\t}\r\n\r\n\t// INJECT DATA\r\n\r\n\treturn moment;\r\n}));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/moment-timezone/moment-timezone.js\n// module id = 1204\n// module chunks = 3","import { Directive, ElementRef, Renderer, Input } from \"@angular/core\";\r\nexport var FocusDirective = (function () {\r\n    function FocusDirective(el, renderer) {\r\n        this.el = el;\r\n        this.renderer = renderer;\r\n    }\r\n    FocusDirective.prototype.ngAfterViewInit = function () {\r\n        if (this.value === \"0\") {\r\n            return;\r\n        }\r\n        this.renderer.invokeElementMethod(this.el.nativeElement, \"focus\", []);\r\n    };\r\n    FocusDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: \"[mydpfocus]\"\r\n                },] },\r\n    ];\r\n    FocusDirective.ctorParameters = [\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n    ];\r\n    FocusDirective.propDecorators = {\r\n        'value': [{ type: Input, args: [\"mydpfocus\",] },],\r\n    };\r\n    return FocusDirective;\r\n}());\r\n//# sourceMappingURL=my-date-picker.focus.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/directives/my-date-picker.focus.directive.js\n// module id = 1206\n// module chunks = 3","//# sourceMappingURL=my-calendar-view-changed.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-calendar-view-changed.interface.js\n// module id = 1207\n// module chunks = 3","//# sourceMappingURL=my-date-model.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-date-model.interface.js\n// module id = 1208\n// module chunks = 3","//# sourceMappingURL=my-date-range.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-date-range.interface.js\n// module id = 1209\n// module chunks = 3","//# sourceMappingURL=my-date.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-date.interface.js\n// module id = 1210\n// module chunks = 3","//# sourceMappingURL=my-day-labels.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-day-labels.interface.js\n// module id = 1211\n// module chunks = 3","//# sourceMappingURL=my-default-month.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-default-month.interface.js\n// module id = 1212\n// module chunks = 3","//# sourceMappingURL=my-input-field-changed.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-input-field-changed.interface.js\n// module id = 1213\n// module chunks = 3","//# sourceMappingURL=my-input-focus-blur.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-input-focus-blur.interface.js\n// module id = 1214\n// module chunks = 3","//# sourceMappingURL=my-marked-date.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-marked-date.interface.js\n// module id = 1215\n// module chunks = 3","//# sourceMappingURL=my-marked-dates.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-marked-dates.interface.js\n// module id = 1216\n// module chunks = 3","//# sourceMappingURL=my-month-labels.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-month-labels.interface.js\n// module id = 1217\n// module chunks = 3","//# sourceMappingURL=my-options.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-options.interface.js\n// module id = 1218\n// module chunks = 3","//# sourceMappingURL=my-selector.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-selector.interface.js\n// module id = 1219\n// module chunks = 3","//# sourceMappingURL=my-weekday.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/interfaces/my-weekday.interface.js\n// module id = 1220\n// module chunks = 3","import { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MyDatePicker } from \"./my-date-picker.component\";\r\nimport { FocusDirective } from \"./directives/my-date-picker.focus.directive\";\r\nexport var MyDatePickerModule = (function () {\r\n    function MyDatePickerModule() {\r\n    }\r\n    MyDatePickerModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule, FormsModule],\r\n                    declarations: [MyDatePicker, FocusDirective],\r\n                    exports: [MyDatePicker, FocusDirective]\r\n                },] },\r\n    ];\r\n    MyDatePickerModule.ctorParameters = [];\r\n    return MyDatePickerModule;\r\n}());\r\n//# sourceMappingURL=my-date-picker.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/my-date-picker.module.js\n// module id = 1221\n// module chunks = 3","import { Injectable } from \"@angular/core\";\r\nexport var LocaleService = (function () {\r\n    function LocaleService() {\r\n        this.locales = {\r\n            \"en\": {\r\n                dayLabels: { su: \"Sun\", mo: \"Mon\", tu: \"Tue\", we: \"Wed\", th: \"Thu\", fr: \"Fri\", sa: \"Sat\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"May\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"mm/dd/yyyy\",\r\n                todayBtnTxt: \"Today\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"he\": {\r\n                dayLabels: { su: \"רא\", mo: \"שנ\", tu: \"של\", we: \"רב\", th: \"חמ\", fr: \"שי\", sa: \"שב\" },\r\n                monthLabels: { 1: \"ינו\", 2: \"פבר\", 3: \"מרץ\", 4: \"אפר\", 5: \"מאי\", 6: \"יונ\", 7: \"יול\", 8: \"אוג\", 9: \"ספט\", 10: \"אוק\", 11: \"נוב\", 12: \"דצמ\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"היום\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: false\r\n            },\r\n            \"ja\": {\r\n                dayLabels: { su: \"日\", mo: \"月\", tu: \"火\", we: \"水\", th: \"木\", fr: \"金\", sa: \"土\" },\r\n                monthLabels: { 1: \"１月\", 2: \"２月\", 3: \"３月\", 4: \"４月\", 5: \"５月\", 6: \"６月\", 7: \"７月\", 8: \"８月\", 9: \"９月\", 10: \"１０月\", 11: \"１１月\", 12: \"１２月\" },\r\n                dateFormat: \"yyyy.mm.dd\",\r\n                todayBtnTxt: \"今日\",\r\n                sunHighlight: false\r\n            },\r\n            \"fr\": {\r\n                dayLabels: { su: \"Dim\", mo: \"Lun\", tu: \"Mar\", we: \"Mer\", th: \"Jeu\", fr: \"Ven\", sa: \"Sam\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Fév\", 3: \"Mar\", 4: \"Avr\", 5: \"Mai\", 6: \"Juin\", 7: \"Juil\", 8: \"Aoû\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Déc\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"Aujourd'hui\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"fr-ch\": {\r\n                dayLabels: { su: \"Dim\", mo: \"Lun\", tu: \"Mar\", we: \"Mer\", th: \"Jeu\", fr: \"Ven\", sa: \"Sam\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Fév\", 3: \"Mar\", 4: \"Avr\", 5: \"Mai\", 6: \"Juin\", 7: \"Juil\", 8: \"Aoû\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Déc\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Aujourd'hui\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"fi\": {\r\n                dayLabels: { su: \"Su\", mo: \"Ma\", tu: \"Ti\", we: \"Ke\", th: \"To\", fr: \"Pe\", sa: \"La\" },\r\n                monthLabels: { 1: \"Tam\", 2: \"Hel\", 3: \"Maa\", 4: \"Huh\", 5: \"Tou\", 6: \"Kes\", 7: \"Hei\", 8: \"Elo\", 9: \"Syy\", 10: \"Lok\", 11: \"Mar\", 12: \"Jou\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Tänään\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"es\": {\r\n                dayLabels: { su: \"Do\", mo: \"Lu\", tu: \"Ma\", we: \"Mi\", th: \"Ju\", fr: \"Vi\", sa: \"Sa\" },\r\n                monthLabels: { 1: \"Ene\", 2: \"Feb\", 3: \"Mar\", 4: \"Abr\", 5: \"May\", 6: \"Jun\", 7: \"Jul\", 8: \"Ago\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Dic\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"Hoy\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: false,\r\n            },\r\n            \"hu\": {\r\n                dayLabels: { su: \"Vas\", mo: \"Hét\", tu: \"Kedd\", we: \"Sze\", th: \"Csü\", fr: \"Pén\", sa: \"Szo\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Már\", 4: \"Ápr\", 5: \"Máj\", 6: \"Jún\", 7: \"Júl\", 8: \"Aug\", 9: \"Szep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"Ma\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"sv\": {\r\n                dayLabels: { su: \"Sön\", mo: \"Mån\", tu: \"Tis\", we: \"Ons\", th: \"Tor\", fr: \"Fre\", sa: \"Lör\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Maj\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"Idag\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: false\r\n            },\r\n            \"nl\": {\r\n                dayLabels: { su: \"Zon\", mo: \"Maa\", tu: \"Din\", we: \"Woe\", th: \"Don\", fr: \"Vri\", sa: \"Zat\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mei\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"dd-mm-yyyy\",\r\n                todayBtnTxt: \"Vandaag\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: false\r\n            },\r\n            \"ru\": {\r\n                dayLabels: { su: \"Вс\", mo: \"Пн\", tu: \"Вт\", we: \"Ср\", th: \"Чт\", fr: \"Пт\", sa: \"Сб\" },\r\n                monthLabels: { 1: \"Янв\", 2: \"Фев\", 3: \"Март\", 4: \"Апр\", 5: \"Май\", 6: \"Июнь\", 7: \"Июль\", 8: \"Авг\", 9: \"Сент\", 10: \"Окт\", 11: \"Ноя\", 12: \"Дек\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Сегодня\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"uk\": {\r\n                dayLabels: { su: \"Нд\", mo: \"Пн\", tu: \"Вт\", we: \"Ср\", th: \"Чт\", fr: \"Пт\", sa: \"Сб\" },\r\n                monthLabels: { 1: \"Січ\", 2: \"Лют\", 3: \"Бер\", 4: \"Кві\", 5: \"Тра\", 6: \"Чер\", 7: \"Лип\", 8: \"Сер\", 9: \"Вер\", 10: \"Жов\", 11: \"Лис\", 12: \"Гру\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Сьогодні\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"no\": {\r\n                dayLabels: { su: \"Søn\", mo: \"Man\", tu: \"Tir\", we: \"Ons\", th: \"Tor\", fr: \"Fre\", sa: \"Lør\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mai\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Des\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"I dag\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: false\r\n            },\r\n            \"tr\": {\r\n                dayLabels: { su: \"Paz\", mo: \"Pzt\", tu: \"Sal\", we: \"Çar\", th: \"Per\", fr: \"Cum\", sa: \"Cmt\" },\r\n                monthLabels: { 1: \"Oca\", 2: \"Şub\", 3: \"Mar\", 4: \"Nis\", 5: \"May\", 6: \"Haz\", 7: \"Tem\", 8: \"Ağu\", 9: \"Eyl\", 10: \"Eki\", 11: \"Kas\", 12: \"Ara\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Bugün\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: false\r\n            },\r\n            \"pt-br\": {\r\n                dayLabels: { su: \"Dom\", mo: \"Seg\", tu: \"Ter\", we: \"Qua\", th: \"Qui\", fr: \"Sex\", sa: \"Sab\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Fev\", 3: \"Mar\", 4: \"Abr\", 5: \"Mai\", 6: \"Jun\", 7: \"Jul\", 8: \"Ago\", 9: \"Set\", 10: \"Out\", 11: \"Nov\", 12: \"Dez\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"Hoje\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: true\r\n            },\r\n            \"de\": {\r\n                dayLabels: { su: \"So\", mo: \"Mo\", tu: \"Di\", we: \"Mi\", th: \"Do\", fr: \"Fr\", sa: \"Sa\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mär\", 4: \"Apr\", 5: \"Mai\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dez\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Heute\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"de-ch\": {\r\n                dayLabels: { su: \"So\", mo: \"Mo\", tu: \"Di\", we: \"Mi\", th: \"Do\", fr: \"Fr\", sa: \"Sa\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mär\", 4: \"Apr\", 5: \"Mai\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dez\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Heute\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"it\": {\r\n                dayLabels: { su: \"Dom\", mo: \"Lun\", tu: \"Mar\", we: \"Mer\", th: \"Gio\", fr: \"Ven\", sa: \"Sab\" },\r\n                monthLabels: { 1: \"Gen\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mag\", 6: \"Giu\", 7: \"Lug\", 8: \"Ago\", 9: \"Set\", 10: \"Ott\", 11: \"Nov\", 12: \"Dic\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"Oggi\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"it-ch\": {\r\n                dayLabels: { su: \"Dom\", mo: \"Lun\", tu: \"Mar\", we: \"Mer\", th: \"Gio\", fr: \"Ven\", sa: \"Sab\" },\r\n                monthLabels: { 1: \"Gen\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mag\", 6: \"Giu\", 7: \"Lug\", 8: \"Ago\", 9: \"Set\", 10: \"Ott\", 11: \"Nov\", 12: \"Dic\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Oggi\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"pl\": {\r\n                dayLabels: { su: \"Nie\", mo: \"Pon\", tu: \"Wto\", we: \"Śro\", th: \"Czw\", fr: \"Pią\", sa: \"Sob\" },\r\n                monthLabels: { 1: \"Sty\", 2: \"Lut\", 3: \"Mar\", 4: \"Kwi\", 5: \"Maj\", 6: \"Cze\", 7: \"Lip\", 8: \"Sie\", 9: \"Wrz\", 10: \"Paź\", 11: \"Lis\", 12: \"Gru\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"Dzisiaj\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"my\": {\r\n                dayLabels: { su: \"တနင်္ဂနွေ\", mo: \"တနင်္လာ\", tu: \"အင်္ဂါ\", we: \"ဗုဒ္ဓဟူး\", th: \"ကြသပတေး\", fr: \"သောကြာ\", sa: \"စနေ\" },\r\n                monthLabels: { 1: \"ဇန်နဝါရီ\", 2: \"ဖေဖော်ဝါရီ\", 3: \"မတ်\", 4: \"ဧပြီ\", 5: \"မေ\", 6: \"ဇွန်\", 7: \"ဇူလိုင်\", 8: \"ဩဂုတ်\", 9: \"စက်တင်ဘာ\", 10: \"အောက်တိုဘာ\", 11: \"နိုဝင်ဘာ\", 12: \"ဒီဇင်ဘာ\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"ယနေ့\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"sk\": {\r\n                dayLabels: { su: \"Ne\", mo: \"Po\", tu: \"Ut\", we: \"St\", th: \"Št\", fr: \"Pi\", sa: \"So\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Máj\", 6: \"Jún\", 7: \"Júl\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Dnes\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"sl\": {\r\n                dayLabels: { su: \"Ned\", mo: \"Pon\", tu: \"Tor\", we: \"Sre\", th: \"Čet\", fr: \"Pet\", sa: \"Sob\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Maj\", 6: \"Jun\", 7: \"Jul\", 8: \"Avg\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"dd. mm. yyyy\",\r\n                todayBtnTxt: \"Danes\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"zh-cn\": {\r\n                dayLabels: { su: \"日\", mo: \"一\", tu: \"二\", we: \"三\", th: \"四\", fr: \"五\", sa: \"六\" },\r\n                monthLabels: { 1: \"1月\", 2: \"2月\", 3: \"3月\", 4: \"4月\", 5: \"5月\", 6: \"6月\", 7: \"7月\", 8: \"8月\", 9: \"9月\", 10: \"10月\", 11: \"11月\", 12: \"12月\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"今天\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"ro\": {\r\n                dayLabels: { su: \"du\", mo: \"lu\", tu: \"ma\", we: \"mi\", th: \"jo\", fr: \"vi\", sa: \"sa\" },\r\n                monthLabels: { 1: \"ian\", 2: \"feb\", 3: \"mart\", 4: \"apr\", 5: \"mai\", 6: \"iun\", 7: \"iul\", 8: \"aug\", 9: \"sept\", 10: \"oct\", 11: \"nov\", 12: \"dec\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Astăzi\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"ca\": {\r\n                dayLabels: { su: \"dg\", mo: \"dl\", tu: \"dt\", we: \"dc\", th: \"dj\", fr: \"dv\", sa: \"ds\" },\r\n                monthLabels: { 1: \"Gen\", 2: \"Febr\", 3: \"Març\", 4: \"Abr\", 5: \"Maig\", 6: \"Juny\", 7: \"Jul\", 8: \"Ag\", 9: \"Set\", 10: \"Oct\", 11: \"Nov\", 12: \"Des\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Avui\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"id\": {\r\n                dayLabels: { su: \"Min\", mo: \"Sen\", tu: \"Sel\", we: \"Rab\", th: \"Kam\", fr: \"Jum\", sa: \"Sab\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Mei\", 6: \"Jun\", 7: \"Jul\", 8: \"Ags\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Des\" },\r\n                dateFormat: \"dd-mm-yyyy\",\r\n                todayBtnTxt: \"Hari ini\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: true\r\n            },\r\n            \"en-au\": {\r\n                dayLabels: { su: \"Sun\", mo: \"Mon\", tu: \"Tue\", we: \"Wed\", th: \"Thu\", fr: \"Fri\", sa: \"Sat\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"May\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Oct\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"Today\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"am-et\": {\r\n                dayLabels: { su: \"እሑድ\", mo: \"ሰኞ\", tu: \"ማክሰኞ\", we: \"ረቡዕ\", th: \"ሐሙስ\", fr: \"ዓርብ\", sa: \"ቅዳሜ\" },\r\n                monthLabels: { 1: \"ጃንዩ\", 2: \"ፌብሩ\", 3: \"ማርች\", 4: \"ኤፕረ\", 5: \"ሜይ\", 6: \"ጁን\", 7: \"ጁላይ\", 8: \"ኦገስ\", 9: \"ሴፕቴ\", 10: \"ኦክተ\", 11: \"ኖቬም\", 12: \"ዲሴም\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"ዛሬ\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"cs\": {\r\n                dayLabels: { su: \"Ne\", mo: \"Po\", tu: \"Út\", we: \"St\", th: \"Čt\", fr: \"Pá\", sa: \"So\" },\r\n                monthLabels: { 1: \"Led\", 2: \"Úno\", 3: \"Bře\", 4: \"Dub\", 5: \"Kvě\", 6: \"Čvn\", 7: \"Čvc\", 8: \"Srp\", 9: \"Zář\", 10: \"Říj\", 11: \"Lis\", 12: \"Pro\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Dnes\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"el\": {\r\n                dayLabels: { su: \"Κυρ\", mo: \"Δευ\", tu: \"Τρι\", we: \"Τετ\", th: \"Πεμ\", fr: \"Παρ\", sa: \"Σαβ\" },\r\n                monthLabels: { 1: \"Ιαν\", 2: \"Φεβ\", 3: \"Μαρ\", 4: \"Απρ\", 5: \"Μαι\", 6: \"Ιουν\", 7: \"Ιουλ\", 8: \"Αυγ\", 9: \"Σεπ\", 10: \"Οκτ\", 11: \"Νοε\", 12: \"Δεκ\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"Σήμερα\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"kk\": {\r\n                dayLabels: { su: \"Жк\", mo: \"Дс\", tu: \"Сс\", we: \"Ср\", th: \"Бс\", fr: \"Жм\", sa: \"Сб\" },\r\n                monthLabels: { 1: \"Қаң\", 2: \"Ақп\", 3: \"Нау\", 4: \"Сәу\", 5: \"Мам\", 6: \"Мау\", 7: \"Шіл\", 8: \"Там\", 9: \"Қырк\", 10: \"Қаз\", 11: \"Қар\", 12: \"Желт\" },\r\n                dateFormat: \"dd-mmm-yyyy\",\r\n                todayBtnTxt: \"Бүгін\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"th\": {\r\n                dayLabels: { su: \"อา\", mo: \"จ\", tu: \"อ\", we: \"พ\", th: \"พฤ\", fr: \"ศ\", sa: \"ส\" },\r\n                monthLabels: { 1: \"ม.ค\", 2: \"ก.พ.\", 3: \"มี.ค.\", 4: \"เม.ย.\", 5: \"พ.ค.\", 6: \"มิ.ย.\", 7: \"ก.ค.\", 8: \"ส.ค.\", 9: \"ก.ย.\", 10: \"ต.ค.\", 11: \"พ.ย.\", 12: \"ธ.ค.\" },\r\n                dateFormat: \"dd-mm-yyyy\",\r\n                todayBtnTxt: \"วันนี้\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: true\r\n            },\r\n            \"ko-kr\": {\r\n                dayLabels: { su: \"일\", mo: \"월\", tu: \"화\", we: \"수\", th: \"목\", fr: \"금\", sa: \"토\" },\r\n                monthLabels: { 1: \"1월\", 2: \"2월\", 3: \"3월\", 4: \"4월\", 5: \"5월\", 6: \"6월\", 7: \"7월\", 8: \"8월\", 9: \"9월\", 10: \"10월\", 11: \"11월\", 12: \"12월\" },\r\n                dateFormat: \"yyyy mm dd\",\r\n                todayBtnTxt: \"오늘\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: true\r\n            },\r\n            \"da\": {\r\n                dayLabels: { su: \"Søn\", mo: \"Man\", tu: \"Tir\", we: \"Ons\", th: \"Tor\", fr: \"Fre\", sa: \"Lør\" },\r\n                monthLabels: { 1: \"Jan\", 2: \"Feb\", 3: \"Mar\", 4: \"Apr\", 5: \"Maj\", 6: \"Jun\", 7: \"Jul\", 8: \"Aug\", 9: \"Sep\", 10: \"Okt\", 11: \"Nov\", 12: \"Dec\" },\r\n                dateFormat: \"dd-mm-yyyy\",\r\n                todayBtnTxt: \"I dag\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"lt\": {\r\n                dayLabels: { su: \"Sk\", mo: \"Pr\", tu: \"An\", we: \"Tr\", th: \"Kt\", fr: \"Pn\", sa: \"Št\" },\r\n                monthLabels: { 1: \"Saus.\", 2: \"Vas.\", 3: \"Kov.\", 4: \"Bal.\", 5: \"Geg.\", 6: \"Birž.\", 7: \"Liep.\", 8: \"Rugp.\", 9: \"Rugs.\", 10: \"Sapl.\", 11: \"Lapkr.\", 12: \"Gruod.\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"Šianien\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"vi\": {\r\n                dayLabels: { su: \"CN\", mo: \"T2\", tu: \"T3\", we: \"T4\", th: \"T5\", fr: \"T6\", sa: \"T7\" },\r\n                monthLabels: { 1: \"THG 1\", 2: \"THG 2\", 3: \"THG 3\", 4: \"THG 4\", 5: \"THG 5\", 6: \"THG 6\", 7: \"THG 7\", 8: \"THG 8\", 9: \"THG 9\", 10: \"THG 10\", 11: \"THG 11\", 12: \"THG 12\" },\r\n                dateFormat: \"dd/mm/yyyy\",\r\n                todayBtnTxt: \"Hôm nay\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true,\r\n            },\r\n            \"bn\": {\r\n                dayLabels: { su: \"রবি\", mo: \"সোম\", tu: \"মঙ্গল\", we: \"বুধ\", th: \"বৃহঃ\", fr: \"শুক্র\", sa: \"শনি\" },\r\n                monthLabels: { 1: \"জানু\", 2: \"ফেব্রু\", 3: \"মার্চ\", 4: \"এপ্রিল\", 5: \"মে\", 6: \"জুন\", 7: \"জুলাই\", 8: \"আগস্ট\", 9: \"সেপ্টে\", 10: \"অক্টো\", 11: \"নভে\", 12: \"ডিসে\" },\r\n                dateFormat: \"dd-mm-yyyy\",\r\n                todayBtnTxt: \"আজ\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: true\r\n            },\r\n            \"bg\": {\r\n                dayLabels: { su: \"нд\", mo: \"пн\", tu: \"вт\", we: \"ср\", th: \"чт\", fr: \"пт\", sa: \"сб\" },\r\n                monthLabels: { 1: \"яну.\", 2: \"фев.\", 3: \"март\", 4: \"апр.\", 5: \"май\", 6: \"юни\", 7: \"юли\", 8: \"авг.\", 9: \"сеп.\", 10: \"окт.\", 11: \"ное.\", 12: \"дек.\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"днес\",\r\n                firstDayOfWeek: \"mo\",\r\n                sunHighlight: true\r\n            },\r\n            \"hr\": {\r\n                dayLabels: { su: \"Ne\", mo: \"Po\", tu: \"Ul\", we: \"Sr\", th: \"Če\", fr: \"Pe\", sa: \"Su\" },\r\n                monthLabels: { 1: \"Sij\", 2: \"Vel\", 3: \"Ožu\", 4: \"Tra\", 5: \"Svi\", 6: \"Lip\", 7: \"Srp\", 8: \"Kol\", 9: \"Ruj\", 10: \"Lis\", 11: \"Stu\", 12: \"Pro\" },\r\n                dateFormat: \"dd.mm.yyyy.\",\r\n                todayBtnTxt: \"danas\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: true\r\n            },\r\n            \"ar\": {\r\n                dayLabels: { su: \"الأحد\", mo: \"الاثنين\", tu: \"الثلاثاء\", we: \"الاربعاء\", th: \"الخميس\", fr: \"الجمعة\", sa: \"السبت\" },\r\n                monthLabels: { 1: \"يناير\", 2: \"فبراير\", 3: \"مارس\", 4: \"ابريل\", 5: \"مايو\", 6: \"يونيو\", 7: \"يوليو\", 8: \"أغسطس\", 9: \"سبتمبر\", 10: \"أكتوبر\", 11: \"نوفمبر\", 12: \"ديسمبر\" },\r\n                dateFormat: \"yyyy-mm-dd\",\r\n                todayBtnTxt: \"اليوم\",\r\n                firstDayOfWeek: \"sa\",\r\n                sunHighlight: true\r\n            },\r\n            \"is\": {\r\n                dayLabels: { su: \"sun\", mo: \"mán\", tu: \"þri\", we: \"mið\", th: \"fim\", fr: \"fös\", sa: \"lau\" },\r\n                monthLabels: { 1: \"jan\", 2: \"feb\", 3: \"mar\", 4: \"apr\", 5: \"maí\", 6: \"jún\", 7: \"júl\", 8: \"ágú\", 9: \"sep\", 10: \"okt\", 11: \"nóv\", 12: \"des\" },\r\n                dateFormat: \"dd.mm.yyyy\",\r\n                todayBtnTxt: \"Í dag\",\r\n                firstDayOfWeek: \"su\",\r\n                sunHighlight: true\r\n            }\r\n        };\r\n    }\r\n    LocaleService.prototype.getLocaleOptions = function (locale) {\r\n        if (locale && this.locales.hasOwnProperty(locale)) {\r\n            return this.locales[locale];\r\n        }\r\n        return this.locales[\"es\"];\r\n    };\r\n    LocaleService.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    LocaleService.ctorParameters = [];\r\n    return LocaleService;\r\n}());\r\n//# sourceMappingURL=my-date-picker.locale.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/services/my-date-picker.locale.service.js\n// module id = 1222\n// module chunks = 3","import { Injectable } from \"@angular/core\";\r\nvar M = \"m\";\r\nvar MM = \"mm\";\r\nvar MMM = \"mmm\";\r\nvar D = \"d\";\r\nvar DD = \"dd\";\r\nvar YYYY = \"yyyy\";\r\nexport var UtilService = (function () {\r\n    function UtilService() {\r\n        this.weekDays = [\"su\", \"mo\", \"tu\", \"we\", \"th\", \"fr\", \"sa\"];\r\n    }\r\n    UtilService.prototype.isDateValid = function (dateStr, dateFormat, minYear, maxYear, disableUntil, disableSince, disableWeekends, disableWeekDays, disableDays, disableDateRanges, monthLabels, enableDays) {\r\n        var returnDate = { day: 0, month: 0, year: 0 };\r\n        var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n        var isMonthStr = dateFormat.indexOf(MMM) !== -1;\r\n        var delimeters = this.getDateFormatDelimeters(dateFormat);\r\n        var dateValue = this.getDateValue(dateStr, dateFormat, delimeters);\r\n        var year = this.getNumberByValue(dateValue[0]);\r\n        var month = isMonthStr ? this.getMonthNumberByMonthName(dateValue[1], monthLabels) : this.getNumberByValue(dateValue[1]);\r\n        var day = this.getNumberByValue(dateValue[2]);\r\n        if (month !== -1 && day !== -1 && year !== -1) {\r\n            if (year < minYear || year > maxYear || month < 1 || month > 12) {\r\n                return returnDate;\r\n            }\r\n            var date = { year: year, month: month, day: day };\r\n            if (this.isDisabledDay(date, minYear, maxYear, disableUntil, disableSince, disableWeekends, disableWeekDays, disableDays, disableDateRanges, enableDays)) {\r\n                return returnDate;\r\n            }\r\n            if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) {\r\n                daysInMonth[1] = 29;\r\n            }\r\n            if (day < 1 || day > daysInMonth[month - 1]) {\r\n                return returnDate;\r\n            }\r\n            return date;\r\n        }\r\n        return returnDate;\r\n    };\r\n    UtilService.prototype.getDateValue = function (dateStr, dateFormat, delimeters) {\r\n        var del = delimeters[0];\r\n        if (delimeters[0] !== delimeters[1]) {\r\n            del = delimeters[0] + delimeters[1];\r\n        }\r\n        var re = new RegExp(\"[\" + del + \"]\");\r\n        var ds = dateStr.split(re);\r\n        var df = dateFormat.split(re);\r\n        var da = [];\r\n        for (var i = 0; i < df.length; i++) {\r\n            if (df[i].indexOf(YYYY) !== -1) {\r\n                da[0] = { value: ds[i], format: df[i] };\r\n            }\r\n            if (df[i].indexOf(M) !== -1) {\r\n                da[1] = { value: ds[i], format: df[i] };\r\n            }\r\n            if (df[i].indexOf(D) !== -1) {\r\n                da[2] = { value: ds[i], format: df[i] };\r\n            }\r\n        }\r\n        return da;\r\n    };\r\n    UtilService.prototype.getMonthNumberByMonthName = function (df, monthLabels) {\r\n        if (df.value) {\r\n            for (var key = 1; key <= 12; key++) {\r\n                if (df.value.toLowerCase() === monthLabels[key].toLowerCase()) {\r\n                    return key;\r\n                }\r\n            }\r\n        }\r\n        return -1;\r\n    };\r\n    UtilService.prototype.getNumberByValue = function (df) {\r\n        if (!/^\\d+$/.test(df.value)) {\r\n            return -1;\r\n        }\r\n        var nbr = Number(df.value);\r\n        if (df.format.length === 1 && df.value.length !== 1 && nbr < 10 || df.format.length === 1 && df.value.length !== 2 && nbr >= 10) {\r\n            nbr = -1;\r\n        }\r\n        else if (df.format.length === 2 && df.value.length > 2) {\r\n            nbr = -1;\r\n        }\r\n        return nbr;\r\n    };\r\n    UtilService.prototype.getDateFormatDelimeters = function (dateFormat) {\r\n        return dateFormat.match(/[^(dmy)]{1,}/g);\r\n    };\r\n    UtilService.prototype.parseDefaultMonth = function (monthString) {\r\n        var month = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n        if (monthString !== \"\") {\r\n            var split = monthString.split(monthString.match(/[^0-9]/)[0]);\r\n            month.monthNbr = split[0].length === 2 ? parseInt(split[0]) : parseInt(split[1]);\r\n            month.year = split[0].length === 2 ? parseInt(split[1]) : parseInt(split[0]);\r\n        }\r\n        return month;\r\n    };\r\n    UtilService.prototype.formatDate = function (date, dateFormat, monthLabels) {\r\n        var formatted = dateFormat.replace(YYYY, String(date.year));\r\n        if (dateFormat.indexOf(MMM) !== -1) {\r\n            formatted = formatted.replace(MMM, monthLabels[date.month]);\r\n        }\r\n        else if (dateFormat.indexOf(MM) !== -1) {\r\n            formatted = formatted.replace(MM, this.preZero(date.month));\r\n        }\r\n        else {\r\n            formatted = formatted.replace(M, String(date.month));\r\n        }\r\n        if (dateFormat.indexOf(DD) !== -1) {\r\n            formatted = formatted.replace(DD, this.preZero(date.day));\r\n        }\r\n        else {\r\n            formatted = formatted.replace(D, String(date.day));\r\n        }\r\n        return formatted;\r\n    };\r\n    UtilService.prototype.preZero = function (val) {\r\n        return val < 10 ? \"0\" + val : String(val);\r\n    };\r\n    UtilService.prototype.isDisabledDay = function (date, minYear, maxYear, disableUntil, disableSince, disableWeekends, disableWeekDays, disableDays, disableDateRanges, enableDays) {\r\n        for (var _i = 0, enableDays_1 = enableDays; _i < enableDays_1.length; _i++) {\r\n            var e = enableDays_1[_i];\r\n            if (e.year === date.year && e.month === date.month && e.day === date.day) {\r\n                return false;\r\n            }\r\n        }\r\n        var dn = this.getDayNumber(date);\r\n        if (date.year < minYear && date.month === 12 || date.year > maxYear && date.month === 1) {\r\n            return true;\r\n        }\r\n        var dateMs = this.getTimeInMilliseconds(date);\r\n        if (this.isInitializedDate(disableUntil) && dateMs <= this.getTimeInMilliseconds(disableUntil)) {\r\n            return true;\r\n        }\r\n        if (this.isInitializedDate(disableSince) && dateMs >= this.getTimeInMilliseconds(disableSince)) {\r\n            return true;\r\n        }\r\n        if (disableWeekends) {\r\n            if (dn === 0 || dn === 6) {\r\n                return true;\r\n            }\r\n        }\r\n        if (disableWeekDays.length > 0) {\r\n            for (var _a = 0, disableWeekDays_1 = disableWeekDays; _a < disableWeekDays_1.length; _a++) {\r\n                var wd = disableWeekDays_1[_a];\r\n                if (dn === this.getWeekdayIndex(wd)) {\r\n                    return true;\r\n                }\r\n            }\r\n        }\r\n        for (var _b = 0, disableDays_1 = disableDays; _b < disableDays_1.length; _b++) {\r\n            var d = disableDays_1[_b];\r\n            if (d.year === date.year && d.month === date.month && d.day === date.day) {\r\n                return true;\r\n            }\r\n        }\r\n        for (var _c = 0, disableDateRanges_1 = disableDateRanges; _c < disableDateRanges_1.length; _c++) {\r\n            var d = disableDateRanges_1[_c];\r\n            if (this.isInitializedDate(d.begin) && this.isInitializedDate(d.end) && dateMs >= this.getTimeInMilliseconds(d.begin) && dateMs <= this.getTimeInMilliseconds(d.end)) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    UtilService.prototype.isMarkedDate = function (date, markedDates, markWeekends) {\r\n        for (var _i = 0, markedDates_1 = markedDates; _i < markedDates_1.length; _i++) {\r\n            var md = markedDates_1[_i];\r\n            for (var _a = 0, _b = md.dates; _a < _b.length; _a++) {\r\n                var d = _b[_a];\r\n                if (d.year === date.year && d.month === date.month && d.day === date.day) {\r\n                    return { marked: true, color: md.color };\r\n                }\r\n            }\r\n        }\r\n        if (markWeekends && markWeekends.marked) {\r\n            var dayNbr = this.getDayNumber(date);\r\n            if (dayNbr === 0 || dayNbr === 6) {\r\n                return { marked: true, color: markWeekends.color };\r\n            }\r\n        }\r\n        return { marked: false, color: \"\" };\r\n    };\r\n    UtilService.prototype.isHighlightedDate = function (date, sunHighlight, satHighlight, highlightDates) {\r\n        var dayNbr = this.getDayNumber(date);\r\n        if (sunHighlight && dayNbr === 0 || satHighlight && dayNbr === 6) {\r\n            return true;\r\n        }\r\n        for (var _i = 0, highlightDates_1 = highlightDates; _i < highlightDates_1.length; _i++) {\r\n            var d = highlightDates_1[_i];\r\n            if (d.year === date.year && d.month === date.month && d.day === date.day) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    UtilService.prototype.getWeekNumber = function (date) {\r\n        var d = new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0);\r\n        d.setDate(d.getDate() + (d.getDay() === 0 ? -3 : 4 - d.getDay()));\r\n        return Math.round(((d.getTime() - new Date(d.getFullYear(), 0, 4).getTime()) / 86400000) / 7) + 1;\r\n    };\r\n    UtilService.prototype.isMonthDisabledByDisableUntil = function (date, disableUntil) {\r\n        return this.isInitializedDate(disableUntil) && this.getTimeInMilliseconds(date) <= this.getTimeInMilliseconds(disableUntil);\r\n    };\r\n    UtilService.prototype.isMonthDisabledByDisableSince = function (date, disableSince) {\r\n        return this.isInitializedDate(disableSince) && this.getTimeInMilliseconds(date) >= this.getTimeInMilliseconds(disableSince);\r\n    };\r\n    UtilService.prototype.isInitializedDate = function (date) {\r\n        return date.year !== 0 && date.month !== 0 && date.day !== 0;\r\n    };\r\n    UtilService.prototype.isSameDate = function (d1, d2) {\r\n        return d1.year === d2.year && d1.month === d2.month && d1.day === d2.day;\r\n    };\r\n    UtilService.prototype.getTimeInMilliseconds = function (date) {\r\n        return new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0).getTime();\r\n    };\r\n    UtilService.prototype.getDayNumber = function (date) {\r\n        return new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0).getDay();\r\n    };\r\n    UtilService.prototype.getWeekDays = function () {\r\n        return this.weekDays;\r\n    };\r\n    UtilService.prototype.getWeekdayIndex = function (wd) {\r\n        return this.weekDays.indexOf(wd);\r\n    };\r\n    UtilService.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    UtilService.ctorParameters = [];\r\n    return UtilService;\r\n}());\r\n//# sourceMappingURL=my-date-picker.util.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydatepicker/dist/services/my-date-picker.util.service.js\n// module id = 1223\n// module chunks = 3","import { Directive, ElementRef, Renderer, Input } from \"@angular/core\";\r\nexport var FocusDirective = (function () {\r\n    function FocusDirective(el, renderer) {\r\n        this.el = el;\r\n        this.renderer = renderer;\r\n    }\r\n    FocusDirective.prototype.ngAfterViewInit = function () {\r\n        if (this.value === \"0\") {\r\n            return;\r\n        }\r\n        this.renderer.invokeElementMethod(this.el.nativeElement, \"focus\", []);\r\n    };\r\n    FocusDirective.decorators = [\r\n        { type: Directive, args: [{\r\n                    selector: \"[mydrpfocus]\"\r\n                },] },\r\n    ];\r\n    FocusDirective.ctorParameters = [\r\n        { type: ElementRef, },\r\n        { type: Renderer, },\r\n    ];\r\n    FocusDirective.propDecorators = {\r\n        'value': [{ type: Input, args: [\"mydrpfocus\",] },],\r\n    };\r\n    return FocusDirective;\r\n}());\r\n//# sourceMappingURL=my-date-range-picker.focus.directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/directives/my-date-range-picker.focus.directive.js\n// module id = 1224\n// module chunks = 3","//# sourceMappingURL=my-calendar-view-changed.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-calendar-view-changed.interface.js\n// module id = 1225\n// module chunks = 3","//# sourceMappingURL=my-date-range-model.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-date-range-model.interface.js\n// module id = 1226\n// module chunks = 3",";\r\n//# sourceMappingURL=my-date-range.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-date-range.interface.js\n// module id = 1227\n// module chunks = 3","//# sourceMappingURL=my-date-selected.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-date-selected.interface.js\n// module id = 1228\n// module chunks = 3","//# sourceMappingURL=my-date.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-date.interface.js\n// module id = 1229\n// module chunks = 3","//# sourceMappingURL=my-day-labels.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-day-labels.interface.js\n// module id = 1230\n// module chunks = 3","//# sourceMappingURL=my-default-month.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-default-month.interface.js\n// module id = 1231\n// module chunks = 3","//# sourceMappingURL=my-input-field-changed.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-input-field-changed.interface.js\n// module id = 1232\n// module chunks = 3","//# sourceMappingURL=my-input-focus-blur.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-input-focus-blur.interface.js\n// module id = 1233\n// module chunks = 3","//# sourceMappingURL=my-month-labels.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-month-labels.interface.js\n// module id = 1234\n// module chunks = 3","//# sourceMappingURL=my-options.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-options.interface.js\n// module id = 1235\n// module chunks = 3","//# sourceMappingURL=my-weekday.interface.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/interfaces/my-weekday.interface.js\n// module id = 1236\n// module chunks = 3","import { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MyDateRangePicker } from \"./my-date-range-picker.component\";\r\nimport { FocusDirective } from \"./directives/my-date-range-picker.focus.directive\";\r\nexport var MyDateRangePickerModule = (function () {\r\n    function MyDateRangePickerModule() {\r\n    }\r\n    MyDateRangePickerModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    imports: [CommonModule, FormsModule],\r\n                    declarations: [MyDateRangePicker, FocusDirective],\r\n                    exports: [MyDateRangePicker, FocusDirective]\r\n                },] },\r\n    ];\r\n    MyDateRangePickerModule.ctorParameters = [];\r\n    return MyDateRangePickerModule;\r\n}());\r\n//# sourceMappingURL=my-date-range-picker.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/my-date-range-picker.module.js\n// module id = 1237\n// module chunks = 3","import { Injectable } from \"@angular/core\";\r\nexport var DateRangeUtilService = (function () {\r\n    function DateRangeUtilService() {\r\n    }\r\n    DateRangeUtilService.prototype.isDateRangeValid = function (daterange, dateFormat, minYear, maxYear, disableUntil, disableSince, disableDates, disableDateRanges, enableDates, monthLabels) {\r\n        var invalidDateRange = {\r\n            beginDate: { day: 0, month: 0, year: 0 },\r\n            endDate: { day: 0, month: 0, year: 0 }\r\n        };\r\n        var isMonthStr = dateFormat.indexOf(\"mmm\") !== -1;\r\n        if (daterange.length !== 23 && !isMonthStr || daterange.length !== 25 && isMonthStr) {\r\n            return invalidDateRange;\r\n        }\r\n        var dates = daterange.split(\" - \");\r\n        if (dates.length !== 2) {\r\n            return invalidDateRange;\r\n        }\r\n        var validDates = [];\r\n        for (var i in dates) {\r\n            var date = this.isDateValid(dates[i], dateFormat, minYear, maxYear, monthLabels, isMonthStr);\r\n            if (date.day === 0 && date.month === 0 && date.year === 0) {\r\n                return invalidDateRange;\r\n            }\r\n            if (this.isDisabledDay(date, minYear, maxYear, disableUntil, disableSince, disableDates, disableDateRanges, enableDates)) {\r\n                return invalidDateRange;\r\n            }\r\n            validDates.push(date);\r\n        }\r\n        if (this.getTimeInMilliseconds(validDates[1]) < this.getTimeInMilliseconds(validDates[0])) {\r\n            return invalidDateRange;\r\n        }\r\n        return {\r\n            beginDate: { day: validDates[0].day, month: validDates[0].month, year: validDates[0].year },\r\n            endDate: { day: validDates[1].day, month: validDates[1].month, year: validDates[1].year }\r\n        };\r\n    };\r\n    DateRangeUtilService.prototype.isMonthLabelValid = function (monthLabel, monthLabels) {\r\n        for (var key = 1; key <= 12; key++) {\r\n            if (monthLabel.toLowerCase() === monthLabels[key].toLowerCase()) {\r\n                return key;\r\n            }\r\n        }\r\n        return -1;\r\n    };\r\n    DateRangeUtilService.prototype.isYearLabelValid = function (yearLabel, minYear, maxYear) {\r\n        if (yearLabel >= minYear && yearLabel <= maxYear) {\r\n            return yearLabel;\r\n        }\r\n        return -1;\r\n    };\r\n    DateRangeUtilService.prototype.parseDatePartNumber = function (dateFormat, dateString, datePart) {\r\n        var pos = dateFormat.indexOf(datePart);\r\n        if (pos !== -1) {\r\n            var value = dateString.substring(pos, pos + datePart.length);\r\n            if (!/^\\d+$/.test(value)) {\r\n                return -1;\r\n            }\r\n            return parseInt(value);\r\n        }\r\n        return -1;\r\n    };\r\n    DateRangeUtilService.prototype.parseDatePartMonthName = function (dateFormat, dateString, datePart, monthLabels) {\r\n        var pos = dateFormat.indexOf(datePart);\r\n        if (pos !== -1) {\r\n            return this.isMonthLabelValid(dateString.substring(pos, pos + datePart.length), monthLabels);\r\n        }\r\n        return -1;\r\n    };\r\n    DateRangeUtilService.prototype.parseDefaultMonth = function (monthString) {\r\n        var month = { monthTxt: \"\", monthNbr: 0, year: 0 };\r\n        if (monthString !== \"\") {\r\n            var split = monthString.split(monthString.match(/[^0-9]/)[0]);\r\n            month.monthNbr = split[0].length === 2 ? parseInt(split[0]) : parseInt(split[1]);\r\n            month.year = split[0].length === 2 ? parseInt(split[1]) : parseInt(split[0]);\r\n        }\r\n        return month;\r\n    };\r\n    DateRangeUtilService.prototype.isDisabledDay = function (date, minYear, maxYear, disableUntil, disableSince, disableDates, disableDateRanges, enableDates) {\r\n        var dateMs = this.getTimeInMilliseconds(date);\r\n        for (var _i = 0, enableDates_1 = enableDates; _i < enableDates_1.length; _i++) {\r\n            var d = enableDates_1[_i];\r\n            if (d.year === date.year && d.month === date.month && d.day === date.day) {\r\n                return false;\r\n            }\r\n        }\r\n        if (date.year < minYear && date.month === 12 || date.year > maxYear && date.month === 1) {\r\n            return true;\r\n        }\r\n        if (this.isInitializedDate(disableUntil) && dateMs <= this.getTimeInMilliseconds(disableUntil)) {\r\n            return true;\r\n        }\r\n        if (this.isInitializedDate(disableSince) && dateMs >= this.getTimeInMilliseconds(disableSince)) {\r\n            return true;\r\n        }\r\n        for (var _a = 0, disableDates_1 = disableDates; _a < disableDates_1.length; _a++) {\r\n            var d = disableDates_1[_a];\r\n            if (d.year === date.year && d.month === date.month && d.day === date.day) {\r\n                return true;\r\n            }\r\n        }\r\n        for (var _b = 0, disableDateRanges_1 = disableDateRanges; _b < disableDateRanges_1.length; _b++) {\r\n            var d = disableDateRanges_1[_b];\r\n            if (this.isInitializedDate(d.beginDate) && this.isInitializedDate(d.endDate) && dateMs >= this.getTimeInMilliseconds(d.beginDate) && dateMs <= this.getTimeInMilliseconds(d.endDate)) {\r\n                return true;\r\n            }\r\n        }\r\n        return false;\r\n    };\r\n    DateRangeUtilService.prototype.isMonthDisabledByDisableUntil = function (date, disableUntil) {\r\n        return this.isInitializedDate(disableUntil) && this.getTimeInMilliseconds(date) <= this.getTimeInMilliseconds(disableUntil);\r\n    };\r\n    DateRangeUtilService.prototype.isMonthDisabledByDisableSince = function (date, disableSince) {\r\n        return this.isInitializedDate(disableSince) && this.getTimeInMilliseconds(date) >= this.getTimeInMilliseconds(disableSince);\r\n    };\r\n    DateRangeUtilService.prototype.isInitializedDate = function (date) {\r\n        return date.year !== 0 && date.month !== 0 && date.day !== 0;\r\n    };\r\n    DateRangeUtilService.prototype.getTimeInMilliseconds = function (date) {\r\n        return new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0).getTime();\r\n    };\r\n    DateRangeUtilService.prototype.getWeekNumber = function (date) {\r\n        var d = new Date(date.year, date.month - 1, date.day, 0, 0, 0, 0);\r\n        d.setDate(d.getDate() + (d.getDay() === 0 ? -3 : 4 - d.getDay()));\r\n        return Math.round(((d.getTime() - new Date(d.getFullYear(), 0, 4).getTime()) / 86400000) / 7) + 1;\r\n    };\r\n    DateRangeUtilService.prototype.isDateValid = function (date, dateFormat, minYear, maxYear, monthLabels, isMonthStr) {\r\n        var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n        var invalidDate = { day: 0, month: 0, year: 0 };\r\n        if (date.length !== 10 && !isMonthStr || date.length !== 11 && isMonthStr) {\r\n            return invalidDate;\r\n        }\r\n        var separator = dateFormat.replace(/[dmy]/g, \"\")[0];\r\n        var parts = date.split(separator);\r\n        if (parts.length !== 3) {\r\n            return invalidDate;\r\n        }\r\n        var day = this.parseDatePartNumber(dateFormat, date, \"dd\");\r\n        var month = isMonthStr ? this.parseDatePartMonthName(dateFormat, date, \"mmm\", monthLabels) : this.parseDatePartNumber(dateFormat, date, \"mm\");\r\n        var year = this.parseDatePartNumber(dateFormat, date, \"yyyy\");\r\n        if (day !== -1 && month !== -1 && year !== -1) {\r\n            if (year < minYear || year > maxYear || month < 1 || month > 12) {\r\n                return invalidDate;\r\n            }\r\n            if (year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0)) {\r\n                daysInMonth[1] = 29;\r\n            }\r\n            if (day < 1 || day > daysInMonth[month - 1]) {\r\n                return invalidDate;\r\n            }\r\n            return { day: day, month: month, year: year };\r\n        }\r\n        return invalidDate;\r\n    };\r\n    DateRangeUtilService.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    DateRangeUtilService.ctorParameters = [];\r\n    return DateRangeUtilService;\r\n}());\r\n//# sourceMappingURL=my-date-range-picker.date.range.util.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mydaterangepicker/dist/services/my-date-range-picker.date.range.util.service.js\n// module id = 1238\n// module chunks = 3","export { AccordionPanelComponent } from './accordion-group.component';\r\nexport { AccordionComponent } from './accordion.component';\r\nexport { AccordionModule } from './accordion.module';\r\nexport { AccordionConfig } from './accordion.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/accordion/index.js\n// module id = 1239\n// module chunks = 3","export { AlertComponent } from './alert.component';\r\nexport { AlertModule } from './alert.module';\r\nexport { AlertConfig } from './alert.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/alert/index.js\n// module id = 1240\n// module chunks = 3","export { ButtonCheckboxDirective } from './button-checkbox.directive';\r\nexport { ButtonRadioDirective } from './button-radio.directive';\r\nexport { ButtonsModule } from './buttons.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/buttons/index.js\n// module id = 1241\n// module chunks = 3","export { CarouselComponent } from './carousel.component';\r\nexport { CarouselModule } from './carousel.module';\r\nexport { SlideComponent } from './slide.component';\r\nexport { CarouselConfig } from './carousel.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/carousel/index.js\n// module id = 1242\n// module chunks = 3","export { CollapseDirective } from './collapse.directive';\r\nexport { CollapseModule } from './collapse.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/collapse/index.js\n// module id = 1243\n// module chunks = 3","/*\r\n todo: general:\r\n 1. Popup\r\n 2. Keyboard support\r\n 3. custom-class attribute support\r\n 4. date-disabled attribute support\r\n 5. template-url attribute support\r\n */\r\nexport { DatePickerComponent } from './datepicker.component';\r\nexport { DatepickerModule } from './datepicker.module';\r\nexport { DayPickerComponent } from './daypicker.component';\r\nexport { MonthPickerComponent } from './monthpicker.component';\r\nexport { YearPickerComponent } from './yearpicker.component';\r\nexport { DateFormatter } from './date-formatter';\r\nexport { DatepickerConfig } from './datepicker.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/datepicker/index.js\n// module id = 1244\n// module chunks = 3","export { DropdownMenuDirective } from './dropdown-menu.directive';\r\nexport { DropdownToggleDirective } from './dropdown-toggle.directive';\r\nexport { DropdownDirective } from './dropdown.directive';\r\nexport { DropdownService } from './dropdown.service';\r\nexport { DropdownModule } from './dropdown.module';\r\nexport { DropdownConfig } from './dropdown.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/dropdown/index.js\n// module id = 1245\n// module chunks = 3","export { PagerComponent } from './pager.component';\r\nexport { PaginationComponent } from './pagination.component';\r\nexport { PaginationModule } from './pagination.module';\r\nexport { PaginationConfig } from './pagination.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/pagination/index.js\n// module id = 1246\n// module chunks = 3","export { PopoverDirective } from './popover.directive';\r\nexport { PopoverModule } from './popover.module';\r\nexport { PopoverConfig } from './popover.config';\r\nexport { PopoverContainerComponent } from './popover-container.component';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/popover/index.js\n// module id = 1247\n// module chunks = 3","import { Injectable, ElementRef } from '@angular/core';\r\nimport { positionElements } from './ng-positioning';\r\nexport var PositioningService = (function () {\r\n    function PositioningService() {\r\n    }\r\n    PositioningService.prototype.position = function (options) {\r\n        var element = options.element, target = options.target, attachment = options.attachment, appendToBody = options.appendToBody;\r\n        positionElements(this._getHtmlElement(target), this._getHtmlElement(element), attachment, appendToBody);\r\n    };\r\n    PositioningService.prototype._getHtmlElement = function (element) {\r\n        // it means that we got a selector\r\n        if (typeof element === 'string') {\r\n            return document.querySelector(element);\r\n        }\r\n        if (element instanceof ElementRef) {\r\n            return element.nativeElement;\r\n        }\r\n        return element;\r\n    };\r\n    PositioningService.decorators = [\r\n        { type: Injectable },\r\n    ];\r\n    /** @nocollapse */\r\n    PositioningService.ctorParameters = function () { return []; };\r\n    return PositioningService;\r\n}());\r\n//# sourceMappingURL=positioning.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/positioning/positioning.service.js\n// module id = 1248\n// module chunks = 3","export { BarComponent } from './bar.component';\r\nexport { ProgressDirective } from './progress.directive';\r\nexport { ProgressbarComponent } from './progressbar.component';\r\nexport { ProgressbarModule } from './progressbar.module';\r\nexport { ProgressbarConfig } from './progressbar.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/progressbar/index.js\n// module id = 1249\n// module chunks = 3","export { RatingComponent } from './rating.component';\r\nexport { RatingModule } from './rating.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/rating/index.js\n// module id = 1250\n// module chunks = 3","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SortableComponent } from './sortable.component';\r\nimport { DraggableItemService } from './draggable-item.service';\r\nexport var SortableModule = (function () {\r\n    function SortableModule() {\r\n    }\r\n    SortableModule.forRoot = function () {\r\n        return { ngModule: SortableModule, providers: [DraggableItemService] };\r\n    };\r\n    SortableModule.decorators = [\r\n        { type: NgModule, args: [{\r\n                    declarations: [SortableComponent],\r\n                    imports: [CommonModule],\r\n                    exports: [SortableComponent]\r\n                },] },\r\n    ];\r\n    /** @nocollapse */\r\n    SortableModule.ctorParameters = function () { return []; };\r\n    return SortableModule;\r\n}());\r\n//# sourceMappingURL=sortable.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/sortable/sortable.module.js\n// module id = 1251\n// module chunks = 3","export { NgTranscludeDirective } from './ng-transclude.directive';\r\nexport { TabDirective } from './tab.directive';\r\nexport { TabHeadingDirective } from './tab-heading.directive';\r\nexport { TabsetComponent } from './tabset.component';\r\nexport { TabsetConfig } from './tabset.config';\r\nexport { TabsModule } from './tabs.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tabs/index.js\n// module id = 1252\n// module chunks = 3","export { TimepickerConfig } from './timepicker.config';\r\nexport { TimepickerComponent } from './timepicker.component';\r\nexport { TimepickerModule } from './timepicker.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/timepicker/index.js\n// module id = 1253\n// module chunks = 3","export { TooltipContainerComponent } from './tooltip-container.component';\r\nexport { TooltipDirective } from './tooltip.directive';\r\nexport { TooltipModule } from './tooltip.module';\r\nexport { TooltipConfig } from './tooltip.config';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/tooltip/index.js\n// module id = 1254\n// module chunks = 3","export { latinMap } from './latin-map';\r\nexport { TypeaheadOptions } from './typeahead-options.class';\r\nexport { TypeaheadMatch } from './typeahead-match.class';\r\nexport { TypeaheadUtils } from './typeahead-utils';\r\nexport { TypeaheadContainerComponent } from './typeahead-container.component';\r\nexport { TypeaheadDirective } from './typeahead.directive';\r\nexport { TypeaheadModule } from './typeahead.module';\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/index.js\n// module id = 1255\n// module chunks = 3","export var TypeaheadOptions = (function () {\r\n    function TypeaheadOptions(options) {\r\n        Object.assign(this, options);\r\n    }\r\n    return TypeaheadOptions;\r\n}());\r\n//# sourceMappingURL=typeahead-options.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/typeahead/typeahead-options.class.js\n// module id = 1256\n// module chunks = 3","export var LinkedList = (function () {\r\n    function LinkedList() {\r\n        this.length = 0;\r\n        this.asArray = [];\r\n    }\r\n    LinkedList.prototype.getNode = function (position) {\r\n        if (this.length === 0 || position < 0 || position >= this.length) {\r\n            throw new Error('Position is out of the list');\r\n        }\r\n        var current = this.head;\r\n        for (var index = 0; index < position; index++) {\r\n            current = current.next;\r\n        }\r\n        return current;\r\n    };\r\n    LinkedList.prototype.createInternalArrayRepresentation = function () {\r\n        var outArray = [];\r\n        var current = this.head;\r\n        while (current) {\r\n            outArray.push(current.value);\r\n            current = current.next;\r\n        }\r\n        this.asArray = outArray;\r\n    };\r\n    LinkedList.prototype.get = function (position) {\r\n        if (this.length === 0 || position < 0 || position >= this.length) {\r\n            return void 0;\r\n        }\r\n        var current = this.head;\r\n        for (var index = 0; index < position; index++) {\r\n            current = current.next;\r\n        }\r\n        return current.value;\r\n    };\r\n    LinkedList.prototype.add = function (value, position) {\r\n        if (position === void 0) { position = this.length; }\r\n        if (position < 0 || position > this.length) {\r\n            throw new Error('Position is out of the list');\r\n        }\r\n        var node = {\r\n            value: value,\r\n            next: undefined,\r\n            previous: undefined\r\n        };\r\n        if (this.length === 0) {\r\n            this.head = node;\r\n            this.tail = node;\r\n            this.current = node;\r\n        }\r\n        else {\r\n            if (position === 0) {\r\n                // first node\r\n                node.next = this.head;\r\n                this.head.previous = node;\r\n                this.head = node;\r\n            }\r\n            else if (position === this.length) {\r\n                // last node\r\n                this.tail.next = node;\r\n                node.previous = this.tail;\r\n                this.tail = node;\r\n            }\r\n            else {\r\n                // node in middle\r\n                var currentPreviousNode = this.getNode(position - 1);\r\n                var currentNextNode = currentPreviousNode.next;\r\n                currentPreviousNode.next = node;\r\n                currentNextNode.previous = node;\r\n                node.previous = currentPreviousNode;\r\n                node.next = currentNextNode;\r\n            }\r\n        }\r\n        this.length++;\r\n        this.createInternalArrayRepresentation();\r\n    };\r\n    LinkedList.prototype.remove = function (position) {\r\n        if (position === void 0) { position = 0; }\r\n        if (this.length === 0 || position < 0 || position >= this.length) {\r\n            throw new Error('Position is out of the list');\r\n        }\r\n        if (position === 0) {\r\n            // first node\r\n            this.head = this.head.next;\r\n            if (this.head) {\r\n                // there is no second node\r\n                this.head.previous = undefined;\r\n            }\r\n            else {\r\n                // there is no second node\r\n                this.tail = undefined;\r\n            }\r\n        }\r\n        else if (position === this.length - 1) {\r\n            // last node\r\n            this.tail = this.tail.previous;\r\n            this.tail.next = undefined;\r\n        }\r\n        else {\r\n            // middle node\r\n            var removedNode = this.getNode(position);\r\n            removedNode.next.previous = removedNode.previous;\r\n            removedNode.previous.next = removedNode.next;\r\n        }\r\n        this.length--;\r\n        this.createInternalArrayRepresentation();\r\n    };\r\n    LinkedList.prototype.set = function (position, value) {\r\n        if (this.length === 0 || position < 0 || position >= this.length) {\r\n            throw new Error('Position is out of the list');\r\n        }\r\n        var node = this.getNode(position);\r\n        node.value = value;\r\n        this.createInternalArrayRepresentation();\r\n    };\r\n    LinkedList.prototype.toArray = function () {\r\n        return this.asArray;\r\n    };\r\n    LinkedList.prototype.findAll = function (fn) {\r\n        var current = this.head;\r\n        var result = [];\r\n        for (var index = 0; index < this.length; index++) {\r\n            if (fn(current.value, index)) {\r\n                result.push({ index: index, value: current.value });\r\n            }\r\n            current = current.next;\r\n        }\r\n        return result;\r\n    };\r\n    // Array methods overriding start\r\n    LinkedList.prototype.push = function () {\r\n        var _this = this;\r\n        var args = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            args[_i - 0] = arguments[_i];\r\n        }\r\n        args.forEach(function (arg) {\r\n            _this.add(arg);\r\n        });\r\n        return this.length;\r\n    };\r\n    LinkedList.prototype.pop = function () {\r\n        if (this.length === 0) {\r\n            return undefined;\r\n        }\r\n        var last = this.tail;\r\n        this.remove(this.length - 1);\r\n        return last.value;\r\n    };\r\n    LinkedList.prototype.unshift = function () {\r\n        var _this = this;\r\n        var args = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            args[_i - 0] = arguments[_i];\r\n        }\r\n        args.reverse();\r\n        args.forEach(function (arg) {\r\n            _this.add(arg, 0);\r\n        });\r\n        return this.length;\r\n    };\r\n    LinkedList.prototype.shift = function () {\r\n        if (this.length === 0) {\r\n            return undefined;\r\n        }\r\n        var lastItem = this.head.value;\r\n        this.remove();\r\n        return lastItem;\r\n    };\r\n    LinkedList.prototype.forEach = function (fn) {\r\n        var current = this.head;\r\n        for (var index = 0; index < this.length; index++) {\r\n            fn(current.value, index);\r\n            current = current.next;\r\n        }\r\n    };\r\n    LinkedList.prototype.indexOf = function (value) {\r\n        var current = this.head;\r\n        var position = 0;\r\n        for (var index = 0; index < this.length; index++) {\r\n            if (current.value === value) {\r\n                position = index;\r\n                break;\r\n            }\r\n            current = current.next;\r\n        }\r\n        return position;\r\n    };\r\n    LinkedList.prototype.some = function (fn) {\r\n        var current = this.head;\r\n        var result = false;\r\n        while (current && !result) {\r\n            if (fn(current.value)) {\r\n                result = true;\r\n                break;\r\n            }\r\n            current = current.next;\r\n        }\r\n        return result;\r\n    };\r\n    LinkedList.prototype.every = function (fn) {\r\n        var current = this.head;\r\n        var result = true;\r\n        while (current && result) {\r\n            if (!fn(current.value)) {\r\n                result = false;\r\n            }\r\n            current = current.next;\r\n        }\r\n        return result;\r\n    };\r\n    LinkedList.prototype.toString = function () {\r\n        return '[Linked List]';\r\n    };\r\n    LinkedList.prototype.find = function (fn) {\r\n        var current = this.head;\r\n        var result;\r\n        for (var index = 0; index < this.length; index++) {\r\n            if (fn(current.value, index)) {\r\n                result = current.value;\r\n                break;\r\n            }\r\n            current = current.next;\r\n        }\r\n        return result;\r\n    };\r\n    LinkedList.prototype.findIndex = function (fn) {\r\n        var current = this.head;\r\n        var result;\r\n        for (var index = 0; index < this.length; index++) {\r\n            if (fn(current.value, index)) {\r\n                result = index;\r\n                break;\r\n            }\r\n            current = current.next;\r\n        }\r\n        return result;\r\n    };\r\n    return LinkedList;\r\n}());\r\n//# sourceMappingURL=linked-list.class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/linked-list.class.js\n// module id = 1257\n// module chunks = 3","import { Trigger } from './trigger.class';\r\nvar DEFAULT_ALIASES = {\r\n    hover: ['mouseenter', 'mouseleave'],\r\n    focus: ['focusin', 'focusout']\r\n};\r\nexport function parseTriggers(triggers, aliases) {\r\n    if (aliases === void 0) { aliases = DEFAULT_ALIASES; }\r\n    var trimmedTriggers = (triggers || '').trim();\r\n    if (trimmedTriggers.length === 0) {\r\n        return [];\r\n    }\r\n    var parsedTriggers = trimmedTriggers.split(/\\s+/)\r\n        .map(function (trigger) { return trigger.split(':'); })\r\n        .map(function (triggerPair) {\r\n        var alias = aliases[triggerPair[0]] || triggerPair;\r\n        return new Trigger(alias[0], alias[1]);\r\n    });\r\n    var manualTriggers = parsedTriggers\r\n        .filter(function (triggerPair) { return triggerPair.isManual(); });\r\n    if (manualTriggers.length > 1) {\r\n        throw 'Triggers parse error: only one manual trigger is allowed';\r\n    }\r\n    if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\r\n        throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\r\n    }\r\n    return parsedTriggers;\r\n}\r\nexport function listenToTriggers(renderer, target, triggers, showFn, hideFn, toggleFn) {\r\n    var parsedTriggers = parseTriggers(triggers);\r\n    var listeners = [];\r\n    if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\r\n        return Function.prototype;\r\n    }\r\n    parsedTriggers.forEach(function (trigger) {\r\n        if (trigger.open === trigger.close) {\r\n            listeners.push(renderer.listen(target, trigger.open, toggleFn));\r\n            return;\r\n        }\r\n        listeners.push(renderer.listen(target, trigger.open, showFn), renderer.listen(target, trigger.close, hideFn));\r\n    });\r\n    return function () { listeners.forEach(function (unsubscribeFn) { return unsubscribeFn(); }); };\r\n}\r\n//# sourceMappingURL=triggers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-bootstrap/utils/triggers.js\n// module id = 1258\n// module chunks = 3","var enGB = {\r\n    datepicker: {\r\n        months: [\r\n            \"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"\r\n        ],\r\n        monthsShort: [\r\n            \"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"\r\n        ],\r\n        weekdays: [\r\n            \"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"\r\n        ],\r\n        weekdaysShort: [\r\n            \"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"\r\n        ],\r\n        weekdaysNarrow: [\r\n            \"D\", \"L\", \"M\", \"M\", \"J\", \"V\", \"S\"\r\n        ],\r\n        formats: {\r\n            time: \"HH:mm\",\r\n            datetime: \"D [de] MMMM [de] YYYY HH:mm\",\r\n            date: \"D [de] MMMM [de] YYYY\",\r\n            month: \"MMMM [de] YYYY\",\r\n            year: \"YYYY\"\r\n        },\r\n        firstDayOfWeek: 1\r\n    },\r\n    search: {\r\n        placeholder: \"Buscar...\",\r\n        noResults: {\r\n            header: \"Sin resultados\",\r\n            message: \"La búsqueda no obtuvo resultados.\"\r\n        }\r\n    },\r\n    select: {\r\n        noResultsMessage: \"Sin resultados\",\r\n        single: {\r\n            placeholder: \"Seleccione uno\"\r\n        },\r\n        multi: {\r\n            placeholder: \"Seleccione...\",\r\n            maxSelectedMessage: \"Puede elegir hasta #{max}\",\r\n            selectedMessage: \"Seleccionados #{count}\"\r\n        }\r\n    }\r\n};\r\nexport default enGB;\r\n//# sourceMappingURL=en-GB.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/behaviors/localization/locales/en-GB.js\n// module id = 1259\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiLocalizationService } from \"./services/localization.service\";\r\nvar SuiLocalizationModule = (function () {\r\n    function SuiLocalizationModule() {\r\n    }\r\n    return SuiLocalizationModule;\r\n}());\r\nSuiLocalizationModule = __decorate([\r\n    NgModule({\r\n        imports: [CommonModule],\r\n        providers: [SuiLocalizationService]\r\n    })\r\n], SuiLocalizationModule);\r\nexport { SuiLocalizationModule };\r\n//# sourceMappingURL=localization.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/behaviors/localization/localization.module.js\n// module id = 1260\n// module chunks = 3","export { SuiLocalizationModule, SuiLocalizationService } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/behaviors/localization/public.js\n// module id = 1261\n// module chunks = 3","export * from \"./localization/public\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/behaviors/public.js\n// module id = 1262\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiTransitionModule } from \"../../modules/transition/index\";\r\nimport { SuiMessage } from \"./components/message\";\r\nvar SuiMessageModule = (function () {\r\n    function SuiMessageModule() {\r\n    }\r\n    return SuiMessageModule;\r\n}());\r\nSuiMessageModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            SuiTransitionModule\r\n        ],\r\n        declarations: [\r\n            SuiMessage\r\n        ],\r\n        exports: [\r\n            SuiMessage\r\n        ]\r\n    })\r\n], SuiMessageModule);\r\nexport { SuiMessageModule };\r\n//# sourceMappingURL=message.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/message/message.module.js\n// module id = 1263\n// module chunks = 3","export { SuiMessageModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/message/public.js\n// module id = 1264\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiPagination } from \"./components/pagination\";\r\nvar SuiPaginationModule = (function () {\r\n    function SuiPaginationModule() {\r\n    }\r\n    return SuiPaginationModule;\r\n}());\r\nSuiPaginationModule = __decorate([\r\n    NgModule({\r\n        imports: [CommonModule],\r\n        exports: [SuiPagination],\r\n        declarations: [SuiPagination],\r\n        providers: []\r\n    })\r\n], SuiPaginationModule);\r\nexport { SuiPaginationModule };\r\n//# sourceMappingURL=pagination.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/pagination/pagination.module.js\n// module id = 1265\n// module chunks = 3","export { SuiPaginationModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/pagination/public.js\n// module id = 1266\n// module chunks = 3","export * from \"./message/public\";\r\nexport * from \"./pagination/public\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/collections/public.js\n// module id = 1267\n// module chunks = 3","export * from \"./behaviors/index\";\r\nexport * from \"./collections/index\";\r\nexport * from \"./modules/index\";\r\nexport * from \"./misc/index\";\r\nexport * from \"./sui.module\";\r\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/index.js\n// module id = 1268\n// module chunks = 3","export * from \"./util/public\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/public.js\n// module id = 1269\n// module chunks = 3","import { NG_VALIDATORS } from \"@angular/forms\";\r\nimport { forwardRef } from \"@angular/core\";\r\nvar CustomValidator = (function () {\r\n    function CustomValidator(_host) {\r\n        this._host = _host;\r\n        this.onValidatorChange = function () { };\r\n    }\r\n    CustomValidator.prototype.validate = function (c) {\r\n        return this._host.validate(c);\r\n    };\r\n    CustomValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onValidatorChange = fn;\r\n    };\r\n    return CustomValidator;\r\n}());\r\nexport { CustomValidator };\r\nexport function customValidatorFactory(type) {\r\n    return {\r\n        provide: NG_VALIDATORS,\r\n        useExisting: forwardRef(function () { return type; }),\r\n        multi: true\r\n    };\r\n}\r\n//# sourceMappingURL=custom-validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/helpers/custom-validator.js\n// module id = 1270\n// module chunks = 3","import { NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { forwardRef } from \"@angular/core\";\r\nvar CustomValueAccessor = (function () {\r\n    function CustomValueAccessor(_host) {\r\n        this._host = _host;\r\n        this.onChange = function () { };\r\n        this.onTouched = function () { };\r\n    }\r\n    CustomValueAccessor.prototype.writeValue = function (value) {\r\n        this._host.writeValue(value);\r\n    };\r\n    CustomValueAccessor.prototype.registerOnChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    CustomValueAccessor.prototype.registerOnTouched = function (fn) {\r\n        this.onTouched = fn;\r\n    };\r\n    return CustomValueAccessor;\r\n}());\r\nexport { CustomValueAccessor };\r\nexport function customValueAccessorFactory(type) {\r\n    return {\r\n        provide: NG_VALUE_ACCESSOR,\r\n        useExisting: forwardRef(function () { return type; }),\r\n        multi: true\r\n    };\r\n}\r\n//# sourceMappingURL=custom-value-accessor.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/helpers/custom-value-accessor.js\n// module id = 1271\n// module chunks = 3","import { Util } from \"./util\";\r\nexport var DatePrecision;\r\n(function (DatePrecision) {\r\n    DatePrecision[DatePrecision[\"Decade\"] = 0] = \"Decade\";\r\n    DatePrecision[DatePrecision[\"Year\"] = 1] = \"Year\";\r\n    DatePrecision[DatePrecision[\"Month\"] = 2] = \"Month\";\r\n    DatePrecision[DatePrecision[\"Date\"] = 3] = \"Date\";\r\n    DatePrecision[DatePrecision[\"Hour\"] = 4] = \"Hour\";\r\n    DatePrecision[DatePrecision[\"Minute\"] = 5] = \"Minute\";\r\n})(DatePrecision || (DatePrecision = {}));\r\nexport var DateUtil = {\r\n    startOf: function (precision, date, resetAll) {\r\n        if (resetAll === void 0) { resetAll = false; }\r\n        switch (precision) {\r\n            case DatePrecision.Decade:\r\n                var start = Math.floor(date.getFullYear() / 10) * 10 + 1;\r\n                date.setFullYear(start);\r\n                if (!resetAll) {\r\n                    break;\r\n                }\r\n            // falls through\r\n            case DatePrecision.Year:\r\n                date.setMonth(0);\r\n                if (!resetAll) {\r\n                    break;\r\n                }\r\n            // falls through\r\n            case DatePrecision.Month:\r\n                date.setDate(1);\r\n                if (!resetAll) {\r\n                    break;\r\n                }\r\n            // falls through\r\n            case DatePrecision.Date:\r\n                date.setHours(0);\r\n                if (!resetAll) {\r\n                    break;\r\n                }\r\n            // falls through\r\n            case DatePrecision.Hour:\r\n                date.setMinutes(0);\r\n                if (!resetAll) {\r\n                    break;\r\n                }\r\n            // falls through\r\n            case DatePrecision.Minute:\r\n                date.setSeconds(0, 0);\r\n        }\r\n        return date;\r\n    },\r\n    endOf: function (precision, date) {\r\n        switch (precision) {\r\n            case DatePrecision.Year:\r\n                date.setMonth(12, 0);\r\n            // falls through\r\n            case DatePrecision.Month:\r\n                date.setMonth(date.getMonth() + 1, 0);\r\n            // falls through\r\n            case DatePrecision.Date:\r\n                date.setHours(23, 59, 59, 999);\r\n                break;\r\n            case DatePrecision.Hour:\r\n                date.setMinutes(59, 59, 999);\r\n                break;\r\n            case DatePrecision.Minute:\r\n                date.setSeconds(59, 999);\r\n                break;\r\n        }\r\n        return date;\r\n    },\r\n    equal: function (precision, a, b) {\r\n        var equal = true;\r\n        switch (precision) {\r\n            case DatePrecision.Minute:\r\n                equal = equal && a.getMinutes() === b.getMinutes();\r\n            // falls through\r\n            case DatePrecision.Hour:\r\n                equal = equal && a.getHours() === b.getHours();\r\n            // falls through\r\n            case DatePrecision.Date:\r\n                equal = equal && a.getDate() === b.getDate();\r\n            // falls through\r\n            case DatePrecision.Month:\r\n                equal = equal && a.getMonth() === b.getMonth();\r\n            // falls through\r\n            case DatePrecision.Year:\r\n                equal = equal && a.getFullYear() === b.getFullYear();\r\n        }\r\n        return equal;\r\n    },\r\n    next: function (precision, date) {\r\n        return DateUtil.add(precision, date, 1);\r\n    },\r\n    add: function (precision, date, i) {\r\n        var year = date.getFullYear();\r\n        var month = date.getMonth();\r\n        var day = date.getDate();\r\n        switch (precision) {\r\n            case DatePrecision.Decade:\r\n                date.setFullYear(year + i * 10);\r\n                if (date.getMonth() !== month) {\r\n                    date.setDate(0);\r\n                }\r\n                break;\r\n            case DatePrecision.Year:\r\n                date.setFullYear(year + i);\r\n                if (date.getMonth() !== month) {\r\n                    date.setDate(0);\r\n                }\r\n                break;\r\n            case DatePrecision.Month:\r\n                date.setMonth(month + i);\r\n                if (date.getMonth() !== Util.Math.mod(month + i, 12)) {\r\n                    date.setDate(0);\r\n                }\r\n                break;\r\n            case DatePrecision.Date:\r\n                date.setDate(day + i);\r\n                break;\r\n            case DatePrecision.Hour:\r\n                date.setHours(date.getHours() + i);\r\n                break;\r\n            case DatePrecision.Minute:\r\n                date.setMinutes(date.getMinutes() + i);\r\n                break;\r\n        }\r\n        return date;\r\n    },\r\n    previous: function (precision, date) {\r\n        var year = date.getFullYear();\r\n        var month = date.getMonth();\r\n        var day = date.getDate();\r\n        switch (precision) {\r\n            case DatePrecision.Decade:\r\n                date.setFullYear(year - 10);\r\n                if (date.getMonth() !== month) {\r\n                    date.setDate(0);\r\n                }\r\n                break;\r\n            case DatePrecision.Year:\r\n                date.setFullYear(year - 1);\r\n                if (date.getMonth() !== month) {\r\n                    date.setDate(0);\r\n                }\r\n                break;\r\n            case DatePrecision.Month:\r\n                date.setMonth(month - 1);\r\n                if (date.getMonth() !== Util.Math.mod(month - 1, 12)) {\r\n                    date.setDate(0);\r\n                }\r\n                break;\r\n            case DatePrecision.Date:\r\n                date.setDate(day - 1);\r\n                break;\r\n            case DatePrecision.Hour:\r\n                var hours = date.getHours();\r\n                date.setHours(hours - 1);\r\n                if (date.getHours() !== Util.Math.mod(hours - 1, 24)) {\r\n                    date.setHours(hours - 2);\r\n                }\r\n                break;\r\n            case DatePrecision.Minute:\r\n                var minutes = date.getMinutes();\r\n                date.setMinutes(minutes - 1);\r\n        }\r\n        return date;\r\n    },\r\n    clone: function (date) {\r\n        return new Date(date.getTime());\r\n    }\r\n};\r\n//# sourceMappingURL=date.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/helpers/date.js\n// module id = 1272\n// module chunks = 3","export { SuiUtilityModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/public.js\n// module id = 1273\n// module chunks = 3","import Popper from \"popper.js\";\r\nexport var PositioningPlacement = {\r\n    Auto: \"auto\",\r\n    TopLeft: \"top left\",\r\n    Top: \"top\",\r\n    TopRight: \"top right\",\r\n    LeftTop: \"left top\",\r\n    Left: \"left\",\r\n    LeftBottom: \"left bottom\",\r\n    BottomLeft: \"bottom left\",\r\n    Bottom: \"bottom\",\r\n    BottomRight: \"bottom right\",\r\n    RightTop: \"right top\",\r\n    Right: \"right\",\r\n    RightBottom: \"right bottom\"\r\n};\r\nfunction placementToPopper(placement) {\r\n    if (!placement || placement === PositioningPlacement.Auto) {\r\n        return \"auto\";\r\n    }\r\n    // All placements of the format: `direction alignment`, e.g. `top left`.\r\n    var _a = placement.split(\" \"), direction = _a[0], alignment = _a[1];\r\n    // Direction alone covers case of just `top`, `left`, `bottom`, `right`.\r\n    var chosenPlacement = [direction];\r\n    // Add `start` / `end` to placement, depending on alignment direction.\r\n    switch (alignment) {\r\n        case \"top\":\r\n        case \"left\":\r\n            chosenPlacement.push(\"start\");\r\n            break;\r\n        case \"bottom\":\r\n        case \"right\":\r\n            chosenPlacement.push(\"end\");\r\n            break;\r\n    }\r\n    // Join with hyphen to create Popper compatible placement.\r\n    return chosenPlacement.join(\"-\");\r\n}\r\nfunction popperToPlacement(popper) {\r\n    if (!popper || popper === \"auto\") {\r\n        return \"auto\";\r\n    }\r\n    var _a = popper.split(\"-\"), direction = _a[0], alignment = _a[1];\r\n    var chosenPlacement = [direction];\r\n    switch (direction) {\r\n        case \"top\":\r\n        case \"bottom\":\r\n            switch (alignment) {\r\n                case \"start\":\r\n                    chosenPlacement.push(\"left\");\r\n                    break;\r\n                case \"end\":\r\n                    chosenPlacement.push(\"right\");\r\n                    break;\r\n            }\r\n            break;\r\n        case \"left\":\r\n        case \"right\":\r\n            switch (alignment) {\r\n                case \"start\":\r\n                    chosenPlacement.push(\"top\");\r\n                    break;\r\n                case \"end\":\r\n                    chosenPlacement.push(\"bottom\");\r\n                    break;\r\n            }\r\n            break;\r\n    }\r\n    return chosenPlacement.join(\" \");\r\n}\r\nvar PositioningService = (function () {\r\n    function PositioningService(anchor, subject, placement, arrowSelector) {\r\n        var _this = this;\r\n        this.anchor = anchor;\r\n        this.subject = subject;\r\n        this._placement = placement;\r\n        var modifiers = {\r\n            computeStyle: {\r\n                gpuAcceleration: false\r\n            },\r\n            preventOverflow: {\r\n                escapeWithReference: true,\r\n                boundariesElement: document.body\r\n            },\r\n            arrow: {\r\n                element: arrowSelector\r\n            }\r\n        };\r\n        if (!arrowSelector) {\r\n            delete modifiers.arrow;\r\n        }\r\n        this._popper = new Popper(anchor.nativeElement, subject.nativeElement, {\r\n            placement: placementToPopper(placement),\r\n            modifiers: modifiers,\r\n            onCreate: function (initial) { return _this._popperState = initial; },\r\n            onUpdate: function (update) { return _this._popperState = update; }\r\n        });\r\n    }\r\n    Object.defineProperty(PositioningService.prototype, \"placement\", {\r\n        get: function () {\r\n            return this._placement;\r\n        },\r\n        set: function (placement) {\r\n            this._placement = placement;\r\n            this._popper.options.placement = placementToPopper(placement);\r\n            this.update();\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PositioningService.prototype, \"actualPlacement\", {\r\n        get: function () {\r\n            if (!this._popperState) {\r\n                return PositioningPlacement.Auto;\r\n            }\r\n            return popperToPlacement(this._popperState.placement);\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(PositioningService.prototype, \"state\", {\r\n        get: function () {\r\n            return this._popperState;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    PositioningService.prototype.update = function () {\r\n        this._popper.update();\r\n    };\r\n    PositioningService.prototype.destroy = function () {\r\n        this._popper.destroy();\r\n    };\r\n    return PositioningService;\r\n}());\r\nexport { PositioningService };\r\n//# sourceMappingURL=positioning.service.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/services/positioning.service.js\n// module id = 1274\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiComponentFactory } from \"./services/component-factory.service\";\r\nvar SuiUtilityModule = (function () {\r\n    function SuiUtilityModule() {\r\n    }\r\n    return SuiUtilityModule;\r\n}());\r\nSuiUtilityModule = __decorate([\r\n    NgModule({\r\n        imports: [CommonModule],\r\n        providers: [\r\n            SuiComponentFactory\r\n        ]\r\n    })\r\n], SuiUtilityModule);\r\nexport { SuiUtilityModule };\r\n//# sourceMappingURL=util.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/misc/util/util.module.js\n// module id = 1275\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiCollapseModule } from \"../collapse/index\";\r\nimport { SuiTransitionModule } from \"../transition/index\";\r\nimport { SuiAccordion } from \"./components/accordion\";\r\nimport { SuiAccordionPanel } from \"./components/accordion-panel\";\r\nvar SuiAccordionModule = (function () {\r\n    function SuiAccordionModule() {\r\n    }\r\n    return SuiAccordionModule;\r\n}());\r\nSuiAccordionModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            SuiCollapseModule,\r\n            SuiTransitionModule\r\n        ],\r\n        declarations: [\r\n            SuiAccordion,\r\n            SuiAccordionPanel\r\n        ],\r\n        exports: [\r\n            SuiAccordion,\r\n            SuiAccordionPanel\r\n        ],\r\n        providers: []\r\n    })\r\n], SuiAccordionModule);\r\nexport { SuiAccordionModule };\r\n//# sourceMappingURL=accordion.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/accordion/accordion.module.js\n// module id = 1276\n// module chunks = 3","export { SuiAccordionModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/accordion/public.js\n// module id = 1277\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { SuiCheckbox, SuiCheckboxValueAccessor } from \"./components/checkbox\";\r\nimport { SuiRadio, SuiRadioValueAccessor } from \"./components/radio\";\r\nimport { SuiRadioManager } from \"./directives/radio-manager\";\r\nvar SuiCheckboxModule = (function () {\r\n    function SuiCheckboxModule() {\r\n    }\r\n    return SuiCheckboxModule;\r\n}());\r\nSuiCheckboxModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            FormsModule\r\n        ],\r\n        declarations: [\r\n            SuiCheckbox,\r\n            SuiCheckboxValueAccessor,\r\n            SuiRadio,\r\n            SuiRadioValueAccessor,\r\n            SuiRadioManager\r\n        ],\r\n        exports: [\r\n            SuiCheckbox,\r\n            SuiCheckboxValueAccessor,\r\n            SuiRadio,\r\n            SuiRadioValueAccessor,\r\n            SuiRadioManager\r\n        ]\r\n    })\r\n], SuiCheckboxModule);\r\nexport { SuiCheckboxModule };\r\n//# sourceMappingURL=checkbox.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/checkbox/checkbox.module.js\n// module id = 1278\n// module chunks = 3","export { SuiCheckboxModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/checkbox/public.js\n// module id = 1279\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiCollapse } from \"./directives/collapse\";\r\nvar SuiCollapseModule = (function () {\r\n    function SuiCollapseModule() {\r\n    }\r\n    return SuiCollapseModule;\r\n}());\r\nSuiCollapseModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule\r\n        ],\r\n        declarations: [\r\n            SuiCollapse\r\n        ],\r\n        exports: [\r\n            SuiCollapse\r\n        ]\r\n    })\r\n], SuiCollapseModule);\r\nexport { SuiCollapseModule };\r\n//# sourceMappingURL=collapse.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/collapse/collapse.module.js\n// module id = 1280\n// module chunks = 3","export { SuiCollapseModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/collapse/public.js\n// module id = 1281\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { SuiPopupModule } from \"../popup/index\";\r\nimport { SuiLocalizationModule } from \"../../behaviors/localization/index\";\r\nimport { SuiUtilityModule } from \"../../misc/util/index\";\r\nimport { SuiCalendarViewTitle } from \"./components/calendar-view-title\";\r\nimport { SuiCalendarYearView } from \"./views/year-view\";\r\nimport { SuiCalendarMonthView } from \"./views/month-view\";\r\nimport { SuiCalendarItem } from \"./directives/calendar-item\";\r\nimport { SuiCalendarDateView } from \"./views/date-view\";\r\nimport { SuiDatepicker } from \"./components/datepicker\";\r\nimport { SuiCalendarHourView } from \"./views/hour-view\";\r\nimport { SuiCalendarMinuteView } from \"./views/minute-view\";\r\nimport { SuiDatepickerInputDirective } from \"./directives/input.directive\";\r\nimport { SuiDatepickerDirective, SuiDatepickerDirectiveValueAccessor, SuiDatepickerDirectiveValidator } from \"./directives/datepicker.directive\";\r\nvar SuiDatepickerModule = (function () {\r\n    function SuiDatepickerModule() {\r\n    }\r\n    return SuiDatepickerModule;\r\n}());\r\nSuiDatepickerModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            FormsModule,\r\n            SuiPopupModule,\r\n            SuiLocalizationModule,\r\n            SuiUtilityModule\r\n        ],\r\n        declarations: [\r\n            SuiCalendarItem,\r\n            SuiCalendarViewTitle,\r\n            SuiCalendarYearView,\r\n            SuiCalendarMonthView,\r\n            SuiCalendarDateView,\r\n            SuiCalendarHourView,\r\n            SuiCalendarMinuteView,\r\n            SuiDatepicker,\r\n            SuiDatepickerDirective,\r\n            SuiDatepickerDirectiveValueAccessor,\r\n            SuiDatepickerDirectiveValidator,\r\n            SuiDatepickerInputDirective\r\n        ],\r\n        exports: [\r\n            SuiDatepickerDirective,\r\n            SuiDatepickerDirectiveValueAccessor,\r\n            SuiDatepickerDirectiveValidator,\r\n            SuiDatepickerInputDirective\r\n        ],\r\n        entryComponents: [\r\n            SuiDatepicker\r\n        ]\r\n    })\r\n], SuiDatepickerModule);\r\nexport { SuiDatepickerModule };\r\n//# sourceMappingURL=datepicker.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/datepicker.module.js\n// module id = 1282\n// module chunks = 3","//# sourceMappingURL=is-webview.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/helpers/is-webview.js\n// module id = 1283\n// module chunks = 3","export { SuiDatepickerModule, DatepickerMode } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/datepicker/public.js\n// module id = 1284\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiTransitionModule } from \"../transition/index\";\r\nimport { SuiDimmer } from \"./components/dimmer\";\r\nvar SuiDimmerModule = (function () {\r\n    function SuiDimmerModule() {\r\n    }\r\n    return SuiDimmerModule;\r\n}());\r\nSuiDimmerModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            SuiTransitionModule\r\n        ],\r\n        declarations: [\r\n            SuiDimmer\r\n        ],\r\n        exports: [\r\n            SuiDimmer\r\n        ]\r\n    })\r\n], SuiDimmerModule);\r\nexport { SuiDimmerModule };\r\n//# sourceMappingURL=dimmer.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dimmer/dimmer.module.js\n// module id = 1285\n// module chunks = 3","export { SuiDimmerModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dimmer/public.js\n// module id = 1286\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiTransitionModule } from \"../transition/index\";\r\nimport { SuiDropdown } from \"./directives/dropdown\";\r\nimport { SuiDropdownMenu, SuiDropdownMenuItem } from \"./directives/dropdown-menu\";\r\nvar SuiDropdownModule = (function () {\r\n    function SuiDropdownModule() {\r\n    }\r\n    return SuiDropdownModule;\r\n}());\r\nSuiDropdownModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            SuiTransitionModule\r\n        ],\r\n        declarations: [\r\n            SuiDropdown,\r\n            SuiDropdownMenu,\r\n            SuiDropdownMenuItem\r\n        ],\r\n        exports: [\r\n            SuiDropdown,\r\n            SuiDropdownMenu,\r\n            SuiDropdownMenuItem\r\n        ]\r\n    })\r\n], SuiDropdownModule);\r\nexport { SuiDropdownModule };\r\n//# sourceMappingURL=dropdown.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dropdown/dropdown.module.js\n// module id = 1287\n// module chunks = 3","export { SuiDropdownModule, DropdownAutoCloseType } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/dropdown/public.js\n// module id = 1288\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nimport { TemplateRef } from \"@angular/core\";\r\n// Shorthand for a modal template. Sets up ability to write: `<ng-template let-context let-modal=\"modal\">...</ng-template>`\r\n// We use an abstract class as ModalTemplate tends to be used within decorated properties, which means it needs to exist!\r\nvar ModalTemplate = (function (_super) {\r\n    __extends(ModalTemplate, _super);\r\n    function ModalTemplate() {\r\n        return _super !== null && _super.apply(this, arguments) || this;\r\n    }\r\n    return ModalTemplate;\r\n}(TemplateRef));\r\nexport { ModalTemplate };\r\n//# sourceMappingURL=modal-template.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/classes/modal-template.js\n// module id = 1289\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiDimmerModule } from \"../dimmer/index\";\r\nimport { SuiTransitionModule } from \"../transition/index\";\r\nimport { SuiUtilityModule } from \"../../misc/util/index\";\r\nimport { SuiModalService } from \"./services/modal.service\";\r\nimport { SuiModal } from \"./components/modal\";\r\nvar SuiModalModule = (function () {\r\n    function SuiModalModule() {\r\n    }\r\n    return SuiModalModule;\r\n}());\r\nSuiModalModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            SuiDimmerModule,\r\n            SuiTransitionModule,\r\n            SuiUtilityModule\r\n        ],\r\n        declarations: [\r\n            SuiModal\r\n        ],\r\n        exports: [\r\n            SuiModal\r\n        ],\r\n        providers: [\r\n            SuiModalService\r\n        ],\r\n        entryComponents: [\r\n            SuiModal\r\n        ]\r\n    })\r\n], SuiModalModule);\r\nexport { SuiModalModule };\r\n//# sourceMappingURL=modal.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/modal.module.js\n// module id = 1290\n// module chunks = 3","export { SuiModalModule, SuiModalService, Modal as SuiModal, ModalControls, ActiveModal as SuiActiveModal, ModalConfig, TemplateModalConfig, ComponentModalConfig, ModalTemplate, ModalSize } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/modal/public.js\n// module id = 1291\n// module chunks = 3","var __extends = (this && this.__extends) || (function () {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n})();\r\nimport { SuiPopupController } from \"./popup-controller\";\r\nvar SuiPopupComponentController = (function (_super) {\r\n    __extends(SuiPopupComponentController, _super);\r\n    function SuiPopupComponentController(renderer, element, componentFactory, _component, config) {\r\n        var _this = _super.call(this, renderer, element, componentFactory, config) || this;\r\n        _this._component = _component;\r\n        return _this;\r\n    }\r\n    Object.defineProperty(SuiPopupComponentController.prototype, \"componentInstance\", {\r\n        get: function () {\r\n            if (this._contentComponentRef) {\r\n                return this._contentComponentRef.instance;\r\n            }\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    SuiPopupComponentController.prototype.open = function () {\r\n        if (!this._contentComponentRef) {\r\n            this._contentComponentRef = this._componentFactory.createComponent(this._component);\r\n            this._componentFactory.attachToView(this._contentComponentRef, this.popup.templateSibling);\r\n        }\r\n        _super.prototype.open.call(this);\r\n    };\r\n    SuiPopupComponentController.prototype.cleanup = function () {\r\n        _super.prototype.cleanup.call(this);\r\n        if (this._contentComponentRef) {\r\n            this._contentComponentRef.destroy();\r\n            this._contentComponentRef = undefined;\r\n        }\r\n    };\r\n    return SuiPopupComponentController;\r\n}(SuiPopupController));\r\nexport { SuiPopupComponentController };\r\n//# sourceMappingURL=popup-component-controller.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/classes/popup-component-controller.js\n// module id = 1292\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiTransitionModule } from \"../transition/index\";\r\nimport { SuiUtilityModule } from \"../../misc/util/index\";\r\nimport { SuiPopupDirective } from \"./directives/popup.directive\";\r\nimport { SuiPopupArrow } from \"./components/popup-arrow\";\r\nimport { SuiPopup } from \"./components/popup\";\r\nimport { SuiPopupConfig } from \"./services/popup.service\";\r\nvar SuiPopupModule = (function () {\r\n    function SuiPopupModule() {\r\n    }\r\n    return SuiPopupModule;\r\n}());\r\nSuiPopupModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            SuiTransitionModule,\r\n            SuiUtilityModule\r\n        ],\r\n        declarations: [\r\n            SuiPopupDirective,\r\n            SuiPopupArrow,\r\n            SuiPopup\r\n        ],\r\n        exports: [\r\n            SuiPopupDirective,\r\n            SuiPopup\r\n        ],\r\n        providers: [\r\n            SuiPopupConfig\r\n        ],\r\n        entryComponents: [\r\n            SuiPopup\r\n        ]\r\n    })\r\n], SuiPopupModule);\r\nexport { SuiPopupModule };\r\n//# sourceMappingURL=popup.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/popup.module.js\n// module id = 1293\n// module chunks = 3","export { SuiPopupModule, SuiPopupConfig, PopupTrigger } from \"./index\";\r\nimport { PositioningPlacement } from \"../../misc/util/index\";\r\nexport { PositioningPlacement as PopupPlacement };\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/popup/public.js\n// module id = 1294\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiProgress } from \"./components/progress\";\r\nvar SuiProgressModule = (function () {\r\n    function SuiProgressModule() {\r\n    }\r\n    return SuiProgressModule;\r\n}());\r\nSuiProgressModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule\r\n        ],\r\n        declarations: [\r\n            SuiProgress\r\n        ],\r\n        exports: [\r\n            SuiProgress\r\n        ]\r\n    })\r\n], SuiProgressModule);\r\nexport { SuiProgressModule };\r\n//# sourceMappingURL=progress.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/progress/progress.module.js\n// module id = 1295\n// module chunks = 3","export { SuiProgressModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/progress/public.js\n// module id = 1296\n// module chunks = 3","export * from \"./accordion/public\";\r\nexport * from \"./checkbox/public\";\r\nexport * from \"./collapse/public\";\r\nexport * from \"./datepicker/public\";\r\nexport * from \"./dimmer/public\";\r\nexport * from \"./dropdown/public\";\r\nexport * from \"./modal/public\";\r\nexport * from \"./popup/public\";\r\nexport * from \"./progress/public\";\r\nexport * from \"./rating/public\";\r\nexport * from \"./search/public\";\r\nexport * from \"./select/public\";\r\nexport * from \"./sidebar/public\";\r\nexport * from \"./tabs/public\";\r\nexport * from \"./transition/public\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/public.js\n// module id = 1297\n// module chunks = 3","export { SuiRatingModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/rating/public.js\n// module id = 1298\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { SuiRating, SuiRatingValueAccessor } from \"./components/rating\";\r\nvar SuiRatingModule = (function () {\r\n    function SuiRatingModule() {\r\n    }\r\n    return SuiRatingModule;\r\n}());\r\nSuiRatingModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            FormsModule,\r\n            CommonModule\r\n        ],\r\n        declarations: [\r\n            SuiRating,\r\n            SuiRatingValueAccessor\r\n        ],\r\n        exports: [\r\n            SuiRating,\r\n            SuiRatingValueAccessor\r\n        ]\r\n    })\r\n], SuiRatingModule);\r\nexport { SuiRatingModule };\r\n//# sourceMappingURL=rating.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/rating/rating.module.js\n// module id = 1299\n// module chunks = 3","export { SuiSearchModule, SearchService } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/search/public.js\n// module id = 1300\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { SuiDropdownModule } from \"../dropdown/index\";\r\nimport { SuiLocalizationModule } from \"../../behaviors/localization/index\";\r\nimport { SuiUtilityModule } from \"../../misc/util/index\";\r\nimport { SuiSearch } from \"./components/search\";\r\nimport { SuiSearchResult } from \"./components/search-result\";\r\nvar SuiSearchModule = (function () {\r\n    function SuiSearchModule() {\r\n    }\r\n    return SuiSearchModule;\r\n}());\r\nSuiSearchModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            FormsModule,\r\n            SuiDropdownModule,\r\n            SuiLocalizationModule,\r\n            SuiUtilityModule\r\n        ],\r\n        declarations: [\r\n            SuiSearch,\r\n            SuiSearchResult\r\n        ],\r\n        exports: [\r\n            SuiSearch\r\n        ]\r\n    })\r\n], SuiSearchModule);\r\nexport { SuiSearchModule };\r\n//# sourceMappingURL=search.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/search/search.module.js\n// module id = 1301\n// module chunks = 3","export { SuiSelectModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/public.js\n// module id = 1302\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { SuiDropdownModule } from \"../dropdown/index\";\r\nimport { SuiUtilityModule } from \"../../misc/util/index\";\r\nimport { SuiLocalizationModule } from \"../../behaviors/localization/index\";\r\nimport { SuiSelect, SuiSelectValueAccessor } from \"./components/select\";\r\nimport { SuiSelectOption } from \"./components/select-option\";\r\nimport { SuiSelectSearch } from \"./directives/select-search\";\r\nimport { SuiMultiSelect, SuiMultiSelectValueAccessor } from \"./components/multi-select\";\r\nimport { SuiMultiSelectLabel } from \"./components/multi-select-label\";\r\nvar SuiSelectModule = (function () {\r\n    function SuiSelectModule() {\r\n    }\r\n    return SuiSelectModule;\r\n}());\r\nSuiSelectModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule,\r\n            FormsModule,\r\n            SuiDropdownModule,\r\n            SuiUtilityModule,\r\n            SuiLocalizationModule\r\n        ],\r\n        declarations: [\r\n            SuiSelect,\r\n            SuiSelectOption,\r\n            SuiSelectSearch,\r\n            SuiSelectValueAccessor,\r\n            SuiMultiSelect,\r\n            SuiMultiSelectLabel,\r\n            SuiMultiSelectValueAccessor\r\n        ],\r\n        exports: [\r\n            SuiSelect,\r\n            SuiSelectOption,\r\n            SuiSelectSearch,\r\n            SuiSelectValueAccessor,\r\n            SuiMultiSelect,\r\n            SuiMultiSelectValueAccessor\r\n        ]\r\n    })\r\n], SuiSelectModule);\r\nexport { SuiSelectModule };\r\n//# sourceMappingURL=select.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/select/select.module.js\n// module id = 1303\n// module chunks = 3","export { SuiSidebarModule, SidebarDirection, SidebarTransition } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/sidebar/public.js\n// module id = 1304\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiSidebar } from \"./components/sidebar\";\r\nimport { SuiSidebarContainer } from \"./components/sidebar-container\";\r\nimport { SuiSidebarSibling } from \"./components/sidebar-sibling\";\r\nvar SuiSidebarModule = (function () {\r\n    function SuiSidebarModule() {\r\n    }\r\n    return SuiSidebarModule;\r\n}());\r\nSuiSidebarModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule\r\n        ],\r\n        declarations: [\r\n            SuiSidebar,\r\n            SuiSidebarContainer,\r\n            SuiSidebarSibling\r\n        ],\r\n        exports: [\r\n            SuiSidebar,\r\n            SuiSidebarContainer,\r\n            SuiSidebarSibling\r\n        ]\r\n    })\r\n], SuiSidebarModule);\r\nexport { SuiSidebarModule };\r\n//# sourceMappingURL=sidebar.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/sidebar/sidebar.module.js\n// module id = 1305\n// module chunks = 3","export { SuiTabsModule } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/tabs/public.js\n// module id = 1306\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiTabset } from \"./components/tabset\";\r\nimport { SuiTabHeader } from \"./directives/tab-header\";\r\nimport { SuiTabContent } from \"./directives/tab-content\";\r\nvar SuiTabsModule = (function () {\r\n    function SuiTabsModule() {\r\n    }\r\n    return SuiTabsModule;\r\n}());\r\nSuiTabsModule = __decorate([\r\n    NgModule({\r\n        imports: [\r\n            CommonModule\r\n        ],\r\n        declarations: [\r\n            SuiTabset,\r\n            SuiTabHeader,\r\n            SuiTabContent\r\n        ],\r\n        exports: [\r\n            SuiTabset,\r\n            SuiTabHeader,\r\n            SuiTabContent\r\n        ]\r\n    })\r\n], SuiTabsModule);\r\nexport { SuiTabsModule };\r\n//# sourceMappingURL=tab.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/tabs/tab.module.js\n// module id = 1307\n// module chunks = 3","export { SuiTransitionModule, SuiTransition, Transition, TransitionDirection, TransitionController } from \"./index\";\r\n//# sourceMappingURL=public.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/transition/public.js\n// module id = 1308\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SuiTransition } from \"./directives/transition\";\r\nvar SuiTransitionModule = (function () {\r\n    function SuiTransitionModule() {\r\n    }\r\n    return SuiTransitionModule;\r\n}());\r\nSuiTransitionModule = __decorate([\r\n    NgModule({\r\n        imports: [CommonModule],\r\n        declarations: [\r\n            SuiTransition\r\n        ],\r\n        exports: [\r\n            SuiTransition\r\n        ],\r\n        providers: []\r\n    })\r\n], SuiTransitionModule);\r\nexport { SuiTransitionModule };\r\n//# sourceMappingURL=transition.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/modules/transition/transition.module.js\n// module id = 1309\n// module chunks = 3","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nimport { NgModule } from \"@angular/core\";\r\n// Collections\r\nimport { SuiMessageModule, SuiPaginationModule } from \"./collections\";\r\n// Modules\r\nimport { SuiAccordionModule, SuiCheckboxModule, SuiCollapseModule, SuiDatepickerModule, SuiDimmerModule, SuiDropdownModule, SuiModalModule, SuiPopupModule, SuiProgressModule, SuiRatingModule, SuiSearchModule, SuiSidebarModule, SuiTabsModule, SuiSelectModule, SuiTransitionModule } from \"./modules\";\r\n// Behaviors\r\nimport { SuiLocalizationModule } from \"./behaviors\";\r\n// Misc\r\nimport { SuiUtilityModule } from \"./misc\";\r\nvar SuiModule = (function () {\r\n    function SuiModule() {\r\n    }\r\n    return SuiModule;\r\n}());\r\nSuiModule = __decorate([\r\n    NgModule({\r\n        exports: [\r\n            // Collections\r\n            SuiMessageModule,\r\n            SuiPaginationModule,\r\n            // Modules\r\n            SuiAccordionModule,\r\n            SuiCheckboxModule,\r\n            SuiCollapseModule,\r\n            SuiDatepickerModule,\r\n            SuiDimmerModule,\r\n            SuiDropdownModule,\r\n            SuiModalModule,\r\n            SuiPopupModule,\r\n            SuiProgressModule,\r\n            SuiRatingModule,\r\n            SuiSearchModule,\r\n            SuiSelectModule,\r\n            SuiSidebarModule,\r\n            SuiTabsModule,\r\n            SuiTransitionModule,\r\n            // Behaviors\r\n            SuiLocalizationModule,\r\n            // Misc\r\n            SuiUtilityModule\r\n        ]\r\n    })\r\n], SuiModule);\r\nexport { SuiModule };\r\n//# sourceMappingURL=sui.module.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-semantic-ui/dist/sui.module.js\n// module id = 1310\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar BASE64_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return Base64Validator; }),\r\n    multi: true\r\n};\r\nvar Base64Validator = (function () {\r\n    function Base64Validator() {\r\n    }\r\n    Base64Validator.prototype.validate = function (c) {\r\n        return _1.base64(c);\r\n    };\r\n    return Base64Validator;\r\n}());\r\nBase64Validator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[base64][formControlName],[base64][formControl],[base64][ngModel]',\r\n                providers: [BASE64_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nBase64Validator.ctorParameters = function () { return []; };\r\nexports.Base64Validator = Base64Validator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/base64/directive.js\n// module id = 1311\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.base64 = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    return /^(?:[A-Z0-9+\\/]{4})*(?:[A-Z0-9+\\/]{2}==|[A-Z0-9+\\/]{3}=|[A-Z0-9+\\/]{4})$/i.test(v) ? null : { 'base64': true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/base64/validator.js\n// module id = 1312\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar CREDIT_CARD_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return CreditCardValidator; }),\r\n    multi: true\r\n};\r\nvar CreditCardValidator = (function () {\r\n    function CreditCardValidator() {\r\n    }\r\n    CreditCardValidator.prototype.validate = function (c) {\r\n        return _1.creditCard(c);\r\n    };\r\n    return CreditCardValidator;\r\n}());\r\nCreditCardValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[creditCard][formControlName],[creditCard][formControl],[creditCard][ngModel]',\r\n                providers: [CREDIT_CARD_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nCreditCardValidator.ctorParameters = function () { return []; };\r\nexports.CreditCardValidator = CreditCardValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/credit-card/directive.js\n// module id = 1313\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.creditCard = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    var sanitized = v.replace(/[^0-9]+/g, '');\r\n    // problem with chrome\r\n    if (!(/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/.test(sanitized))) {\r\n        return { creditCard: true };\r\n    }\r\n    var sum = 0;\r\n    var digit;\r\n    var tmpNum;\r\n    var shouldDouble;\r\n    for (var i = sanitized.length - 1; i >= 0; i--) {\r\n        digit = sanitized.substring(i, (i + 1));\r\n        tmpNum = parseInt(digit, 10);\r\n        if (shouldDouble) {\r\n            tmpNum *= 2;\r\n            if (tmpNum >= 10) {\r\n                sum += ((tmpNum % 10) + 1);\r\n            }\r\n            else {\r\n                sum += tmpNum;\r\n            }\r\n        }\r\n        else {\r\n            sum += tmpNum;\r\n        }\r\n        shouldDouble = !shouldDouble;\r\n    }\r\n    if (Boolean((sum % 10) === 0 ? sanitized : false)) {\r\n        return null;\r\n    }\r\n    return { creditCard: true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/credit-card/validator.js\n// module id = 1314\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar DATE_ISO_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return DateISOValidator; }),\r\n    multi: true\r\n};\r\nvar DateISOValidator = (function () {\r\n    function DateISOValidator() {\r\n    }\r\n    DateISOValidator.prototype.validate = function (c) {\r\n        return _1.dateISO(c);\r\n    };\r\n    return DateISOValidator;\r\n}());\r\nDateISOValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[dateISO][formControlName],[dateISO][formControl],[dateISO][ngModel]',\r\n                providers: [DATE_ISO_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nDateISOValidator.ctorParameters = function () { return []; };\r\nexports.DateISOValidator = DateISOValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/date-ios/directive.js\n// module id = 1315\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.dateISO = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    return /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(v) ? null : { dateISO: true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/date-ios/validator.js\n// module id = 1316\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar DATE_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return DateValidator; }),\r\n    multi: true\r\n};\r\nvar DateValidator = (function () {\r\n    function DateValidator() {\r\n    }\r\n    DateValidator.prototype.validate = function (c) {\r\n        return _1.date(c);\r\n    };\r\n    return DateValidator;\r\n}());\r\nDateValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[date][formControlName],[date][formControl],[date][ngModel]',\r\n                providers: [DATE_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nDateValidator.ctorParameters = function () { return []; };\r\nexports.DateValidator = DateValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/date/directive.js\n// module id = 1317\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.date = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    return lang_1.isDate(v) ? null : { date: true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/date/validator.js\n// module id = 1318\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar DIGITS_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return DigitsValidator; }),\r\n    multi: true\r\n};\r\nvar DigitsValidator = (function () {\r\n    function DigitsValidator() {\r\n    }\r\n    DigitsValidator.prototype.validate = function (c) {\r\n        return _1.digits(c);\r\n    };\r\n    return DigitsValidator;\r\n}());\r\nDigitsValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[digits][formControlName],[digits][formControl],[digits][ngModel]',\r\n                providers: [DIGITS_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nDigitsValidator.ctorParameters = function () { return []; };\r\nexports.DigitsValidator = DigitsValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/digits/directive.js\n// module id = 1319\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.digits = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    return /^\\d+$/.test(v) ? null : { digits: true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/digits/validator.js\n// module id = 1320\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar index_1 = require(\"./index\");\r\nvar EMAIL_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return EmailValidator; }),\r\n    multi: true\r\n};\r\nvar EmailValidator = (function () {\r\n    function EmailValidator() {\r\n    }\r\n    EmailValidator.prototype.validate = function (c) {\r\n        return index_1.email(c);\r\n    };\r\n    return EmailValidator;\r\n}());\r\nEmailValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[email][formControlName],[email][formControl],[email][ngModel]',\r\n                providers: [EMAIL_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nEmailValidator.ctorParameters = function () { return []; };\r\nexports.EmailValidator = EmailValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/email/directive.js\n// module id = 1321\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.email = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    return /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(v) ? null : { 'email': true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/email/validator.js\n// module id = 1322\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar EQUAL_TO_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return EqualToValidator; }),\r\n    multi: true\r\n};\r\nvar EqualToValidator = (function () {\r\n    function EqualToValidator() {\r\n    }\r\n    EqualToValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.equalTo(this.equalTo);\r\n    };\r\n    EqualToValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    return EqualToValidator;\r\n}());\r\nEqualToValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[equalTo][formControlName],[equalTo][formControl],[equalTo][ngModel]',\r\n                providers: [EQUAL_TO_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nEqualToValidator.ctorParameters = function () { return []; };\r\nEqualToValidator.propDecorators = {\r\n    'equalTo': [{ type: core_1.Input },],\r\n};\r\nexports.EqualToValidator = EqualToValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/equal-to/directive.js\n// module id = 1323\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.equalTo = function (equalControl) {\r\n    var subscribe = false;\r\n    return function (control) {\r\n        if (!subscribe) {\r\n            subscribe = true;\r\n            equalControl.valueChanges.subscribe(function () {\r\n                control.updateValueAndValidity();\r\n            });\r\n        }\r\n        var v = control.value;\r\n        return equalControl.value === v ? null : { equalTo: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/equal-to/validator.js\n// module id = 1324\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar index_1 = require(\"./index\");\r\nvar EQUAL_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return EqualValidator; }),\r\n    multi: true\r\n};\r\nvar EqualValidator = (function () {\r\n    function EqualValidator() {\r\n    }\r\n    EqualValidator.prototype.ngOnInit = function () {\r\n        this.validator = index_1.equal(this.equal);\r\n    };\r\n    EqualValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'equal') {\r\n                this.validator = index_1.equal(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    EqualValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    EqualValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return EqualValidator;\r\n}());\r\nEqualValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[equal][formControlName],[equal][formControl],[equal][ngModel]',\r\n                providers: [EQUAL_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nEqualValidator.ctorParameters = function () { return []; };\r\nEqualValidator.propDecorators = {\r\n    'equal': [{ type: core_1.Input },],\r\n};\r\nexports.EqualValidator = EqualValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/equal/directive.js\n// module id = 1325\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.equal = function (val) {\r\n    return function (control) {\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = control.value;\r\n        return val === v ? null : { equal: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/equal/validator.js\n// module id = 1326\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar GREATER_THAN_EQUAL_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return GreaterThanEqualValidator; }),\r\n    multi: true\r\n};\r\nvar GreaterThanEqualValidator = (function () {\r\n    function GreaterThanEqualValidator() {\r\n    }\r\n    GreaterThanEqualValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.gte(this.gte);\r\n    };\r\n    GreaterThanEqualValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'gte') {\r\n                this.validator = _1.gte(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    GreaterThanEqualValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    GreaterThanEqualValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return GreaterThanEqualValidator;\r\n}());\r\nGreaterThanEqualValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[gte][formControlName],[gte][formControl],[gte][ngModel]',\r\n                providers: [GREATER_THAN_EQUAL_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nGreaterThanEqualValidator.ctorParameters = function () { return []; };\r\nGreaterThanEqualValidator.propDecorators = {\r\n    'gte': [{ type: core_1.Input },],\r\n};\r\nexports.GreaterThanEqualValidator = GreaterThanEqualValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/greater-than-equal/directive.js\n// module id = 1327\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.gte = function (gte) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(gte))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = +control.value;\r\n        return v >= +gte ? null : { gte: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/greater-than-equal/validator.js\n// module id = 1328\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar GREATER_THAN_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return GreaterThanValidator; }),\r\n    multi: true\r\n};\r\nvar GreaterThanValidator = (function () {\r\n    function GreaterThanValidator() {\r\n    }\r\n    GreaterThanValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.gt(this.gt);\r\n    };\r\n    GreaterThanValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'gt') {\r\n                this.validator = _1.gt(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    GreaterThanValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    GreaterThanValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return GreaterThanValidator;\r\n}());\r\nGreaterThanValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[gt][formControlName],[gt][formControl],[gt][ngModel]',\r\n                providers: [GREATER_THAN_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nGreaterThanValidator.ctorParameters = function () { return []; };\r\nGreaterThanValidator.propDecorators = {\r\n    'gt': [{ type: core_1.Input },],\r\n};\r\nexports.GreaterThanValidator = GreaterThanValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/greater-than/directive.js\n// module id = 1329\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.gt = function (gt) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(gt))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = +control.value;\r\n        return v > +gt ? null : { gt: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/greater-than/validator.js\n// module id = 1330\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar JSON_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return JSONValidator; }),\r\n    multi: true\r\n};\r\nvar JSONValidator = (function () {\r\n    function JSONValidator() {\r\n    }\r\n    JSONValidator.prototype.validate = function (c) {\r\n        return _1.json(c);\r\n    };\r\n    return JSONValidator;\r\n}());\r\nJSONValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[json][formControlName],[json][formControl],[json][ngModel]',\r\n                providers: [JSON_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nJSONValidator.ctorParameters = function () { return []; };\r\nexports.JSONValidator = JSONValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/json/directive.js\n// module id = 1331\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.json = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    try {\r\n        var obj = JSON.parse(v);\r\n        if (Boolean(obj) && typeof obj === 'object') {\r\n            return null;\r\n        }\r\n    }\r\n    catch (e) {\r\n    }\r\n    return { json: true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/json/validator.js\n// module id = 1332\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar LESS_THAN_EQUAL_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return LessThanEqualValidator; }),\r\n    multi: true\r\n};\r\nvar LessThanEqualValidator = (function () {\r\n    function LessThanEqualValidator() {\r\n    }\r\n    LessThanEqualValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.lte(this.lte);\r\n    };\r\n    LessThanEqualValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'lte') {\r\n                this.validator = _1.lte(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    LessThanEqualValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    LessThanEqualValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return LessThanEqualValidator;\r\n}());\r\nLessThanEqualValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[lte][formControlName],[lte][formControl],[lte][ngModel]',\r\n                providers: [LESS_THAN_EQUAL_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nLessThanEqualValidator.ctorParameters = function () { return []; };\r\nLessThanEqualValidator.propDecorators = {\r\n    'lte': [{ type: core_1.Input },],\r\n};\r\nexports.LessThanEqualValidator = LessThanEqualValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/less-than-equal/directive.js\n// module id = 1333\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.lte = function (lte) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(lte))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = +control.value;\r\n        return v <= +lte ? null : { lte: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/less-than-equal/validator.js\n// module id = 1334\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar LESS_THAN_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return LessThanValidator; }),\r\n    multi: true\r\n};\r\nvar LessThanValidator = (function () {\r\n    function LessThanValidator() {\r\n    }\r\n    LessThanValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.lt(this.lt);\r\n    };\r\n    LessThanValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'lt') {\r\n                this.validator = _1.lt(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    LessThanValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    LessThanValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return LessThanValidator;\r\n}());\r\nLessThanValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[lt][formControlName],[lt][formControl],[lt][ngModel]',\r\n                providers: [LESS_THAN_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nLessThanValidator.ctorParameters = function () { return []; };\r\nLessThanValidator.propDecorators = {\r\n    'lt': [{ type: core_1.Input },],\r\n};\r\nexports.LessThanValidator = LessThanValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/less-than/directive.js\n// module id = 1335\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.lt = function (lt) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(lt))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = +control.value;\r\n        return v < +lt ? null : { lt: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/less-than/validator.js\n// module id = 1336\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar MAX_DATE_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return MaxDateValidator; }),\r\n    multi: true\r\n};\r\nvar MaxDateValidator = (function () {\r\n    function MaxDateValidator() {\r\n    }\r\n    MaxDateValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.maxDate(this.maxDate);\r\n    };\r\n    MaxDateValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'maxDate') {\r\n                this.validator = _1.maxDate(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    MaxDateValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    MaxDateValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return MaxDateValidator;\r\n}());\r\nMaxDateValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[maxDate][formControlName],[maxDate][formControl],[maxDate][ngModel]',\r\n                providers: [MAX_DATE_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nMaxDateValidator.ctorParameters = function () { return []; };\r\nMaxDateValidator.propDecorators = {\r\n    'maxDate': [{ type: core_1.Input },],\r\n};\r\nexports.MaxDateValidator = MaxDateValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/max-date/directive.js\n// module id = 1337\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.maxDate = function (maxDate) {\r\n    if (!lang_1.isDate(maxDate) && !(maxDate instanceof Function)) {\r\n        throw Error('maxDate value must be or return a formatted date');\r\n    }\r\n    return function (control) {\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var d = new Date(control.value);\r\n        if (!lang_1.isDate(d))\r\n            return { maxDate: true };\r\n        if (maxDate instanceof Function)\r\n            maxDate = maxDate();\r\n        return d <= new Date(maxDate) ? null : { maxDate: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/max-date/validator.js\n// module id = 1338\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar MAX_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return MaxValidator; }),\r\n    multi: true\r\n};\r\nvar MaxValidator = (function () {\r\n    function MaxValidator() {\r\n    }\r\n    MaxValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.max(this.max);\r\n    };\r\n    MaxValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'max') {\r\n                this.validator = _1.max(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    MaxValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    MaxValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return MaxValidator;\r\n}());\r\nMaxValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[max][formControlName],[max][formControl],[max][ngModel]',\r\n                providers: [MAX_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nMaxValidator.ctorParameters = function () { return []; };\r\nMaxValidator.propDecorators = {\r\n    'max': [{ type: core_1.Input },],\r\n};\r\nexports.MaxValidator = MaxValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/max/directive.js\n// module id = 1339\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.max = function (max) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(max))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = +control.value;\r\n        return v <= +max ? null : { actualValue: v, requiredValue: +max, max: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/max/validator.js\n// module id = 1340\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar MIN_DATE_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return MinDateValidator; }),\r\n    multi: true\r\n};\r\nvar MinDateValidator = (function () {\r\n    function MinDateValidator() {\r\n    }\r\n    MinDateValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.minDate(this.minDate);\r\n    };\r\n    MinDateValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'minDate') {\r\n                this.validator = _1.minDate(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    MinDateValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    MinDateValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return MinDateValidator;\r\n}());\r\nMinDateValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[minDate][formControlName],[minDate][formControl],[minDate][ngModel]',\r\n                providers: [MIN_DATE_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nMinDateValidator.ctorParameters = function () { return []; };\r\nMinDateValidator.propDecorators = {\r\n    'minDate': [{ type: core_1.Input },],\r\n};\r\nexports.MinDateValidator = MinDateValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/min-date/directive.js\n// module id = 1341\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.minDate = function (minDate) {\r\n    if (!lang_1.isDate(minDate) && !(minDate instanceof Function)) {\r\n        throw Error('minDate value must be or return a formatted date');\r\n    }\r\n    return function (control) {\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var d = new Date(control.value);\r\n        if (!lang_1.isDate(d))\r\n            return { minDate: true };\r\n        if (minDate instanceof Function)\r\n            minDate = minDate();\r\n        return d >= new Date(minDate) ? null : { minDate: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/min-date/validator.js\n// module id = 1342\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar MIN_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return MinValidator; }),\r\n    multi: true\r\n};\r\nvar MinValidator = (function () {\r\n    function MinValidator() {\r\n    }\r\n    MinValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.min(this.min);\r\n    };\r\n    MinValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'min') {\r\n                this.validator = _1.min(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    MinValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    MinValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return MinValidator;\r\n}());\r\nMinValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[min][formControlName],[min][formControl],[min][ngModel]',\r\n                providers: [MIN_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nMinValidator.ctorParameters = function () { return []; };\r\nMinValidator.propDecorators = {\r\n    'min': [{ type: core_1.Input },],\r\n};\r\nexports.MinValidator = MinValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/min/directive.js\n// module id = 1343\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.min = function (min) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(min))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = +control.value;\r\n        return v >= +min ? null : { actualValue: v, requiredValue: +min, min: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/min/validator.js\n// module id = 1344\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar NOT_EQUAL_TO_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return NotEqualToValidator; }),\r\n    multi: true\r\n};\r\nvar NotEqualToValidator = (function () {\r\n    function NotEqualToValidator() {\r\n    }\r\n    NotEqualToValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.notEqualTo(this.notEqualTo);\r\n    };\r\n    NotEqualToValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    return NotEqualToValidator;\r\n}());\r\nNotEqualToValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[notEqualTo][formControlName],[notEqualTo][formControl],[notEqualTo][ngModel]',\r\n                providers: [NOT_EQUAL_TO_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nNotEqualToValidator.ctorParameters = function () { return []; };\r\nNotEqualToValidator.propDecorators = {\r\n    'notEqualTo': [{ type: core_1.Input },],\r\n};\r\nexports.NotEqualToValidator = NotEqualToValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/not-equal-to/directive.js\n// module id = 1345\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.notEqualTo = function (notEqualControl) {\r\n    var subscribe = false;\r\n    return function (control) {\r\n        if (!subscribe) {\r\n            subscribe = true;\r\n            notEqualControl.valueChanges.subscribe(function () {\r\n                control.updateValueAndValidity();\r\n            });\r\n        }\r\n        var v = control.value;\r\n        return notEqualControl.value !== v ? null : { notEqualTo: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/not-equal-to/validator.js\n// module id = 1346\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar index_1 = require(\"./index\");\r\nvar NOT_EQUAL_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return NotEqualValidator; }),\r\n    multi: true\r\n};\r\nvar NotEqualValidator = (function () {\r\n    function NotEqualValidator() {\r\n    }\r\n    NotEqualValidator.prototype.ngOnInit = function () {\r\n        this.validator = index_1.notEqual(this.notEqual);\r\n    };\r\n    NotEqualValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'notEqual') {\r\n                this.validator = index_1.notEqual(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    NotEqualValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    NotEqualValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return NotEqualValidator;\r\n}());\r\nNotEqualValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[notEqual][formControlName],[notEqual][formControl],[notEqual][ngModel]',\r\n                providers: [NOT_EQUAL_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nNotEqualValidator.ctorParameters = function () { return []; };\r\nNotEqualValidator.propDecorators = {\r\n    'notEqual': [{ type: core_1.Input },],\r\n};\r\nexports.NotEqualValidator = NotEqualValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/not-equal/directive.js\n// module id = 1347\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.notEqual = function (val) {\r\n    return function (control) {\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = control.value;\r\n        return val !== v ? null : { notEqual: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/not-equal/validator.js\n// module id = 1348\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar NUMBER_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return NumberValidator; }),\r\n    multi: true\r\n};\r\nvar NumberValidator = (function () {\r\n    function NumberValidator() {\r\n    }\r\n    NumberValidator.prototype.validate = function (c) {\r\n        return _1.number(c);\r\n    };\r\n    return NumberValidator;\r\n}());\r\nNumberValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[number][formControlName],[number][formControl],[number][ngModel]',\r\n                providers: [NUMBER_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nNumberValidator.ctorParameters = function () { return []; };\r\nexports.NumberValidator = NumberValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/number/directive.js\n// module id = 1349\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.number = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    return /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test(v) ? null : { 'number': true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/number/validator.js\n// module id = 1350\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar PHONE_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return PhoneValidator; }),\r\n    multi: true\r\n};\r\nvar PhoneValidator = (function () {\r\n    function PhoneValidator() {\r\n    }\r\n    PhoneValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.phone(this.phone);\r\n    };\r\n    PhoneValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'phone') {\r\n                this.validator = _1.phone(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    PhoneValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    PhoneValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return PhoneValidator;\r\n}());\r\nPhoneValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[phone][formControlName],[phone][formControl],[phone][ngModel]',\r\n                providers: [PHONE_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nPhoneValidator.ctorParameters = function () { return []; };\r\nPhoneValidator.propDecorators = {\r\n    'phone': [{ type: core_1.Input },],\r\n};\r\nexports.PhoneValidator = PhoneValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/phone/directive.js\n// module id = 1351\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar libphonenumber_js_1 = require(\"libphonenumber-js\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.phone = function (country) {\r\n    return function (control) {\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = control.value;\r\n        return libphonenumber_js_1.isValidNumber({ phone: v, country: country }) ? null : { phone: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/phone/validator.js\n// module id = 1352\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar RANGE_LENGTH_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return RangeLengthValidator; }),\r\n    multi: true\r\n};\r\nvar RangeLengthValidator = (function () {\r\n    function RangeLengthValidator() {\r\n    }\r\n    RangeLengthValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.rangeLength(this.rangeLength);\r\n    };\r\n    RangeLengthValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'rangeLength') {\r\n                this.validator = _1.rangeLength(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    RangeLengthValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    RangeLengthValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return RangeLengthValidator;\r\n}());\r\nRangeLengthValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[rangeLength][formControlName],[rangeLength][formControl],[rangeLength][ngModel]',\r\n                providers: [RANGE_LENGTH_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nRangeLengthValidator.ctorParameters = function () { return []; };\r\nRangeLengthValidator.propDecorators = {\r\n    'rangeLength': [{ type: core_1.Input },],\r\n};\r\nexports.RangeLengthValidator = RangeLengthValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/range-length/directive.js\n// module id = 1353\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.rangeLength = function (rangeLength) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(rangeLength))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = control.value;\r\n        return v.length >= rangeLength[0] && v.length <= rangeLength[1] ? null : { rangeLength: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/range-length/validator.js\n// module id = 1354\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar RANGE_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return RangeValidator; }),\r\n    multi: true\r\n};\r\nvar RangeValidator = (function () {\r\n    function RangeValidator() {\r\n    }\r\n    RangeValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.range(this.range);\r\n    };\r\n    RangeValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'range') {\r\n                this.validator = _1.range(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    RangeValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    RangeValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return RangeValidator;\r\n}());\r\nRangeValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[range][formControlName],[range][formControl],[range][ngModel]',\r\n                providers: [RANGE_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nRangeValidator.ctorParameters = function () { return []; };\r\nRangeValidator.propDecorators = {\r\n    'range': [{ type: core_1.Input },],\r\n};\r\nexports.RangeValidator = RangeValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/range/directive.js\n// module id = 1355\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.range = function (range) {\r\n    return function (control) {\r\n        if (!lang_1.isPresent(range))\r\n            return null;\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = +control.value;\r\n        return v >= range[0] && v <= range[1] ? null : { actualValue: v, requiredValue: range, range: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/range/validator.js\n// module id = 1356\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar URL_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return UrlValidator; }),\r\n    multi: true\r\n};\r\nvar UrlValidator = (function () {\r\n    function UrlValidator() {\r\n    }\r\n    UrlValidator.prototype.validate = function (c) {\r\n        return _1.url(c);\r\n    };\r\n    return UrlValidator;\r\n}());\r\nUrlValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[url][formControlName],[url][formControl],[url][ngModel]',\r\n                providers: [URL_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nUrlValidator.ctorParameters = function () { return []; };\r\nexports.UrlValidator = UrlValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/url/directive.js\n// module id = 1357\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nexports.url = function (control) {\r\n    if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n        return null;\r\n    var v = control.value;\r\n    return /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test(v) ? null : { 'url': true };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/url/validator.js\n// module id = 1358\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar core_1 = require(\"@angular/core\");\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar _1 = require(\"./\");\r\nvar UUID_VALIDATOR = {\r\n    provide: forms_1.NG_VALIDATORS,\r\n    useExisting: core_1.forwardRef(function () { return UUIDValidator; }),\r\n    multi: true\r\n};\r\nvar UUIDValidator = (function () {\r\n    function UUIDValidator() {\r\n    }\r\n    UUIDValidator.prototype.ngOnInit = function () {\r\n        this.validator = _1.uuid(this.uuid);\r\n    };\r\n    UUIDValidator.prototype.ngOnChanges = function (changes) {\r\n        for (var key in changes) {\r\n            if (key === 'uuid') {\r\n                this.validator = _1.uuid(changes[key].currentValue);\r\n                if (this.onChange)\r\n                    this.onChange();\r\n            }\r\n        }\r\n    };\r\n    UUIDValidator.prototype.validate = function (c) {\r\n        return this.validator(c);\r\n    };\r\n    UUIDValidator.prototype.registerOnValidatorChange = function (fn) {\r\n        this.onChange = fn;\r\n    };\r\n    return UUIDValidator;\r\n}());\r\nUUIDValidator.decorators = [\r\n    { type: core_1.Directive, args: [{\r\n                selector: '[uuid][formControlName],[uuid][formControl],[uuid][ngModel]',\r\n                providers: [UUID_VALIDATOR]\r\n            },] },\r\n];\r\n/** @nocollapse */\r\nUUIDValidator.ctorParameters = function () { return []; };\r\nUUIDValidator.propDecorators = {\r\n    'uuid': [{ type: core_1.Input },],\r\n};\r\nexports.UUIDValidator = UUIDValidator;\r\n//# sourceMappingURL=directive.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/uuid/directive.js\n// module id = 1359\n// module chunks = 3","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar forms_1 = require(\"@angular/forms\");\r\nvar lang_1 = require(\"../util/lang\");\r\nvar uuids = {\r\n    '3': /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,\r\n    '4': /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,\r\n    '5': /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,\r\n    'all': /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i\r\n};\r\nexports.uuid = function (version) {\r\n    return function (control) {\r\n        if (lang_1.isPresent(forms_1.Validators.required(control)))\r\n            return null;\r\n        var v = control.value;\r\n        var pattern = uuids[version] || uuids.all;\r\n        return (new RegExp(pattern)).test(v) ? null : { uuid: true };\r\n    };\r\n};\r\n//# sourceMappingURL=validator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-validation/dist/uuid/validator.js\n// module id = 1360\n// module chunks = 3","/**!\r\n * @fileOverview Kickass library to create and place poppers near their reference elements.\r\n * @version 1.12.9\r\n * @license\r\n * Copyright (c) 2016 Federico Zivolo and contributors\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\r\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\r\nvar timeoutDuration = 0;\r\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\r\n  if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\r\n    timeoutDuration = 1;\r\n    break;\r\n  }\r\n}\r\n\r\nfunction microtaskDebounce(fn) {\r\n  var called = false;\r\n  return function () {\r\n    if (called) {\r\n      return;\r\n    }\r\n    called = true;\r\n    window.Promise.resolve().then(function () {\r\n      called = false;\r\n      fn();\r\n    });\r\n  };\r\n}\r\n\r\nfunction taskDebounce(fn) {\r\n  var scheduled = false;\r\n  return function () {\r\n    if (!scheduled) {\r\n      scheduled = true;\r\n      setTimeout(function () {\r\n        scheduled = false;\r\n        fn();\r\n      }, timeoutDuration);\r\n    }\r\n  };\r\n}\r\n\r\nvar supportsMicroTasks = isBrowser && window.Promise;\r\n\r\n/**\r\n* Create a debounced version of a method, that's asynchronously deferred\r\n* but called in the minimum time possible.\r\n*\r\n* @method\r\n* @memberof Popper.Utils\r\n* @argument {Function} fn\r\n* @returns {Function}\r\n*/\r\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\r\n\r\n/**\r\n * Check if the given variable is a function\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Any} functionToCheck - variable to check\r\n * @returns {Boolean} answer to: is a function?\r\n */\r\nfunction isFunction(functionToCheck) {\r\n  var getType = {};\r\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\r\n}\r\n\r\n/**\r\n * Get CSS computed property of the given element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Eement} element\r\n * @argument {String} property\r\n */\r\nfunction getStyleComputedProperty(element, property) {\r\n  if (element.nodeType !== 1) {\r\n    return [];\r\n  }\r\n  // NOTE: 1 DOM access here\r\n  var css = getComputedStyle(element, null);\r\n  return property ? css[property] : css;\r\n}\r\n\r\n/**\r\n * Returns the parentNode or the host of the element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element\r\n * @returns {Element} parent\r\n */\r\nfunction getParentNode(element) {\r\n  if (element.nodeName === 'HTML') {\r\n    return element;\r\n  }\r\n  return element.parentNode || element.host;\r\n}\r\n\r\n/**\r\n * Returns the scrolling parent of the given element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element\r\n * @returns {Element} scroll parent\r\n */\r\nfunction getScrollParent(element) {\r\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\r\n  if (!element) {\r\n    return document.body;\r\n  }\r\n\r\n  switch (element.nodeName) {\r\n    case 'HTML':\r\n    case 'BODY':\r\n      return element.ownerDocument.body;\r\n    case '#document':\r\n      return element.body;\r\n  }\r\n\r\n  // Firefox want us to check `-x` and `-y` variations as well\r\n\r\n  var _getStyleComputedProp = getStyleComputedProperty(element),\r\n      overflow = _getStyleComputedProp.overflow,\r\n      overflowX = _getStyleComputedProp.overflowX,\r\n      overflowY = _getStyleComputedProp.overflowY;\r\n\r\n  if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\r\n    return element;\r\n  }\r\n\r\n  return getScrollParent(getParentNode(element));\r\n}\r\n\r\n/**\r\n * Returns the offset parent of the given element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element\r\n * @returns {Element} offset parent\r\n */\r\nfunction getOffsetParent(element) {\r\n  // NOTE: 1 DOM access here\r\n  var offsetParent = element && element.offsetParent;\r\n  var nodeName = offsetParent && offsetParent.nodeName;\r\n\r\n  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\r\n    if (element) {\r\n      return element.ownerDocument.documentElement;\r\n    }\r\n\r\n    return document.documentElement;\r\n  }\r\n\r\n  // .offsetParent will return the closest TD or TABLE in case\r\n  // no offsetParent is present, I hate this job...\r\n  if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\r\n    return getOffsetParent(offsetParent);\r\n  }\r\n\r\n  return offsetParent;\r\n}\r\n\r\nfunction isOffsetContainer(element) {\r\n  var nodeName = element.nodeName;\r\n\r\n  if (nodeName === 'BODY') {\r\n    return false;\r\n  }\r\n  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\r\n}\r\n\r\n/**\r\n * Finds the root node (document, shadowDOM root) of the given element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} node\r\n * @returns {Element} root node\r\n */\r\nfunction getRoot(node) {\r\n  if (node.parentNode !== null) {\r\n    return getRoot(node.parentNode);\r\n  }\r\n\r\n  return node;\r\n}\r\n\r\n/**\r\n * Finds the offset parent common to the two provided nodes\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element1\r\n * @argument {Element} element2\r\n * @returns {Element} common offset parent\r\n */\r\nfunction findCommonOffsetParent(element1, element2) {\r\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\r\n  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\r\n    return document.documentElement;\r\n  }\r\n\r\n  // Here we make sure to give as \"start\" the element that comes first in the DOM\r\n  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\r\n  var start = order ? element1 : element2;\r\n  var end = order ? element2 : element1;\r\n\r\n  // Get common ancestor container\r\n  var range = document.createRange();\r\n  range.setStart(start, 0);\r\n  range.setEnd(end, 0);\r\n  var commonAncestorContainer = range.commonAncestorContainer;\r\n\r\n  // Both nodes are inside #document\r\n\r\n  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\r\n    if (isOffsetContainer(commonAncestorContainer)) {\r\n      return commonAncestorContainer;\r\n    }\r\n\r\n    return getOffsetParent(commonAncestorContainer);\r\n  }\r\n\r\n  // one of the nodes is inside shadowDOM, find which one\r\n  var element1root = getRoot(element1);\r\n  if (element1root.host) {\r\n    return findCommonOffsetParent(element1root.host, element2);\r\n  } else {\r\n    return findCommonOffsetParent(element1, getRoot(element2).host);\r\n  }\r\n}\r\n\r\n/**\r\n * Gets the scroll value of the given element in the given side (top and left)\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element\r\n * @argument {String} side `top` or `left`\r\n * @returns {number} amount of scrolled pixels\r\n */\r\nfunction getScroll(element) {\r\n  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\r\n\r\n  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\r\n  var nodeName = element.nodeName;\r\n\r\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\r\n    var html = element.ownerDocument.documentElement;\r\n    var scrollingElement = element.ownerDocument.scrollingElement || html;\r\n    return scrollingElement[upperSide];\r\n  }\r\n\r\n  return element[upperSide];\r\n}\r\n\r\n/*\r\n * Sum or subtract the element scroll values (left and top) from a given rect object\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {Object} rect - Rect object you want to change\r\n * @param {HTMLElement} element - The element from the function reads the scroll values\r\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\r\n * @return {Object} rect - The modifier rect object\r\n */\r\nfunction includeScroll(rect, element) {\r\n  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\r\n\r\n  var scrollTop = getScroll(element, 'top');\r\n  var scrollLeft = getScroll(element, 'left');\r\n  var modifier = subtract ? -1 : 1;\r\n  rect.top += scrollTop * modifier;\r\n  rect.bottom += scrollTop * modifier;\r\n  rect.left += scrollLeft * modifier;\r\n  rect.right += scrollLeft * modifier;\r\n  return rect;\r\n}\r\n\r\n/*\r\n * Helper to detect borders of a given element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {CSSStyleDeclaration} styles\r\n * Result of `getStyleComputedProperty` on the given element\r\n * @param {String} axis - `x` or `y`\r\n * @return {number} borders - The borders size of the given axis\r\n */\r\n\r\nfunction getBordersSize(styles, axis) {\r\n  var sideA = axis === 'x' ? 'Left' : 'Top';\r\n  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\r\n\r\n  return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\r\n}\r\n\r\n/**\r\n * Tells if you are running Internet Explorer 10\r\n * @method\r\n * @memberof Popper.Utils\r\n * @returns {Boolean} isIE10\r\n */\r\nvar isIE10 = undefined;\r\n\r\nvar isIE10$1 = function () {\r\n  if (isIE10 === undefined) {\r\n    isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\r\n  }\r\n  return isIE10;\r\n};\r\n\r\nfunction getSize(axis, body, html, computedStyle) {\r\n  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\r\n}\r\n\r\nfunction getWindowSizes() {\r\n  var body = document.body;\r\n  var html = document.documentElement;\r\n  var computedStyle = isIE10$1() && getComputedStyle(html);\r\n\r\n  return {\r\n    height: getSize('Height', body, html, computedStyle),\r\n    width: getSize('Width', body, html, computedStyle)\r\n  };\r\n}\r\n\r\nvar classCallCheck = function (instance, Constructor) {\r\n  if (!(instance instanceof Constructor)) {\r\n    throw new TypeError(\"Cannot call a class as a function\");\r\n  }\r\n};\r\n\r\nvar createClass = function () {\r\n  function defineProperties(target, props) {\r\n    for (var i = 0; i < props.length; i++) {\r\n      var descriptor = props[i];\r\n      descriptor.enumerable = descriptor.enumerable || false;\r\n      descriptor.configurable = true;\r\n      if (\"value\" in descriptor) descriptor.writable = true;\r\n      Object.defineProperty(target, descriptor.key, descriptor);\r\n    }\r\n  }\r\n\r\n  return function (Constructor, protoProps, staticProps) {\r\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\r\n    if (staticProps) defineProperties(Constructor, staticProps);\r\n    return Constructor;\r\n  };\r\n}();\r\n\r\n\r\n\r\n\r\n\r\nvar defineProperty = function (obj, key, value) {\r\n  if (key in obj) {\r\n    Object.defineProperty(obj, key, {\r\n      value: value,\r\n      enumerable: true,\r\n      configurable: true,\r\n      writable: true\r\n    });\r\n  } else {\r\n    obj[key] = value;\r\n  }\r\n\r\n  return obj;\r\n};\r\n\r\nvar _extends = Object.assign || function (target) {\r\n  for (var i = 1; i < arguments.length; i++) {\r\n    var source = arguments[i];\r\n\r\n    for (var key in source) {\r\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n        target[key] = source[key];\r\n      }\r\n    }\r\n  }\r\n\r\n  return target;\r\n};\r\n\r\n/**\r\n * Given element offsets, generate an output similar to getBoundingClientRect\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Object} offsets\r\n * @returns {Object} ClientRect like output\r\n */\r\nfunction getClientRect(offsets) {\r\n  return _extends({}, offsets, {\r\n    right: offsets.left + offsets.width,\r\n    bottom: offsets.top + offsets.height\r\n  });\r\n}\r\n\r\n/**\r\n * Get bounding client rect of given element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {HTMLElement} element\r\n * @return {Object} client rect\r\n */\r\nfunction getBoundingClientRect(element) {\r\n  var rect = {};\r\n\r\n  // IE10 10 FIX: Please, don't ask, the element isn't\r\n  // considered in DOM in some circumstances...\r\n  // This isn't reproducible in IE10 compatibility mode of IE11\r\n  if (isIE10$1()) {\r\n    try {\r\n      rect = element.getBoundingClientRect();\r\n      var scrollTop = getScroll(element, 'top');\r\n      var scrollLeft = getScroll(element, 'left');\r\n      rect.top += scrollTop;\r\n      rect.left += scrollLeft;\r\n      rect.bottom += scrollTop;\r\n      rect.right += scrollLeft;\r\n    } catch (err) {}\r\n  } else {\r\n    rect = element.getBoundingClientRect();\r\n  }\r\n\r\n  var result = {\r\n    left: rect.left,\r\n    top: rect.top,\r\n    width: rect.right - rect.left,\r\n    height: rect.bottom - rect.top\r\n  };\r\n\r\n  // subtract scrollbar size from sizes\r\n  var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\r\n  var width = sizes.width || element.clientWidth || result.right - result.left;\r\n  var height = sizes.height || element.clientHeight || result.bottom - result.top;\r\n\r\n  var horizScrollbar = element.offsetWidth - width;\r\n  var vertScrollbar = element.offsetHeight - height;\r\n\r\n  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\r\n  // we make this check conditional for performance reasons\r\n  if (horizScrollbar || vertScrollbar) {\r\n    var styles = getStyleComputedProperty(element);\r\n    horizScrollbar -= getBordersSize(styles, 'x');\r\n    vertScrollbar -= getBordersSize(styles, 'y');\r\n\r\n    result.width -= horizScrollbar;\r\n    result.height -= vertScrollbar;\r\n  }\r\n\r\n  return getClientRect(result);\r\n}\r\n\r\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\r\n  var isIE10 = isIE10$1();\r\n  var isHTML = parent.nodeName === 'HTML';\r\n  var childrenRect = getBoundingClientRect(children);\r\n  var parentRect = getBoundingClientRect(parent);\r\n  var scrollParent = getScrollParent(children);\r\n\r\n  var styles = getStyleComputedProperty(parent);\r\n  var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\r\n  var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\r\n\r\n  var offsets = getClientRect({\r\n    top: childrenRect.top - parentRect.top - borderTopWidth,\r\n    left: childrenRect.left - parentRect.left - borderLeftWidth,\r\n    width: childrenRect.width,\r\n    height: childrenRect.height\r\n  });\r\n  offsets.marginTop = 0;\r\n  offsets.marginLeft = 0;\r\n\r\n  // Subtract margins of documentElement in case it's being used as parent\r\n  // we do this only on HTML because it's the only element that behaves\r\n  // differently when margins are applied to it. The margins are included in\r\n  // the box of the documentElement, in the other cases not.\r\n  if (!isIE10 && isHTML) {\r\n    var marginTop = parseFloat(styles.marginTop, 10);\r\n    var marginLeft = parseFloat(styles.marginLeft, 10);\r\n\r\n    offsets.top -= borderTopWidth - marginTop;\r\n    offsets.bottom -= borderTopWidth - marginTop;\r\n    offsets.left -= borderLeftWidth - marginLeft;\r\n    offsets.right -= borderLeftWidth - marginLeft;\r\n\r\n    // Attach marginTop and marginLeft because in some circumstances we may need them\r\n    offsets.marginTop = marginTop;\r\n    offsets.marginLeft = marginLeft;\r\n  }\r\n\r\n  if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\r\n    offsets = includeScroll(offsets, parent);\r\n  }\r\n\r\n  return offsets;\r\n}\r\n\r\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\r\n  var html = element.ownerDocument.documentElement;\r\n  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\r\n  var width = Math.max(html.clientWidth, window.innerWidth || 0);\r\n  var height = Math.max(html.clientHeight, window.innerHeight || 0);\r\n\r\n  var scrollTop = getScroll(html);\r\n  var scrollLeft = getScroll(html, 'left');\r\n\r\n  var offset = {\r\n    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\r\n    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\r\n    width: width,\r\n    height: height\r\n  };\r\n\r\n  return getClientRect(offset);\r\n}\r\n\r\n/**\r\n * Check if the given element is fixed or is inside a fixed parent\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element\r\n * @argument {Element} customContainer\r\n * @returns {Boolean} answer to \"isFixed?\"\r\n */\r\nfunction isFixed(element) {\r\n  var nodeName = element.nodeName;\r\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\r\n    return false;\r\n  }\r\n  if (getStyleComputedProperty(element, 'position') === 'fixed') {\r\n    return true;\r\n  }\r\n  return isFixed(getParentNode(element));\r\n}\r\n\r\n/**\r\n * Computed the boundaries limits and return them\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {HTMLElement} popper\r\n * @param {HTMLElement} reference\r\n * @param {number} padding\r\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\r\n * @returns {Object} Coordinates of the boundaries\r\n */\r\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\r\n  // NOTE: 1 DOM access here\r\n  var boundaries = { top: 0, left: 0 };\r\n  var offsetParent = findCommonOffsetParent(popper, reference);\r\n\r\n  // Handle viewport case\r\n  if (boundariesElement === 'viewport') {\r\n    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\r\n  } else {\r\n    // Handle other cases based on DOM element used as boundaries\r\n    var boundariesNode = void 0;\r\n    if (boundariesElement === 'scrollParent') {\r\n      boundariesNode = getScrollParent(getParentNode(reference));\r\n      if (boundariesNode.nodeName === 'BODY') {\r\n        boundariesNode = popper.ownerDocument.documentElement;\r\n      }\r\n    } else if (boundariesElement === 'window') {\r\n      boundariesNode = popper.ownerDocument.documentElement;\r\n    } else {\r\n      boundariesNode = boundariesElement;\r\n    }\r\n\r\n    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\r\n\r\n    // In case of HTML, we need a different computation\r\n    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\r\n      var _getWindowSizes = getWindowSizes(),\r\n          height = _getWindowSizes.height,\r\n          width = _getWindowSizes.width;\r\n\r\n      boundaries.top += offsets.top - offsets.marginTop;\r\n      boundaries.bottom = height + offsets.top;\r\n      boundaries.left += offsets.left - offsets.marginLeft;\r\n      boundaries.right = width + offsets.left;\r\n    } else {\r\n      // for all the other DOM elements, this one is good\r\n      boundaries = offsets;\r\n    }\r\n  }\r\n\r\n  // Add paddings\r\n  boundaries.left += padding;\r\n  boundaries.top += padding;\r\n  boundaries.right -= padding;\r\n  boundaries.bottom -= padding;\r\n\r\n  return boundaries;\r\n}\r\n\r\nfunction getArea(_ref) {\r\n  var width = _ref.width,\r\n      height = _ref.height;\r\n\r\n  return width * height;\r\n}\r\n\r\n/**\r\n * Utility used to transform the `auto` placement to the placement with more\r\n * available space.\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Object} data - The data object generated by update method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\r\n  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\r\n\r\n  if (placement.indexOf('auto') === -1) {\r\n    return placement;\r\n  }\r\n\r\n  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\r\n\r\n  var rects = {\r\n    top: {\r\n      width: boundaries.width,\r\n      height: refRect.top - boundaries.top\r\n    },\r\n    right: {\r\n      width: boundaries.right - refRect.right,\r\n      height: boundaries.height\r\n    },\r\n    bottom: {\r\n      width: boundaries.width,\r\n      height: boundaries.bottom - refRect.bottom\r\n    },\r\n    left: {\r\n      width: refRect.left - boundaries.left,\r\n      height: boundaries.height\r\n    }\r\n  };\r\n\r\n  var sortedAreas = Object.keys(rects).map(function (key) {\r\n    return _extends({\r\n      key: key\r\n    }, rects[key], {\r\n      area: getArea(rects[key])\r\n    });\r\n  }).sort(function (a, b) {\r\n    return b.area - a.area;\r\n  });\r\n\r\n  var filteredAreas = sortedAreas.filter(function (_ref2) {\r\n    var width = _ref2.width,\r\n        height = _ref2.height;\r\n    return width >= popper.clientWidth && height >= popper.clientHeight;\r\n  });\r\n\r\n  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\r\n\r\n  var variation = placement.split('-')[1];\r\n\r\n  return computedPlacement + (variation ? '-' + variation : '');\r\n}\r\n\r\n/**\r\n * Get offsets to the reference element\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {Object} state\r\n * @param {Element} popper - the popper element\r\n * @param {Element} reference - the reference element (the popper will be relative to this)\r\n * @returns {Object} An object containing the offsets which will be applied to the popper\r\n */\r\nfunction getReferenceOffsets(state, popper, reference) {\r\n  var commonOffsetParent = findCommonOffsetParent(popper, reference);\r\n  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\r\n}\r\n\r\n/**\r\n * Get the outer sizes of the given element (offset size + margins)\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element\r\n * @returns {Object} object containing width and height properties\r\n */\r\nfunction getOuterSizes(element) {\r\n  var styles = getComputedStyle(element);\r\n  var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\r\n  var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\r\n  var result = {\r\n    width: element.offsetWidth + y,\r\n    height: element.offsetHeight + x\r\n  };\r\n  return result;\r\n}\r\n\r\n/**\r\n * Get the opposite placement of the given one\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {String} placement\r\n * @returns {String} flipped placement\r\n */\r\nfunction getOppositePlacement(placement) {\r\n  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\r\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\r\n    return hash[matched];\r\n  });\r\n}\r\n\r\n/**\r\n * Get offsets to the popper\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {Object} position - CSS position the Popper will get applied\r\n * @param {HTMLElement} popper - the popper element\r\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\r\n * @param {String} placement - one of the valid placement options\r\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\r\n */\r\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\r\n  placement = placement.split('-')[0];\r\n\r\n  // Get popper node sizes\r\n  var popperRect = getOuterSizes(popper);\r\n\r\n  // Add position, width and height to our offsets object\r\n  var popperOffsets = {\r\n    width: popperRect.width,\r\n    height: popperRect.height\r\n  };\r\n\r\n  // depending by the popper placement we have to compute its offsets slightly differently\r\n  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\r\n  var mainSide = isHoriz ? 'top' : 'left';\r\n  var secondarySide = isHoriz ? 'left' : 'top';\r\n  var measurement = isHoriz ? 'height' : 'width';\r\n  var secondaryMeasurement = !isHoriz ? 'height' : 'width';\r\n\r\n  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\r\n  if (placement === secondarySide) {\r\n    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\r\n  } else {\r\n    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\r\n  }\r\n\r\n  return popperOffsets;\r\n}\r\n\r\n/**\r\n * Mimics the `find` method of Array\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Array} arr\r\n * @argument prop\r\n * @argument value\r\n * @returns index or -1\r\n */\r\nfunction find(arr, check) {\r\n  // use native find if supported\r\n  if (Array.prototype.find) {\r\n    return arr.find(check);\r\n  }\r\n\r\n  // use `filter` to obtain the same behavior of `find`\r\n  return arr.filter(check)[0];\r\n}\r\n\r\n/**\r\n * Return the index of the matching object\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Array} arr\r\n * @argument prop\r\n * @argument value\r\n * @returns index or -1\r\n */\r\nfunction findIndex(arr, prop, value) {\r\n  // use native findIndex if supported\r\n  if (Array.prototype.findIndex) {\r\n    return arr.findIndex(function (cur) {\r\n      return cur[prop] === value;\r\n    });\r\n  }\r\n\r\n  // use `find` + `indexOf` if `findIndex` isn't supported\r\n  var match = find(arr, function (obj) {\r\n    return obj[prop] === value;\r\n  });\r\n  return arr.indexOf(match);\r\n}\r\n\r\n/**\r\n * Loop trough the list of modifiers and run them in order,\r\n * each of them will then edit the data object.\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {dataObject} data\r\n * @param {Array} modifiers\r\n * @param {String} ends - Optional modifier name used as stopper\r\n * @returns {dataObject}\r\n */\r\nfunction runModifiers(modifiers, data, ends) {\r\n  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\r\n\r\n  modifiersToRun.forEach(function (modifier) {\r\n    if (modifier['function']) {\r\n      // eslint-disable-line dot-notation\r\n      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\r\n    }\r\n    var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\r\n    if (modifier.enabled && isFunction(fn)) {\r\n      // Add properties to offsets to make them a complete clientRect object\r\n      // we do this before each modifier to make sure the previous one doesn't\r\n      // mess with these values\r\n      data.offsets.popper = getClientRect(data.offsets.popper);\r\n      data.offsets.reference = getClientRect(data.offsets.reference);\r\n\r\n      data = fn(data, modifier);\r\n    }\r\n  });\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * Updates the position of the popper, computing the new offsets and applying\r\n * the new style.<br />\r\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\r\n * @method\r\n * @memberof Popper\r\n */\r\nfunction update() {\r\n  // if popper is destroyed, don't perform any further update\r\n  if (this.state.isDestroyed) {\r\n    return;\r\n  }\r\n\r\n  var data = {\r\n    instance: this,\r\n    styles: {},\r\n    arrowStyles: {},\r\n    attributes: {},\r\n    flipped: false,\r\n    offsets: {}\r\n  };\r\n\r\n  // compute reference element offsets\r\n  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\r\n\r\n  // compute auto placement, store placement inside the data object,\r\n  // modifiers will be able to edit `placement` if needed\r\n  // and refer to originalPlacement to know the original value\r\n  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\r\n\r\n  // store the computed placement inside `originalPlacement`\r\n  data.originalPlacement = data.placement;\r\n\r\n  // compute the popper offsets\r\n  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\r\n  data.offsets.popper.position = 'absolute';\r\n\r\n  // run the modifiers\r\n  data = runModifiers(this.modifiers, data);\r\n\r\n  // the first `update` will call `onCreate` callback\r\n  // the other ones will call `onUpdate` callback\r\n  if (!this.state.isCreated) {\r\n    this.state.isCreated = true;\r\n    this.options.onCreate(data);\r\n  } else {\r\n    this.options.onUpdate(data);\r\n  }\r\n}\r\n\r\n/**\r\n * Helper used to know if the given modifier is enabled.\r\n * @method\r\n * @memberof Popper.Utils\r\n * @returns {Boolean}\r\n */\r\nfunction isModifierEnabled(modifiers, modifierName) {\r\n  return modifiers.some(function (_ref) {\r\n    var name = _ref.name,\r\n        enabled = _ref.enabled;\r\n    return enabled && name === modifierName;\r\n  });\r\n}\r\n\r\n/**\r\n * Get the prefixed supported property name\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {String} property (camelCase)\r\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\r\n */\r\nfunction getSupportedPropertyName(property) {\r\n  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\r\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\r\n\r\n  for (var i = 0; i < prefixes.length - 1; i++) {\r\n    var prefix = prefixes[i];\r\n    var toCheck = prefix ? '' + prefix + upperProp : property;\r\n    if (typeof document.body.style[toCheck] !== 'undefined') {\r\n      return toCheck;\r\n    }\r\n  }\r\n  return null;\r\n}\r\n\r\n/**\r\n * Destroy the popper\r\n * @method\r\n * @memberof Popper\r\n */\r\nfunction destroy() {\r\n  this.state.isDestroyed = true;\r\n\r\n  // touch DOM only if `applyStyle` modifier is enabled\r\n  if (isModifierEnabled(this.modifiers, 'applyStyle')) {\r\n    this.popper.removeAttribute('x-placement');\r\n    this.popper.style.left = '';\r\n    this.popper.style.position = '';\r\n    this.popper.style.top = '';\r\n    this.popper.style[getSupportedPropertyName('transform')] = '';\r\n  }\r\n\r\n  this.disableEventListeners();\r\n\r\n  // remove the popper if user explicity asked for the deletion on destroy\r\n  // do not use `remove` because IE11 doesn't support it\r\n  if (this.options.removeOnDestroy) {\r\n    this.popper.parentNode.removeChild(this.popper);\r\n  }\r\n  return this;\r\n}\r\n\r\n/**\r\n * Get the window associated with the element\r\n * @argument {Element} element\r\n * @returns {Window}\r\n */\r\nfunction getWindow(element) {\r\n  var ownerDocument = element.ownerDocument;\r\n  return ownerDocument ? ownerDocument.defaultView : window;\r\n}\r\n\r\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\r\n  var isBody = scrollParent.nodeName === 'BODY';\r\n  var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\r\n  target.addEventListener(event, callback, { passive: true });\r\n\r\n  if (!isBody) {\r\n    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\r\n  }\r\n  scrollParents.push(target);\r\n}\r\n\r\n/**\r\n * Setup needed event listeners used to update the popper position\r\n * @method\r\n * @memberof Popper.Utils\r\n * @private\r\n */\r\nfunction setupEventListeners(reference, options, state, updateBound) {\r\n  // Resize event listener on window\r\n  state.updateBound = updateBound;\r\n  getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\r\n\r\n  // Scroll event listener on scroll parents\r\n  var scrollElement = getScrollParent(reference);\r\n  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\r\n  state.scrollElement = scrollElement;\r\n  state.eventsEnabled = true;\r\n\r\n  return state;\r\n}\r\n\r\n/**\r\n * It will add resize/scroll events and start recalculating\r\n * position of the popper element when they are triggered.\r\n * @method\r\n * @memberof Popper\r\n */\r\nfunction enableEventListeners() {\r\n  if (!this.state.eventsEnabled) {\r\n    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\r\n  }\r\n}\r\n\r\n/**\r\n * Remove event listeners used to update the popper position\r\n * @method\r\n * @memberof Popper.Utils\r\n * @private\r\n */\r\nfunction removeEventListeners(reference, state) {\r\n  // Remove resize event listener on window\r\n  getWindow(reference).removeEventListener('resize', state.updateBound);\r\n\r\n  // Remove scroll event listener on scroll parents\r\n  state.scrollParents.forEach(function (target) {\r\n    target.removeEventListener('scroll', state.updateBound);\r\n  });\r\n\r\n  // Reset state\r\n  state.updateBound = null;\r\n  state.scrollParents = [];\r\n  state.scrollElement = null;\r\n  state.eventsEnabled = false;\r\n  return state;\r\n}\r\n\r\n/**\r\n * It will remove resize/scroll events and won't recalculate popper position\r\n * when they are triggered. It also won't trigger onUpdate callback anymore,\r\n * unless you call `update` method manually.\r\n * @method\r\n * @memberof Popper\r\n */\r\nfunction disableEventListeners() {\r\n  if (this.state.eventsEnabled) {\r\n    cancelAnimationFrame(this.scheduleUpdate);\r\n    this.state = removeEventListeners(this.reference, this.state);\r\n  }\r\n}\r\n\r\n/**\r\n * Tells if a given input is a number\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {*} input to check\r\n * @return {Boolean}\r\n */\r\nfunction isNumeric(n) {\r\n  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\r\n}\r\n\r\n/**\r\n * Set the style to the given popper\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element - Element to apply the style to\r\n * @argument {Object} styles\r\n * Object with a list of properties and values which will be applied to the element\r\n */\r\nfunction setStyles(element, styles) {\r\n  Object.keys(styles).forEach(function (prop) {\r\n    var unit = '';\r\n    // add unit if the value is numeric and is one of the following\r\n    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\r\n      unit = 'px';\r\n    }\r\n    element.style[prop] = styles[prop] + unit;\r\n  });\r\n}\r\n\r\n/**\r\n * Set the attributes to the given popper\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {Element} element - Element to apply the attributes to\r\n * @argument {Object} styles\r\n * Object with a list of properties and values which will be applied to the element\r\n */\r\nfunction setAttributes(element, attributes) {\r\n  Object.keys(attributes).forEach(function (prop) {\r\n    var value = attributes[prop];\r\n    if (value !== false) {\r\n      element.setAttribute(prop, attributes[prop]);\r\n    } else {\r\n      element.removeAttribute(prop);\r\n    }\r\n  });\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by `update` method\r\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\r\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The same data object\r\n */\r\nfunction applyStyle(data) {\r\n  // any property present in `data.styles` will be applied to the popper,\r\n  // in this way we can make the 3rd party modifiers add custom styles to it\r\n  // Be aware, modifiers could override the properties defined in the previous\r\n  // lines of this modifier!\r\n  setStyles(data.instance.popper, data.styles);\r\n\r\n  // any property present in `data.attributes` will be applied to the popper,\r\n  // they will be set as HTML attributes of the element\r\n  setAttributes(data.instance.popper, data.attributes);\r\n\r\n  // if arrowElement is defined and arrowStyles has some properties\r\n  if (data.arrowElement && Object.keys(data.arrowStyles).length) {\r\n    setStyles(data.arrowElement, data.arrowStyles);\r\n  }\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * Set the x-placement attribute before everything else because it could be used\r\n * to add margins to the popper margins needs to be calculated to get the\r\n * correct popper offsets.\r\n * @method\r\n * @memberof Popper.modifiers\r\n * @param {HTMLElement} reference - The reference element used to position the popper\r\n * @param {HTMLElement} popper - The HTML element used as popper.\r\n * @param {Object} options - Popper.js options\r\n */\r\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\r\n  // compute reference element offsets\r\n  var referenceOffsets = getReferenceOffsets(state, popper, reference);\r\n\r\n  // compute auto placement, store placement inside the data object,\r\n  // modifiers will be able to edit `placement` if needed\r\n  // and refer to originalPlacement to know the original value\r\n  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\r\n\r\n  popper.setAttribute('x-placement', placement);\r\n\r\n  // Apply `position` to popper before anything else because\r\n  // without the position applied we can't guarantee correct computations\r\n  setStyles(popper, { position: 'absolute' });\r\n\r\n  return options;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by `update` method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction computeStyle(data, options) {\r\n  var x = options.x,\r\n      y = options.y;\r\n  var popper = data.offsets.popper;\r\n\r\n  // Remove this legacy support in Popper.js v2\r\n\r\n  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\r\n    return modifier.name === 'applyStyle';\r\n  }).gpuAcceleration;\r\n  if (legacyGpuAccelerationOption !== undefined) {\r\n    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\r\n  }\r\n  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\r\n\r\n  var offsetParent = getOffsetParent(data.instance.popper);\r\n  var offsetParentRect = getBoundingClientRect(offsetParent);\r\n\r\n  // Styles\r\n  var styles = {\r\n    position: popper.position\r\n  };\r\n\r\n  // floor sides to avoid blurry text\r\n  var offsets = {\r\n    left: Math.floor(popper.left),\r\n    top: Math.floor(popper.top),\r\n    bottom: Math.floor(popper.bottom),\r\n    right: Math.floor(popper.right)\r\n  };\r\n\r\n  var sideA = x === 'bottom' ? 'top' : 'bottom';\r\n  var sideB = y === 'right' ? 'left' : 'right';\r\n\r\n  // if gpuAcceleration is set to `true` and transform is supported,\r\n  //  we use `translate3d` to apply the position to the popper we\r\n  // automatically use the supported prefixed version if needed\r\n  var prefixedProperty = getSupportedPropertyName('transform');\r\n\r\n  // now, let's make a step back and look at this code closely (wtf?)\r\n  // If the content of the popper grows once it's been positioned, it\r\n  // may happen that the popper gets misplaced because of the new content\r\n  // overflowing its reference element\r\n  // To avoid this problem, we provide two options (x and y), which allow\r\n  // the consumer to define the offset origin.\r\n  // If we position a popper on top of a reference element, we can set\r\n  // `x` to `top` to make the popper grow towards its top instead of\r\n  // its bottom.\r\n  var left = void 0,\r\n      top = void 0;\r\n  if (sideA === 'bottom') {\r\n    top = -offsetParentRect.height + offsets.bottom;\r\n  } else {\r\n    top = offsets.top;\r\n  }\r\n  if (sideB === 'right') {\r\n    left = -offsetParentRect.width + offsets.right;\r\n  } else {\r\n    left = offsets.left;\r\n  }\r\n  if (gpuAcceleration && prefixedProperty) {\r\n    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\r\n    styles[sideA] = 0;\r\n    styles[sideB] = 0;\r\n    styles.willChange = 'transform';\r\n  } else {\r\n    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\r\n    var invertTop = sideA === 'bottom' ? -1 : 1;\r\n    var invertLeft = sideB === 'right' ? -1 : 1;\r\n    styles[sideA] = top * invertTop;\r\n    styles[sideB] = left * invertLeft;\r\n    styles.willChange = sideA + ', ' + sideB;\r\n  }\r\n\r\n  // Attributes\r\n  var attributes = {\r\n    'x-placement': data.placement\r\n  };\r\n\r\n  // Update `data` attributes, styles and arrowStyles\r\n  data.attributes = _extends({}, attributes, data.attributes);\r\n  data.styles = _extends({}, styles, data.styles);\r\n  data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * Helper used to know if the given modifier depends from another one.<br />\r\n * It checks if the needed modifier is listed and enabled.\r\n * @method\r\n * @memberof Popper.Utils\r\n * @param {Array} modifiers - list of modifiers\r\n * @param {String} requestingName - name of requesting modifier\r\n * @param {String} requestedName - name of requested modifier\r\n * @returns {Boolean}\r\n */\r\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\r\n  var requesting = find(modifiers, function (_ref) {\r\n    var name = _ref.name;\r\n    return name === requestingName;\r\n  });\r\n\r\n  var isRequired = !!requesting && modifiers.some(function (modifier) {\r\n    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\r\n  });\r\n\r\n  if (!isRequired) {\r\n    var _requesting = '`' + requestingName + '`';\r\n    var requested = '`' + requestedName + '`';\r\n    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\r\n  }\r\n  return isRequired;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by update method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction arrow(data, options) {\r\n  var _data$offsets$arrow;\r\n\r\n  // arrow depends on keepTogether in order to work\r\n  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\r\n    return data;\r\n  }\r\n\r\n  var arrowElement = options.element;\r\n\r\n  // if arrowElement is a string, suppose it's a CSS selector\r\n  if (typeof arrowElement === 'string') {\r\n    arrowElement = data.instance.popper.querySelector(arrowElement);\r\n\r\n    // if arrowElement is not found, don't run the modifier\r\n    if (!arrowElement) {\r\n      return data;\r\n    }\r\n  } else {\r\n    // if the arrowElement isn't a query selector we must check that the\r\n    // provided DOM node is child of its popper node\r\n    if (!data.instance.popper.contains(arrowElement)) {\r\n      console.warn('WARNING: `arrow.element` must be child of its popper element!');\r\n      return data;\r\n    }\r\n  }\r\n\r\n  var placement = data.placement.split('-')[0];\r\n  var _data$offsets = data.offsets,\r\n      popper = _data$offsets.popper,\r\n      reference = _data$offsets.reference;\r\n\r\n  var isVertical = ['left', 'right'].indexOf(placement) !== -1;\r\n\r\n  var len = isVertical ? 'height' : 'width';\r\n  var sideCapitalized = isVertical ? 'Top' : 'Left';\r\n  var side = sideCapitalized.toLowerCase();\r\n  var altSide = isVertical ? 'left' : 'top';\r\n  var opSide = isVertical ? 'bottom' : 'right';\r\n  var arrowElementSize = getOuterSizes(arrowElement)[len];\r\n\r\n  //\r\n  // extends keepTogether behavior making sure the popper and its\r\n  // reference have enough pixels in conjuction\r\n  //\r\n\r\n  // top/left side\r\n  if (reference[opSide] - arrowElementSize < popper[side]) {\r\n    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\r\n  }\r\n  // bottom/right side\r\n  if (reference[side] + arrowElementSize > popper[opSide]) {\r\n    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\r\n  }\r\n  data.offsets.popper = getClientRect(data.offsets.popper);\r\n\r\n  // compute center of the popper\r\n  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\r\n\r\n  // Compute the sideValue using the updated popper offsets\r\n  // take popper margin in account because we don't have this info available\r\n  var css = getStyleComputedProperty(data.instance.popper);\r\n  var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\r\n  var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\r\n  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\r\n\r\n  // prevent arrowElement from being placed not contiguously to its popper\r\n  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\r\n\r\n  data.arrowElement = arrowElement;\r\n  data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * Get the opposite placement variation of the given one\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {String} placement variation\r\n * @returns {String} flipped placement variation\r\n */\r\nfunction getOppositeVariation(variation) {\r\n  if (variation === 'end') {\r\n    return 'start';\r\n  } else if (variation === 'start') {\r\n    return 'end';\r\n  }\r\n  return variation;\r\n}\r\n\r\n/**\r\n * List of accepted placements to use as values of the `placement` option.<br />\r\n * Valid placements are:\r\n * - `auto`\r\n * - `top`\r\n * - `right`\r\n * - `bottom`\r\n * - `left`\r\n *\r\n * Each placement can have a variation from this list:\r\n * - `-start`\r\n * - `-end`\r\n *\r\n * Variations are interpreted easily if you think of them as the left to right\r\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\r\n * is right.<br />\r\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\r\n *\r\n * Some valid examples are:\r\n * - `top-end` (on top of reference, right aligned)\r\n * - `right-start` (on right of reference, top aligned)\r\n * - `bottom` (on bottom, centered)\r\n * - `auto-right` (on the side with more space available, alignment depends by placement)\r\n *\r\n * @static\r\n * @type {Array}\r\n * @enum {String}\r\n * @readonly\r\n * @method placements\r\n * @memberof Popper\r\n */\r\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\r\n\r\n// Get rid of `auto` `auto-start` and `auto-end`\r\nvar validPlacements = placements.slice(3);\r\n\r\n/**\r\n * Given an initial placement, returns all the subsequent placements\r\n * clockwise (or counter-clockwise).\r\n *\r\n * @method\r\n * @memberof Popper.Utils\r\n * @argument {String} placement - A valid placement (it accepts variations)\r\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\r\n * @returns {Array} placements including their variations\r\n */\r\nfunction clockwise(placement) {\r\n  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\r\n\r\n  var index = validPlacements.indexOf(placement);\r\n  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\r\n  return counter ? arr.reverse() : arr;\r\n}\r\n\r\nvar BEHAVIORS = {\r\n  FLIP: 'flip',\r\n  CLOCKWISE: 'clockwise',\r\n  COUNTERCLOCKWISE: 'counterclockwise'\r\n};\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by update method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction flip(data, options) {\r\n  // if `inner` modifier is enabled, we can't use the `flip` modifier\r\n  if (isModifierEnabled(data.instance.modifiers, 'inner')) {\r\n    return data;\r\n  }\r\n\r\n  if (data.flipped && data.placement === data.originalPlacement) {\r\n    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\r\n    return data;\r\n  }\r\n\r\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\r\n\r\n  var placement = data.placement.split('-')[0];\r\n  var placementOpposite = getOppositePlacement(placement);\r\n  var variation = data.placement.split('-')[1] || '';\r\n\r\n  var flipOrder = [];\r\n\r\n  switch (options.behavior) {\r\n    case BEHAVIORS.FLIP:\r\n      flipOrder = [placement, placementOpposite];\r\n      break;\r\n    case BEHAVIORS.CLOCKWISE:\r\n      flipOrder = clockwise(placement);\r\n      break;\r\n    case BEHAVIORS.COUNTERCLOCKWISE:\r\n      flipOrder = clockwise(placement, true);\r\n      break;\r\n    default:\r\n      flipOrder = options.behavior;\r\n  }\r\n\r\n  flipOrder.forEach(function (step, index) {\r\n    if (placement !== step || flipOrder.length === index + 1) {\r\n      return data;\r\n    }\r\n\r\n    placement = data.placement.split('-')[0];\r\n    placementOpposite = getOppositePlacement(placement);\r\n\r\n    var popperOffsets = data.offsets.popper;\r\n    var refOffsets = data.offsets.reference;\r\n\r\n    // using floor because the reference offsets may contain decimals we are not going to consider here\r\n    var floor = Math.floor;\r\n    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\r\n\r\n    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\r\n    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\r\n    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\r\n    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\r\n\r\n    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\r\n\r\n    // flip the variation if required\r\n    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\r\n    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\r\n\r\n    if (overlapsRef || overflowsBoundaries || flippedVariation) {\r\n      // this boolean to detect any flip loop\r\n      data.flipped = true;\r\n\r\n      if (overlapsRef || overflowsBoundaries) {\r\n        placement = flipOrder[index + 1];\r\n      }\r\n\r\n      if (flippedVariation) {\r\n        variation = getOppositeVariation(variation);\r\n      }\r\n\r\n      data.placement = placement + (variation ? '-' + variation : '');\r\n\r\n      // this object contains `position`, we want to preserve it along with\r\n      // any additional property we may add in the future\r\n      data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\r\n\r\n      data = runModifiers(data.instance.modifiers, data, 'flip');\r\n    }\r\n  });\r\n  return data;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by update method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction keepTogether(data) {\r\n  var _data$offsets = data.offsets,\r\n      popper = _data$offsets.popper,\r\n      reference = _data$offsets.reference;\r\n\r\n  var placement = data.placement.split('-')[0];\r\n  var floor = Math.floor;\r\n  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\r\n  var side = isVertical ? 'right' : 'bottom';\r\n  var opSide = isVertical ? 'left' : 'top';\r\n  var measurement = isVertical ? 'width' : 'height';\r\n\r\n  if (popper[side] < floor(reference[opSide])) {\r\n    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\r\n  }\r\n  if (popper[opSide] > floor(reference[side])) {\r\n    data.offsets.popper[opSide] = floor(reference[side]);\r\n  }\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * Converts a string containing value + unit into a px value number\r\n * @function\r\n * @memberof {modifiers~offset}\r\n * @private\r\n * @argument {String} str - Value + unit string\r\n * @argument {String} measurement - `height` or `width`\r\n * @argument {Object} popperOffsets\r\n * @argument {Object} referenceOffsets\r\n * @returns {Number|String}\r\n * Value in pixels, or original string if no values were extracted\r\n */\r\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\r\n  // separate value from unit\r\n  var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\r\n  var value = +split[1];\r\n  var unit = split[2];\r\n\r\n  // If it's not a number it's an operator, I guess\r\n  if (!value) {\r\n    return str;\r\n  }\r\n\r\n  if (unit.indexOf('%') === 0) {\r\n    var element = void 0;\r\n    switch (unit) {\r\n      case '%p':\r\n        element = popperOffsets;\r\n        break;\r\n      case '%':\r\n      case '%r':\r\n      default:\r\n        element = referenceOffsets;\r\n    }\r\n\r\n    var rect = getClientRect(element);\r\n    return rect[measurement] / 100 * value;\r\n  } else if (unit === 'vh' || unit === 'vw') {\r\n    // if is a vh or vw, we calculate the size based on the viewport\r\n    var size = void 0;\r\n    if (unit === 'vh') {\r\n      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\r\n    } else {\r\n      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n    }\r\n    return size / 100 * value;\r\n  } else {\r\n    // if is an explicit pixel unit, we get rid of the unit and keep the value\r\n    // if is an implicit unit, it's px, and we return just the value\r\n    return value;\r\n  }\r\n}\r\n\r\n/**\r\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\r\n * @function\r\n * @memberof {modifiers~offset}\r\n * @private\r\n * @argument {String} offset\r\n * @argument {Object} popperOffsets\r\n * @argument {Object} referenceOffsets\r\n * @argument {String} basePlacement\r\n * @returns {Array} a two cells array with x and y offsets in numbers\r\n */\r\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\r\n  var offsets = [0, 0];\r\n\r\n  // Use height if placement is left or right and index is 0 otherwise use width\r\n  // in this way the first offset will use an axis and the second one\r\n  // will use the other one\r\n  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\r\n\r\n  // Split the offset string to obtain a list of values and operands\r\n  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\r\n  var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\r\n    return frag.trim();\r\n  });\r\n\r\n  // Detect if the offset string contains a pair of values or a single one\r\n  // they could be separated by comma or space\r\n  var divider = fragments.indexOf(find(fragments, function (frag) {\r\n    return frag.search(/,|\\s/) !== -1;\r\n  }));\r\n\r\n  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\r\n    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\r\n  }\r\n\r\n  // If divider is found, we divide the list of values and operands to divide\r\n  // them by ofset X and Y.\r\n  var splitRegex = /\\s*,\\s*|\\s+/;\r\n  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\r\n\r\n  // Convert the values with units to absolute pixels to allow our computations\r\n  ops = ops.map(function (op, index) {\r\n    // Most of the units rely on the orientation of the popper\r\n    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\r\n    var mergeWithPrevious = false;\r\n    return op\r\n    // This aggregates any `+` or `-` sign that aren't considered operators\r\n    // e.g.: 10 + +5 => [10, +, +5]\r\n    .reduce(function (a, b) {\r\n      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\r\n        a[a.length - 1] = b;\r\n        mergeWithPrevious = true;\r\n        return a;\r\n      } else if (mergeWithPrevious) {\r\n        a[a.length - 1] += b;\r\n        mergeWithPrevious = false;\r\n        return a;\r\n      } else {\r\n        return a.concat(b);\r\n      }\r\n    }, [])\r\n    // Here we convert the string values into number values (in px)\r\n    .map(function (str) {\r\n      return toValue(str, measurement, popperOffsets, referenceOffsets);\r\n    });\r\n  });\r\n\r\n  // Loop trough the offsets arrays and execute the operations\r\n  ops.forEach(function (op, index) {\r\n    op.forEach(function (frag, index2) {\r\n      if (isNumeric(frag)) {\r\n        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\r\n      }\r\n    });\r\n  });\r\n  return offsets;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by update method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @argument {Number|String} options.offset=0\r\n * The offset value as described in the modifier description\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction offset(data, _ref) {\r\n  var offset = _ref.offset;\r\n  var placement = data.placement,\r\n      _data$offsets = data.offsets,\r\n      popper = _data$offsets.popper,\r\n      reference = _data$offsets.reference;\r\n\r\n  var basePlacement = placement.split('-')[0];\r\n\r\n  var offsets = void 0;\r\n  if (isNumeric(+offset)) {\r\n    offsets = [+offset, 0];\r\n  } else {\r\n    offsets = parseOffset(offset, popper, reference, basePlacement);\r\n  }\r\n\r\n  if (basePlacement === 'left') {\r\n    popper.top += offsets[0];\r\n    popper.left -= offsets[1];\r\n  } else if (basePlacement === 'right') {\r\n    popper.top += offsets[0];\r\n    popper.left += offsets[1];\r\n  } else if (basePlacement === 'top') {\r\n    popper.left += offsets[0];\r\n    popper.top -= offsets[1];\r\n  } else if (basePlacement === 'bottom') {\r\n    popper.left += offsets[0];\r\n    popper.top += offsets[1];\r\n  }\r\n\r\n  data.popper = popper;\r\n  return data;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by `update` method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction preventOverflow(data, options) {\r\n  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\r\n\r\n  // If offsetParent is the reference element, we really want to\r\n  // go one step up and use the next offsetParent as reference to\r\n  // avoid to make this modifier completely useless and look like broken\r\n  if (data.instance.reference === boundariesElement) {\r\n    boundariesElement = getOffsetParent(boundariesElement);\r\n  }\r\n\r\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\r\n  options.boundaries = boundaries;\r\n\r\n  var order = options.priority;\r\n  var popper = data.offsets.popper;\r\n\r\n  var check = {\r\n    primary: function primary(placement) {\r\n      var value = popper[placement];\r\n      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\r\n        value = Math.max(popper[placement], boundaries[placement]);\r\n      }\r\n      return defineProperty({}, placement, value);\r\n    },\r\n    secondary: function secondary(placement) {\r\n      var mainSide = placement === 'right' ? 'left' : 'top';\r\n      var value = popper[mainSide];\r\n      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\r\n        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\r\n      }\r\n      return defineProperty({}, mainSide, value);\r\n    }\r\n  };\r\n\r\n  order.forEach(function (placement) {\r\n    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\r\n    popper = _extends({}, popper, check[side](placement));\r\n  });\r\n\r\n  data.offsets.popper = popper;\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by `update` method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction shift(data) {\r\n  var placement = data.placement;\r\n  var basePlacement = placement.split('-')[0];\r\n  var shiftvariation = placement.split('-')[1];\r\n\r\n  // if shift shiftvariation is specified, run the modifier\r\n  if (shiftvariation) {\r\n    var _data$offsets = data.offsets,\r\n        reference = _data$offsets.reference,\r\n        popper = _data$offsets.popper;\r\n\r\n    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\r\n    var side = isVertical ? 'left' : 'top';\r\n    var measurement = isVertical ? 'width' : 'height';\r\n\r\n    var shiftOffsets = {\r\n      start: defineProperty({}, side, reference[side]),\r\n      end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\r\n    };\r\n\r\n    data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\r\n  }\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by update method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction hide(data) {\r\n  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\r\n    return data;\r\n  }\r\n\r\n  var refRect = data.offsets.reference;\r\n  var bound = find(data.instance.modifiers, function (modifier) {\r\n    return modifier.name === 'preventOverflow';\r\n  }).boundaries;\r\n\r\n  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\r\n    // Avoid unnecessary DOM access if visibility hasn't changed\r\n    if (data.hide === true) {\r\n      return data;\r\n    }\r\n\r\n    data.hide = true;\r\n    data.attributes['x-out-of-boundaries'] = '';\r\n  } else {\r\n    // Avoid unnecessary DOM access if visibility hasn't changed\r\n    if (data.hide === false) {\r\n      return data;\r\n    }\r\n\r\n    data.hide = false;\r\n    data.attributes['x-out-of-boundaries'] = false;\r\n  }\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * @function\r\n * @memberof Modifiers\r\n * @argument {Object} data - The data object generated by `update` method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {Object} The data object, properly modified\r\n */\r\nfunction inner(data) {\r\n  var placement = data.placement;\r\n  var basePlacement = placement.split('-')[0];\r\n  var _data$offsets = data.offsets,\r\n      popper = _data$offsets.popper,\r\n      reference = _data$offsets.reference;\r\n\r\n  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\r\n\r\n  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\r\n\r\n  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\r\n\r\n  data.placement = getOppositePlacement(placement);\r\n  data.offsets.popper = getClientRect(popper);\r\n\r\n  return data;\r\n}\r\n\r\n/**\r\n * Modifier function, each modifier can have a function of this type assigned\r\n * to its `fn` property.<br />\r\n * These functions will be called on each update, this means that you must\r\n * make sure they are performant enough to avoid performance bottlenecks.\r\n *\r\n * @function ModifierFn\r\n * @argument {dataObject} data - The data object generated by `update` method\r\n * @argument {Object} options - Modifiers configuration and options\r\n * @returns {dataObject} The data object, properly modified\r\n */\r\n\r\n/**\r\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\r\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\r\n * needed by the library.\r\n *\r\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\r\n * All the other properties are configurations that could be tweaked.\r\n * @namespace modifiers\r\n */\r\nvar modifiers = {\r\n  /**\r\n   * Modifier used to shift the popper on the start or end of its reference\r\n   * element.<br />\r\n   * It will read the variation of the `placement` property.<br />\r\n   * It can be one either `-end` or `-start`.\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  shift: {\r\n    /** @prop {number} order=100 - Index used to define the order of execution */\r\n    order: 100,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: shift\r\n  },\r\n\r\n  /**\r\n   * The `offset` modifier can shift your popper on both its axis.\r\n   *\r\n   * It accepts the following units:\r\n   * - `px` or unitless, interpreted as pixels\r\n   * - `%` or `%r`, percentage relative to the length of the reference element\r\n   * - `%p`, percentage relative to the length of the popper element\r\n   * - `vw`, CSS viewport width unit\r\n   * - `vh`, CSS viewport height unit\r\n   *\r\n   * For length is intended the main axis relative to the placement of the popper.<br />\r\n   * This means that if the placement is `top` or `bottom`, the length will be the\r\n   * `width`. In case of `left` or `right`, it will be the height.\r\n   *\r\n   * You can provide a single value (as `Number` or `String`), or a pair of values\r\n   * as `String` divided by a comma or one (or more) white spaces.<br />\r\n   * The latter is a deprecated method because it leads to confusion and will be\r\n   * removed in v2.<br />\r\n   * Additionally, it accepts additions and subtractions between different units.\r\n   * Note that multiplications and divisions aren't supported.\r\n   *\r\n   * Valid examples are:\r\n   * ```\r\n   * 10\r\n   * '10%'\r\n   * '10, 10'\r\n   * '10%, 10'\r\n   * '10 + 10%'\r\n   * '10 - 5vh + 3%'\r\n   * '-10px + 5vh, 5px - 6%'\r\n   * ```\r\n   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\r\n   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\r\n   * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\r\n   *\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  offset: {\r\n    /** @prop {number} order=200 - Index used to define the order of execution */\r\n    order: 200,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: offset,\r\n    /** @prop {Number|String} offset=0\r\n     * The offset value as described in the modifier description\r\n     */\r\n    offset: 0\r\n  },\r\n\r\n  /**\r\n   * Modifier used to prevent the popper from being positioned outside the boundary.\r\n   *\r\n   * An scenario exists where the reference itself is not within the boundaries.<br />\r\n   * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\r\n   * In this case we need to decide whether the popper should either:\r\n   *\r\n   * - detach from the reference and remain \"trapped\" in the boundaries, or\r\n   * - if it should ignore the boundary and \"escape with its reference\"\r\n   *\r\n   * When `escapeWithReference` is set to`true` and reference is completely\r\n   * outside its boundaries, the popper will overflow (or completely leave)\r\n   * the boundaries in order to remain attached to the edge of the reference.\r\n   *\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  preventOverflow: {\r\n    /** @prop {number} order=300 - Index used to define the order of execution */\r\n    order: 300,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: preventOverflow,\r\n    /**\r\n     * @prop {Array} [priority=['left','right','top','bottom']]\r\n     * Popper will try to prevent overflow following these priorities by default,\r\n     * then, it could overflow on the left and on top of the `boundariesElement`\r\n     */\r\n    priority: ['left', 'right', 'top', 'bottom'],\r\n    /**\r\n     * @prop {number} padding=5\r\n     * Amount of pixel used to define a minimum distance between the boundaries\r\n     * and the popper this makes sure the popper has always a little padding\r\n     * between the edges of its container\r\n     */\r\n    padding: 5,\r\n    /**\r\n     * @prop {String|HTMLElement} boundariesElement='scrollParent'\r\n     * Boundaries used by the modifier, can be `scrollParent`, `window`,\r\n     * `viewport` or any DOM element.\r\n     */\r\n    boundariesElement: 'scrollParent'\r\n  },\r\n\r\n  /**\r\n   * Modifier used to make sure the reference and its popper stay near eachothers\r\n   * without leaving any gap between the two. Expecially useful when the arrow is\r\n   * enabled and you want to assure it to point to its reference element.\r\n   * It cares only about the first axis, you can still have poppers with margin\r\n   * between the popper and its reference element.\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  keepTogether: {\r\n    /** @prop {number} order=400 - Index used to define the order of execution */\r\n    order: 400,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: keepTogether\r\n  },\r\n\r\n  /**\r\n   * This modifier is used to move the `arrowElement` of the popper to make\r\n   * sure it is positioned between the reference element and its popper element.\r\n   * It will read the outer size of the `arrowElement` node to detect how many\r\n   * pixels of conjuction are needed.\r\n   *\r\n   * It has no effect if no `arrowElement` is provided.\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  arrow: {\r\n    /** @prop {number} order=500 - Index used to define the order of execution */\r\n    order: 500,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: arrow,\r\n    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\r\n    element: '[x-arrow]'\r\n  },\r\n\r\n  /**\r\n   * Modifier used to flip the popper's placement when it starts to overlap its\r\n   * reference element.\r\n   *\r\n   * Requires the `preventOverflow` modifier before it in order to work.\r\n   *\r\n   * **NOTE:** this modifier will interrupt the current update cycle and will\r\n   * restart it if it detects the need to flip the placement.\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  flip: {\r\n    /** @prop {number} order=600 - Index used to define the order of execution */\r\n    order: 600,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: flip,\r\n    /**\r\n     * @prop {String|Array} behavior='flip'\r\n     * The behavior used to change the popper's placement. It can be one of\r\n     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\r\n     * placements (with optional variations).\r\n     */\r\n    behavior: 'flip',\r\n    /**\r\n     * @prop {number} padding=5\r\n     * The popper will flip if it hits the edges of the `boundariesElement`\r\n     */\r\n    padding: 5,\r\n    /**\r\n     * @prop {String|HTMLElement} boundariesElement='viewport'\r\n     * The element which will define the boundaries of the popper position,\r\n     * the popper will never be placed outside of the defined boundaries\r\n     * (except if keepTogether is enabled)\r\n     */\r\n    boundariesElement: 'viewport'\r\n  },\r\n\r\n  /**\r\n   * Modifier used to make the popper flow toward the inner of the reference element.\r\n   * By default, when this modifier is disabled, the popper will be placed outside\r\n   * the reference element.\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  inner: {\r\n    /** @prop {number} order=700 - Index used to define the order of execution */\r\n    order: 700,\r\n    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\r\n    enabled: false,\r\n    /** @prop {ModifierFn} */\r\n    fn: inner\r\n  },\r\n\r\n  /**\r\n   * Modifier used to hide the popper when its reference element is outside of the\r\n   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\r\n   * be used to hide with a CSS selector the popper when its reference is\r\n   * out of boundaries.\r\n   *\r\n   * Requires the `preventOverflow` modifier before it in order to work.\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  hide: {\r\n    /** @prop {number} order=800 - Index used to define the order of execution */\r\n    order: 800,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: hide\r\n  },\r\n\r\n  /**\r\n   * Computes the style that will be applied to the popper element to gets\r\n   * properly positioned.\r\n   *\r\n   * Note that this modifier will not touch the DOM, it just prepares the styles\r\n   * so that `applyStyle` modifier can apply it. This separation is useful\r\n   * in case you need to replace `applyStyle` with a custom implementation.\r\n   *\r\n   * This modifier has `850` as `order` value to maintain backward compatibility\r\n   * with previous versions of Popper.js. Expect the modifiers ordering method\r\n   * to change in future major versions of the library.\r\n   *\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  computeStyle: {\r\n    /** @prop {number} order=850 - Index used to define the order of execution */\r\n    order: 850,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: computeStyle,\r\n    /**\r\n     * @prop {Boolean} gpuAcceleration=true\r\n     * If true, it uses the CSS 3d transformation to position the popper.\r\n     * Otherwise, it will use the `top` and `left` properties.\r\n     */\r\n    gpuAcceleration: true,\r\n    /**\r\n     * @prop {string} [x='bottom']\r\n     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\r\n     * Change this if your popper should grow in a direction different from `bottom`\r\n     */\r\n    x: 'bottom',\r\n    /**\r\n     * @prop {string} [x='left']\r\n     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\r\n     * Change this if your popper should grow in a direction different from `right`\r\n     */\r\n    y: 'right'\r\n  },\r\n\r\n  /**\r\n   * Applies the computed styles to the popper element.\r\n   *\r\n   * All the DOM manipulations are limited to this modifier. This is useful in case\r\n   * you want to integrate Popper.js inside a framework or view library and you\r\n   * want to delegate all the DOM manipulations to it.\r\n   *\r\n   * Note that if you disable this modifier, you must make sure the popper element\r\n   * has its position set to `absolute` before Popper.js can do its work!\r\n   *\r\n   * Just disable this modifier and define you own to achieve the desired effect.\r\n   *\r\n   * @memberof modifiers\r\n   * @inner\r\n   */\r\n  applyStyle: {\r\n    /** @prop {number} order=900 - Index used to define the order of execution */\r\n    order: 900,\r\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\r\n    enabled: true,\r\n    /** @prop {ModifierFn} */\r\n    fn: applyStyle,\r\n    /** @prop {Function} */\r\n    onLoad: applyStyleOnLoad,\r\n    /**\r\n     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\r\n     * @prop {Boolean} gpuAcceleration=true\r\n     * If true, it uses the CSS 3d transformation to position the popper.\r\n     * Otherwise, it will use the `top` and `left` properties.\r\n     */\r\n    gpuAcceleration: undefined\r\n  }\r\n};\r\n\r\n/**\r\n * The `dataObject` is an object containing all the informations used by Popper.js\r\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\r\n * @name dataObject\r\n * @property {Object} data.instance The Popper.js instance\r\n * @property {String} data.placement Placement applied to popper\r\n * @property {String} data.originalPlacement Placement originally defined on init\r\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\r\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\r\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\r\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\r\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\r\n * @property {Object} data.boundaries Offsets of the popper boundaries\r\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\r\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\r\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\r\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\r\n */\r\n\r\n/**\r\n * Default options provided to Popper.js constructor.<br />\r\n * These can be overriden using the `options` argument of Popper.js.<br />\r\n * To override an option, simply pass as 3rd argument an object with the same\r\n * structure of this object, example:\r\n * ```\r\n * new Popper(ref, pop, {\r\n *   modifiers: {\r\n *     preventOverflow: { enabled: false }\r\n *   }\r\n * })\r\n * ```\r\n * @type {Object}\r\n * @static\r\n * @memberof Popper\r\n */\r\nvar Defaults = {\r\n  /**\r\n   * Popper's placement\r\n   * @prop {Popper.placements} placement='bottom'\r\n   */\r\n  placement: 'bottom',\r\n\r\n  /**\r\n   * Whether events (resize, scroll) are initially enabled\r\n   * @prop {Boolean} eventsEnabled=true\r\n   */\r\n  eventsEnabled: true,\r\n\r\n  /**\r\n   * Set to true if you want to automatically remove the popper when\r\n   * you call the `destroy` method.\r\n   * @prop {Boolean} removeOnDestroy=false\r\n   */\r\n  removeOnDestroy: false,\r\n\r\n  /**\r\n   * Callback called when the popper is created.<br />\r\n   * By default, is set to no-op.<br />\r\n   * Access Popper.js instance with `data.instance`.\r\n   * @prop {onCreate}\r\n   */\r\n  onCreate: function onCreate() {},\r\n\r\n  /**\r\n   * Callback called when the popper is updated, this callback is not called\r\n   * on the initialization/creation of the popper, but only on subsequent\r\n   * updates.<br />\r\n   * By default, is set to no-op.<br />\r\n   * Access Popper.js instance with `data.instance`.\r\n   * @prop {onUpdate}\r\n   */\r\n  onUpdate: function onUpdate() {},\r\n\r\n  /**\r\n   * List of modifiers used to modify the offsets before they are applied to the popper.\r\n   * They provide most of the functionalities of Popper.js\r\n   * @prop {modifiers}\r\n   */\r\n  modifiers: modifiers\r\n};\r\n\r\n/**\r\n * @callback onCreate\r\n * @param {dataObject} data\r\n */\r\n\r\n/**\r\n * @callback onUpdate\r\n * @param {dataObject} data\r\n */\r\n\r\n// Utils\r\n// Methods\r\nvar Popper = function () {\r\n  /**\r\n   * Create a new Popper.js instance\r\n   * @class Popper\r\n   * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\r\n   * @param {HTMLElement} popper - The HTML element used as popper.\r\n   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\r\n   * @return {Object} instance - The generated Popper.js instance\r\n   */\r\n  function Popper(reference, popper) {\r\n    var _this = this;\r\n\r\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\r\n    classCallCheck(this, Popper);\r\n\r\n    this.scheduleUpdate = function () {\r\n      return requestAnimationFrame(_this.update);\r\n    };\r\n\r\n    // make update() debounced, so that it only runs at most once-per-tick\r\n    this.update = debounce(this.update.bind(this));\r\n\r\n    // with {} we create a new object with the options inside it\r\n    this.options = _extends({}, Popper.Defaults, options);\r\n\r\n    // init state\r\n    this.state = {\r\n      isDestroyed: false,\r\n      isCreated: false,\r\n      scrollParents: []\r\n    };\r\n\r\n    // get reference and popper elements (allow jQuery wrappers)\r\n    this.reference = reference && reference.jquery ? reference[0] : reference;\r\n    this.popper = popper && popper.jquery ? popper[0] : popper;\r\n\r\n    // Deep merge modifiers options\r\n    this.options.modifiers = {};\r\n    Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\r\n      _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\r\n    });\r\n\r\n    // Refactoring modifiers' list (Object => Array)\r\n    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\r\n      return _extends({\r\n        name: name\r\n      }, _this.options.modifiers[name]);\r\n    })\r\n    // sort the modifiers by order\r\n    .sort(function (a, b) {\r\n      return a.order - b.order;\r\n    });\r\n\r\n    // modifiers have the ability to execute arbitrary code when Popper.js get inited\r\n    // such code is executed in the same order of its modifier\r\n    // they could add new properties to their options configuration\r\n    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\r\n    this.modifiers.forEach(function (modifierOptions) {\r\n      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\r\n        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\r\n      }\r\n    });\r\n\r\n    // fire the first update to position the popper in the right place\r\n    this.update();\r\n\r\n    var eventsEnabled = this.options.eventsEnabled;\r\n    if (eventsEnabled) {\r\n      // setup event listeners, they will take care of update the position in specific situations\r\n      this.enableEventListeners();\r\n    }\r\n\r\n    this.state.eventsEnabled = eventsEnabled;\r\n  }\r\n\r\n  // We can't use class properties because they don't get listed in the\r\n  // class prototype and break stuff like Sinon stubs\r\n\r\n\r\n  createClass(Popper, [{\r\n    key: 'update',\r\n    value: function update$$1() {\r\n      return update.call(this);\r\n    }\r\n  }, {\r\n    key: 'destroy',\r\n    value: function destroy$$1() {\r\n      return destroy.call(this);\r\n    }\r\n  }, {\r\n    key: 'enableEventListeners',\r\n    value: function enableEventListeners$$1() {\r\n      return enableEventListeners.call(this);\r\n    }\r\n  }, {\r\n    key: 'disableEventListeners',\r\n    value: function disableEventListeners$$1() {\r\n      return disableEventListeners.call(this);\r\n    }\r\n\r\n    /**\r\n     * Schedule an update, it will run on the next UI update available\r\n     * @method scheduleUpdate\r\n     * @memberof Popper\r\n     */\r\n\r\n\r\n    /**\r\n     * Collection of utilities useful when writing custom modifiers.\r\n     * Starting from version 1.7, this method is available only if you\r\n     * include `popper-utils.js` before `popper.js`.\r\n     *\r\n     * **DEPRECATION**: This way to access PopperUtils is deprecated\r\n     * and will be removed in v2! Use the PopperUtils module directly instead.\r\n     * Due to the high instability of the methods contained in Utils, we can't\r\n     * guarantee them to follow semver. Use them at your own risk!\r\n     * @static\r\n     * @private\r\n     * @type {Object}\r\n     * @deprecated since version 1.8\r\n     * @member Utils\r\n     * @memberof Popper\r\n     */\r\n\r\n  }]);\r\n  return Popper;\r\n}();\r\n\r\n/**\r\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\r\n * and lets you use it as replacement of a real DOM node.<br />\r\n * You can use this method to position a popper relatively to a set of coordinates\r\n * in case you don't have a DOM node to use as reference.\r\n *\r\n * ```\r\n * new Popper(referenceObject, popperNode);\r\n * ```\r\n *\r\n * NB: This feature isn't supported in Internet Explorer 10\r\n * @name referenceObject\r\n * @property {Function} data.getBoundingClientRect\r\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\r\n * @property {number} data.clientWidth\r\n * An ES6 getter that will return the width of the virtual reference element.\r\n * @property {number} data.clientHeight\r\n * An ES6 getter that will return the height of the virtual reference element.\r\n */\r\n\r\n\r\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\r\nPopper.placements = placements;\r\nPopper.Defaults = Defaults;\r\n\r\nexport default Popper;\r\n//# sourceMappingURL=popper.js.map\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/popper.js/dist/esm/popper.js\n// module id = 1361\n// module chunks = 3","module.exports = \"<div id=\\\"ng2-webcam\\\">\\r\\n\\r\\n  <video id=\\\"video\\\" *ngIf=\\\"isSupportWebRTC\\\" [src]=\\\"videoSrc\\\">Video stream not available</video>\\r\\n\\r\\n  <object *ngIf=\\\"isFallback\\\" id=\\\"XwebcamXobjectX\\\" width=\\\"320\\\" height=\\\"240\\\" data=\\\"node_modules/ng2-webcam/lib/fallback/jscam_canvas_only.swf\\\">\\r\\n    Video stream not available\\r\\n    <param name=\\\"FlashVars\\\" value=\\\"mode=callback&amp;quality=200\\\">\\r\\n    <param name=\\\"allowScriptAccess\\\" value=\\\"always\\\">\\r\\n    <param name=\\\"movie\\\" value=\\\"node_modules/ng2-webcam/lib/fallback/jscam_canvas_only.swf\\\">\\r\\n  </object>\\r\\n\\r\\n</div>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ng2-webcam/lib/webcam.component.html\n// module id = 1362\n// module chunks = 3","module.exports = \"/* line 4, ../../src/sass/messenger.sass */\\nul.messenger {\\n  margin: 0;\\n  padding: 0; }\\n\\n/* line 8, ../../src/sass/messenger.sass */\\nul.messenger > li {\\n  list-style: none;\\n  margin: 0;\\n  padding: 0; }\\n\\n/* line 14, ../../src/sass/messenger.sass */\\nul.messenger.messenger-empty {\\n  display: none; }\\n\\n/* line 17, ../../src/sass/messenger.sass */\\nul.messenger .messenger-message {\\n  overflow: hidden;\\n  *zoom: 1; }\\n\\n/* line 20, ../../src/sass/messenger.sass */\\nul.messenger .messenger-message.messenger-hidden {\\n  display: none; }\\n\\n/* line 23, ../../src/sass/messenger.sass */\\nul.messenger .messenger-message .messenger-phrase, ul.messenger .messenger-message .messenger-actions a {\\n  padding-right: 5px; }\\n\\n/* line 26, ../../src/sass/messenger.sass */\\nul.messenger .messenger-message .messenger-actions {\\n  float: right; }\\n\\n/* line 29, ../../src/sass/messenger.sass */\\nul.messenger .messenger-message .messenger-actions a {\\n  cursor: pointer;\\n  text-decoration: underline; }\\n\\n/* line 33, ../../src/sass/messenger.sass */\\nul.messenger .messenger-message ul, ul.messenger .messenger-message ol {\\n  margin: 10px 18px 0; }\\n\\n/* line 36, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed {\\n  position: fixed;\\n  z-index: 10000; }\\n\\n/* line 40, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed .messenger-message {\\n  min-width: 0;\\n  -moz-box-sizing: border-box;\\n  -webkit-box-sizing: border-box;\\n  box-sizing: border-box; }\\n\\n/* line 45, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed .message .messenger-actions {\\n  float: left; }\\n\\n/* line 48, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed.messenger-on-top {\\n  top: 20px; }\\n\\n/* line 51, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed.messenger-on-bottom {\\n  bottom: 20px; }\\n\\n/* line 54, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {\\n  left: 50%;\\n  width: 800px;\\n  margin-left: -400px; }\\n\\n@media (max-width: 960px) {\\n  /* line 54, ../../src/sass/messenger.sass */\\n  ul.messenger.messenger-fixed.messenger-on-top, ul.messenger.messenger-fixed.messenger-on-bottom {\\n    left: 10%;\\n    width: 80%;\\n    margin-left: 0px; } }\\n\\n/* line 64, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed.messenger-on-top.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-right {\\n  right: 20px;\\n  left: auto; }\\n\\n/* line 68, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed.messenger-on-top.messenger-on-left, ul.messenger.messenger-fixed.messenger-on-bottom.messenger-on-left {\\n  left: 20px;\\n  margin-left: 0px; }\\n\\n/* line 72, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed.messenger-on-right, ul.messenger.messenger-fixed.messenger-on-left {\\n  width: 350px; }\\n\\n/* line 75, ../../src/sass/messenger.sass */\\nul.messenger.messenger-fixed.messenger-on-right .messenger-actions, ul.messenger.messenger-fixed.messenger-on-left .messenger-actions {\\n  float: left; }\\n\\n/* line 78, ../../src/sass/messenger.sass */\\nul.messenger .messenger-spinner {\\n  display: none; }\\n\\n/* line 81, ../../src/sass/messenger.sass */\\nul.messenger .messenger-clickable {\\n  cursor: pointer; }\\n\\n/***********************/\\n/*      Messenger      */\\n/***********************/\\nul.messenger-theme-ice {\\n  -moz-user-select: none;\\n  -webkit-user-select: none;\\n  -o-user-select: none;\\n  user-select: none;\\n  font-family: \\\"Raleway\\\", sans-serif; }\\n\\n/* line 16, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message {\\n  -moz-border-radius: 5px;\\n  -webkit-border-radius: 5px;\\n  border-radius: 5px;\\n  -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14), 0 4px #aaaaaa, 0 5px rgba(0, 0, 0, 0.05);\\n  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14), 0 4px #aaaaaa, 0 5px rgba(0, 0, 0, 0.05);\\n  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14), 0 4px #aaaaaa, 0 5px rgba(0, 0, 0, 0.05);\\n  border: 0px;\\n  background-color: #f6f6f6;\\n  position: relative;\\n  margin-bottom: 1.5em;\\n  font-size: 13px;\\n  color: #666666;\\n  font-weight: 500;\\n  padding: 12px 22px; }\\n\\n/* line 28, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-close {\\n  position: absolute;\\n  top: 0px;\\n  right: 0px;\\n  color: #888888;\\n  opacity: 1;\\n  font-weight: bold;\\n  display: block;\\n  font-size: 20px;\\n  line-height: 20px;\\n  padding: 8px 10px 7px 7px;\\n  cursor: pointer;\\n  background: transparent;\\n  border: 0;\\n  -webkit-appearance: none; }\\n\\n/* line 44, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-close:hover {\\n  color: #444444; }\\n\\n/* line 47, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-close:active {\\n  color: #222222; }\\n\\n/* line 50, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-actions {\\n  float: none;\\n  margin-top: 10px; }\\n\\n/* line 54, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-actions a {\\n  -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.05);\\n  -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.05);\\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.05);\\n  -moz-border-radius: 4px;\\n  -webkit-border-radius: 4px;\\n  border-radius: 4px;\\n  position: relative;\\n  text-decoration: none;\\n  display: inline-block;\\n  padding: 10px;\\n  color: #888888;\\n  margin-right: 10px;\\n  padding: 3px 10px 5px;\\n  text-transform: capitalize; }\\n\\n/* line 66, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-actions a:hover, ul.messenger-theme-ice .messenger-message .messenger-actions a:active {\\n  -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15), 0 2px #aaaaaa;\\n  -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15), 0 2px #aaaaaa;\\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15), 0 2px #aaaaaa;\\n  color: #444444; }\\n\\n/* line 70, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-actions a:active {\\n  -moz-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15), 0 1px #aaaaaa;\\n  -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15), 0 1px #aaaaaa;\\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), inset 0px 1px rgba(255, 255, 255, 0.15), 0 1px #aaaaaa;\\n  top: 1px; }\\n\\n/* line 74, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-actions .messenger-phrase {\\n  display: none; }\\n\\n/* line 77, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message .messenger-message-inner:before {\\n  display: block;\\n  z-index: 20;\\n  font-weight: bold;\\n  margin-bottom: 2px; }\\n\\n/* line 84, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message.alert-success .messenger-message-inner:before {\\n  content: \\\"AVISO\\\"; }\\n\\n/* line 88, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message.alert-error .messenger-message-inner:before {\\n  content: \\\"ERROR\\\"; }\\n\\n/* line 92, ../../src/sass/messenger-theme-ice.sass */\\nul.messenger-theme-ice .messenger-message.alert-info .messenger-message-inner:before {\\n  content: \\\"AVISO\\\"; }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/alert/notifications.style.scss\n// module id = 1363\n// module chunks = 3","module.exports = \"@charset \\\"UTF-8\\\";\\n/*!\\r\\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\\r\\n * Copyright 2011-2017 The Bootstrap Authors\\r\\n * Copyright 2011-2017 Twitter, Inc.\\r\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\r\\n */\\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\\nhtml {\\n  font-family: sans-serif;\\n  line-height: 1.15;\\n  -ms-text-size-adjust: 100%;\\n  -webkit-text-size-adjust: 100%; }\\n\\nbody {\\n  margin: 0; }\\n\\narticle,\\naside,\\nfooter,\\nheader,\\nnav,\\nsection {\\n  display: block; }\\n\\nh1 {\\n  font-size: 2em;\\n  margin: 0.67em 0; }\\n\\nfigcaption,\\nfigure,\\nmain {\\n  display: block; }\\n\\nfigure {\\n  margin: 1em 40px; }\\n\\nhr {\\n  box-sizing: content-box;\\n  height: 0;\\n  overflow: visible; }\\n\\npre {\\n  font-family: monospace, monospace;\\n  font-size: 1em; }\\n\\na {\\n  background-color: transparent;\\n  -webkit-text-decoration-skip: objects; }\\n\\na:active,\\na:hover {\\n  outline-width: 0; }\\n\\nabbr[title] {\\n  border-bottom: none;\\n  text-decoration: underline;\\n  text-decoration: underline dotted; }\\n\\nb,\\nstrong {\\n  font-weight: inherit; }\\n\\nb,\\nstrong {\\n  font-weight: bolder; }\\n\\ncode,\\nkbd,\\nsamp {\\n  font-family: monospace, monospace;\\n  font-size: 1em; }\\n\\ndfn {\\n  font-style: italic; }\\n\\nmark {\\n  background-color: #ff0;\\n  color: #000; }\\n\\nsmall {\\n  font-size: 80%; }\\n\\nsub,\\nsup {\\n  font-size: 75%;\\n  line-height: 0;\\n  position: relative;\\n  vertical-align: baseline; }\\n\\nsub {\\n  bottom: -0.25em; }\\n\\nsup {\\n  top: -0.5em; }\\n\\naudio,\\nvideo {\\n  display: inline-block; }\\n\\naudio:not([controls]) {\\n  display: none;\\n  height: 0; }\\n\\nimg {\\n  border-style: none; }\\n\\nsvg:not(:root) {\\n  overflow: hidden; }\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n  font-family: sans-serif;\\n  font-size: 100%;\\n  line-height: 1.15;\\n  margin: 0; }\\n\\nbutton,\\ninput {\\n  overflow: visible; }\\n\\nbutton,\\nselect {\\n  text-transform: none; }\\n\\nbutton,\\nhtml [type=\\\"button\\\"],\\n[type=\\\"reset\\\"],\\n[type=\\\"submit\\\"] {\\n  -webkit-appearance: button; }\\n\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner,\\n[type=\\\"reset\\\"]::-moz-focus-inner,\\n[type=\\\"submit\\\"]::-moz-focus-inner {\\n  border-style: none;\\n  padding: 0; }\\n\\nbutton:-moz-focusring,\\n[type=\\\"button\\\"]:-moz-focusring,\\n[type=\\\"reset\\\"]:-moz-focusring,\\n[type=\\\"submit\\\"]:-moz-focusring {\\n  outline: 1px dotted ButtonText; }\\n\\nfieldset {\\n  border: 1px solid #c0c0c0;\\n  margin: 0 2px;\\n  padding: 0.35em 0.625em 0.75em; }\\n\\nlegend {\\n  box-sizing: border-box;\\n  color: inherit;\\n  display: table;\\n  max-width: 100%;\\n  padding: 0;\\n  white-space: normal; }\\n\\nprogress {\\n  display: inline-block;\\n  vertical-align: baseline; }\\n\\ntextarea {\\n  overflow: auto; }\\n\\n[type=\\\"checkbox\\\"],\\n[type=\\\"radio\\\"] {\\n  box-sizing: border-box;\\n  padding: 0; }\\n\\n[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n  height: auto; }\\n\\n[type=\\\"search\\\"] {\\n  -webkit-appearance: textfield;\\n  outline-offset: -2px; }\\n\\n[type=\\\"search\\\"]::-webkit-search-cancel-button,\\n[type=\\\"search\\\"]::-webkit-search-decoration {\\n  -webkit-appearance: none; }\\n\\n::-webkit-file-upload-button {\\n  -webkit-appearance: button;\\n  font: inherit; }\\n\\ndetails,\\nmenu {\\n  display: block; }\\n\\nsummary {\\n  display: list-item; }\\n\\ncanvas {\\n  display: inline-block; }\\n\\ntemplate {\\n  display: none; }\\n\\n[hidden] {\\n  display: none; }\\n\\n@media print {\\n  *,\\n  *::before,\\n  *::after,\\n  p::first-letter,\\n  div::first-letter,\\n  blockquote::first-letter,\\n  li::first-letter,\\n  p::first-line,\\n  div::first-line,\\n  blockquote::first-line,\\n  li::first-line {\\n    text-shadow: none !important;\\n    box-shadow: none !important; }\\n  a,\\n  a:visited {\\n    text-decoration: underline; }\\n  abbr[title]::after {\\n    content: \\\" (\\\" attr(title) \\\")\\\"; }\\n  pre {\\n    white-space: pre-wrap !important; }\\n  pre,\\n  blockquote {\\n    border: 1px solid #999;\\n    page-break-inside: avoid; }\\n  thead {\\n    display: table-header-group; }\\n  tr,\\n  img {\\n    page-break-inside: avoid; }\\n  p,\\n  h2,\\n  h3 {\\n    orphans: 3;\\n    widows: 3; }\\n  h2,\\n  h3 {\\n    page-break-after: avoid; }\\n  .navbar {\\n    display: none; }\\n  .badge {\\n    border: 1px solid #000; }\\n  .table {\\n    border-collapse: collapse !important; }\\n    .table td,\\n    .table th {\\n      background-color: #fff !important; }\\n  .table-bordered th,\\n  .table-bordered td {\\n    border: 1px solid #ddd !important; } }\\n\\nhtml {\\n  box-sizing: border-box; }\\n\\n*,\\n*::before,\\n*::after {\\n  box-sizing: inherit; }\\n\\n@-ms-viewport {\\n  width: device-width; }\\n\\nhtml {\\n  -ms-overflow-style: scrollbar;\\n  -webkit-tap-highlight-color: transparent; }\\n\\nbody {\\n  font-family: \\\"Open Sans\\\", sans-serif;\\n  font-size: 1rem;\\n  font-weight: 300;\\n  line-height: 1.5;\\n  color: #343434;\\n  background-color: #eee; }\\n\\n[tabindex=\\\"-1\\\"]:focus {\\n  outline: none !important; }\\n\\nh1, h2, h3, h4, h5, h6 {\\n  margin-top: 0;\\n  margin-bottom: .5rem; }\\n\\np {\\n  margin-top: 0;\\n  margin-bottom: 1rem; }\\n\\nabbr[title],\\nabbr[data-original-title] {\\n  cursor: help; }\\n\\naddress {\\n  margin-bottom: 1rem;\\n  font-style: normal;\\n  line-height: inherit; }\\n\\nol,\\nul,\\ndl {\\n  margin-top: 0;\\n  margin-bottom: 1rem; }\\n\\nol ol,\\nul ul,\\nol ul,\\nul ol {\\n  margin-bottom: 0; }\\n\\ndt {\\n  font-weight: 700; }\\n\\ndd {\\n  margin-bottom: .5rem;\\n  margin-left: 0; }\\n\\nblockquote {\\n  margin: 0 0 1rem; }\\n\\na {\\n  color: #218BC3;\\n  text-decoration: none; }\\n  a:focus, a:hover {\\n    color: #165c82;\\n    text-decoration: underline; }\\n\\na:not([href]):not([tabindex]) {\\n  color: inherit;\\n  text-decoration: none; }\\n  a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\\n    color: inherit;\\n    text-decoration: none; }\\n  a:not([href]):not([tabindex]):focus {\\n    outline: 0; }\\n\\npre {\\n  margin-top: 0;\\n  margin-bottom: 1rem;\\n  overflow: auto; }\\n\\nfigure {\\n  margin: 0 0 1rem; }\\n\\nimg {\\n  vertical-align: middle; }\\n\\n[role=\\\"button\\\"] {\\n  cursor: pointer; }\\n\\na,\\narea,\\nbutton,\\n[role=\\\"button\\\"],\\ninput,\\nlabel,\\nselect,\\nsummary,\\ntextarea {\\n  touch-action: manipulation; }\\n\\ntable {\\n  border-collapse: collapse;\\n  background-color: transparent; }\\n\\ncaption {\\n  padding-top: 0.75rem;\\n  padding-bottom: 0.75rem;\\n  color: #999999;\\n  text-align: left;\\n  caption-side: bottom; }\\n\\nth {\\n  text-align: left; }\\n\\nlabel {\\n  display: inline-block;\\n  margin-bottom: .5rem; }\\n\\nbutton:focus {\\n  outline: 1px dotted;\\n  outline: 5px auto -webkit-focus-ring-color; }\\n\\ninput,\\nbutton,\\nselect,\\ntextarea {\\n  line-height: inherit; }\\n\\ninput[type=\\\"radio\\\"]:disabled,\\ninput[type=\\\"checkbox\\\"]:disabled {\\n  cursor: not-allowed; }\\n\\ninput[type=\\\"date\\\"],\\ninput[type=\\\"time\\\"],\\ninput[type=\\\"datetime-local\\\"],\\ninput[type=\\\"month\\\"] {\\n  -webkit-appearance: listbox; }\\n\\ntextarea {\\n  resize: vertical; }\\n\\nfieldset {\\n  min-width: 0;\\n  padding: 0;\\n  margin: 0;\\n  border: 0; }\\n\\nlegend {\\n  display: block;\\n  width: 100%;\\n  padding: 0;\\n  margin-bottom: .5rem;\\n  font-size: 1.5rem;\\n  line-height: inherit; }\\n\\ninput[type=\\\"search\\\"] {\\n  -webkit-appearance: none; }\\n\\noutput {\\n  display: inline-block; }\\n\\n[hidden] {\\n  display: none !important; }\\n\\nh1, h2, h3, h4, h5, h6,\\n.h1, .h2, .h3, .h4, .h5, .h6 {\\n  margin-bottom: 0.5rem;\\n  font-family: inherit;\\n  font-weight: 300;\\n  line-height: 1.1;\\n  color: inherit; }\\n\\nh1, .h1 {\\n  font-size: 2.5rem; }\\n\\nh2, .h2 {\\n  font-size: 2rem; }\\n\\nh3, .h3 {\\n  font-size: 1.75rem; }\\n\\nh4, .h4 {\\n  font-size: 1.5rem; }\\n\\nh5, .h5 {\\n  font-size: 1.25rem; }\\n\\nh6, .h6 {\\n  font-size: 1rem; }\\n\\n.lead {\\n  font-size: 1.25rem;\\n  font-weight: 300; }\\n\\n.display-1 {\\n  font-size: 6rem;\\n  font-weight: 300;\\n  line-height: 1.1; }\\n\\n.display-2 {\\n  font-size: 5.5rem;\\n  font-weight: 300;\\n  line-height: 1.1; }\\n\\n.display-3 {\\n  font-size: 4.5rem;\\n  font-weight: 300;\\n  line-height: 1.1; }\\n\\n.display-4 {\\n  font-size: 3.5rem;\\n  font-weight: 300;\\n  line-height: 1.1; }\\n\\nhr {\\n  margin-top: 1rem;\\n  margin-bottom: 1rem;\\n  border: 0;\\n  border-top: 1px solid rgba(0, 0, 0, 0.1); }\\n\\nsmall,\\n.small {\\n  font-size: 80%;\\n  font-weight: 400; }\\n\\nmark,\\n.mark {\\n  padding: 0.2em;\\n  background-color: #fdf7e6; }\\n\\n.list-unstyled {\\n  padding-left: 0;\\n  list-style: none; }\\n\\n.list-inline {\\n  padding-left: 0;\\n  list-style: none; }\\n\\n.list-inline-item {\\n  display: inline-block; }\\n  .list-inline-item:not(:last-child) {\\n    margin-right: 5px; }\\n\\n.initialism {\\n  font-size: 90%;\\n  text-transform: uppercase; }\\n\\n.blockquote {\\n  padding: 0.5rem 1rem;\\n  margin-bottom: 1rem;\\n  font-size: 1.25rem;\\n  border-left: 0.25rem solid #eeeeee; }\\n\\n.blockquote-footer {\\n  display: block;\\n  font-size: 80%;\\n  color: #999999; }\\n  .blockquote-footer::before {\\n    content: \\\"\\\\2014 \\\\00A0\\\"; }\\n\\n.blockquote-reverse {\\n  padding-right: 1rem;\\n  padding-left: 0;\\n  text-align: right;\\n  border-right: 0.25rem solid #eeeeee;\\n  border-left: 0; }\\n\\n.blockquote-reverse .blockquote-footer::before {\\n  content: \\\"\\\"; }\\n\\n.blockquote-reverse .blockquote-footer::after {\\n  content: \\\"\\\\00A0 \\\\2014\\\"; }\\n\\n.img-fluid {\\n  max-width: 100%;\\n  height: auto; }\\n\\n.img-thumbnail {\\n  padding: 0.25rem;\\n  background-color: #fff;\\n  border: 1px solid #ddd;\\n  border-radius: 0.25rem;\\n  transition: all 0.2s ease-in-out;\\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\\n  max-width: 100%;\\n  height: auto; }\\n\\n.figure {\\n  display: inline-block; }\\n\\n.figure-img {\\n  margin-bottom: 0.5rem;\\n  line-height: 1; }\\n\\n.figure-caption {\\n  font-size: 90%;\\n  color: #999999; }\\n\\ncode,\\nkbd,\\npre,\\nsamp {\\n  font-family: Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; }\\n\\ncode {\\n  padding: 0.2rem 0.4rem;\\n  font-size: 90%;\\n  color: #bd4147;\\n  background-color: #f9f2f4;\\n  border-radius: 0.25rem; }\\n  a > code {\\n    padding: 0;\\n    color: inherit;\\n    background-color: inherit; }\\n\\nkbd {\\n  padding: 0.2rem 0.4rem;\\n  font-size: 90%;\\n  color: #fff;\\n  background-color: #343434;\\n  border-radius: 0.2rem;\\n  box-shadow: inset 0 -0.1rem 0 rgba(0, 0, 0, 0.25); }\\n  kbd kbd {\\n    padding: 0;\\n    font-size: 100%;\\n    font-weight: 700;\\n    box-shadow: none; }\\n\\npre {\\n  display: block;\\n  margin-top: 0;\\n  margin-bottom: 1rem;\\n  font-size: 90%;\\n  color: #343434; }\\n  pre code {\\n    padding: 0;\\n    font-size: inherit;\\n    color: inherit;\\n    background-color: transparent;\\n    border-radius: 0; }\\n\\n.pre-scrollable {\\n  max-height: 340px;\\n  overflow-y: scroll; }\\n\\n.container {\\n  position: relative;\\n  margin-left: auto;\\n  margin-right: auto;\\n  padding-right: 15px;\\n  padding-left: 15px; }\\n  @media (min-width: 576px) {\\n    .container {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 768px) {\\n    .container {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 992px) {\\n    .container {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 1200px) {\\n    .container {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 576px) {\\n    .container {\\n      width: 540px;\\n      max-width: 100%; } }\\n  @media (min-width: 768px) {\\n    .container {\\n      width: 720px;\\n      max-width: 100%; } }\\n  @media (min-width: 992px) {\\n    .container {\\n      width: 960px;\\n      max-width: 100%; } }\\n  @media (min-width: 1200px) {\\n    .container {\\n      width: 1140px;\\n      max-width: 100%; } }\\n\\n.container-fluid {\\n  position: relative;\\n  margin-left: auto;\\n  margin-right: auto;\\n  padding-right: 15px;\\n  padding-left: 15px; }\\n  @media (min-width: 576px) {\\n    .container-fluid {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 768px) {\\n    .container-fluid {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 992px) {\\n    .container-fluid {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 1200px) {\\n    .container-fluid {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n\\n.row {\\n  display: flex;\\n  flex-wrap: wrap;\\n  margin-right: -15px;\\n  margin-left: -15px; }\\n  @media (min-width: 576px) {\\n    .row {\\n      margin-right: -15px;\\n      margin-left: -15px; } }\\n  @media (min-width: 768px) {\\n    .row {\\n      margin-right: -15px;\\n      margin-left: -15px; } }\\n  @media (min-width: 992px) {\\n    .row {\\n      margin-right: -15px;\\n      margin-left: -15px; } }\\n  @media (min-width: 1200px) {\\n    .row {\\n      margin-right: -15px;\\n      margin-left: -15px; } }\\n\\n.no-gutters {\\n  margin-right: 0;\\n  margin-left: 0; }\\n  .no-gutters > .col,\\n  .no-gutters > [class*=\\\"col-\\\"] {\\n    padding-right: 0;\\n    padding-left: 0; }\\n\\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\\n  position: relative;\\n  width: 100%;\\n  min-height: 1px;\\n  padding-right: 15px;\\n  padding-left: 15px; }\\n  @media (min-width: 576px) {\\n    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 768px) {\\n    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 992px) {\\n    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n  @media (min-width: 1200px) {\\n    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\\n      padding-right: 15px;\\n      padding-left: 15px; } }\\n\\n.col {\\n  flex-basis: 0;\\n  flex-grow: 1;\\n  max-width: 100%; }\\n\\n.col-auto {\\n  flex: 0 0 auto;\\n  width: auto; }\\n\\n.col-1 {\\n  flex: 0 0 8.33333%;\\n  max-width: 8.33333%; }\\n\\n.col-2 {\\n  flex: 0 0 16.66667%;\\n  max-width: 16.66667%; }\\n\\n.col-3 {\\n  flex: 0 0 25%;\\n  max-width: 25%; }\\n\\n.col-4 {\\n  flex: 0 0 33.33333%;\\n  max-width: 33.33333%; }\\n\\n.col-5 {\\n  flex: 0 0 41.66667%;\\n  max-width: 41.66667%; }\\n\\n.col-6 {\\n  flex: 0 0 50%;\\n  max-width: 50%; }\\n\\n.col-7 {\\n  flex: 0 0 58.33333%;\\n  max-width: 58.33333%; }\\n\\n.col-8 {\\n  flex: 0 0 66.66667%;\\n  max-width: 66.66667%; }\\n\\n.col-9 {\\n  flex: 0 0 75%;\\n  max-width: 75%; }\\n\\n.col-10 {\\n  flex: 0 0 83.33333%;\\n  max-width: 83.33333%; }\\n\\n.col-11 {\\n  flex: 0 0 91.66667%;\\n  max-width: 91.66667%; }\\n\\n.col-12 {\\n  flex: 0 0 100%;\\n  max-width: 100%; }\\n\\n.pull-0 {\\n  right: auto; }\\n\\n.pull-1 {\\n  right: 8.33333%; }\\n\\n.pull-2 {\\n  right: 16.66667%; }\\n\\n.pull-3 {\\n  right: 25%; }\\n\\n.pull-4 {\\n  right: 33.33333%; }\\n\\n.pull-5 {\\n  right: 41.66667%; }\\n\\n.pull-6 {\\n  right: 50%; }\\n\\n.pull-7 {\\n  right: 58.33333%; }\\n\\n.pull-8 {\\n  right: 66.66667%; }\\n\\n.pull-9 {\\n  right: 75%; }\\n\\n.pull-10 {\\n  right: 83.33333%; }\\n\\n.pull-11 {\\n  right: 91.66667%; }\\n\\n.pull-12 {\\n  right: 100%; }\\n\\n.push-0 {\\n  left: auto; }\\n\\n.push-1 {\\n  left: 8.33333%; }\\n\\n.push-2 {\\n  left: 16.66667%; }\\n\\n.push-3 {\\n  left: 25%; }\\n\\n.push-4 {\\n  left: 33.33333%; }\\n\\n.push-5 {\\n  left: 41.66667%; }\\n\\n.push-6 {\\n  left: 50%; }\\n\\n.push-7 {\\n  left: 58.33333%; }\\n\\n.push-8 {\\n  left: 66.66667%; }\\n\\n.push-9 {\\n  left: 75%; }\\n\\n.push-10 {\\n  left: 83.33333%; }\\n\\n.push-11 {\\n  left: 91.66667%; }\\n\\n.push-12 {\\n  left: 100%; }\\n\\n.offset-1 {\\n  margin-left: 8.33333%; }\\n\\n.offset-2 {\\n  margin-left: 16.66667%; }\\n\\n.offset-3 {\\n  margin-left: 25%; }\\n\\n.offset-4 {\\n  margin-left: 33.33333%; }\\n\\n.offset-5 {\\n  margin-left: 41.66667%; }\\n\\n.offset-6 {\\n  margin-left: 50%; }\\n\\n.offset-7 {\\n  margin-left: 58.33333%; }\\n\\n.offset-8 {\\n  margin-left: 66.66667%; }\\n\\n.offset-9 {\\n  margin-left: 75%; }\\n\\n.offset-10 {\\n  margin-left: 83.33333%; }\\n\\n.offset-11 {\\n  margin-left: 91.66667%; }\\n\\n@media (min-width: 576px) {\\n  .col-sm {\\n    flex-basis: 0;\\n    flex-grow: 1;\\n    max-width: 100%; }\\n  .col-sm-auto {\\n    flex: 0 0 auto;\\n    width: auto; }\\n  .col-sm-1 {\\n    flex: 0 0 8.33333%;\\n    max-width: 8.33333%; }\\n  .col-sm-2 {\\n    flex: 0 0 16.66667%;\\n    max-width: 16.66667%; }\\n  .col-sm-3 {\\n    flex: 0 0 25%;\\n    max-width: 25%; }\\n  .col-sm-4 {\\n    flex: 0 0 33.33333%;\\n    max-width: 33.33333%; }\\n  .col-sm-5 {\\n    flex: 0 0 41.66667%;\\n    max-width: 41.66667%; }\\n  .col-sm-6 {\\n    flex: 0 0 50%;\\n    max-width: 50%; }\\n  .col-sm-7 {\\n    flex: 0 0 58.33333%;\\n    max-width: 58.33333%; }\\n  .col-sm-8 {\\n    flex: 0 0 66.66667%;\\n    max-width: 66.66667%; }\\n  .col-sm-9 {\\n    flex: 0 0 75%;\\n    max-width: 75%; }\\n  .col-sm-10 {\\n    flex: 0 0 83.33333%;\\n    max-width: 83.33333%; }\\n  .col-sm-11 {\\n    flex: 0 0 91.66667%;\\n    max-width: 91.66667%; }\\n  .col-sm-12 {\\n    flex: 0 0 100%;\\n    max-width: 100%; }\\n  .pull-sm-0 {\\n    right: auto; }\\n  .pull-sm-1 {\\n    right: 8.33333%; }\\n  .pull-sm-2 {\\n    right: 16.66667%; }\\n  .pull-sm-3 {\\n    right: 25%; }\\n  .pull-sm-4 {\\n    right: 33.33333%; }\\n  .pull-sm-5 {\\n    right: 41.66667%; }\\n  .pull-sm-6 {\\n    right: 50%; }\\n  .pull-sm-7 {\\n    right: 58.33333%; }\\n  .pull-sm-8 {\\n    right: 66.66667%; }\\n  .pull-sm-9 {\\n    right: 75%; }\\n  .pull-sm-10 {\\n    right: 83.33333%; }\\n  .pull-sm-11 {\\n    right: 91.66667%; }\\n  .pull-sm-12 {\\n    right: 100%; }\\n  .push-sm-0 {\\n    left: auto; }\\n  .push-sm-1 {\\n    left: 8.33333%; }\\n  .push-sm-2 {\\n    left: 16.66667%; }\\n  .push-sm-3 {\\n    left: 25%; }\\n  .push-sm-4 {\\n    left: 33.33333%; }\\n  .push-sm-5 {\\n    left: 41.66667%; }\\n  .push-sm-6 {\\n    left: 50%; }\\n  .push-sm-7 {\\n    left: 58.33333%; }\\n  .push-sm-8 {\\n    left: 66.66667%; }\\n  .push-sm-9 {\\n    left: 75%; }\\n  .push-sm-10 {\\n    left: 83.33333%; }\\n  .push-sm-11 {\\n    left: 91.66667%; }\\n  .push-sm-12 {\\n    left: 100%; }\\n  .offset-sm-0 {\\n    margin-left: 0%; }\\n  .offset-sm-1 {\\n    margin-left: 8.33333%; }\\n  .offset-sm-2 {\\n    margin-left: 16.66667%; }\\n  .offset-sm-3 {\\n    margin-left: 25%; }\\n  .offset-sm-4 {\\n    margin-left: 33.33333%; }\\n  .offset-sm-5 {\\n    margin-left: 41.66667%; }\\n  .offset-sm-6 {\\n    margin-left: 50%; }\\n  .offset-sm-7 {\\n    margin-left: 58.33333%; }\\n  .offset-sm-8 {\\n    margin-left: 66.66667%; }\\n  .offset-sm-9 {\\n    margin-left: 75%; }\\n  .offset-sm-10 {\\n    margin-left: 83.33333%; }\\n  .offset-sm-11 {\\n    margin-left: 91.66667%; } }\\n\\n@media (min-width: 768px) {\\n  .col-md {\\n    flex-basis: 0;\\n    flex-grow: 1;\\n    max-width: 100%; }\\n  .col-md-auto {\\n    flex: 0 0 auto;\\n    width: auto; }\\n  .col-md-1 {\\n    flex: 0 0 8.33333%;\\n    max-width: 8.33333%; }\\n  .col-md-2 {\\n    flex: 0 0 16.66667%;\\n    max-width: 16.66667%; }\\n  .col-md-3 {\\n    flex: 0 0 25%;\\n    max-width: 25%; }\\n  .col-md-4 {\\n    flex: 0 0 33.33333%;\\n    max-width: 33.33333%; }\\n  .col-md-5 {\\n    flex: 0 0 41.66667%;\\n    max-width: 41.66667%; }\\n  .col-md-6 {\\n    flex: 0 0 50%;\\n    max-width: 50%; }\\n  .col-md-7 {\\n    flex: 0 0 58.33333%;\\n    max-width: 58.33333%; }\\n  .col-md-8 {\\n    flex: 0 0 66.66667%;\\n    max-width: 66.66667%; }\\n  .col-md-9 {\\n    flex: 0 0 75%;\\n    max-width: 75%; }\\n  .col-md-10 {\\n    flex: 0 0 83.33333%;\\n    max-width: 83.33333%; }\\n  .col-md-11 {\\n    flex: 0 0 91.66667%;\\n    max-width: 91.66667%; }\\n  .col-md-12 {\\n    flex: 0 0 100%;\\n    max-width: 100%; }\\n  .pull-md-0 {\\n    right: auto; }\\n  .pull-md-1 {\\n    right: 8.33333%; }\\n  .pull-md-2 {\\n    right: 16.66667%; }\\n  .pull-md-3 {\\n    right: 25%; }\\n  .pull-md-4 {\\n    right: 33.33333%; }\\n  .pull-md-5 {\\n    right: 41.66667%; }\\n  .pull-md-6 {\\n    right: 50%; }\\n  .pull-md-7 {\\n    right: 58.33333%; }\\n  .pull-md-8 {\\n    right: 66.66667%; }\\n  .pull-md-9 {\\n    right: 75%; }\\n  .pull-md-10 {\\n    right: 83.33333%; }\\n  .pull-md-11 {\\n    right: 91.66667%; }\\n  .pull-md-12 {\\n    right: 100%; }\\n  .push-md-0 {\\n    left: auto; }\\n  .push-md-1 {\\n    left: 8.33333%; }\\n  .push-md-2 {\\n    left: 16.66667%; }\\n  .push-md-3 {\\n    left: 25%; }\\n  .push-md-4 {\\n    left: 33.33333%; }\\n  .push-md-5 {\\n    left: 41.66667%; }\\n  .push-md-6 {\\n    left: 50%; }\\n  .push-md-7 {\\n    left: 58.33333%; }\\n  .push-md-8 {\\n    left: 66.66667%; }\\n  .push-md-9 {\\n    left: 75%; }\\n  .push-md-10 {\\n    left: 83.33333%; }\\n  .push-md-11 {\\n    left: 91.66667%; }\\n  .push-md-12 {\\n    left: 100%; }\\n  .offset-md-0 {\\n    margin-left: 0%; }\\n  .offset-md-1 {\\n    margin-left: 8.33333%; }\\n  .offset-md-2 {\\n    margin-left: 16.66667%; }\\n  .offset-md-3 {\\n    margin-left: 25%; }\\n  .offset-md-4 {\\n    margin-left: 33.33333%; }\\n  .offset-md-5 {\\n    margin-left: 41.66667%; }\\n  .offset-md-6 {\\n    margin-left: 50%; }\\n  .offset-md-7 {\\n    margin-left: 58.33333%; }\\n  .offset-md-8 {\\n    margin-left: 66.66667%; }\\n  .offset-md-9 {\\n    margin-left: 75%; }\\n  .offset-md-10 {\\n    margin-left: 83.33333%; }\\n  .offset-md-11 {\\n    margin-left: 91.66667%; } }\\n\\n@media (min-width: 992px) {\\n  .col-lg {\\n    flex-basis: 0;\\n    flex-grow: 1;\\n    max-width: 100%; }\\n  .col-lg-auto {\\n    flex: 0 0 auto;\\n    width: auto; }\\n  .col-lg-1 {\\n    flex: 0 0 8.33333%;\\n    max-width: 8.33333%; }\\n  .col-lg-2 {\\n    flex: 0 0 16.66667%;\\n    max-width: 16.66667%; }\\n  .col-lg-3 {\\n    flex: 0 0 25%;\\n    max-width: 25%; }\\n  .col-lg-4 {\\n    flex: 0 0 33.33333%;\\n    max-width: 33.33333%; }\\n  .col-lg-5 {\\n    flex: 0 0 41.66667%;\\n    max-width: 41.66667%; }\\n  .col-lg-6 {\\n    flex: 0 0 50%;\\n    max-width: 50%; }\\n  .col-lg-7 {\\n    flex: 0 0 58.33333%;\\n    max-width: 58.33333%; }\\n  .col-lg-8 {\\n    flex: 0 0 66.66667%;\\n    max-width: 66.66667%; }\\n  .col-lg-9 {\\n    flex: 0 0 75%;\\n    max-width: 75%; }\\n  .col-lg-10 {\\n    flex: 0 0 83.33333%;\\n    max-width: 83.33333%; }\\n  .col-lg-11 {\\n    flex: 0 0 91.66667%;\\n    max-width: 91.66667%; }\\n  .col-lg-12 {\\n    flex: 0 0 100%;\\n    max-width: 100%; }\\n  .pull-lg-0 {\\n    right: auto; }\\n  .pull-lg-1 {\\n    right: 8.33333%; }\\n  .pull-lg-2 {\\n    right: 16.66667%; }\\n  .pull-lg-3 {\\n    right: 25%; }\\n  .pull-lg-4 {\\n    right: 33.33333%; }\\n  .pull-lg-5 {\\n    right: 41.66667%; }\\n  .pull-lg-6 {\\n    right: 50%; }\\n  .pull-lg-7 {\\n    right: 58.33333%; }\\n  .pull-lg-8 {\\n    right: 66.66667%; }\\n  .pull-lg-9 {\\n    right: 75%; }\\n  .pull-lg-10 {\\n    right: 83.33333%; }\\n  .pull-lg-11 {\\n    right: 91.66667%; }\\n  .pull-lg-12 {\\n    right: 100%; }\\n  .push-lg-0 {\\n    left: auto; }\\n  .push-lg-1 {\\n    left: 8.33333%; }\\n  .push-lg-2 {\\n    left: 16.66667%; }\\n  .push-lg-3 {\\n    left: 25%; }\\n  .push-lg-4 {\\n    left: 33.33333%; }\\n  .push-lg-5 {\\n    left: 41.66667%; }\\n  .push-lg-6 {\\n    left: 50%; }\\n  .push-lg-7 {\\n    left: 58.33333%; }\\n  .push-lg-8 {\\n    left: 66.66667%; }\\n  .push-lg-9 {\\n    left: 75%; }\\n  .push-lg-10 {\\n    left: 83.33333%; }\\n  .push-lg-11 {\\n    left: 91.66667%; }\\n  .push-lg-12 {\\n    left: 100%; }\\n  .offset-lg-0 {\\n    margin-left: 0%; }\\n  .offset-lg-1 {\\n    margin-left: 8.33333%; }\\n  .offset-lg-2 {\\n    margin-left: 16.66667%; }\\n  .offset-lg-3 {\\n    margin-left: 25%; }\\n  .offset-lg-4 {\\n    margin-left: 33.33333%; }\\n  .offset-lg-5 {\\n    margin-left: 41.66667%; }\\n  .offset-lg-6 {\\n    margin-left: 50%; }\\n  .offset-lg-7 {\\n    margin-left: 58.33333%; }\\n  .offset-lg-8 {\\n    margin-left: 66.66667%; }\\n  .offset-lg-9 {\\n    margin-left: 75%; }\\n  .offset-lg-10 {\\n    margin-left: 83.33333%; }\\n  .offset-lg-11 {\\n    margin-left: 91.66667%; } }\\n\\n@media (min-width: 1200px) {\\n  .col-xl {\\n    flex-basis: 0;\\n    flex-grow: 1;\\n    max-width: 100%; }\\n  .col-xl-auto {\\n    flex: 0 0 auto;\\n    width: auto; }\\n  .col-xl-1 {\\n    flex: 0 0 8.33333%;\\n    max-width: 8.33333%; }\\n  .col-xl-2 {\\n    flex: 0 0 16.66667%;\\n    max-width: 16.66667%; }\\n  .col-xl-3 {\\n    flex: 0 0 25%;\\n    max-width: 25%; }\\n  .col-xl-4 {\\n    flex: 0 0 33.33333%;\\n    max-width: 33.33333%; }\\n  .col-xl-5 {\\n    flex: 0 0 41.66667%;\\n    max-width: 41.66667%; }\\n  .col-xl-6 {\\n    flex: 0 0 50%;\\n    max-width: 50%; }\\n  .col-xl-7 {\\n    flex: 0 0 58.33333%;\\n    max-width: 58.33333%; }\\n  .col-xl-8 {\\n    flex: 0 0 66.66667%;\\n    max-width: 66.66667%; }\\n  .col-xl-9 {\\n    flex: 0 0 75%;\\n    max-width: 75%; }\\n  .col-xl-10 {\\n    flex: 0 0 83.33333%;\\n    max-width: 83.33333%; }\\n  .col-xl-11 {\\n    flex: 0 0 91.66667%;\\n    max-width: 91.66667%; }\\n  .col-xl-12 {\\n    flex: 0 0 100%;\\n    max-width: 100%; }\\n  .pull-xl-0 {\\n    right: auto; }\\n  .pull-xl-1 {\\n    right: 8.33333%; }\\n  .pull-xl-2 {\\n    right: 16.66667%; }\\n  .pull-xl-3 {\\n    right: 25%; }\\n  .pull-xl-4 {\\n    right: 33.33333%; }\\n  .pull-xl-5 {\\n    right: 41.66667%; }\\n  .pull-xl-6 {\\n    right: 50%; }\\n  .pull-xl-7 {\\n    right: 58.33333%; }\\n  .pull-xl-8 {\\n    right: 66.66667%; }\\n  .pull-xl-9 {\\n    right: 75%; }\\n  .pull-xl-10 {\\n    right: 83.33333%; }\\n  .pull-xl-11 {\\n    right: 91.66667%; }\\n  .pull-xl-12 {\\n    right: 100%; }\\n  .push-xl-0 {\\n    left: auto; }\\n  .push-xl-1 {\\n    left: 8.33333%; }\\n  .push-xl-2 {\\n    left: 16.66667%; }\\n  .push-xl-3 {\\n    left: 25%; }\\n  .push-xl-4 {\\n    left: 33.33333%; }\\n  .push-xl-5 {\\n    left: 41.66667%; }\\n  .push-xl-6 {\\n    left: 50%; }\\n  .push-xl-7 {\\n    left: 58.33333%; }\\n  .push-xl-8 {\\n    left: 66.66667%; }\\n  .push-xl-9 {\\n    left: 75%; }\\n  .push-xl-10 {\\n    left: 83.33333%; }\\n  .push-xl-11 {\\n    left: 91.66667%; }\\n  .push-xl-12 {\\n    left: 100%; }\\n  .offset-xl-0 {\\n    margin-left: 0%; }\\n  .offset-xl-1 {\\n    margin-left: 8.33333%; }\\n  .offset-xl-2 {\\n    margin-left: 16.66667%; }\\n  .offset-xl-3 {\\n    margin-left: 25%; }\\n  .offset-xl-4 {\\n    margin-left: 33.33333%; }\\n  .offset-xl-5 {\\n    margin-left: 41.66667%; }\\n  .offset-xl-6 {\\n    margin-left: 50%; }\\n  .offset-xl-7 {\\n    margin-left: 58.33333%; }\\n  .offset-xl-8 {\\n    margin-left: 66.66667%; }\\n  .offset-xl-9 {\\n    margin-left: 75%; }\\n  .offset-xl-10 {\\n    margin-left: 83.33333%; }\\n  .offset-xl-11 {\\n    margin-left: 91.66667%; } }\\n\\n.table {\\n  width: 100%;\\n  max-width: 100%;\\n  margin-bottom: 1rem; }\\n  .table th,\\n  .table td {\\n    padding: 0.75rem;\\n    vertical-align: top;\\n    border-top: 1px solid #ddd; }\\n  .table thead th {\\n    vertical-align: bottom;\\n    border-bottom: 2px solid #ddd; }\\n  .table tbody + tbody {\\n    border-top: 2px solid #ddd; }\\n  .table .table {\\n    background-color: #eee; }\\n\\n.table-sm th,\\n.table-sm td {\\n  padding: 0.3rem; }\\n\\n.table-bordered {\\n  border: 1px solid #ddd; }\\n  .table-bordered th,\\n  .table-bordered td {\\n    border: 1px solid #ddd; }\\n  .table-bordered thead th,\\n  .table-bordered thead td {\\n    border-bottom-width: 2px; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n  background-color: #f3f3f3; }\\n\\n.table-hover tbody tr:hover {\\n  background-color: #eeeeee; }\\n\\n.table-active,\\n.table-active > th,\\n.table-active > td {\\n  background-color: #eeeeee; }\\n\\n.table-hover .table-active:hover {\\n  background-color: #e2e2e2; }\\n  .table-hover .table-active:hover > td,\\n  .table-hover .table-active:hover > th {\\n    background-color: #e2e2e2; }\\n\\n.table-success,\\n.table-success > th,\\n.table-success > td {\\n  background-color: #ecfaec; }\\n\\n.table-hover .table-success:hover {\\n  background-color: #d8f5d8; }\\n  .table-hover .table-success:hover > td,\\n  .table-hover .table-success:hover > th {\\n    background-color: #d8f5d8; }\\n\\n.table-info,\\n.table-info > th,\\n.table-info > td {\\n  background-color: #f2fafa; }\\n\\n.table-hover .table-info:hover {\\n  background-color: #e0f3f3; }\\n  .table-hover .table-info:hover > td,\\n  .table-hover .table-info:hover > th {\\n    background-color: #e0f3f3; }\\n\\n.table-warning,\\n.table-warning > th,\\n.table-warning > td {\\n  background-color: #fdf7e6; }\\n\\n.table-hover .table-warning:hover {\\n  background-color: #fcefce; }\\n  .table-hover .table-warning:hover > td,\\n  .table-hover .table-warning:hover > th {\\n    background-color: #fcefce; }\\n\\n.table-danger,\\n.table-danger > th,\\n.table-danger > td {\\n  background-color: #fff2ef; }\\n\\n.table-hover .table-danger:hover {\\n  background-color: #ffddd6; }\\n  .table-hover .table-danger:hover > td,\\n  .table-hover .table-danger:hover > th {\\n    background-color: #ffddd6; }\\n\\n.thead-inverse th {\\n  color: #eee;\\n  background-color: #343434; }\\n\\n.thead-default th {\\n  color: #555555;\\n  background-color: #eeeeee; }\\n\\n.table-inverse {\\n  color: #eee;\\n  background-color: #343434; }\\n  .table-inverse th,\\n  .table-inverse td,\\n  .table-inverse thead th {\\n    border-color: #eee; }\\n  .table-inverse.table-bordered {\\n    border: 0; }\\n\\n.table-responsive {\\n  display: block;\\n  width: 100%;\\n  overflow-x: auto;\\n  -ms-overflow-style: -ms-autohiding-scrollbar; }\\n  .table-responsive.table-bordered {\\n    border: 0; }\\n\\n.form-control {\\n  display: block;\\n  width: 100%;\\n  padding: 0.5rem 0.75rem;\\n  font-size: 1rem;\\n  line-height: 1.5;\\n  color: #555555;\\n  background-color: #fff;\\n  background-image: none;\\n  background-clip: padding-box;\\n  border: 1px solid rgba(0, 0, 0, 0.15);\\n  border-radius: 0.25rem;\\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }\\n  .form-control::-ms-expand {\\n    background-color: transparent;\\n    border: 0; }\\n  .form-control:focus {\\n    color: #555555;\\n    background-color: #fff;\\n    border-color: #4D90FE;\\n    outline: none;\\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), rgba(77, 144, 254, 0.6); }\\n  .form-control::placeholder {\\n    color: #999999;\\n    opacity: 1; }\\n  .form-control:disabled, .form-control[readonly] {\\n    background-color: #eeeeee;\\n    opacity: 1; }\\n  .form-control:disabled {\\n    cursor: not-allowed; }\\n\\nselect.form-control:not([size]):not([multiple]) {\\n  height: calc(2.5rem + 2px); }\\n\\nselect.form-control:focus::-ms-value {\\n  color: #555555;\\n  background-color: #fff; }\\n\\n.form-control-file,\\n.form-control-range {\\n  display: block; }\\n\\n.col-form-label {\\n  padding-top: calc(0.5rem - 1px * 2);\\n  padding-bottom: calc(0.5rem - 1px * 2);\\n  margin-bottom: 0; }\\n\\n.col-form-label-lg {\\n  padding-top: calc(0.75rem - 1px * 2);\\n  padding-bottom: calc(0.75rem - 1px * 2);\\n  font-size: 1.25rem; }\\n\\n.col-form-label-sm {\\n  padding-top: calc(0.25rem - 1px * 2);\\n  padding-bottom: calc(0.25rem - 1px * 2);\\n  font-size: 0.875rem; }\\n\\n.col-form-legend {\\n  padding-top: 0.5rem;\\n  padding-bottom: 0.5rem;\\n  margin-bottom: 0;\\n  font-size: 1rem; }\\n\\n.form-control-static {\\n  padding-top: 0.5rem;\\n  padding-bottom: 0.5rem;\\n  margin-bottom: 0;\\n  line-height: 1.5;\\n  border: solid transparent;\\n  border-width: 1px 0; }\\n  .form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\\n  .input-group-sm > .form-control-static.input-group-addon,\\n  .input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\\n  .input-group-lg > .form-control-static.input-group-addon,\\n  .input-group-lg > .input-group-btn > .form-control-static.btn {\\n    padding-right: 0;\\n    padding-left: 0; }\\n\\n.form-control-sm, .input-group-sm > .form-control,\\n.input-group-sm > .input-group-addon,\\n.input-group-sm > .input-group-btn > .btn {\\n  padding: 0.25rem 0.5rem;\\n  font-size: 0.875rem;\\n  border-radius: 0.2rem; }\\n\\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\\n  height: 1.8125rem; }\\n\\n.form-control-lg, .input-group-lg > .form-control,\\n.input-group-lg > .input-group-addon,\\n.input-group-lg > .input-group-btn > .btn {\\n  padding: 0.75rem 1.5rem;\\n  font-size: 1.25rem;\\n  border-radius: 0.3rem; }\\n\\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\\n  height: 3.16667rem; }\\n\\n.form-group {\\n  margin-bottom: 1rem; }\\n\\n.form-text {\\n  display: block;\\n  margin-top: 0.25rem; }\\n\\n.form-check {\\n  position: relative;\\n  display: block;\\n  margin-bottom: 0.5rem; }\\n  .form-check.disabled .form-check-label {\\n    color: #999999;\\n    cursor: not-allowed; }\\n\\n.form-check-label {\\n  padding-left: 1.25rem;\\n  margin-bottom: 0;\\n  cursor: pointer; }\\n\\n.form-check-input {\\n  position: absolute;\\n  margin-top: 0.25rem;\\n  margin-left: -1.25rem; }\\n  .form-check-input:only-child {\\n    position: static; }\\n\\n.form-check-inline {\\n  display: inline-block; }\\n  .form-check-inline .form-check-label {\\n    vertical-align: middle; }\\n  .form-check-inline + .form-check-inline {\\n    margin-left: 0.75rem; }\\n\\n.form-control-feedback {\\n  margin-top: 0.25rem; }\\n\\n.form-control-success,\\n.form-control-warning,\\n.form-control-danger {\\n  padding-right: 2.25rem;\\n  background-repeat: no-repeat;\\n  background-position: center right 0.625rem;\\n  background-size: 1.25rem 1.25rem; }\\n\\n.has-success .form-control-feedback,\\n.has-success .form-control-label,\\n.has-success .col-form-label,\\n.has-success .form-check-label,\\n.has-success .custom-control {\\n  color: #64bd63; }\\n\\n.has-success .form-control {\\n  border-color: #64bd63; }\\n  .has-success .form-control:focus {\\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #abdbab; }\\n\\n.has-success .input-group-addon {\\n  color: #64bd63;\\n  border-color: #64bd63;\\n  background-color: #f2faf2; }\\n\\n.has-success .form-control-success {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2364bd63' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\\\"); }\\n\\n.has-warning .form-control-feedback,\\n.has-warning .form-control-label,\\n.has-warning .col-form-label,\\n.has-warning .form-check-label,\\n.has-warning .custom-control {\\n  color: #f0b518; }\\n\\n.has-warning .form-control {\\n  border-color: #f0b518; }\\n  .has-warning .form-control:focus {\\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f6d478; }\\n\\n.has-warning .input-group-addon {\\n  color: #f0b518;\\n  border-color: #f0b518;\\n  background-color: #fcf2d8; }\\n\\n.has-warning .form-control-warning {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0b518' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\\\"); }\\n\\n.has-danger .form-control-feedback,\\n.has-danger .form-control-label,\\n.has-danger .col-form-label,\\n.has-danger .form-check-label,\\n.has-danger .custom-control {\\n  color: #dd5826; }\\n\\n.has-danger .form-control {\\n  border-color: #dd5826; }\\n  .has-danger .form-control:focus {\\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #eb9c7e; }\\n\\n.has-danger .input-group-addon {\\n  color: #dd5826;\\n  border-color: #dd5826;\\n  background-color: #f9e0d6; }\\n\\n.has-danger .form-control-danger {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd5826' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\\\"); }\\n\\n.form-inline {\\n  display: flex;\\n  flex-flow: row wrap;\\n  align-items: center; }\\n  .form-inline .form-check {\\n    width: 100%; }\\n  @media (min-width: 576px) {\\n    .form-inline label {\\n      display: flex;\\n      align-items: center;\\n      justify-content: center;\\n      margin-bottom: 0; }\\n    .form-inline .form-group {\\n      display: flex;\\n      flex: 0 0 auto;\\n      flex-flow: row wrap;\\n      align-items: center;\\n      margin-bottom: 0; }\\n    .form-inline .form-control {\\n      display: inline-block;\\n      width: auto;\\n      vertical-align: middle; }\\n    .form-inline .form-control-static {\\n      display: inline-block; }\\n    .form-inline .input-group {\\n      width: auto; }\\n    .form-inline .form-control-label {\\n      margin-bottom: 0;\\n      vertical-align: middle; }\\n    .form-inline .form-check {\\n      display: flex;\\n      align-items: center;\\n      justify-content: center;\\n      width: auto;\\n      margin-top: 0;\\n      margin-bottom: 0; }\\n    .form-inline .form-check-label {\\n      padding-left: 0; }\\n    .form-inline .form-check-input {\\n      position: relative;\\n      margin-top: 0;\\n      margin-right: 0.25rem;\\n      margin-left: 0; }\\n    .form-inline .custom-control {\\n      display: flex;\\n      align-items: center;\\n      justify-content: center;\\n      padding-left: 0; }\\n    .form-inline .custom-control-indicator {\\n      position: static;\\n      display: inline-block;\\n      margin-right: 0.25rem;\\n      vertical-align: text-bottom; }\\n    .form-inline .has-feedback .form-control-feedback {\\n      top: 0; } }\\n\\n.btn {\\n  display: inline-block;\\n  font-weight: 400;\\n  line-height: 1.5;\\n  text-align: center;\\n  white-space: nowrap;\\n  vertical-align: middle;\\n  user-select: none;\\n  border: 1px solid transparent;\\n  padding: 0.375rem 1rem;\\n  font-size: 1rem;\\n  border-radius: 0.25rem;\\n  transition: all 0.2s ease-in-out; }\\n  .btn:focus, .btn:hover {\\n    text-decoration: none; }\\n  .btn:focus, .btn.focus {\\n    outline: 0;\\n    box-shadow: 0 0 0 2px rgba(93, 143, 194, 0.25); }\\n  .btn.disabled, .btn:disabled {\\n    cursor: not-allowed;\\n    opacity: .65;\\n    box-shadow: none; }\\n  .btn:active, .btn.active {\\n    background-image: none;\\n    box-shadow: 0 0 0 2px rgba(93, 143, 194, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\na.btn.disabled,\\nfieldset[disabled] a.btn {\\n  pointer-events: none; }\\n\\n.btn-primary {\\n  color: #fff;\\n  background-color: #5d8fc2;\\n  border-color: #5d8fc2;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-primary:hover {\\n    color: #fff;\\n    background-color: #4175ab;\\n    border-color: #3e70a4; }\\n  .btn-primary:focus, .btn-primary.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(93, 143, 194, 0.5); }\\n  .btn-primary.disabled, .btn-primary:disabled {\\n    background-color: #5d8fc2;\\n    border-color: #5d8fc2; }\\n  .btn-primary:active, .btn-primary.active,\\n  .show > .btn-primary.dropdown-toggle {\\n    color: #fff;\\n    background-color: #4175ab;\\n    background-image: none;\\n    border-color: #3e70a4;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-secondary {\\n  color: #343434;\\n  background-color: #f8f8f8;\\n  border-color: #ccc;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-secondary:hover {\\n    color: #343434;\\n    background-color: #dfdfdf;\\n    border-color: #adadad; }\\n  .btn-secondary:focus, .btn-secondary.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(204, 204, 204, 0.5); }\\n  .btn-secondary.disabled, .btn-secondary:disabled {\\n    background-color: #f8f8f8;\\n    border-color: #ccc; }\\n  .btn-secondary:active, .btn-secondary.active,\\n  .show > .btn-secondary.dropdown-toggle {\\n    color: #343434;\\n    background-color: #dfdfdf;\\n    background-image: none;\\n    border-color: #adadad;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-info {\\n  color: #fff;\\n  background-color: #5dc4bf;\\n  border-color: #5dc4bf;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-info:hover {\\n    color: #fff;\\n    background-color: #40aea9;\\n    border-color: #3da7a2; }\\n  .btn-info:focus, .btn-info.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(93, 196, 191, 0.5); }\\n  .btn-info.disabled, .btn-info:disabled {\\n    background-color: #5dc4bf;\\n    border-color: #5dc4bf; }\\n  .btn-info:active, .btn-info.active,\\n  .show > .btn-info.dropdown-toggle {\\n    color: #fff;\\n    background-color: #40aea9;\\n    background-image: none;\\n    border-color: #3da7a2;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-success {\\n  color: #fff;\\n  background-color: #64bd63;\\n  border-color: #64bd63;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-success:hover {\\n    color: #fff;\\n    background-color: #48a746;\\n    border-color: #449f43; }\\n  .btn-success:focus, .btn-success.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(100, 189, 99, 0.5); }\\n  .btn-success.disabled, .btn-success:disabled {\\n    background-color: #64bd63;\\n    border-color: #64bd63; }\\n  .btn-success:active, .btn-success.active,\\n  .show > .btn-success.dropdown-toggle {\\n    color: #fff;\\n    background-color: #48a746;\\n    background-image: none;\\n    border-color: #449f43;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-warning {\\n  color: #fff;\\n  background-color: #f0b518;\\n  border-color: #f0b518;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-warning:hover {\\n    color: #fff;\\n    background-color: #c8950d;\\n    border-color: #be8e0c; }\\n  .btn-warning:focus, .btn-warning.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(240, 181, 24, 0.5); }\\n  .btn-warning.disabled, .btn-warning:disabled {\\n    background-color: #f0b518;\\n    border-color: #f0b518; }\\n  .btn-warning:active, .btn-warning.active,\\n  .show > .btn-warning.dropdown-toggle {\\n    color: #fff;\\n    background-color: #c8950d;\\n    background-image: none;\\n    border-color: #be8e0c;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-danger {\\n  color: #fff;\\n  background-color: #dd5826;\\n  border-color: #dd5826;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-danger:hover {\\n    color: #fff;\\n    background-color: #b4461c;\\n    border-color: #ab421b; }\\n  .btn-danger:focus, .btn-danger.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(221, 88, 38, 0.5); }\\n  .btn-danger.disabled, .btn-danger:disabled {\\n    background-color: #dd5826;\\n    border-color: #dd5826; }\\n  .btn-danger:active, .btn-danger.active,\\n  .show > .btn-danger.dropdown-toggle {\\n    color: #fff;\\n    background-color: #b4461c;\\n    background-image: none;\\n    border-color: #ab421b;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-outline-primary {\\n  color: #5d8fc2;\\n  background-image: none;\\n  background-color: transparent;\\n  border-color: #5d8fc2; }\\n  .btn-outline-primary:hover {\\n    color: #fff;\\n    background-color: #5d8fc2;\\n    border-color: #5d8fc2; }\\n  .btn-outline-primary:focus, .btn-outline-primary.focus {\\n    box-shadow: 0 0 0 2px rgba(93, 143, 194, 0.5); }\\n  .btn-outline-primary.disabled, .btn-outline-primary:disabled {\\n    color: #5d8fc2;\\n    background-color: transparent; }\\n  .btn-outline-primary:active, .btn-outline-primary.active,\\n  .show > .btn-outline-primary.dropdown-toggle {\\n    color: #fff;\\n    background-color: #5d8fc2;\\n    border-color: #5d8fc2; }\\n\\n.btn-outline-secondary {\\n  color: #ccc;\\n  background-image: none;\\n  background-color: transparent;\\n  border-color: #ccc; }\\n  .btn-outline-secondary:hover {\\n    color: #fff;\\n    background-color: #ccc;\\n    border-color: #ccc; }\\n  .btn-outline-secondary:focus, .btn-outline-secondary.focus {\\n    box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); }\\n  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\\n    color: #ccc;\\n    background-color: transparent; }\\n  .btn-outline-secondary:active, .btn-outline-secondary.active,\\n  .show > .btn-outline-secondary.dropdown-toggle {\\n    color: #fff;\\n    background-color: #ccc;\\n    border-color: #ccc; }\\n\\n.btn-outline-info {\\n  color: #5dc4bf;\\n  background-image: none;\\n  background-color: transparent;\\n  border-color: #5dc4bf; }\\n  .btn-outline-info:hover {\\n    color: #fff;\\n    background-color: #5dc4bf;\\n    border-color: #5dc4bf; }\\n  .btn-outline-info:focus, .btn-outline-info.focus {\\n    box-shadow: 0 0 0 2px rgba(93, 196, 191, 0.5); }\\n  .btn-outline-info.disabled, .btn-outline-info:disabled {\\n    color: #5dc4bf;\\n    background-color: transparent; }\\n  .btn-outline-info:active, .btn-outline-info.active,\\n  .show > .btn-outline-info.dropdown-toggle {\\n    color: #fff;\\n    background-color: #5dc4bf;\\n    border-color: #5dc4bf; }\\n\\n.btn-outline-success {\\n  color: #64bd63;\\n  background-image: none;\\n  background-color: transparent;\\n  border-color: #64bd63; }\\n  .btn-outline-success:hover {\\n    color: #fff;\\n    background-color: #64bd63;\\n    border-color: #64bd63; }\\n  .btn-outline-success:focus, .btn-outline-success.focus {\\n    box-shadow: 0 0 0 2px rgba(100, 189, 99, 0.5); }\\n  .btn-outline-success.disabled, .btn-outline-success:disabled {\\n    color: #64bd63;\\n    background-color: transparent; }\\n  .btn-outline-success:active, .btn-outline-success.active,\\n  .show > .btn-outline-success.dropdown-toggle {\\n    color: #fff;\\n    background-color: #64bd63;\\n    border-color: #64bd63; }\\n\\n.btn-outline-warning {\\n  color: #f0b518;\\n  background-image: none;\\n  background-color: transparent;\\n  border-color: #f0b518; }\\n  .btn-outline-warning:hover {\\n    color: #fff;\\n    background-color: #f0b518;\\n    border-color: #f0b518; }\\n  .btn-outline-warning:focus, .btn-outline-warning.focus {\\n    box-shadow: 0 0 0 2px rgba(240, 181, 24, 0.5); }\\n  .btn-outline-warning.disabled, .btn-outline-warning:disabled {\\n    color: #f0b518;\\n    background-color: transparent; }\\n  .btn-outline-warning:active, .btn-outline-warning.active,\\n  .show > .btn-outline-warning.dropdown-toggle {\\n    color: #fff;\\n    background-color: #f0b518;\\n    border-color: #f0b518; }\\n\\n.btn-outline-danger {\\n  color: #dd5826;\\n  background-image: none;\\n  background-color: transparent;\\n  border-color: #dd5826; }\\n  .btn-outline-danger:hover {\\n    color: #fff;\\n    background-color: #dd5826;\\n    border-color: #dd5826; }\\n  .btn-outline-danger:focus, .btn-outline-danger.focus {\\n    box-shadow: 0 0 0 2px rgba(221, 88, 38, 0.5); }\\n  .btn-outline-danger.disabled, .btn-outline-danger:disabled {\\n    color: #dd5826;\\n    background-color: transparent; }\\n  .btn-outline-danger:active, .btn-outline-danger.active,\\n  .show > .btn-outline-danger.dropdown-toggle {\\n    color: #fff;\\n    background-color: #dd5826;\\n    border-color: #dd5826; }\\n\\n.btn-link {\\n  font-weight: 400;\\n  color: #218BC3;\\n  border-radius: 0; }\\n  .btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\\n    background-color: transparent;\\n    box-shadow: none; }\\n  .btn-link, .btn-link:focus, .btn-link:active {\\n    border-color: transparent; }\\n  .btn-link:hover {\\n    border-color: transparent; }\\n  .btn-link:focus, .btn-link:hover {\\n    color: #165c82;\\n    text-decoration: underline;\\n    background-color: transparent; }\\n  .btn-link:disabled {\\n    color: #999999; }\\n    .btn-link:disabled:focus, .btn-link:disabled:hover {\\n      text-decoration: none; }\\n\\n.btn-lg, .btn-group-lg > .btn {\\n  padding: 0.75rem 1.5rem;\\n  font-size: 1.25rem;\\n  border-radius: 0.3rem; }\\n\\n.btn-sm, .btn-group-sm > .btn {\\n  padding: 0.25rem 0.75rem;\\n  font-size: 0.875rem;\\n  border-radius: 0.2rem; }\\n\\n.btn-block {\\n  display: block;\\n  width: 100%; }\\n\\n.btn-block + .btn-block {\\n  margin-top: 0.5rem; }\\n\\ninput[type=\\\"submit\\\"].btn-block,\\ninput[type=\\\"reset\\\"].btn-block,\\ninput[type=\\\"button\\\"].btn-block {\\n  width: 100%; }\\n\\n.fade {\\n  opacity: 0;\\n  transition: opacity 0.15s linear; }\\n  .fade.show {\\n    opacity: 1; }\\n\\n.collapse {\\n  display: none; }\\n  .collapse.show {\\n    display: block; }\\n\\ntr.collapse.show {\\n  display: table-row; }\\n\\ntbody.collapse.show {\\n  display: table-row-group; }\\n\\n.collapsing {\\n  position: relative;\\n  height: 0;\\n  overflow: hidden;\\n  transition: height 0.35s ease; }\\n\\n.dropup,\\n.dropdown {\\n  position: relative; }\\n\\n.dropdown-toggle::after {\\n  display: inline-block;\\n  width: 0;\\n  height: 0;\\n  margin-left: 0.3em;\\n  vertical-align: middle;\\n  content: \\\"\\\";\\n  border-top: 0.3em solid;\\n  border-right: 0.3em solid transparent;\\n  border-left: 0.3em solid transparent; }\\n\\n.dropdown-toggle:focus {\\n  outline: 0; }\\n\\n.dropup .dropdown-toggle::after {\\n  border-top: 0;\\n  border-bottom: 0.3em solid; }\\n\\n.dropdown-menu {\\n  position: absolute;\\n  top: 100%;\\n  left: 0;\\n  z-index: 1000;\\n  display: none;\\n  float: left;\\n  min-width: 10rem;\\n  padding: 0.5rem 0;\\n  margin: 0.125rem 0 0;\\n  font-size: 1rem;\\n  color: #343434;\\n  text-align: left;\\n  list-style: none;\\n  background-color: #fff;\\n  background-clip: padding-box;\\n  border: 1px solid rgba(0, 0, 0, 0.15);\\n  border-radius: 0.25rem;\\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175); }\\n\\n.dropdown-divider {\\n  height: 1px;\\n  margin: 0.5rem 0;\\n  overflow: hidden;\\n  background-color: #eeeeee; }\\n\\n.dropdown-item {\\n  display: block;\\n  width: 100%;\\n  padding: 3px 1.5rem;\\n  clear: both;\\n  font-weight: 400;\\n  color: #555555;\\n  text-align: inherit;\\n  white-space: nowrap;\\n  background: none;\\n  border: 0; }\\n  .dropdown-item:focus, .dropdown-item:hover {\\n    color: #272727;\\n    text-decoration: none;\\n    background-color: #f7f7f9; }\\n  .dropdown-item.active, .dropdown-item:active {\\n    color: #fff;\\n    text-decoration: none;\\n    background-color: #5d8fc2; }\\n  .dropdown-item.disabled, .dropdown-item:disabled {\\n    color: #999999;\\n    cursor: not-allowed;\\n    background-color: transparent; }\\n\\n.show > .dropdown-menu {\\n  display: block; }\\n\\n.show > a {\\n  outline: 0; }\\n\\n.dropdown-menu-right {\\n  right: 0;\\n  left: auto; }\\n\\n.dropdown-menu-left {\\n  right: auto;\\n  left: 0; }\\n\\n.dropdown-header {\\n  display: block;\\n  padding: 0.5rem 1.5rem;\\n  margin-bottom: 0;\\n  font-size: 0.875rem;\\n  color: #999999;\\n  white-space: nowrap; }\\n\\n.dropdown-backdrop {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 990; }\\n\\n.dropup .dropdown-menu {\\n  top: auto;\\n  bottom: 100%;\\n  margin-bottom: 0.125rem; }\\n\\n.btn-group,\\n.btn-group-vertical {\\n  position: relative;\\n  display: inline-flex;\\n  vertical-align: middle; }\\n  .btn-group > .btn,\\n  .btn-group-vertical > .btn {\\n    position: relative;\\n    flex: 0 1 auto; }\\n    .btn-group > .btn:hover,\\n    .btn-group-vertical > .btn:hover {\\n      z-index: 2; }\\n    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\\n    .btn-group-vertical > .btn:focus,\\n    .btn-group-vertical > .btn:active,\\n    .btn-group-vertical > .btn.active {\\n      z-index: 2; }\\n  .btn-group .btn + .btn,\\n  .btn-group .btn + .btn-group,\\n  .btn-group .btn-group + .btn,\\n  .btn-group .btn-group + .btn-group,\\n  .btn-group-vertical .btn + .btn,\\n  .btn-group-vertical .btn + .btn-group,\\n  .btn-group-vertical .btn-group + .btn,\\n  .btn-group-vertical .btn-group + .btn-group {\\n    margin-left: -1px; }\\n\\n.btn-toolbar {\\n  display: flex;\\n  justify-content: flex-start; }\\n  .btn-toolbar .input-group {\\n    width: auto; }\\n\\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\\n  border-radius: 0; }\\n\\n.btn-group > .btn:first-child {\\n  margin-left: 0; }\\n  .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\\n    border-bottom-right-radius: 0;\\n    border-top-right-radius: 0; }\\n\\n.btn-group > .btn:last-child:not(:first-child),\\n.btn-group > .dropdown-toggle:not(:first-child) {\\n  border-bottom-left-radius: 0;\\n  border-top-left-radius: 0; }\\n\\n.btn-group > .btn-group {\\n  float: left; }\\n\\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\\n  border-radius: 0; }\\n\\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\\n  border-bottom-right-radius: 0;\\n  border-top-right-radius: 0; }\\n\\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\\n  border-bottom-left-radius: 0;\\n  border-top-left-radius: 0; }\\n\\n.btn-group .dropdown-toggle:active,\\n.btn-group.open .dropdown-toggle {\\n  outline: 0; }\\n\\n.btn + .dropdown-toggle-split {\\n  padding-right: 0.75rem;\\n  padding-left: 0.75rem; }\\n  .btn + .dropdown-toggle-split::after {\\n    margin-left: 0; }\\n\\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\\n  padding-right: 0.5625rem;\\n  padding-left: 0.5625rem; }\\n\\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\\n  padding-right: 1.125rem;\\n  padding-left: 1.125rem; }\\n\\n.btn-group.open .dropdown-toggle {\\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n  .btn-group.open .dropdown-toggle.btn-link {\\n    box-shadow: none; }\\n\\n.btn-group-vertical {\\n  display: inline-flex;\\n  flex-direction: column;\\n  align-items: flex-start;\\n  justify-content: center; }\\n  .btn-group-vertical .btn,\\n  .btn-group-vertical .btn-group {\\n    width: 100%; }\\n  .btn-group-vertical > .btn + .btn,\\n  .btn-group-vertical > .btn + .btn-group,\\n  .btn-group-vertical > .btn-group + .btn,\\n  .btn-group-vertical > .btn-group + .btn-group {\\n    margin-top: -1px;\\n    margin-left: 0; }\\n\\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\\n  border-radius: 0; }\\n\\n.btn-group-vertical > .btn:first-child:not(:last-child) {\\n  border-bottom-right-radius: 0;\\n  border-bottom-left-radius: 0; }\\n\\n.btn-group-vertical > .btn:last-child:not(:first-child) {\\n  border-top-right-radius: 0;\\n  border-top-left-radius: 0; }\\n\\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\\n  border-radius: 0; }\\n\\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\\n  border-bottom-right-radius: 0;\\n  border-bottom-left-radius: 0; }\\n\\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\\n  border-top-right-radius: 0;\\n  border-top-left-radius: 0; }\\n\\n[data-toggle=\\\"buttons\\\"] > .btn input[type=\\\"radio\\\"],\\n[data-toggle=\\\"buttons\\\"] > .btn input[type=\\\"checkbox\\\"],\\n[data-toggle=\\\"buttons\\\"] > .btn-group > .btn input[type=\\\"radio\\\"],\\n[data-toggle=\\\"buttons\\\"] > .btn-group > .btn input[type=\\\"checkbox\\\"] {\\n  position: absolute;\\n  clip: rect(0, 0, 0, 0);\\n  pointer-events: none; }\\n\\n.input-group {\\n  position: relative;\\n  display: flex;\\n  width: 100%; }\\n  .input-group .form-control {\\n    position: relative;\\n    z-index: 2;\\n    flex: 1 1 auto;\\n    width: 1%;\\n    margin-bottom: 0; }\\n    .input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\\n      z-index: 3; }\\n\\n.input-group-addon,\\n.input-group-btn,\\n.input-group .form-control {\\n  display: flex;\\n  flex-direction: column;\\n  justify-content: center; }\\n  .input-group-addon:not(:first-child):not(:last-child),\\n  .input-group-btn:not(:first-child):not(:last-child),\\n  .input-group .form-control:not(:first-child):not(:last-child) {\\n    border-radius: 0; }\\n\\n.input-group-addon,\\n.input-group-btn {\\n  white-space: nowrap;\\n  vertical-align: middle; }\\n\\n.input-group-addon {\\n  padding: 0.5rem 0.75rem;\\n  margin-bottom: 0;\\n  font-size: 1rem;\\n  font-weight: 400;\\n  line-height: 1.5;\\n  color: #555555;\\n  text-align: center;\\n  background-color: #eeeeee;\\n  border: 1px solid rgba(0, 0, 0, 0.15);\\n  border-radius: 0.25rem; }\\n  .input-group-addon.form-control-sm,\\n  .input-group-sm > .input-group-addon,\\n  .input-group-sm > .input-group-btn > .input-group-addon.btn {\\n    padding: 0.25rem 0.5rem;\\n    font-size: 0.875rem;\\n    border-radius: 0.2rem; }\\n  .input-group-addon.form-control-lg,\\n  .input-group-lg > .input-group-addon,\\n  .input-group-lg > .input-group-btn > .input-group-addon.btn {\\n    padding: 0.75rem 1.5rem;\\n    font-size: 1.25rem;\\n    border-radius: 0.3rem; }\\n  .input-group-addon input[type=\\\"radio\\\"],\\n  .input-group-addon input[type=\\\"checkbox\\\"] {\\n    margin-top: 0; }\\n\\n.input-group .form-control:not(:last-child),\\n.input-group-addon:not(:last-child),\\n.input-group-btn:not(:last-child) > .btn,\\n.input-group-btn:not(:last-child) > .btn-group > .btn,\\n.input-group-btn:not(:last-child) > .dropdown-toggle,\\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\\n  border-bottom-right-radius: 0;\\n  border-top-right-radius: 0; }\\n\\n.input-group-addon:not(:last-child) {\\n  border-right: 0; }\\n\\n.input-group .form-control:not(:first-child),\\n.input-group-addon:not(:first-child),\\n.input-group-btn:not(:first-child) > .btn,\\n.input-group-btn:not(:first-child) > .btn-group > .btn,\\n.input-group-btn:not(:first-child) > .dropdown-toggle,\\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\\n  border-bottom-left-radius: 0;\\n  border-top-left-radius: 0; }\\n\\n.form-control + .input-group-addon:not(:first-child) {\\n  border-left: 0; }\\n\\n.input-group-btn {\\n  position: relative;\\n  font-size: 0;\\n  white-space: nowrap; }\\n  .input-group-btn > .btn {\\n    position: relative;\\n    flex: 1; }\\n    .input-group-btn > .btn + .btn {\\n      margin-left: -1px; }\\n    .input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\\n      z-index: 3; }\\n  .input-group-btn:not(:last-child) > .btn,\\n  .input-group-btn:not(:last-child) > .btn-group {\\n    margin-right: -1px; }\\n  .input-group-btn:not(:first-child) > .btn,\\n  .input-group-btn:not(:first-child) > .btn-group {\\n    z-index: 2;\\n    margin-left: -1px; }\\n    .input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\\n    .input-group-btn:not(:first-child) > .btn-group:focus,\\n    .input-group-btn:not(:first-child) > .btn-group:active,\\n    .input-group-btn:not(:first-child) > .btn-group:hover {\\n      z-index: 3; }\\n\\n.custom-control {\\n  position: relative;\\n  display: inline-flex;\\n  min-height: 1.5rem;\\n  padding-left: 1.5rem;\\n  margin-right: 1rem;\\n  cursor: pointer; }\\n\\n.custom-control-input {\\n  position: absolute;\\n  z-index: -1;\\n  opacity: 0; }\\n  .custom-control-input:checked ~ .custom-control-indicator {\\n    color: #fff;\\n    background-color: #5d8fc2;\\n    box-shadow: none; }\\n  .custom-control-input:focus ~ .custom-control-indicator {\\n    box-shadow: 0 0 0 1px #eee, 0 0 0 3px #5d8fc2; }\\n  .custom-control-input:active ~ .custom-control-indicator {\\n    color: #fff;\\n    background-color: #dfe9f3;\\n    box-shadow: none; }\\n  .custom-control-input:disabled ~ .custom-control-indicator {\\n    cursor: not-allowed;\\n    background-color: #eeeeee; }\\n  .custom-control-input:disabled ~ .custom-control-description {\\n    color: #999999;\\n    cursor: not-allowed; }\\n\\n.custom-control-indicator {\\n  position: absolute;\\n  top: 0.25rem;\\n  left: 0;\\n  display: block;\\n  width: 1rem;\\n  height: 1rem;\\n  pointer-events: none;\\n  user-select: none;\\n  background-color: #ddd;\\n  background-repeat: no-repeat;\\n  background-position: center center;\\n  background-size: 50% 50%;\\n  box-shadow: inset 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1); }\\n\\n.custom-checkbox .custom-control-indicator {\\n  border-radius: 0.25rem; }\\n\\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\\\"); }\\n\\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\\n  background-color: #5d8fc2;\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\\\");\\n  box-shadow: none; }\\n\\n.custom-radio .custom-control-indicator {\\n  border-radius: 50%; }\\n\\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\\\"); }\\n\\n.custom-controls-stacked {\\n  display: flex;\\n  flex-direction: column; }\\n  .custom-controls-stacked .custom-control {\\n    margin-bottom: 0.25rem; }\\n    .custom-controls-stacked .custom-control + .custom-control {\\n      margin-left: 0; }\\n\\n.custom-select {\\n  display: inline-block;\\n  max-width: 100%;\\n  height: calc(2.5rem + 2px);\\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\\n  line-height: 1.5;\\n  color: #555555;\\n  vertical-align: middle;\\n  background: #fff url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\\\") no-repeat right 0.75rem center;\\n  background-size: 8px 10px;\\n  border: 1px solid rgba(0, 0, 0, 0.15);\\n  border-radius: 0.25rem;\\n  -moz-appearance: none;\\n  -webkit-appearance: none; }\\n  .custom-select:focus {\\n    border-color: #bacfe5;\\n    outline: none;\\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(186, 207, 229, 0.5); }\\n    .custom-select:focus::-ms-value {\\n      color: #555555;\\n      background-color: #fff; }\\n  .custom-select:disabled {\\n    color: #999999;\\n    cursor: not-allowed;\\n    background-color: #eeeeee; }\\n  .custom-select::-ms-expand {\\n    opacity: 0; }\\n\\n.custom-select-sm {\\n  padding-top: 0.375rem;\\n  padding-bottom: 0.375rem;\\n  font-size: 75%; }\\n\\n.custom-file {\\n  position: relative;\\n  display: inline-block;\\n  max-width: 100%;\\n  height: 2.5rem;\\n  margin-bottom: 0;\\n  cursor: pointer; }\\n\\n.custom-file-input {\\n  min-width: 14rem;\\n  max-width: 100%;\\n  height: 2.5rem;\\n  margin: 0;\\n  filter: alpha(opacity=0);\\n  opacity: 0; }\\n  .custom-file-input:focus ~ .custom-file-control {\\n    box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #5d8fc2; }\\n\\n.custom-file-control {\\n  position: absolute;\\n  top: 0;\\n  right: 0;\\n  left: 0;\\n  z-index: 5;\\n  height: 2.5rem;\\n  padding: 0.5rem 1rem;\\n  line-height: 1.5;\\n  color: #555555;\\n  pointer-events: none;\\n  user-select: none;\\n  background-color: #fff;\\n  border: 1px solid rgba(0, 0, 0, 0.15);\\n  border-radius: 0.25rem;\\n  box-shadow: inset 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05); }\\n  .custom-file-control:lang(en)::after {\\n    content: \\\"Choose file...\\\"; }\\n  .custom-file-control::before {\\n    position: absolute;\\n    top: -1px;\\n    right: -1px;\\n    bottom: -1px;\\n    z-index: 6;\\n    display: block;\\n    height: 2.5rem;\\n    padding: 0.5rem 1rem;\\n    line-height: 1.5;\\n    color: #555555;\\n    background-color: #eeeeee;\\n    border: 1px solid rgba(0, 0, 0, 0.15);\\n    border-radius: 0 0.25rem 0.25rem 0; }\\n  .custom-file-control:lang(en)::before {\\n    content: \\\"Browse\\\"; }\\n\\n.nav {\\n  display: flex;\\n  padding-left: 0;\\n  margin-bottom: 0;\\n  list-style: none; }\\n\\n.nav-link {\\n  display: block;\\n  padding: 0.5em 1em; }\\n  .nav-link:focus, .nav-link:hover {\\n    text-decoration: none; }\\n  .nav-link.disabled {\\n    color: #999999;\\n    cursor: not-allowed; }\\n\\n.nav-tabs {\\n  border-bottom: 1px solid #ddd; }\\n  .nav-tabs .nav-item {\\n    margin-bottom: -1px; }\\n  .nav-tabs .nav-link {\\n    border: 1px solid transparent;\\n    border-top-right-radius: 0.25rem;\\n    border-top-left-radius: 0.25rem; }\\n    .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\\n      border-color: #eeeeee #eeeeee #ddd; }\\n    .nav-tabs .nav-link.disabled {\\n      color: #999999;\\n      background-color: transparent;\\n      border-color: transparent; }\\n  .nav-tabs .nav-link.active,\\n  .nav-tabs .nav-item.show .nav-link {\\n    color: #555555;\\n    background-color: #fff;\\n    border-color: #ddd #ddd #fff; }\\n  .nav-tabs .dropdown-menu {\\n    margin-top: -1px;\\n    border-top-right-radius: 0;\\n    border-top-left-radius: 0; }\\n\\n.nav-pills .nav-link {\\n  border-radius: 0.25rem; }\\n\\n.nav-pills .nav-link.active,\\n.nav-pills .nav-item.show .nav-link {\\n  color: #fff;\\n  cursor: default;\\n  background-color: #5d8fc2; }\\n\\n.nav-fill .nav-item {\\n  flex: 1 1 auto;\\n  text-align: center; }\\n\\n.nav-justified .nav-item {\\n  flex: 1 1 100%;\\n  text-align: center; }\\n\\n.tab-content > .tab-pane {\\n  display: none; }\\n\\n.tab-content > .active {\\n  display: block; }\\n\\n.navbar {\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  padding: 0.5rem 1rem; }\\n\\n.navbar-brand {\\n  display: inline-block;\\n  padding-top: .25rem;\\n  padding-bottom: .25rem;\\n  margin-right: 1rem;\\n  font-size: 1.25rem;\\n  line-height: inherit;\\n  white-space: nowrap; }\\n  .navbar-brand:focus, .navbar-brand:hover {\\n    text-decoration: none; }\\n\\n.navbar-nav {\\n  display: flex;\\n  flex-direction: column;\\n  padding-left: 0;\\n  margin-bottom: 0;\\n  list-style: none; }\\n  .navbar-nav .nav-link {\\n    padding-right: 0;\\n    padding-left: 0; }\\n\\n.navbar-text {\\n  display: inline-block;\\n  padding-top: .425rem;\\n  padding-bottom: .425rem; }\\n\\n.navbar-toggler {\\n  align-self: flex-start;\\n  padding: 0.25rem 0.75rem;\\n  font-size: 1.25rem;\\n  line-height: 1;\\n  background: transparent;\\n  border: 1px solid transparent;\\n  border-radius: 0.25rem; }\\n  .navbar-toggler:focus, .navbar-toggler:hover {\\n    text-decoration: none; }\\n\\n.navbar-toggler-icon {\\n  display: inline-block;\\n  width: 1.5em;\\n  height: 1.5em;\\n  vertical-align: middle;\\n  content: \\\"\\\";\\n  background: no-repeat center center;\\n  background-size: 100% 100%; }\\n\\n.navbar-toggler-left {\\n  position: absolute;\\n  left: 1rem; }\\n\\n.navbar-toggler-right {\\n  position: absolute;\\n  right: 1rem; }\\n\\n@media (max-width: 575px) {\\n  .navbar-toggleable .navbar-nav .dropdown-menu {\\n    position: static;\\n    float: none; }\\n  .navbar-toggleable > .container {\\n    padding-right: 0;\\n    padding-left: 0; } }\\n\\n@media (min-width: 576px) {\\n  .navbar-toggleable {\\n    flex-direction: row;\\n    flex-wrap: nowrap;\\n    align-items: center; }\\n    .navbar-toggleable .navbar-nav {\\n      flex-direction: row; }\\n      .navbar-toggleable .navbar-nav .nav-link {\\n        padding-right: .5rem;\\n        padding-left: .5rem; }\\n    .navbar-toggleable > .container {\\n      display: flex;\\n      flex-wrap: nowrap;\\n      align-items: center; }\\n    .navbar-toggleable .navbar-collapse {\\n      display: flex !important;\\n      width: 100%; }\\n    .navbar-toggleable .navbar-toggler {\\n      display: none; } }\\n\\n@media (max-width: 767px) {\\n  .navbar-toggleable-sm .navbar-nav .dropdown-menu {\\n    position: static;\\n    float: none; }\\n  .navbar-toggleable-sm > .container {\\n    padding-right: 0;\\n    padding-left: 0; } }\\n\\n@media (min-width: 768px) {\\n  .navbar-toggleable-sm {\\n    flex-direction: row;\\n    flex-wrap: nowrap;\\n    align-items: center; }\\n    .navbar-toggleable-sm .navbar-nav {\\n      flex-direction: row; }\\n      .navbar-toggleable-sm .navbar-nav .nav-link {\\n        padding-right: .5rem;\\n        padding-left: .5rem; }\\n    .navbar-toggleable-sm > .container {\\n      display: flex;\\n      flex-wrap: nowrap;\\n      align-items: center; }\\n    .navbar-toggleable-sm .navbar-collapse {\\n      display: flex !important;\\n      width: 100%; }\\n    .navbar-toggleable-sm .navbar-toggler {\\n      display: none; } }\\n\\n@media (max-width: 991px) {\\n  .navbar-toggleable-md .navbar-nav .dropdown-menu {\\n    position: static;\\n    float: none; }\\n  .navbar-toggleable-md > .container {\\n    padding-right: 0;\\n    padding-left: 0; } }\\n\\n@media (min-width: 992px) {\\n  .navbar-toggleable-md {\\n    flex-direction: row;\\n    flex-wrap: nowrap;\\n    align-items: center; }\\n    .navbar-toggleable-md .navbar-nav {\\n      flex-direction: row; }\\n      .navbar-toggleable-md .navbar-nav .nav-link {\\n        padding-right: .5rem;\\n        padding-left: .5rem; }\\n    .navbar-toggleable-md > .container {\\n      display: flex;\\n      flex-wrap: nowrap;\\n      align-items: center; }\\n    .navbar-toggleable-md .navbar-collapse {\\n      display: flex !important;\\n      width: 100%; }\\n    .navbar-toggleable-md .navbar-toggler {\\n      display: none; } }\\n\\n@media (max-width: 1199px) {\\n  .navbar-toggleable-lg .navbar-nav .dropdown-menu {\\n    position: static;\\n    float: none; }\\n  .navbar-toggleable-lg > .container {\\n    padding-right: 0;\\n    padding-left: 0; } }\\n\\n@media (min-width: 1200px) {\\n  .navbar-toggleable-lg {\\n    flex-direction: row;\\n    flex-wrap: nowrap;\\n    align-items: center; }\\n    .navbar-toggleable-lg .navbar-nav {\\n      flex-direction: row; }\\n      .navbar-toggleable-lg .navbar-nav .nav-link {\\n        padding-right: .5rem;\\n        padding-left: .5rem; }\\n    .navbar-toggleable-lg > .container {\\n      display: flex;\\n      flex-wrap: nowrap;\\n      align-items: center; }\\n    .navbar-toggleable-lg .navbar-collapse {\\n      display: flex !important;\\n      width: 100%; }\\n    .navbar-toggleable-lg .navbar-toggler {\\n      display: none; } }\\n\\n.navbar-toggleable-xl {\\n  flex-direction: row;\\n  flex-wrap: nowrap;\\n  align-items: center; }\\n  .navbar-toggleable-xl .navbar-nav .dropdown-menu {\\n    position: static;\\n    float: none; }\\n  .navbar-toggleable-xl > .container {\\n    padding-right: 0;\\n    padding-left: 0; }\\n  .navbar-toggleable-xl .navbar-nav {\\n    flex-direction: row; }\\n    .navbar-toggleable-xl .navbar-nav .nav-link {\\n      padding-right: .5rem;\\n      padding-left: .5rem; }\\n  .navbar-toggleable-xl > .container {\\n    display: flex;\\n    flex-wrap: nowrap;\\n    align-items: center; }\\n  .navbar-toggleable-xl .navbar-collapse {\\n    display: flex !important;\\n    width: 100%; }\\n  .navbar-toggleable-xl .navbar-toggler {\\n    display: none; }\\n\\n.navbar-light .navbar-brand,\\n.navbar-light .navbar-toggler {\\n  color: rgba(0, 0, 0, 0.9); }\\n  .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\\n  .navbar-light .navbar-toggler:focus,\\n  .navbar-light .navbar-toggler:hover {\\n    color: rgba(0, 0, 0, 0.9); }\\n\\n.navbar-light .navbar-nav .nav-link {\\n  color: rgba(0, 0, 0, 0.5); }\\n  .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\\n    color: rgba(0, 0, 0, 0.7); }\\n  .navbar-light .navbar-nav .nav-link.disabled {\\n    color: rgba(0, 0, 0, 0.3); }\\n\\n.navbar-light .navbar-nav .open > .nav-link,\\n.navbar-light .navbar-nav .active > .nav-link,\\n.navbar-light .navbar-nav .nav-link.open,\\n.navbar-light .navbar-nav .nav-link.active {\\n  color: rgba(0, 0, 0, 0.9); }\\n\\n.navbar-light .navbar-toggler {\\n  border-color: rgba(0, 0, 0, 0.1); }\\n\\n.navbar-light .navbar-toggler-icon {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\\\"); }\\n\\n.navbar-light .navbar-text {\\n  color: rgba(0, 0, 0, 0.5); }\\n\\n.navbar-inverse .navbar-brand,\\n.navbar-inverse .navbar-toggler {\\n  color: white; }\\n  .navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\\n  .navbar-inverse .navbar-toggler:focus,\\n  .navbar-inverse .navbar-toggler:hover {\\n    color: white; }\\n\\n.navbar-inverse .navbar-nav .nav-link {\\n  color: rgba(255, 255, 255, 0.5); }\\n  .navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\\n    color: rgba(255, 255, 255, 0.75); }\\n  .navbar-inverse .navbar-nav .nav-link.disabled {\\n    color: rgba(255, 255, 255, 0.25); }\\n\\n.navbar-inverse .navbar-nav .open > .nav-link,\\n.navbar-inverse .navbar-nav .active > .nav-link,\\n.navbar-inverse .navbar-nav .nav-link.open,\\n.navbar-inverse .navbar-nav .nav-link.active {\\n  color: white; }\\n\\n.navbar-inverse .navbar-toggler {\\n  border-color: rgba(255, 255, 255, 0.1); }\\n\\n.navbar-inverse .navbar-toggler-icon {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\\\"); }\\n\\n.navbar-inverse .navbar-text {\\n  color: rgba(255, 255, 255, 0.5); }\\n\\n.card {\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  background-color: transparent;\\n  border: 1px solid rgba(0, 0, 0, 0.125);\\n  border-radius: 0.25rem; }\\n\\n.card-block {\\n  flex: 1 1 auto;\\n  padding: 1.25rem; }\\n\\n.card-title {\\n  margin-bottom: 0.75rem; }\\n\\n.card-subtitle {\\n  margin-top: -0.375rem;\\n  margin-bottom: 0; }\\n\\n.card-text:last-child {\\n  margin-bottom: 0; }\\n\\n.card-link:hover {\\n  text-decoration: none; }\\n\\n.card-link + .card-link {\\n  margin-left: 1.25rem; }\\n\\n.card > .list-group:first-child .list-group-item:first-child {\\n  border-top-right-radius: 0.25rem;\\n  border-top-left-radius: 0.25rem; }\\n\\n.card > .list-group:last-child .list-group-item:last-child {\\n  border-bottom-right-radius: 0.25rem;\\n  border-bottom-left-radius: 0.25rem; }\\n\\n.card-header {\\n  padding: 0.75rem 1.25rem;\\n  margin-bottom: 0;\\n  background-color: #f7f7f9;\\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }\\n  .card-header:first-child {\\n    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\\n\\n.card-footer {\\n  padding: 0.75rem 1.25rem;\\n  background-color: #f7f7f9;\\n  border-top: 1px solid rgba(0, 0, 0, 0.125); }\\n  .card-footer:last-child {\\n    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\\n\\n.card-header-tabs {\\n  margin-right: -0.625rem;\\n  margin-bottom: -0.75rem;\\n  margin-left: -0.625rem;\\n  border-bottom: 0; }\\n\\n.card-header-pills {\\n  margin-right: -0.625rem;\\n  margin-left: -0.625rem; }\\n\\n.card-primary {\\n  background-color: #5d8fc2;\\n  border-color: #5d8fc2; }\\n  .card-primary .card-header,\\n  .card-primary .card-footer {\\n    background-color: transparent; }\\n\\n.card-success {\\n  background-color: #64bd63;\\n  border-color: #64bd63; }\\n  .card-success .card-header,\\n  .card-success .card-footer {\\n    background-color: transparent; }\\n\\n.card-info {\\n  background-color: #5dc4bf;\\n  border-color: #5dc4bf; }\\n  .card-info .card-header,\\n  .card-info .card-footer {\\n    background-color: transparent; }\\n\\n.card-warning {\\n  background-color: #f0b518;\\n  border-color: #f0b518; }\\n  .card-warning .card-header,\\n  .card-warning .card-footer {\\n    background-color: transparent; }\\n\\n.card-danger {\\n  background-color: #dd5826;\\n  border-color: #dd5826; }\\n  .card-danger .card-header,\\n  .card-danger .card-footer {\\n    background-color: transparent; }\\n\\n.card-outline-primary {\\n  background-color: transparent;\\n  border-color: #5d8fc2; }\\n\\n.card-outline-secondary {\\n  background-color: transparent;\\n  border-color: #ccc; }\\n\\n.card-outline-info {\\n  background-color: transparent;\\n  border-color: #5dc4bf; }\\n\\n.card-outline-success {\\n  background-color: transparent;\\n  border-color: #64bd63; }\\n\\n.card-outline-warning {\\n  background-color: transparent;\\n  border-color: #f0b518; }\\n\\n.card-outline-danger {\\n  background-color: transparent;\\n  border-color: #dd5826; }\\n\\n.card-inverse {\\n  color: rgba(255, 255, 255, 0.65); }\\n  .card-inverse .card-header,\\n  .card-inverse .card-footer {\\n    background-color: transparent;\\n    border-color: rgba(255, 255, 255, 0.2); }\\n  .card-inverse .card-header,\\n  .card-inverse .card-footer,\\n  .card-inverse .card-title,\\n  .card-inverse .card-blockquote {\\n    color: #fff; }\\n  .card-inverse .card-link,\\n  .card-inverse .card-text,\\n  .card-inverse .card-subtitle,\\n  .card-inverse .card-blockquote .blockquote-footer {\\n    color: rgba(255, 255, 255, 0.65); }\\n  .card-inverse .card-link:focus, .card-inverse .card-link:hover {\\n    color: #fff; }\\n\\n.card-blockquote {\\n  padding: 0;\\n  margin-bottom: 0;\\n  border-left: 0; }\\n\\n.card-img {\\n  border-radius: calc(0.25rem - 1px); }\\n\\n.card-img-overlay {\\n  position: absolute;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  padding: 1.25rem; }\\n\\n.card-img-top {\\n  border-top-right-radius: calc(0.25rem - 1px);\\n  border-top-left-radius: calc(0.25rem - 1px); }\\n\\n.card-img-bottom {\\n  border-bottom-right-radius: calc(0.25rem - 1px);\\n  border-bottom-left-radius: calc(0.25rem - 1px); }\\n\\n@media (min-width: 576px) {\\n  .card-deck {\\n    display: flex;\\n    flex-flow: row wrap; }\\n    .card-deck .card {\\n      display: flex;\\n      flex: 1 0 0;\\n      flex-direction: column; }\\n      .card-deck .card:not(:first-child) {\\n        margin-left: 15px; }\\n      .card-deck .card:not(:last-child) {\\n        margin-right: 15px; } }\\n\\n@media (min-width: 576px) {\\n  .card-group {\\n    display: flex;\\n    flex-flow: row wrap; }\\n    .card-group .card {\\n      flex: 1 0 0; }\\n      .card-group .card + .card {\\n        margin-left: 0;\\n        border-left: 0; }\\n      .card-group .card:first-child {\\n        border-bottom-right-radius: 0;\\n        border-top-right-radius: 0; }\\n        .card-group .card:first-child .card-img-top {\\n          border-top-right-radius: 0; }\\n        .card-group .card:first-child .card-img-bottom {\\n          border-bottom-right-radius: 0; }\\n      .card-group .card:last-child {\\n        border-bottom-left-radius: 0;\\n        border-top-left-radius: 0; }\\n        .card-group .card:last-child .card-img-top {\\n          border-top-left-radius: 0; }\\n        .card-group .card:last-child .card-img-bottom {\\n          border-bottom-left-radius: 0; }\\n      .card-group .card:not(:first-child):not(:last-child) {\\n        border-radius: 0; }\\n        .card-group .card:not(:first-child):not(:last-child) .card-img-top,\\n        .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\\n          border-radius: 0; } }\\n\\n@media (min-width: 576px) {\\n  .card-columns {\\n    column-count: 3;\\n    column-gap: 1.25rem; }\\n    .card-columns .card {\\n      display: inline-block;\\n      width: 100%;\\n      margin-bottom: 0.75rem; } }\\n\\n.breadcrumb {\\n  padding: 0.75rem 0;\\n  margin-bottom: 1rem;\\n  list-style: none;\\n  background-color: transparent;\\n  border-radius: 0.25rem; }\\n  .breadcrumb::after {\\n    display: block;\\n    content: \\\"\\\";\\n    clear: both; }\\n\\n.breadcrumb-item {\\n  float: left; }\\n  .breadcrumb-item + .breadcrumb-item::before {\\n    display: inline-block;\\n    padding-right: 0.5rem;\\n    padding-left: 0.5rem;\\n    color: #555555;\\n    content: \\\">\\\"; }\\n  .breadcrumb-item + .breadcrumb-item:hover::before {\\n    text-decoration: underline; }\\n  .breadcrumb-item + .breadcrumb-item:hover::before {\\n    text-decoration: none; }\\n  .breadcrumb-item.active {\\n    color: #555555; }\\n\\n.pagination {\\n  display: flex;\\n  padding-left: 0;\\n  list-style: none;\\n  border-radius: 0.25rem; }\\n\\n.page-item:first-child .page-link {\\n  margin-left: 0;\\n  border-bottom-left-radius: 0.25rem;\\n  border-top-left-radius: 0.25rem; }\\n\\n.page-item:last-child .page-link {\\n  border-bottom-right-radius: 0.25rem;\\n  border-top-right-radius: 0.25rem; }\\n\\n.page-item.active .page-link {\\n  z-index: 2;\\n  color: #555555;\\n  background-color: #eeeeee;\\n  border-color: transparent; }\\n\\n.page-item.disabled .page-link {\\n  color: #999999;\\n  pointer-events: none;\\n  cursor: not-allowed;\\n  background-color: #fff;\\n  border-color: transparent; }\\n\\n.page-link {\\n  position: relative;\\n  display: block;\\n  padding: 0.5rem 0.75rem;\\n  margin-left: -1px;\\n  line-height: 1.25;\\n  color: #777;\\n  background-color: #fff;\\n  border: 1px solid #ddd; }\\n  .page-link:focus, .page-link:hover {\\n    color: #555555;\\n    text-decoration: none;\\n    background-color: #eeeeee;\\n    border-color: transparent; }\\n\\n.pagination-lg .page-link {\\n  padding: 0.75rem 1.5rem;\\n  font-size: 1.25rem; }\\n\\n.pagination-lg .page-item:first-child .page-link {\\n  border-bottom-left-radius: 0.3rem;\\n  border-top-left-radius: 0.3rem; }\\n\\n.pagination-lg .page-item:last-child .page-link {\\n  border-bottom-right-radius: 0.3rem;\\n  border-top-right-radius: 0.3rem; }\\n\\n.pagination-sm .page-link {\\n  padding: 0.25rem 0.5rem;\\n  font-size: 0.875rem; }\\n\\n.pagination-sm .page-item:first-child .page-link {\\n  border-bottom-left-radius: 0.2rem;\\n  border-top-left-radius: 0.2rem; }\\n\\n.pagination-sm .page-item:last-child .page-link {\\n  border-bottom-right-radius: 0.2rem;\\n  border-top-right-radius: 0.2rem; }\\n\\n.badge {\\n  display: inline-block;\\n  padding: 0.25em 0.4em;\\n  font-size: 75%;\\n  font-weight: 700;\\n  line-height: 1;\\n  color: #fff;\\n  text-align: center;\\n  white-space: nowrap;\\n  vertical-align: baseline;\\n  border-radius: 0.25rem; }\\n  .badge:empty {\\n    display: none; }\\n\\n.btn .badge {\\n  position: relative;\\n  top: -1px; }\\n\\na.badge:focus, a.badge:hover {\\n  color: #fff;\\n  text-decoration: none;\\n  cursor: pointer; }\\n\\n.badge-pill {\\n  padding-right: 0.6em;\\n  padding-left: 0.6em;\\n  border-radius: 10rem; }\\n\\n.badge-default {\\n  background-color: #999999; }\\n  .badge-default[href]:focus, .badge-default[href]:hover {\\n    background-color: gray; }\\n\\n.badge-primary {\\n  background-color: #5d8fc2; }\\n  .badge-primary[href]:focus, .badge-primary[href]:hover {\\n    background-color: #4175ab; }\\n\\n.badge-success {\\n  background-color: #64bd63; }\\n  .badge-success[href]:focus, .badge-success[href]:hover {\\n    background-color: #48a746; }\\n\\n.badge-info {\\n  background-color: #5dc4bf; }\\n  .badge-info[href]:focus, .badge-info[href]:hover {\\n    background-color: #40aea9; }\\n\\n.badge-warning {\\n  background-color: #f0b518; }\\n  .badge-warning[href]:focus, .badge-warning[href]:hover {\\n    background-color: #c8950d; }\\n\\n.badge-danger {\\n  background-color: #dd5826; }\\n  .badge-danger[href]:focus, .badge-danger[href]:hover {\\n    background-color: #b4461c; }\\n\\n.jumbotron {\\n  padding: 2rem 1rem;\\n  margin-bottom: 2rem;\\n  background-color: #eeeeee;\\n  border-radius: 0.3rem; }\\n  @media (min-width: 576px) {\\n    .jumbotron {\\n      padding: 4rem 2rem; } }\\n\\n.jumbotron-hr {\\n  border-top-color: #d5d5d5; }\\n\\n.jumbotron-fluid {\\n  padding-right: 0;\\n  padding-left: 0;\\n  border-radius: 0; }\\n\\n.alert {\\n  padding: 0.75rem 1.25rem;\\n  margin-bottom: 1rem;\\n  border: 1px solid transparent;\\n  border-radius: 0.25rem; }\\n\\n.alert-heading {\\n  color: inherit; }\\n\\n.alert-link {\\n  font-weight: 700; }\\n\\n.alert-dismissible .close {\\n  position: relative;\\n  top: -0.75rem;\\n  right: -1.25rem;\\n  padding: 0.75rem 1.25rem;\\n  color: inherit; }\\n\\n.alert-success {\\n  background-color: #ecfaec;\\n  border-color: #d8f5d8;\\n  color: #3c763d; }\\n  .alert-success hr {\\n    border-top-color: #c4efc4; }\\n  .alert-success .alert-link {\\n    color: #2b542c; }\\n\\n.alert-info {\\n  background-color: #f2fafa;\\n  border-color: #d8f0f0;\\n  color: #31708f; }\\n  .alert-info hr {\\n    border-top-color: #c6e9e9; }\\n  .alert-info .alert-link {\\n    color: #245269; }\\n\\n.alert-warning {\\n  background-color: #fdf7e6;\\n  border-color: #fcefce;\\n  color: #8a6d3b; }\\n  .alert-warning hr {\\n    border-top-color: #fae8b6; }\\n  .alert-warning .alert-link {\\n    color: #66512c; }\\n\\n.alert-danger {\\n  background-color: #fff2ef;\\n  border-color: #ffddd6;\\n  color: #a94442; }\\n  .alert-danger hr {\\n    border-top-color: #ffc9bc; }\\n  .alert-danger .alert-link {\\n    color: #843534; }\\n\\n@keyframes progress-bar-stripes {\\n  from {\\n    background-position: 1rem 0; }\\n  to {\\n    background-position: 0 0; } }\\n\\n.progress {\\n  display: flex;\\n  overflow: hidden;\\n  font-size: 0.75rem;\\n  line-height: 1rem;\\n  text-align: center;\\n  background-color: #eeeeee;\\n  border-radius: 0.25rem; }\\n\\n.progress-bar {\\n  height: 1rem;\\n  color: #fff;\\n  background-color: #5d8fc2; }\\n\\n.progress-bar-striped {\\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n  background-size: 1rem 1rem; }\\n\\n.progress-bar-animated {\\n  animation: progress-bar-stripes 1s linear infinite; }\\n\\n.media {\\n  display: flex;\\n  align-items: flex-start; }\\n\\n.media-body {\\n  flex: 1; }\\n\\n.list-group {\\n  display: flex;\\n  flex-direction: column;\\n  padding-left: 0;\\n  margin-bottom: 0; }\\n\\n.list-group-item-action {\\n  width: 100%;\\n  color: #555555;\\n  text-align: inherit; }\\n  .list-group-item-action .list-group-item-heading {\\n    color: #343434; }\\n  .list-group-item-action:focus, .list-group-item-action:hover {\\n    color: #555555;\\n    text-decoration: none;\\n    background-color: #f7f7f9; }\\n  .list-group-item-action:active {\\n    color: #343434;\\n    background-color: #eeeeee; }\\n\\n.list-group-item {\\n  position: relative;\\n  display: flex;\\n  flex-flow: row wrap;\\n  align-items: center;\\n  padding: 0.75rem 1.25rem;\\n  margin-bottom: -1px;\\n  background-color: #fff;\\n  border: 1px solid rgba(0, 0, 0, 0.125); }\\n  .list-group-item:first-child {\\n    border-top-right-radius: 0.25rem;\\n    border-top-left-radius: 0.25rem; }\\n  .list-group-item:last-child {\\n    margin-bottom: 0;\\n    border-bottom-right-radius: 0.25rem;\\n    border-bottom-left-radius: 0.25rem; }\\n  .list-group-item:focus, .list-group-item:hover {\\n    text-decoration: none; }\\n  .list-group-item.disabled, .list-group-item:disabled {\\n    color: #999999;\\n    cursor: not-allowed;\\n    background-color: #fff; }\\n    .list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\\n      color: inherit; }\\n    .list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\\n      color: #999999; }\\n  .list-group-item.active {\\n    z-index: 2;\\n    color: #fff;\\n    background-color: #5d8fc2;\\n    border-color: #5d8fc2; }\\n    .list-group-item.active .list-group-item-heading,\\n    .list-group-item.active .list-group-item-heading > small,\\n    .list-group-item.active .list-group-item-heading > .small {\\n      color: inherit; }\\n    .list-group-item.active .list-group-item-text {\\n      color: white; }\\n\\n.list-group-flush .list-group-item {\\n  border-right: 0;\\n  border-left: 0;\\n  border-radius: 0; }\\n\\n.list-group-flush:first-child .list-group-item:first-child {\\n  border-top: 0; }\\n\\n.list-group-flush:last-child .list-group-item:last-child {\\n  border-bottom: 0; }\\n\\n.list-group-item-success {\\n  color: #3c763d;\\n  background-color: #ecfaec; }\\n\\na.list-group-item-success,\\nbutton.list-group-item-success {\\n  color: #3c763d; }\\n  a.list-group-item-success .list-group-item-heading,\\n  button.list-group-item-success .list-group-item-heading {\\n    color: inherit; }\\n  a.list-group-item-success:focus, a.list-group-item-success:hover,\\n  button.list-group-item-success:focus,\\n  button.list-group-item-success:hover {\\n    color: #3c763d;\\n    background-color: #d8f5d8; }\\n  a.list-group-item-success.active,\\n  button.list-group-item-success.active {\\n    color: #fff;\\n    background-color: #3c763d;\\n    border-color: #3c763d; }\\n\\n.list-group-item-info {\\n  color: #31708f;\\n  background-color: #f2fafa; }\\n\\na.list-group-item-info,\\nbutton.list-group-item-info {\\n  color: #31708f; }\\n  a.list-group-item-info .list-group-item-heading,\\n  button.list-group-item-info .list-group-item-heading {\\n    color: inherit; }\\n  a.list-group-item-info:focus, a.list-group-item-info:hover,\\n  button.list-group-item-info:focus,\\n  button.list-group-item-info:hover {\\n    color: #31708f;\\n    background-color: #e0f3f3; }\\n  a.list-group-item-info.active,\\n  button.list-group-item-info.active {\\n    color: #fff;\\n    background-color: #31708f;\\n    border-color: #31708f; }\\n\\n.list-group-item-warning {\\n  color: #8a6d3b;\\n  background-color: #fdf7e6; }\\n\\na.list-group-item-warning,\\nbutton.list-group-item-warning {\\n  color: #8a6d3b; }\\n  a.list-group-item-warning .list-group-item-heading,\\n  button.list-group-item-warning .list-group-item-heading {\\n    color: inherit; }\\n  a.list-group-item-warning:focus, a.list-group-item-warning:hover,\\n  button.list-group-item-warning:focus,\\n  button.list-group-item-warning:hover {\\n    color: #8a6d3b;\\n    background-color: #fcefce; }\\n  a.list-group-item-warning.active,\\n  button.list-group-item-warning.active {\\n    color: #fff;\\n    background-color: #8a6d3b;\\n    border-color: #8a6d3b; }\\n\\n.list-group-item-danger {\\n  color: #a94442;\\n  background-color: #fff2ef; }\\n\\na.list-group-item-danger,\\nbutton.list-group-item-danger {\\n  color: #a94442; }\\n  a.list-group-item-danger .list-group-item-heading,\\n  button.list-group-item-danger .list-group-item-heading {\\n    color: inherit; }\\n  a.list-group-item-danger:focus, a.list-group-item-danger:hover,\\n  button.list-group-item-danger:focus,\\n  button.list-group-item-danger:hover {\\n    color: #a94442;\\n    background-color: #ffddd6; }\\n  a.list-group-item-danger.active,\\n  button.list-group-item-danger.active {\\n    color: #fff;\\n    background-color: #a94442;\\n    border-color: #a94442; }\\n\\n.embed-responsive {\\n  position: relative;\\n  display: block;\\n  width: 100%;\\n  padding: 0;\\n  overflow: hidden; }\\n  .embed-responsive::before {\\n    display: block;\\n    content: \\\"\\\"; }\\n  .embed-responsive .embed-responsive-item,\\n  .embed-responsive iframe,\\n  .embed-responsive embed,\\n  .embed-responsive object,\\n  .embed-responsive video {\\n    position: absolute;\\n    top: 0;\\n    bottom: 0;\\n    left: 0;\\n    width: 100%;\\n    height: 100%;\\n    border: 0; }\\n\\n.embed-responsive-21by9::before {\\n  padding-top: 42.85714%; }\\n\\n.embed-responsive-16by9::before {\\n  padding-top: 56.25%; }\\n\\n.embed-responsive-4by3::before {\\n  padding-top: 75%; }\\n\\n.embed-responsive-1by1::before {\\n  padding-top: 100%; }\\n\\n.close {\\n  float: right;\\n  font-size: 1.5rem;\\n  font-weight: 700;\\n  line-height: 1;\\n  color: #000;\\n  text-shadow: 0 1px 0 #fff;\\n  opacity: .5; }\\n  .close:focus, .close:hover {\\n    color: #000;\\n    text-decoration: none;\\n    cursor: pointer;\\n    opacity: .75; }\\n\\nbutton.close {\\n  padding: 0;\\n  cursor: pointer;\\n  background: transparent;\\n  border: 0;\\n  -webkit-appearance: none; }\\n\\n.modal-open {\\n  overflow: hidden; }\\n\\n.modal {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1050;\\n  display: none;\\n  overflow: hidden;\\n  outline: 0; }\\n  .modal.fade .modal-dialog {\\n    transition: transform 0.3s ease-out;\\n    transform: translate(0, -25%); }\\n  .modal.show .modal-dialog {\\n    transform: translate(0, 0); }\\n\\n.modal-open .modal {\\n  overflow-x: hidden;\\n  overflow-y: auto; }\\n\\n.modal-dialog {\\n  position: relative;\\n  width: auto;\\n  margin: 10px; }\\n\\n.modal-content {\\n  position: relative;\\n  display: flex;\\n  flex-direction: column;\\n  background-color: #fff;\\n  background-clip: padding-box;\\n  border: 1px solid rgba(0, 0, 0, 0.2);\\n  border-radius: 0.3rem;\\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\\n  outline: 0; }\\n\\n.modal-backdrop {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1040;\\n  background-color: #000; }\\n  .modal-backdrop.fade {\\n    opacity: 0; }\\n  .modal-backdrop.show {\\n    opacity: 0.5; }\\n\\n.modal-header {\\n  display: flex;\\n  align-items: center;\\n  justify-content: space-between;\\n  padding: 15px;\\n  border-bottom: 1px solid #eeeeee; }\\n\\n.modal-title {\\n  margin-bottom: 0;\\n  line-height: 1.5; }\\n\\n.modal-body {\\n  position: relative;\\n  flex: 1 1 auto;\\n  padding: 15px; }\\n\\n.modal-footer {\\n  display: flex;\\n  align-items: center;\\n  justify-content: flex-end;\\n  padding: 15px;\\n  border-top: 1px solid #eeeeee; }\\n  .modal-footer > :not(:first-child) {\\n    margin-left: .25rem; }\\n  .modal-footer > :not(:last-child) {\\n    margin-right: .25rem; }\\n\\n.modal-scrollbar-measure {\\n  position: absolute;\\n  top: -9999px;\\n  width: 50px;\\n  height: 50px;\\n  overflow: scroll; }\\n\\n@media (min-width: 576px) {\\n  .modal-dialog {\\n    max-width: 500px;\\n    margin: 30px auto; }\\n  .modal-content {\\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }\\n  .modal-sm {\\n    max-width: 300px; } }\\n\\n@media (min-width: 992px) {\\n  .modal-lg {\\n    max-width: 800px; } }\\n\\n.tooltip {\\n  position: absolute;\\n  z-index: 1070;\\n  display: block;\\n  font-family: \\\"Open Sans\\\", sans-serif;\\n  font-style: normal;\\n  font-weight: 400;\\n  letter-spacing: normal;\\n  line-break: auto;\\n  line-height: 1.5;\\n  text-align: left;\\n  text-align: start;\\n  text-decoration: none;\\n  text-shadow: none;\\n  text-transform: none;\\n  white-space: normal;\\n  word-break: normal;\\n  word-spacing: normal;\\n  font-size: 0.875rem;\\n  word-wrap: break-word;\\n  opacity: 0; }\\n  .tooltip.show {\\n    opacity: 0.9; }\\n  .tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\\n    padding: 5px 0;\\n    margin-top: -3px; }\\n    .tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\\n      bottom: 0;\\n      left: 50%;\\n      margin-left: -5px;\\n      content: \\\"\\\";\\n      border-width: 5px 5px 0;\\n      border-top-color: rgba(0, 0, 0, 0.85); }\\n  .tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\\n    padding: 0 5px;\\n    margin-left: 3px; }\\n    .tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\\n      top: 50%;\\n      left: 0;\\n      margin-top: -5px;\\n      content: \\\"\\\";\\n      border-width: 5px 5px 5px 0;\\n      border-right-color: rgba(0, 0, 0, 0.85); }\\n  .tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\\n    padding: 5px 0;\\n    margin-top: 3px; }\\n    .tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\\n      top: 0;\\n      left: 50%;\\n      margin-left: -5px;\\n      content: \\\"\\\";\\n      border-width: 0 5px 5px;\\n      border-bottom-color: rgba(0, 0, 0, 0.85); }\\n  .tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\\n    padding: 0 5px;\\n    margin-left: -3px; }\\n    .tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\\n      top: 50%;\\n      right: 0;\\n      margin-top: -5px;\\n      content: \\\"\\\";\\n      border-width: 5px 0 5px 5px;\\n      border-left-color: rgba(0, 0, 0, 0.85); }\\n\\n.tooltip-inner {\\n  max-width: 200px;\\n  padding: 3px 8px;\\n  color: #fff;\\n  text-align: center;\\n  background-color: rgba(0, 0, 0, 0.85);\\n  border-radius: 0.25rem; }\\n  .tooltip-inner::before {\\n    position: absolute;\\n    width: 0;\\n    height: 0;\\n    border-color: transparent;\\n    border-style: solid; }\\n\\n.popover {\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  z-index: 1060;\\n  display: block;\\n  max-width: 276px;\\n  padding: 1px;\\n  font-family: \\\"Open Sans\\\", sans-serif;\\n  font-style: normal;\\n  font-weight: 400;\\n  letter-spacing: normal;\\n  line-break: auto;\\n  line-height: 1.5;\\n  text-align: left;\\n  text-align: start;\\n  text-decoration: none;\\n  text-shadow: none;\\n  text-transform: none;\\n  white-space: normal;\\n  word-break: normal;\\n  word-spacing: normal;\\n  font-size: 0.875rem;\\n  word-wrap: break-word;\\n  background-color: #ebeff1;\\n  background-clip: padding-box;\\n  border: 1px solid rgba(0, 0, 0, 0.2);\\n  border-radius: 0.3rem;\\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }\\n  .popover.popover-top, .popover.bs-tether-element-attached-bottom {\\n    margin-top: -10px; }\\n    .popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\\n      left: 50%;\\n      border-bottom-width: 0; }\\n    .popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\\n      bottom: -11px;\\n      margin-left: -11px;\\n      border-top-color: #ebeff1; }\\n    .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\\n      bottom: -10px;\\n      margin-left: -10px;\\n      border-top-color: #ebeff1; }\\n  .popover.popover-right, .popover.bs-tether-element-attached-left {\\n    margin-left: 10px; }\\n    .popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\\n      top: 50%;\\n      border-left-width: 0; }\\n    .popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\\n      left: -11px;\\n      margin-top: -11px;\\n      border-right-color: #ebeff1; }\\n    .popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\\n      left: -10px;\\n      margin-top: -10px;\\n      border-right-color: #ebeff1; }\\n  .popover.popover-bottom, .popover.bs-tether-element-attached-top {\\n    margin-top: 10px; }\\n    .popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\\n      left: 50%;\\n      border-top-width: 0; }\\n    .popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\\n      top: -11px;\\n      margin-left: -11px;\\n      border-bottom-color: #ebeff1; }\\n    .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\\n      top: -10px;\\n      margin-left: -10px;\\n      border-bottom-color: #e2e8eb; }\\n    .popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\\n      position: absolute;\\n      top: 0;\\n      left: 50%;\\n      display: block;\\n      width: 20px;\\n      margin-left: -10px;\\n      content: \\\"\\\";\\n      border-bottom: 1px solid #e2e8eb; }\\n  .popover.popover-left, .popover.bs-tether-element-attached-right {\\n    margin-left: -10px; }\\n    .popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\\n      top: 50%;\\n      border-right-width: 0; }\\n    .popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\\n      right: -11px;\\n      margin-top: -11px;\\n      border-left-color: #ebeff1; }\\n    .popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\\n      right: -10px;\\n      margin-top: -10px;\\n      border-left-color: #ebeff1; }\\n\\n.popover-title {\\n  padding: 8px 14px;\\n  margin-bottom: 0;\\n  font-size: 1rem;\\n  background-color: #e2e8eb;\\n  border-bottom: 1px solid #d3dce0;\\n  border-top-right-radius: calc(0.3rem - 1px);\\n  border-top-left-radius: calc(0.3rem - 1px); }\\n  .popover-title:empty {\\n    display: none; }\\n\\n.popover-content {\\n  padding: 9px 14px; }\\n\\n.popover::before,\\n.popover::after {\\n  position: absolute;\\n  display: block;\\n  width: 0;\\n  height: 0;\\n  border-color: transparent;\\n  border-style: solid; }\\n\\n.popover::before {\\n  content: \\\"\\\";\\n  border-width: 11px; }\\n\\n.popover::after {\\n  content: \\\"\\\";\\n  border-width: 10px; }\\n\\n.carousel {\\n  position: relative; }\\n\\n.carousel-inner {\\n  position: relative;\\n  width: 100%;\\n  overflow: hidden; }\\n\\n.carousel-item {\\n  position: relative;\\n  display: none;\\n  width: 100%; }\\n  @media (-webkit-transform-3d) {\\n    .carousel-item {\\n      transition: transform 0.6s ease-in-out;\\n      backface-visibility: hidden;\\n      perspective: 1000px; } }\\n  @supports (transform: translate3d(0, 0, 0)) {\\n    .carousel-item {\\n      transition: transform 0.6s ease-in-out;\\n      backface-visibility: hidden;\\n      perspective: 1000px; } }\\n\\n.carousel-item.active,\\n.carousel-item-next,\\n.carousel-item-prev {\\n  display: flex; }\\n\\n.carousel-item-next,\\n.carousel-item-prev {\\n  position: absolute;\\n  top: 0; }\\n\\n@media (-webkit-transform-3d) {\\n  .carousel-item-next.carousel-item-left,\\n  .carousel-item-prev.carousel-item-right {\\n    transform: translate3d(0, 0, 0); }\\n  .carousel-item-next,\\n  .active.carousel-item-right {\\n    transform: translate3d(100%, 0, 0); }\\n  .carousel-item-prev,\\n  .active.carousel-item-left {\\n    transform: translate3d(-100%, 0, 0); } }\\n\\n@supports (transform: translate3d(0, 0, 0)) {\\n  .carousel-item-next.carousel-item-left,\\n  .carousel-item-prev.carousel-item-right {\\n    transform: translate3d(0, 0, 0); }\\n  .carousel-item-next,\\n  .active.carousel-item-right {\\n    transform: translate3d(100%, 0, 0); }\\n  .carousel-item-prev,\\n  .active.carousel-item-left {\\n    transform: translate3d(-100%, 0, 0); } }\\n\\n.carousel-control-prev,\\n.carousel-control-next {\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  width: 15%;\\n  color: #fff;\\n  text-align: center;\\n  opacity: 0.5; }\\n  .carousel-control-prev:focus, .carousel-control-prev:hover,\\n  .carousel-control-next:focus,\\n  .carousel-control-next:hover {\\n    color: #fff;\\n    text-decoration: none;\\n    outline: 0;\\n    opacity: .9; }\\n\\n.carousel-control-prev {\\n  left: 0; }\\n\\n.carousel-control-next {\\n  right: 0; }\\n\\n.carousel-control-prev-icon,\\n.carousel-control-next-icon {\\n  display: inline-block;\\n  width: 20px;\\n  height: 20px;\\n  background: transparent no-repeat center center;\\n  background-size: 100% 100%; }\\n\\n.carousel-control-prev-icon {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\\\"); }\\n\\n.carousel-control-next-icon {\\n  background-image: url(\\\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\\\"); }\\n\\n.carousel-indicators {\\n  position: absolute;\\n  right: 0;\\n  bottom: 10px;\\n  left: 0;\\n  z-index: 15;\\n  display: flex;\\n  justify-content: center;\\n  padding-left: 0;\\n  margin-right: 15%;\\n  margin-left: 15%;\\n  list-style: none; }\\n  .carousel-indicators li {\\n    position: relative;\\n    flex: 1 0 auto;\\n    max-width: 30px;\\n    height: 3px;\\n    margin-right: 3px;\\n    margin-left: 3px;\\n    text-indent: -999px;\\n    cursor: pointer;\\n    background-color: rgba(255, 255, 255, 0.5); }\\n    .carousel-indicators li::before {\\n      position: absolute;\\n      top: -10px;\\n      left: 0;\\n      display: inline-block;\\n      width: 100%;\\n      height: 10px;\\n      content: \\\"\\\"; }\\n    .carousel-indicators li::after {\\n      position: absolute;\\n      bottom: -10px;\\n      left: 0;\\n      display: inline-block;\\n      width: 100%;\\n      height: 10px;\\n      content: \\\"\\\"; }\\n  .carousel-indicators .active {\\n    background-color: #fff; }\\n\\n.carousel-caption {\\n  position: absolute;\\n  right: 15%;\\n  bottom: 20px;\\n  left: 15%;\\n  z-index: 10;\\n  padding-top: 20px;\\n  padding-bottom: 20px;\\n  color: #fff;\\n  text-align: center; }\\n\\n.align-baseline {\\n  vertical-align: baseline !important; }\\n\\n.align-top {\\n  vertical-align: top !important; }\\n\\n.align-middle {\\n  vertical-align: middle !important; }\\n\\n.align-bottom {\\n  vertical-align: bottom !important; }\\n\\n.align-text-bottom {\\n  vertical-align: text-bottom !important; }\\n\\n.align-text-top {\\n  vertical-align: text-top !important; }\\n\\n.bg-faded {\\n  background-color: #e6e6e6; }\\n\\n.bg-primary {\\n  background-color: #5d8fc2 !important; }\\n\\na.bg-primary:focus, a.bg-primary:hover {\\n  background-color: #4175ab !important; }\\n\\n.bg-success {\\n  background-color: #64bd63 !important; }\\n\\na.bg-success:focus, a.bg-success:hover {\\n  background-color: #48a746 !important; }\\n\\n.bg-info {\\n  background-color: #5dc4bf !important; }\\n\\na.bg-info:focus, a.bg-info:hover {\\n  background-color: #40aea9 !important; }\\n\\n.bg-warning {\\n  background-color: #f0b518 !important; }\\n\\na.bg-warning:focus, a.bg-warning:hover {\\n  background-color: #c8950d !important; }\\n\\n.bg-danger {\\n  background-color: #dd5826 !important; }\\n\\na.bg-danger:focus, a.bg-danger:hover {\\n  background-color: #b4461c !important; }\\n\\n.bg-inverse {\\n  background-color: #343434 !important; }\\n\\na.bg-inverse:focus, a.bg-inverse:hover {\\n  background-color: #1b1b1b !important; }\\n\\n.border-0 {\\n  border: 0 !important; }\\n\\n.border-top-0 {\\n  border-top: 0 !important; }\\n\\n.border-right-0 {\\n  border-right: 0 !important; }\\n\\n.border-bottom-0 {\\n  border-bottom: 0 !important; }\\n\\n.border-left-0 {\\n  border-left: 0 !important; }\\n\\n.rounded {\\n  border-radius: 0.25rem; }\\n\\n.rounded-top {\\n  border-top-right-radius: 0.25rem;\\n  border-top-left-radius: 0.25rem; }\\n\\n.rounded-right {\\n  border-bottom-right-radius: 0.25rem;\\n  border-top-right-radius: 0.25rem; }\\n\\n.rounded-bottom {\\n  border-bottom-right-radius: 0.25rem;\\n  border-bottom-left-radius: 0.25rem; }\\n\\n.rounded-left {\\n  border-bottom-left-radius: 0.25rem;\\n  border-top-left-radius: 0.25rem; }\\n\\n.rounded-circle {\\n  border-radius: 50%; }\\n\\n.rounded-0 {\\n  border-radius: 0; }\\n\\n.clearfix::after {\\n  display: block;\\n  content: \\\"\\\";\\n  clear: both; }\\n\\n.d-none {\\n  display: none !important; }\\n\\n.d-inline {\\n  display: inline !important; }\\n\\n.d-inline-block {\\n  display: inline-block !important; }\\n\\n.d-block {\\n  display: block !important; }\\n\\n.d-table {\\n  display: table !important; }\\n\\n.d-table-cell {\\n  display: table-cell !important; }\\n\\n.d-flex {\\n  display: flex !important; }\\n\\n.d-inline-flex {\\n  display: inline-flex !important; }\\n\\n@media (min-width: 576px) {\\n  .d-sm-none {\\n    display: none !important; }\\n  .d-sm-inline {\\n    display: inline !important; }\\n  .d-sm-inline-block {\\n    display: inline-block !important; }\\n  .d-sm-block {\\n    display: block !important; }\\n  .d-sm-table {\\n    display: table !important; }\\n  .d-sm-table-cell {\\n    display: table-cell !important; }\\n  .d-sm-flex {\\n    display: flex !important; }\\n  .d-sm-inline-flex {\\n    display: inline-flex !important; } }\\n\\n@media (min-width: 768px) {\\n  .d-md-none {\\n    display: none !important; }\\n  .d-md-inline {\\n    display: inline !important; }\\n  .d-md-inline-block {\\n    display: inline-block !important; }\\n  .d-md-block {\\n    display: block !important; }\\n  .d-md-table {\\n    display: table !important; }\\n  .d-md-table-cell {\\n    display: table-cell !important; }\\n  .d-md-flex {\\n    display: flex !important; }\\n  .d-md-inline-flex {\\n    display: inline-flex !important; } }\\n\\n@media (min-width: 992px) {\\n  .d-lg-none {\\n    display: none !important; }\\n  .d-lg-inline {\\n    display: inline !important; }\\n  .d-lg-inline-block {\\n    display: inline-block !important; }\\n  .d-lg-block {\\n    display: block !important; }\\n  .d-lg-table {\\n    display: table !important; }\\n  .d-lg-table-cell {\\n    display: table-cell !important; }\\n  .d-lg-flex {\\n    display: flex !important; }\\n  .d-lg-inline-flex {\\n    display: inline-flex !important; } }\\n\\n@media (min-width: 1200px) {\\n  .d-xl-none {\\n    display: none !important; }\\n  .d-xl-inline {\\n    display: inline !important; }\\n  .d-xl-inline-block {\\n    display: inline-block !important; }\\n  .d-xl-block {\\n    display: block !important; }\\n  .d-xl-table {\\n    display: table !important; }\\n  .d-xl-table-cell {\\n    display: table-cell !important; }\\n  .d-xl-flex {\\n    display: flex !important; }\\n  .d-xl-inline-flex {\\n    display: inline-flex !important; } }\\n\\n.flex-first {\\n  order: -1; }\\n\\n.flex-last {\\n  order: 1; }\\n\\n.flex-unordered {\\n  order: 0; }\\n\\n.flex-row {\\n  flex-direction: row !important; }\\n\\n.flex-column {\\n  flex-direction: column !important; }\\n\\n.flex-row-reverse {\\n  flex-direction: row-reverse !important; }\\n\\n.flex-column-reverse {\\n  flex-direction: column-reverse !important; }\\n\\n.flex-wrap {\\n  flex-wrap: wrap !important; }\\n\\n.flex-nowrap {\\n  flex-wrap: nowrap !important; }\\n\\n.flex-wrap-reverse {\\n  flex-wrap: wrap-reverse !important; }\\n\\n.justify-content-start {\\n  justify-content: flex-start !important; }\\n\\n.justify-content-end {\\n  justify-content: flex-end !important; }\\n\\n.justify-content-center {\\n  justify-content: center !important; }\\n\\n.justify-content-between {\\n  justify-content: space-between !important; }\\n\\n.justify-content-around {\\n  justify-content: space-around !important; }\\n\\n.align-items-start {\\n  align-items: flex-start !important; }\\n\\n.align-items-end {\\n  align-items: flex-end !important; }\\n\\n.align-items-center {\\n  align-items: center !important; }\\n\\n.align-items-baseline {\\n  align-items: baseline !important; }\\n\\n.align-items-stretch {\\n  align-items: stretch !important; }\\n\\n.align-content-start {\\n  align-content: flex-start !important; }\\n\\n.align-content-end {\\n  align-content: flex-end !important; }\\n\\n.align-content-center {\\n  align-content: center !important; }\\n\\n.align-content-between {\\n  align-content: space-between !important; }\\n\\n.align-content-around {\\n  align-content: space-around !important; }\\n\\n.align-content-stretch {\\n  align-content: stretch !important; }\\n\\n.align-self-auto {\\n  align-self: auto !important; }\\n\\n.align-self-start {\\n  align-self: flex-start !important; }\\n\\n.align-self-end {\\n  align-self: flex-end !important; }\\n\\n.align-self-center {\\n  align-self: center !important; }\\n\\n.align-self-baseline {\\n  align-self: baseline !important; }\\n\\n.align-self-stretch {\\n  align-self: stretch !important; }\\n\\n@media (min-width: 576px) {\\n  .flex-sm-first {\\n    order: -1; }\\n  .flex-sm-last {\\n    order: 1; }\\n  .flex-sm-unordered {\\n    order: 0; }\\n  .flex-sm-row {\\n    flex-direction: row !important; }\\n  .flex-sm-column {\\n    flex-direction: column !important; }\\n  .flex-sm-row-reverse {\\n    flex-direction: row-reverse !important; }\\n  .flex-sm-column-reverse {\\n    flex-direction: column-reverse !important; }\\n  .flex-sm-wrap {\\n    flex-wrap: wrap !important; }\\n  .flex-sm-nowrap {\\n    flex-wrap: nowrap !important; }\\n  .flex-sm-wrap-reverse {\\n    flex-wrap: wrap-reverse !important; }\\n  .justify-content-sm-start {\\n    justify-content: flex-start !important; }\\n  .justify-content-sm-end {\\n    justify-content: flex-end !important; }\\n  .justify-content-sm-center {\\n    justify-content: center !important; }\\n  .justify-content-sm-between {\\n    justify-content: space-between !important; }\\n  .justify-content-sm-around {\\n    justify-content: space-around !important; }\\n  .align-items-sm-start {\\n    align-items: flex-start !important; }\\n  .align-items-sm-end {\\n    align-items: flex-end !important; }\\n  .align-items-sm-center {\\n    align-items: center !important; }\\n  .align-items-sm-baseline {\\n    align-items: baseline !important; }\\n  .align-items-sm-stretch {\\n    align-items: stretch !important; }\\n  .align-content-sm-start {\\n    align-content: flex-start !important; }\\n  .align-content-sm-end {\\n    align-content: flex-end !important; }\\n  .align-content-sm-center {\\n    align-content: center !important; }\\n  .align-content-sm-between {\\n    align-content: space-between !important; }\\n  .align-content-sm-around {\\n    align-content: space-around !important; }\\n  .align-content-sm-stretch {\\n    align-content: stretch !important; }\\n  .align-self-sm-auto {\\n    align-self: auto !important; }\\n  .align-self-sm-start {\\n    align-self: flex-start !important; }\\n  .align-self-sm-end {\\n    align-self: flex-end !important; }\\n  .align-self-sm-center {\\n    align-self: center !important; }\\n  .align-self-sm-baseline {\\n    align-self: baseline !important; }\\n  .align-self-sm-stretch {\\n    align-self: stretch !important; } }\\n\\n@media (min-width: 768px) {\\n  .flex-md-first {\\n    order: -1; }\\n  .flex-md-last {\\n    order: 1; }\\n  .flex-md-unordered {\\n    order: 0; }\\n  .flex-md-row {\\n    flex-direction: row !important; }\\n  .flex-md-column {\\n    flex-direction: column !important; }\\n  .flex-md-row-reverse {\\n    flex-direction: row-reverse !important; }\\n  .flex-md-column-reverse {\\n    flex-direction: column-reverse !important; }\\n  .flex-md-wrap {\\n    flex-wrap: wrap !important; }\\n  .flex-md-nowrap {\\n    flex-wrap: nowrap !important; }\\n  .flex-md-wrap-reverse {\\n    flex-wrap: wrap-reverse !important; }\\n  .justify-content-md-start {\\n    justify-content: flex-start !important; }\\n  .justify-content-md-end {\\n    justify-content: flex-end !important; }\\n  .justify-content-md-center {\\n    justify-content: center !important; }\\n  .justify-content-md-between {\\n    justify-content: space-between !important; }\\n  .justify-content-md-around {\\n    justify-content: space-around !important; }\\n  .align-items-md-start {\\n    align-items: flex-start !important; }\\n  .align-items-md-end {\\n    align-items: flex-end !important; }\\n  .align-items-md-center {\\n    align-items: center !important; }\\n  .align-items-md-baseline {\\n    align-items: baseline !important; }\\n  .align-items-md-stretch {\\n    align-items: stretch !important; }\\n  .align-content-md-start {\\n    align-content: flex-start !important; }\\n  .align-content-md-end {\\n    align-content: flex-end !important; }\\n  .align-content-md-center {\\n    align-content: center !important; }\\n  .align-content-md-between {\\n    align-content: space-between !important; }\\n  .align-content-md-around {\\n    align-content: space-around !important; }\\n  .align-content-md-stretch {\\n    align-content: stretch !important; }\\n  .align-self-md-auto {\\n    align-self: auto !important; }\\n  .align-self-md-start {\\n    align-self: flex-start !important; }\\n  .align-self-md-end {\\n    align-self: flex-end !important; }\\n  .align-self-md-center {\\n    align-self: center !important; }\\n  .align-self-md-baseline {\\n    align-self: baseline !important; }\\n  .align-self-md-stretch {\\n    align-self: stretch !important; } }\\n\\n@media (min-width: 992px) {\\n  .flex-lg-first {\\n    order: -1; }\\n  .flex-lg-last {\\n    order: 1; }\\n  .flex-lg-unordered {\\n    order: 0; }\\n  .flex-lg-row {\\n    flex-direction: row !important; }\\n  .flex-lg-column {\\n    flex-direction: column !important; }\\n  .flex-lg-row-reverse {\\n    flex-direction: row-reverse !important; }\\n  .flex-lg-column-reverse {\\n    flex-direction: column-reverse !important; }\\n  .flex-lg-wrap {\\n    flex-wrap: wrap !important; }\\n  .flex-lg-nowrap {\\n    flex-wrap: nowrap !important; }\\n  .flex-lg-wrap-reverse {\\n    flex-wrap: wrap-reverse !important; }\\n  .justify-content-lg-start {\\n    justify-content: flex-start !important; }\\n  .justify-content-lg-end {\\n    justify-content: flex-end !important; }\\n  .justify-content-lg-center {\\n    justify-content: center !important; }\\n  .justify-content-lg-between {\\n    justify-content: space-between !important; }\\n  .justify-content-lg-around {\\n    justify-content: space-around !important; }\\n  .align-items-lg-start {\\n    align-items: flex-start !important; }\\n  .align-items-lg-end {\\n    align-items: flex-end !important; }\\n  .align-items-lg-center {\\n    align-items: center !important; }\\n  .align-items-lg-baseline {\\n    align-items: baseline !important; }\\n  .align-items-lg-stretch {\\n    align-items: stretch !important; }\\n  .align-content-lg-start {\\n    align-content: flex-start !important; }\\n  .align-content-lg-end {\\n    align-content: flex-end !important; }\\n  .align-content-lg-center {\\n    align-content: center !important; }\\n  .align-content-lg-between {\\n    align-content: space-between !important; }\\n  .align-content-lg-around {\\n    align-content: space-around !important; }\\n  .align-content-lg-stretch {\\n    align-content: stretch !important; }\\n  .align-self-lg-auto {\\n    align-self: auto !important; }\\n  .align-self-lg-start {\\n    align-self: flex-start !important; }\\n  .align-self-lg-end {\\n    align-self: flex-end !important; }\\n  .align-self-lg-center {\\n    align-self: center !important; }\\n  .align-self-lg-baseline {\\n    align-self: baseline !important; }\\n  .align-self-lg-stretch {\\n    align-self: stretch !important; } }\\n\\n@media (min-width: 1200px) {\\n  .flex-xl-first {\\n    order: -1; }\\n  .flex-xl-last {\\n    order: 1; }\\n  .flex-xl-unordered {\\n    order: 0; }\\n  .flex-xl-row {\\n    flex-direction: row !important; }\\n  .flex-xl-column {\\n    flex-direction: column !important; }\\n  .flex-xl-row-reverse {\\n    flex-direction: row-reverse !important; }\\n  .flex-xl-column-reverse {\\n    flex-direction: column-reverse !important; }\\n  .flex-xl-wrap {\\n    flex-wrap: wrap !important; }\\n  .flex-xl-nowrap {\\n    flex-wrap: nowrap !important; }\\n  .flex-xl-wrap-reverse {\\n    flex-wrap: wrap-reverse !important; }\\n  .justify-content-xl-start {\\n    justify-content: flex-start !important; }\\n  .justify-content-xl-end {\\n    justify-content: flex-end !important; }\\n  .justify-content-xl-center {\\n    justify-content: center !important; }\\n  .justify-content-xl-between {\\n    justify-content: space-between !important; }\\n  .justify-content-xl-around {\\n    justify-content: space-around !important; }\\n  .align-items-xl-start {\\n    align-items: flex-start !important; }\\n  .align-items-xl-end {\\n    align-items: flex-end !important; }\\n  .align-items-xl-center {\\n    align-items: center !important; }\\n  .align-items-xl-baseline {\\n    align-items: baseline !important; }\\n  .align-items-xl-stretch {\\n    align-items: stretch !important; }\\n  .align-content-xl-start {\\n    align-content: flex-start !important; }\\n  .align-content-xl-end {\\n    align-content: flex-end !important; }\\n  .align-content-xl-center {\\n    align-content: center !important; }\\n  .align-content-xl-between {\\n    align-content: space-between !important; }\\n  .align-content-xl-around {\\n    align-content: space-around !important; }\\n  .align-content-xl-stretch {\\n    align-content: stretch !important; }\\n  .align-self-xl-auto {\\n    align-self: auto !important; }\\n  .align-self-xl-start {\\n    align-self: flex-start !important; }\\n  .align-self-xl-end {\\n    align-self: flex-end !important; }\\n  .align-self-xl-center {\\n    align-self: center !important; }\\n  .align-self-xl-baseline {\\n    align-self: baseline !important; }\\n  .align-self-xl-stretch {\\n    align-self: stretch !important; } }\\n\\n.float-left {\\n  float: left !important; }\\n\\n.float-right {\\n  float: right !important; }\\n\\n.float-none {\\n  float: none !important; }\\n\\n@media (min-width: 576px) {\\n  .float-sm-left {\\n    float: left !important; }\\n  .float-sm-right {\\n    float: right !important; }\\n  .float-sm-none {\\n    float: none !important; } }\\n\\n@media (min-width: 768px) {\\n  .float-md-left {\\n    float: left !important; }\\n  .float-md-right {\\n    float: right !important; }\\n  .float-md-none {\\n    float: none !important; } }\\n\\n@media (min-width: 992px) {\\n  .float-lg-left {\\n    float: left !important; }\\n  .float-lg-right {\\n    float: right !important; }\\n  .float-lg-none {\\n    float: none !important; } }\\n\\n@media (min-width: 1200px) {\\n  .float-xl-left {\\n    float: left !important; }\\n  .float-xl-right {\\n    float: right !important; }\\n  .float-xl-none {\\n    float: none !important; } }\\n\\n.fixed-top {\\n  position: fixed;\\n  top: 0;\\n  right: 0;\\n  left: 0;\\n  z-index: 1030; }\\n\\n.fixed-bottom {\\n  position: fixed;\\n  right: 0;\\n  bottom: 0;\\n  left: 0;\\n  z-index: 1030; }\\n\\n.sticky-top {\\n  position: sticky;\\n  top: 0;\\n  z-index: 1030; }\\n\\n.sr-only {\\n  position: absolute;\\n  width: 1px;\\n  height: 1px;\\n  padding: 0;\\n  margin: -1px;\\n  overflow: hidden;\\n  clip: rect(0, 0, 0, 0);\\n  border: 0; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n  position: static;\\n  width: auto;\\n  height: auto;\\n  margin: 0;\\n  overflow: visible;\\n  clip: auto; }\\n\\n.w-25 {\\n  width: 25% !important; }\\n\\n.w-50 {\\n  width: 50% !important; }\\n\\n.w-75 {\\n  width: 75% !important; }\\n\\n.w-100 {\\n  width: 100% !important; }\\n\\n.h-25 {\\n  height: 25% !important; }\\n\\n.h-50 {\\n  height: 50% !important; }\\n\\n.h-75 {\\n  height: 75% !important; }\\n\\n.h-100 {\\n  height: 100% !important; }\\n\\n.mw-100 {\\n  max-width: 100% !important; }\\n\\n.mh-100 {\\n  max-height: 100% !important; }\\n\\n.m-0 {\\n  margin: 0 0 !important; }\\n\\n.mt-0 {\\n  margin-top: 0 !important; }\\n\\n.mr-0 {\\n  margin-right: 0 !important; }\\n\\n.mb-0 {\\n  margin-bottom: 0 !important; }\\n\\n.ml-0 {\\n  margin-left: 0 !important; }\\n\\n.mx-0 {\\n  margin-right: 0 !important;\\n  margin-left: 0 !important; }\\n\\n.my-0 {\\n  margin-top: 0 !important;\\n  margin-bottom: 0 !important; }\\n\\n.m-1 {\\n  margin: 0.25rem 0.25rem !important; }\\n\\n.mt-1 {\\n  margin-top: 0.25rem !important; }\\n\\n.mr-1 {\\n  margin-right: 0.25rem !important; }\\n\\n.mb-1 {\\n  margin-bottom: 0.25rem !important; }\\n\\n.ml-1 {\\n  margin-left: 0.25rem !important; }\\n\\n.mx-1 {\\n  margin-right: 0.25rem !important;\\n  margin-left: 0.25rem !important; }\\n\\n.my-1 {\\n  margin-top: 0.25rem !important;\\n  margin-bottom: 0.25rem !important; }\\n\\n.m-2 {\\n  margin: 0.5rem 0.5rem !important; }\\n\\n.mt-2 {\\n  margin-top: 0.5rem !important; }\\n\\n.mr-2 {\\n  margin-right: 0.5rem !important; }\\n\\n.mb-2 {\\n  margin-bottom: 0.5rem !important; }\\n\\n.ml-2 {\\n  margin-left: 0.5rem !important; }\\n\\n.mx-2 {\\n  margin-right: 0.5rem !important;\\n  margin-left: 0.5rem !important; }\\n\\n.my-2 {\\n  margin-top: 0.5rem !important;\\n  margin-bottom: 0.5rem !important; }\\n\\n.m-3 {\\n  margin: 1rem 1rem !important; }\\n\\n.mt-3 {\\n  margin-top: 1rem !important; }\\n\\n.mr-3 {\\n  margin-right: 1rem !important; }\\n\\n.mb-3 {\\n  margin-bottom: 1rem !important; }\\n\\n.ml-3 {\\n  margin-left: 1rem !important; }\\n\\n.mx-3 {\\n  margin-right: 1rem !important;\\n  margin-left: 1rem !important; }\\n\\n.my-3 {\\n  margin-top: 1rem !important;\\n  margin-bottom: 1rem !important; }\\n\\n.m-4 {\\n  margin: 1.5rem 1.5rem !important; }\\n\\n.mt-4 {\\n  margin-top: 1.5rem !important; }\\n\\n.mr-4 {\\n  margin-right: 1.5rem !important; }\\n\\n.mb-4 {\\n  margin-bottom: 1.5rem !important; }\\n\\n.ml-4 {\\n  margin-left: 1.5rem !important; }\\n\\n.mx-4 {\\n  margin-right: 1.5rem !important;\\n  margin-left: 1.5rem !important; }\\n\\n.my-4 {\\n  margin-top: 1.5rem !important;\\n  margin-bottom: 1.5rem !important; }\\n\\n.m-5 {\\n  margin: 3rem 3rem !important; }\\n\\n.mt-5 {\\n  margin-top: 3rem !important; }\\n\\n.mr-5 {\\n  margin-right: 3rem !important; }\\n\\n.mb-5 {\\n  margin-bottom: 3rem !important; }\\n\\n.ml-5 {\\n  margin-left: 3rem !important; }\\n\\n.mx-5 {\\n  margin-right: 3rem !important;\\n  margin-left: 3rem !important; }\\n\\n.my-5 {\\n  margin-top: 3rem !important;\\n  margin-bottom: 3rem !important; }\\n\\n.p-0 {\\n  padding: 0 0 !important; }\\n\\n.pt-0 {\\n  padding-top: 0 !important; }\\n\\n.pr-0 {\\n  padding-right: 0 !important; }\\n\\n.pb-0 {\\n  padding-bottom: 0 !important; }\\n\\n.pl-0 {\\n  padding-left: 0 !important; }\\n\\n.px-0 {\\n  padding-right: 0 !important;\\n  padding-left: 0 !important; }\\n\\n.py-0 {\\n  padding-top: 0 !important;\\n  padding-bottom: 0 !important; }\\n\\n.p-1 {\\n  padding: 0.25rem 0.25rem !important; }\\n\\n.pt-1 {\\n  padding-top: 0.25rem !important; }\\n\\n.pr-1 {\\n  padding-right: 0.25rem !important; }\\n\\n.pb-1 {\\n  padding-bottom: 0.25rem !important; }\\n\\n.pl-1 {\\n  padding-left: 0.25rem !important; }\\n\\n.px-1 {\\n  padding-right: 0.25rem !important;\\n  padding-left: 0.25rem !important; }\\n\\n.py-1 {\\n  padding-top: 0.25rem !important;\\n  padding-bottom: 0.25rem !important; }\\n\\n.p-2 {\\n  padding: 0.5rem 0.5rem !important; }\\n\\n.pt-2 {\\n  padding-top: 0.5rem !important; }\\n\\n.pr-2 {\\n  padding-right: 0.5rem !important; }\\n\\n.pb-2 {\\n  padding-bottom: 0.5rem !important; }\\n\\n.pl-2 {\\n  padding-left: 0.5rem !important; }\\n\\n.px-2 {\\n  padding-right: 0.5rem !important;\\n  padding-left: 0.5rem !important; }\\n\\n.py-2 {\\n  padding-top: 0.5rem !important;\\n  padding-bottom: 0.5rem !important; }\\n\\n.p-3 {\\n  padding: 1rem 1rem !important; }\\n\\n.pt-3 {\\n  padding-top: 1rem !important; }\\n\\n.pr-3 {\\n  padding-right: 1rem !important; }\\n\\n.pb-3 {\\n  padding-bottom: 1rem !important; }\\n\\n.pl-3 {\\n  padding-left: 1rem !important; }\\n\\n.px-3 {\\n  padding-right: 1rem !important;\\n  padding-left: 1rem !important; }\\n\\n.py-3 {\\n  padding-top: 1rem !important;\\n  padding-bottom: 1rem !important; }\\n\\n.p-4 {\\n  padding: 1.5rem 1.5rem !important; }\\n\\n.pt-4 {\\n  padding-top: 1.5rem !important; }\\n\\n.pr-4 {\\n  padding-right: 1.5rem !important; }\\n\\n.pb-4 {\\n  padding-bottom: 1.5rem !important; }\\n\\n.pl-4 {\\n  padding-left: 1.5rem !important; }\\n\\n.px-4 {\\n  padding-right: 1.5rem !important;\\n  padding-left: 1.5rem !important; }\\n\\n.py-4 {\\n  padding-top: 1.5rem !important;\\n  padding-bottom: 1.5rem !important; }\\n\\n.p-5 {\\n  padding: 3rem 3rem !important; }\\n\\n.pt-5 {\\n  padding-top: 3rem !important; }\\n\\n.pr-5 {\\n  padding-right: 3rem !important; }\\n\\n.pb-5 {\\n  padding-bottom: 3rem !important; }\\n\\n.pl-5 {\\n  padding-left: 3rem !important; }\\n\\n.px-5 {\\n  padding-right: 3rem !important;\\n  padding-left: 3rem !important; }\\n\\n.py-5 {\\n  padding-top: 3rem !important;\\n  padding-bottom: 3rem !important; }\\n\\n.m-auto {\\n  margin: auto !important; }\\n\\n.mt-auto {\\n  margin-top: auto !important; }\\n\\n.mr-auto {\\n  margin-right: auto !important; }\\n\\n.mb-auto {\\n  margin-bottom: auto !important; }\\n\\n.ml-auto {\\n  margin-left: auto !important; }\\n\\n.mx-auto {\\n  margin-right: auto !important;\\n  margin-left: auto !important; }\\n\\n.my-auto {\\n  margin-top: auto !important;\\n  margin-bottom: auto !important; }\\n\\n@media (min-width: 576px) {\\n  .m-sm-0 {\\n    margin: 0 0 !important; }\\n  .mt-sm-0 {\\n    margin-top: 0 !important; }\\n  .mr-sm-0 {\\n    margin-right: 0 !important; }\\n  .mb-sm-0 {\\n    margin-bottom: 0 !important; }\\n  .ml-sm-0 {\\n    margin-left: 0 !important; }\\n  .mx-sm-0 {\\n    margin-right: 0 !important;\\n    margin-left: 0 !important; }\\n  .my-sm-0 {\\n    margin-top: 0 !important;\\n    margin-bottom: 0 !important; }\\n  .m-sm-1 {\\n    margin: 0.25rem 0.25rem !important; }\\n  .mt-sm-1 {\\n    margin-top: 0.25rem !important; }\\n  .mr-sm-1 {\\n    margin-right: 0.25rem !important; }\\n  .mb-sm-1 {\\n    margin-bottom: 0.25rem !important; }\\n  .ml-sm-1 {\\n    margin-left: 0.25rem !important; }\\n  .mx-sm-1 {\\n    margin-right: 0.25rem !important;\\n    margin-left: 0.25rem !important; }\\n  .my-sm-1 {\\n    margin-top: 0.25rem !important;\\n    margin-bottom: 0.25rem !important; }\\n  .m-sm-2 {\\n    margin: 0.5rem 0.5rem !important; }\\n  .mt-sm-2 {\\n    margin-top: 0.5rem !important; }\\n  .mr-sm-2 {\\n    margin-right: 0.5rem !important; }\\n  .mb-sm-2 {\\n    margin-bottom: 0.5rem !important; }\\n  .ml-sm-2 {\\n    margin-left: 0.5rem !important; }\\n  .mx-sm-2 {\\n    margin-right: 0.5rem !important;\\n    margin-left: 0.5rem !important; }\\n  .my-sm-2 {\\n    margin-top: 0.5rem !important;\\n    margin-bottom: 0.5rem !important; }\\n  .m-sm-3 {\\n    margin: 1rem 1rem !important; }\\n  .mt-sm-3 {\\n    margin-top: 1rem !important; }\\n  .mr-sm-3 {\\n    margin-right: 1rem !important; }\\n  .mb-sm-3 {\\n    margin-bottom: 1rem !important; }\\n  .ml-sm-3 {\\n    margin-left: 1rem !important; }\\n  .mx-sm-3 {\\n    margin-right: 1rem !important;\\n    margin-left: 1rem !important; }\\n  .my-sm-3 {\\n    margin-top: 1rem !important;\\n    margin-bottom: 1rem !important; }\\n  .m-sm-4 {\\n    margin: 1.5rem 1.5rem !important; }\\n  .mt-sm-4 {\\n    margin-top: 1.5rem !important; }\\n  .mr-sm-4 {\\n    margin-right: 1.5rem !important; }\\n  .mb-sm-4 {\\n    margin-bottom: 1.5rem !important; }\\n  .ml-sm-4 {\\n    margin-left: 1.5rem !important; }\\n  .mx-sm-4 {\\n    margin-right: 1.5rem !important;\\n    margin-left: 1.5rem !important; }\\n  .my-sm-4 {\\n    margin-top: 1.5rem !important;\\n    margin-bottom: 1.5rem !important; }\\n  .m-sm-5 {\\n    margin: 3rem 3rem !important; }\\n  .mt-sm-5 {\\n    margin-top: 3rem !important; }\\n  .mr-sm-5 {\\n    margin-right: 3rem !important; }\\n  .mb-sm-5 {\\n    margin-bottom: 3rem !important; }\\n  .ml-sm-5 {\\n    margin-left: 3rem !important; }\\n  .mx-sm-5 {\\n    margin-right: 3rem !important;\\n    margin-left: 3rem !important; }\\n  .my-sm-5 {\\n    margin-top: 3rem !important;\\n    margin-bottom: 3rem !important; }\\n  .p-sm-0 {\\n    padding: 0 0 !important; }\\n  .pt-sm-0 {\\n    padding-top: 0 !important; }\\n  .pr-sm-0 {\\n    padding-right: 0 !important; }\\n  .pb-sm-0 {\\n    padding-bottom: 0 !important; }\\n  .pl-sm-0 {\\n    padding-left: 0 !important; }\\n  .px-sm-0 {\\n    padding-right: 0 !important;\\n    padding-left: 0 !important; }\\n  .py-sm-0 {\\n    padding-top: 0 !important;\\n    padding-bottom: 0 !important; }\\n  .p-sm-1 {\\n    padding: 0.25rem 0.25rem !important; }\\n  .pt-sm-1 {\\n    padding-top: 0.25rem !important; }\\n  .pr-sm-1 {\\n    padding-right: 0.25rem !important; }\\n  .pb-sm-1 {\\n    padding-bottom: 0.25rem !important; }\\n  .pl-sm-1 {\\n    padding-left: 0.25rem !important; }\\n  .px-sm-1 {\\n    padding-right: 0.25rem !important;\\n    padding-left: 0.25rem !important; }\\n  .py-sm-1 {\\n    padding-top: 0.25rem !important;\\n    padding-bottom: 0.25rem !important; }\\n  .p-sm-2 {\\n    padding: 0.5rem 0.5rem !important; }\\n  .pt-sm-2 {\\n    padding-top: 0.5rem !important; }\\n  .pr-sm-2 {\\n    padding-right: 0.5rem !important; }\\n  .pb-sm-2 {\\n    padding-bottom: 0.5rem !important; }\\n  .pl-sm-2 {\\n    padding-left: 0.5rem !important; }\\n  .px-sm-2 {\\n    padding-right: 0.5rem !important;\\n    padding-left: 0.5rem !important; }\\n  .py-sm-2 {\\n    padding-top: 0.5rem !important;\\n    padding-bottom: 0.5rem !important; }\\n  .p-sm-3 {\\n    padding: 1rem 1rem !important; }\\n  .pt-sm-3 {\\n    padding-top: 1rem !important; }\\n  .pr-sm-3 {\\n    padding-right: 1rem !important; }\\n  .pb-sm-3 {\\n    padding-bottom: 1rem !important; }\\n  .pl-sm-3 {\\n    padding-left: 1rem !important; }\\n  .px-sm-3 {\\n    padding-right: 1rem !important;\\n    padding-left: 1rem !important; }\\n  .py-sm-3 {\\n    padding-top: 1rem !important;\\n    padding-bottom: 1rem !important; }\\n  .p-sm-4 {\\n    padding: 1.5rem 1.5rem !important; }\\n  .pt-sm-4 {\\n    padding-top: 1.5rem !important; }\\n  .pr-sm-4 {\\n    padding-right: 1.5rem !important; }\\n  .pb-sm-4 {\\n    padding-bottom: 1.5rem !important; }\\n  .pl-sm-4 {\\n    padding-left: 1.5rem !important; }\\n  .px-sm-4 {\\n    padding-right: 1.5rem !important;\\n    padding-left: 1.5rem !important; }\\n  .py-sm-4 {\\n    padding-top: 1.5rem !important;\\n    padding-bottom: 1.5rem !important; }\\n  .p-sm-5 {\\n    padding: 3rem 3rem !important; }\\n  .pt-sm-5 {\\n    padding-top: 3rem !important; }\\n  .pr-sm-5 {\\n    padding-right: 3rem !important; }\\n  .pb-sm-5 {\\n    padding-bottom: 3rem !important; }\\n  .pl-sm-5 {\\n    padding-left: 3rem !important; }\\n  .px-sm-5 {\\n    padding-right: 3rem !important;\\n    padding-left: 3rem !important; }\\n  .py-sm-5 {\\n    padding-top: 3rem !important;\\n    padding-bottom: 3rem !important; }\\n  .m-sm-auto {\\n    margin: auto !important; }\\n  .mt-sm-auto {\\n    margin-top: auto !important; }\\n  .mr-sm-auto {\\n    margin-right: auto !important; }\\n  .mb-sm-auto {\\n    margin-bottom: auto !important; }\\n  .ml-sm-auto {\\n    margin-left: auto !important; }\\n  .mx-sm-auto {\\n    margin-right: auto !important;\\n    margin-left: auto !important; }\\n  .my-sm-auto {\\n    margin-top: auto !important;\\n    margin-bottom: auto !important; } }\\n\\n@media (min-width: 768px) {\\n  .m-md-0 {\\n    margin: 0 0 !important; }\\n  .mt-md-0 {\\n    margin-top: 0 !important; }\\n  .mr-md-0 {\\n    margin-right: 0 !important; }\\n  .mb-md-0 {\\n    margin-bottom: 0 !important; }\\n  .ml-md-0 {\\n    margin-left: 0 !important; }\\n  .mx-md-0 {\\n    margin-right: 0 !important;\\n    margin-left: 0 !important; }\\n  .my-md-0 {\\n    margin-top: 0 !important;\\n    margin-bottom: 0 !important; }\\n  .m-md-1 {\\n    margin: 0.25rem 0.25rem !important; }\\n  .mt-md-1 {\\n    margin-top: 0.25rem !important; }\\n  .mr-md-1 {\\n    margin-right: 0.25rem !important; }\\n  .mb-md-1 {\\n    margin-bottom: 0.25rem !important; }\\n  .ml-md-1 {\\n    margin-left: 0.25rem !important; }\\n  .mx-md-1 {\\n    margin-right: 0.25rem !important;\\n    margin-left: 0.25rem !important; }\\n  .my-md-1 {\\n    margin-top: 0.25rem !important;\\n    margin-bottom: 0.25rem !important; }\\n  .m-md-2 {\\n    margin: 0.5rem 0.5rem !important; }\\n  .mt-md-2 {\\n    margin-top: 0.5rem !important; }\\n  .mr-md-2 {\\n    margin-right: 0.5rem !important; }\\n  .mb-md-2 {\\n    margin-bottom: 0.5rem !important; }\\n  .ml-md-2 {\\n    margin-left: 0.5rem !important; }\\n  .mx-md-2 {\\n    margin-right: 0.5rem !important;\\n    margin-left: 0.5rem !important; }\\n  .my-md-2 {\\n    margin-top: 0.5rem !important;\\n    margin-bottom: 0.5rem !important; }\\n  .m-md-3 {\\n    margin: 1rem 1rem !important; }\\n  .mt-md-3 {\\n    margin-top: 1rem !important; }\\n  .mr-md-3 {\\n    margin-right: 1rem !important; }\\n  .mb-md-3 {\\n    margin-bottom: 1rem !important; }\\n  .ml-md-3 {\\n    margin-left: 1rem !important; }\\n  .mx-md-3 {\\n    margin-right: 1rem !important;\\n    margin-left: 1rem !important; }\\n  .my-md-3 {\\n    margin-top: 1rem !important;\\n    margin-bottom: 1rem !important; }\\n  .m-md-4 {\\n    margin: 1.5rem 1.5rem !important; }\\n  .mt-md-4 {\\n    margin-top: 1.5rem !important; }\\n  .mr-md-4 {\\n    margin-right: 1.5rem !important; }\\n  .mb-md-4 {\\n    margin-bottom: 1.5rem !important; }\\n  .ml-md-4 {\\n    margin-left: 1.5rem !important; }\\n  .mx-md-4 {\\n    margin-right: 1.5rem !important;\\n    margin-left: 1.5rem !important; }\\n  .my-md-4 {\\n    margin-top: 1.5rem !important;\\n    margin-bottom: 1.5rem !important; }\\n  .m-md-5 {\\n    margin: 3rem 3rem !important; }\\n  .mt-md-5 {\\n    margin-top: 3rem !important; }\\n  .mr-md-5 {\\n    margin-right: 3rem !important; }\\n  .mb-md-5 {\\n    margin-bottom: 3rem !important; }\\n  .ml-md-5 {\\n    margin-left: 3rem !important; }\\n  .mx-md-5 {\\n    margin-right: 3rem !important;\\n    margin-left: 3rem !important; }\\n  .my-md-5 {\\n    margin-top: 3rem !important;\\n    margin-bottom: 3rem !important; }\\n  .p-md-0 {\\n    padding: 0 0 !important; }\\n  .pt-md-0 {\\n    padding-top: 0 !important; }\\n  .pr-md-0 {\\n    padding-right: 0 !important; }\\n  .pb-md-0 {\\n    padding-bottom: 0 !important; }\\n  .pl-md-0 {\\n    padding-left: 0 !important; }\\n  .px-md-0 {\\n    padding-right: 0 !important;\\n    padding-left: 0 !important; }\\n  .py-md-0 {\\n    padding-top: 0 !important;\\n    padding-bottom: 0 !important; }\\n  .p-md-1 {\\n    padding: 0.25rem 0.25rem !important; }\\n  .pt-md-1 {\\n    padding-top: 0.25rem !important; }\\n  .pr-md-1 {\\n    padding-right: 0.25rem !important; }\\n  .pb-md-1 {\\n    padding-bottom: 0.25rem !important; }\\n  .pl-md-1 {\\n    padding-left: 0.25rem !important; }\\n  .px-md-1 {\\n    padding-right: 0.25rem !important;\\n    padding-left: 0.25rem !important; }\\n  .py-md-1 {\\n    padding-top: 0.25rem !important;\\n    padding-bottom: 0.25rem !important; }\\n  .p-md-2 {\\n    padding: 0.5rem 0.5rem !important; }\\n  .pt-md-2 {\\n    padding-top: 0.5rem !important; }\\n  .pr-md-2 {\\n    padding-right: 0.5rem !important; }\\n  .pb-md-2 {\\n    padding-bottom: 0.5rem !important; }\\n  .pl-md-2 {\\n    padding-left: 0.5rem !important; }\\n  .px-md-2 {\\n    padding-right: 0.5rem !important;\\n    padding-left: 0.5rem !important; }\\n  .py-md-2 {\\n    padding-top: 0.5rem !important;\\n    padding-bottom: 0.5rem !important; }\\n  .p-md-3 {\\n    padding: 1rem 1rem !important; }\\n  .pt-md-3 {\\n    padding-top: 1rem !important; }\\n  .pr-md-3 {\\n    padding-right: 1rem !important; }\\n  .pb-md-3 {\\n    padding-bottom: 1rem !important; }\\n  .pl-md-3 {\\n    padding-left: 1rem !important; }\\n  .px-md-3 {\\n    padding-right: 1rem !important;\\n    padding-left: 1rem !important; }\\n  .py-md-3 {\\n    padding-top: 1rem !important;\\n    padding-bottom: 1rem !important; }\\n  .p-md-4 {\\n    padding: 1.5rem 1.5rem !important; }\\n  .pt-md-4 {\\n    padding-top: 1.5rem !important; }\\n  .pr-md-4 {\\n    padding-right: 1.5rem !important; }\\n  .pb-md-4 {\\n    padding-bottom: 1.5rem !important; }\\n  .pl-md-4 {\\n    padding-left: 1.5rem !important; }\\n  .px-md-4 {\\n    padding-right: 1.5rem !important;\\n    padding-left: 1.5rem !important; }\\n  .py-md-4 {\\n    padding-top: 1.5rem !important;\\n    padding-bottom: 1.5rem !important; }\\n  .p-md-5 {\\n    padding: 3rem 3rem !important; }\\n  .pt-md-5 {\\n    padding-top: 3rem !important; }\\n  .pr-md-5 {\\n    padding-right: 3rem !important; }\\n  .pb-md-5 {\\n    padding-bottom: 3rem !important; }\\n  .pl-md-5 {\\n    padding-left: 3rem !important; }\\n  .px-md-5 {\\n    padding-right: 3rem !important;\\n    padding-left: 3rem !important; }\\n  .py-md-5 {\\n    padding-top: 3rem !important;\\n    padding-bottom: 3rem !important; }\\n  .m-md-auto {\\n    margin: auto !important; }\\n  .mt-md-auto {\\n    margin-top: auto !important; }\\n  .mr-md-auto {\\n    margin-right: auto !important; }\\n  .mb-md-auto {\\n    margin-bottom: auto !important; }\\n  .ml-md-auto {\\n    margin-left: auto !important; }\\n  .mx-md-auto {\\n    margin-right: auto !important;\\n    margin-left: auto !important; }\\n  .my-md-auto {\\n    margin-top: auto !important;\\n    margin-bottom: auto !important; } }\\n\\n@media (min-width: 992px) {\\n  .m-lg-0 {\\n    margin: 0 0 !important; }\\n  .mt-lg-0 {\\n    margin-top: 0 !important; }\\n  .mr-lg-0 {\\n    margin-right: 0 !important; }\\n  .mb-lg-0 {\\n    margin-bottom: 0 !important; }\\n  .ml-lg-0 {\\n    margin-left: 0 !important; }\\n  .mx-lg-0 {\\n    margin-right: 0 !important;\\n    margin-left: 0 !important; }\\n  .my-lg-0 {\\n    margin-top: 0 !important;\\n    margin-bottom: 0 !important; }\\n  .m-lg-1 {\\n    margin: 0.25rem 0.25rem !important; }\\n  .mt-lg-1 {\\n    margin-top: 0.25rem !important; }\\n  .mr-lg-1 {\\n    margin-right: 0.25rem !important; }\\n  .mb-lg-1 {\\n    margin-bottom: 0.25rem !important; }\\n  .ml-lg-1 {\\n    margin-left: 0.25rem !important; }\\n  .mx-lg-1 {\\n    margin-right: 0.25rem !important;\\n    margin-left: 0.25rem !important; }\\n  .my-lg-1 {\\n    margin-top: 0.25rem !important;\\n    margin-bottom: 0.25rem !important; }\\n  .m-lg-2 {\\n    margin: 0.5rem 0.5rem !important; }\\n  .mt-lg-2 {\\n    margin-top: 0.5rem !important; }\\n  .mr-lg-2 {\\n    margin-right: 0.5rem !important; }\\n  .mb-lg-2 {\\n    margin-bottom: 0.5rem !important; }\\n  .ml-lg-2 {\\n    margin-left: 0.5rem !important; }\\n  .mx-lg-2 {\\n    margin-right: 0.5rem !important;\\n    margin-left: 0.5rem !important; }\\n  .my-lg-2 {\\n    margin-top: 0.5rem !important;\\n    margin-bottom: 0.5rem !important; }\\n  .m-lg-3 {\\n    margin: 1rem 1rem !important; }\\n  .mt-lg-3 {\\n    margin-top: 1rem !important; }\\n  .mr-lg-3 {\\n    margin-right: 1rem !important; }\\n  .mb-lg-3 {\\n    margin-bottom: 1rem !important; }\\n  .ml-lg-3 {\\n    margin-left: 1rem !important; }\\n  .mx-lg-3 {\\n    margin-right: 1rem !important;\\n    margin-left: 1rem !important; }\\n  .my-lg-3 {\\n    margin-top: 1rem !important;\\n    margin-bottom: 1rem !important; }\\n  .m-lg-4 {\\n    margin: 1.5rem 1.5rem !important; }\\n  .mt-lg-4 {\\n    margin-top: 1.5rem !important; }\\n  .mr-lg-4 {\\n    margin-right: 1.5rem !important; }\\n  .mb-lg-4 {\\n    margin-bottom: 1.5rem !important; }\\n  .ml-lg-4 {\\n    margin-left: 1.5rem !important; }\\n  .mx-lg-4 {\\n    margin-right: 1.5rem !important;\\n    margin-left: 1.5rem !important; }\\n  .my-lg-4 {\\n    margin-top: 1.5rem !important;\\n    margin-bottom: 1.5rem !important; }\\n  .m-lg-5 {\\n    margin: 3rem 3rem !important; }\\n  .mt-lg-5 {\\n    margin-top: 3rem !important; }\\n  .mr-lg-5 {\\n    margin-right: 3rem !important; }\\n  .mb-lg-5 {\\n    margin-bottom: 3rem !important; }\\n  .ml-lg-5 {\\n    margin-left: 3rem !important; }\\n  .mx-lg-5 {\\n    margin-right: 3rem !important;\\n    margin-left: 3rem !important; }\\n  .my-lg-5 {\\n    margin-top: 3rem !important;\\n    margin-bottom: 3rem !important; }\\n  .p-lg-0 {\\n    padding: 0 0 !important; }\\n  .pt-lg-0 {\\n    padding-top: 0 !important; }\\n  .pr-lg-0 {\\n    padding-right: 0 !important; }\\n  .pb-lg-0 {\\n    padding-bottom: 0 !important; }\\n  .pl-lg-0 {\\n    padding-left: 0 !important; }\\n  .px-lg-0 {\\n    padding-right: 0 !important;\\n    padding-left: 0 !important; }\\n  .py-lg-0 {\\n    padding-top: 0 !important;\\n    padding-bottom: 0 !important; }\\n  .p-lg-1 {\\n    padding: 0.25rem 0.25rem !important; }\\n  .pt-lg-1 {\\n    padding-top: 0.25rem !important; }\\n  .pr-lg-1 {\\n    padding-right: 0.25rem !important; }\\n  .pb-lg-1 {\\n    padding-bottom: 0.25rem !important; }\\n  .pl-lg-1 {\\n    padding-left: 0.25rem !important; }\\n  .px-lg-1 {\\n    padding-right: 0.25rem !important;\\n    padding-left: 0.25rem !important; }\\n  .py-lg-1 {\\n    padding-top: 0.25rem !important;\\n    padding-bottom: 0.25rem !important; }\\n  .p-lg-2 {\\n    padding: 0.5rem 0.5rem !important; }\\n  .pt-lg-2 {\\n    padding-top: 0.5rem !important; }\\n  .pr-lg-2 {\\n    padding-right: 0.5rem !important; }\\n  .pb-lg-2 {\\n    padding-bottom: 0.5rem !important; }\\n  .pl-lg-2 {\\n    padding-left: 0.5rem !important; }\\n  .px-lg-2 {\\n    padding-right: 0.5rem !important;\\n    padding-left: 0.5rem !important; }\\n  .py-lg-2 {\\n    padding-top: 0.5rem !important;\\n    padding-bottom: 0.5rem !important; }\\n  .p-lg-3 {\\n    padding: 1rem 1rem !important; }\\n  .pt-lg-3 {\\n    padding-top: 1rem !important; }\\n  .pr-lg-3 {\\n    padding-right: 1rem !important; }\\n  .pb-lg-3 {\\n    padding-bottom: 1rem !important; }\\n  .pl-lg-3 {\\n    padding-left: 1rem !important; }\\n  .px-lg-3 {\\n    padding-right: 1rem !important;\\n    padding-left: 1rem !important; }\\n  .py-lg-3 {\\n    padding-top: 1rem !important;\\n    padding-bottom: 1rem !important; }\\n  .p-lg-4 {\\n    padding: 1.5rem 1.5rem !important; }\\n  .pt-lg-4 {\\n    padding-top: 1.5rem !important; }\\n  .pr-lg-4 {\\n    padding-right: 1.5rem !important; }\\n  .pb-lg-4 {\\n    padding-bottom: 1.5rem !important; }\\n  .pl-lg-4 {\\n    padding-left: 1.5rem !important; }\\n  .px-lg-4 {\\n    padding-right: 1.5rem !important;\\n    padding-left: 1.5rem !important; }\\n  .py-lg-4 {\\n    padding-top: 1.5rem !important;\\n    padding-bottom: 1.5rem !important; }\\n  .p-lg-5 {\\n    padding: 3rem 3rem !important; }\\n  .pt-lg-5 {\\n    padding-top: 3rem !important; }\\n  .pr-lg-5 {\\n    padding-right: 3rem !important; }\\n  .pb-lg-5 {\\n    padding-bottom: 3rem !important; }\\n  .pl-lg-5 {\\n    padding-left: 3rem !important; }\\n  .px-lg-5 {\\n    padding-right: 3rem !important;\\n    padding-left: 3rem !important; }\\n  .py-lg-5 {\\n    padding-top: 3rem !important;\\n    padding-bottom: 3rem !important; }\\n  .m-lg-auto {\\n    margin: auto !important; }\\n  .mt-lg-auto {\\n    margin-top: auto !important; }\\n  .mr-lg-auto {\\n    margin-right: auto !important; }\\n  .mb-lg-auto {\\n    margin-bottom: auto !important; }\\n  .ml-lg-auto {\\n    margin-left: auto !important; }\\n  .mx-lg-auto {\\n    margin-right: auto !important;\\n    margin-left: auto !important; }\\n  .my-lg-auto {\\n    margin-top: auto !important;\\n    margin-bottom: auto !important; } }\\n\\n@media (min-width: 1200px) {\\n  .m-xl-0 {\\n    margin: 0 0 !important; }\\n  .mt-xl-0 {\\n    margin-top: 0 !important; }\\n  .mr-xl-0 {\\n    margin-right: 0 !important; }\\n  .mb-xl-0 {\\n    margin-bottom: 0 !important; }\\n  .ml-xl-0 {\\n    margin-left: 0 !important; }\\n  .mx-xl-0 {\\n    margin-right: 0 !important;\\n    margin-left: 0 !important; }\\n  .my-xl-0 {\\n    margin-top: 0 !important;\\n    margin-bottom: 0 !important; }\\n  .m-xl-1 {\\n    margin: 0.25rem 0.25rem !important; }\\n  .mt-xl-1 {\\n    margin-top: 0.25rem !important; }\\n  .mr-xl-1 {\\n    margin-right: 0.25rem !important; }\\n  .mb-xl-1 {\\n    margin-bottom: 0.25rem !important; }\\n  .ml-xl-1 {\\n    margin-left: 0.25rem !important; }\\n  .mx-xl-1 {\\n    margin-right: 0.25rem !important;\\n    margin-left: 0.25rem !important; }\\n  .my-xl-1 {\\n    margin-top: 0.25rem !important;\\n    margin-bottom: 0.25rem !important; }\\n  .m-xl-2 {\\n    margin: 0.5rem 0.5rem !important; }\\n  .mt-xl-2 {\\n    margin-top: 0.5rem !important; }\\n  .mr-xl-2 {\\n    margin-right: 0.5rem !important; }\\n  .mb-xl-2 {\\n    margin-bottom: 0.5rem !important; }\\n  .ml-xl-2 {\\n    margin-left: 0.5rem !important; }\\n  .mx-xl-2 {\\n    margin-right: 0.5rem !important;\\n    margin-left: 0.5rem !important; }\\n  .my-xl-2 {\\n    margin-top: 0.5rem !important;\\n    margin-bottom: 0.5rem !important; }\\n  .m-xl-3 {\\n    margin: 1rem 1rem !important; }\\n  .mt-xl-3 {\\n    margin-top: 1rem !important; }\\n  .mr-xl-3 {\\n    margin-right: 1rem !important; }\\n  .mb-xl-3 {\\n    margin-bottom: 1rem !important; }\\n  .ml-xl-3 {\\n    margin-left: 1rem !important; }\\n  .mx-xl-3 {\\n    margin-right: 1rem !important;\\n    margin-left: 1rem !important; }\\n  .my-xl-3 {\\n    margin-top: 1rem !important;\\n    margin-bottom: 1rem !important; }\\n  .m-xl-4 {\\n    margin: 1.5rem 1.5rem !important; }\\n  .mt-xl-4 {\\n    margin-top: 1.5rem !important; }\\n  .mr-xl-4 {\\n    margin-right: 1.5rem !important; }\\n  .mb-xl-4 {\\n    margin-bottom: 1.5rem !important; }\\n  .ml-xl-4 {\\n    margin-left: 1.5rem !important; }\\n  .mx-xl-4 {\\n    margin-right: 1.5rem !important;\\n    margin-left: 1.5rem !important; }\\n  .my-xl-4 {\\n    margin-top: 1.5rem !important;\\n    margin-bottom: 1.5rem !important; }\\n  .m-xl-5 {\\n    margin: 3rem 3rem !important; }\\n  .mt-xl-5 {\\n    margin-top: 3rem !important; }\\n  .mr-xl-5 {\\n    margin-right: 3rem !important; }\\n  .mb-xl-5 {\\n    margin-bottom: 3rem !important; }\\n  .ml-xl-5 {\\n    margin-left: 3rem !important; }\\n  .mx-xl-5 {\\n    margin-right: 3rem !important;\\n    margin-left: 3rem !important; }\\n  .my-xl-5 {\\n    margin-top: 3rem !important;\\n    margin-bottom: 3rem !important; }\\n  .p-xl-0 {\\n    padding: 0 0 !important; }\\n  .pt-xl-0 {\\n    padding-top: 0 !important; }\\n  .pr-xl-0 {\\n    padding-right: 0 !important; }\\n  .pb-xl-0 {\\n    padding-bottom: 0 !important; }\\n  .pl-xl-0 {\\n    padding-left: 0 !important; }\\n  .px-xl-0 {\\n    padding-right: 0 !important;\\n    padding-left: 0 !important; }\\n  .py-xl-0 {\\n    padding-top: 0 !important;\\n    padding-bottom: 0 !important; }\\n  .p-xl-1 {\\n    padding: 0.25rem 0.25rem !important; }\\n  .pt-xl-1 {\\n    padding-top: 0.25rem !important; }\\n  .pr-xl-1 {\\n    padding-right: 0.25rem !important; }\\n  .pb-xl-1 {\\n    padding-bottom: 0.25rem !important; }\\n  .pl-xl-1 {\\n    padding-left: 0.25rem !important; }\\n  .px-xl-1 {\\n    padding-right: 0.25rem !important;\\n    padding-left: 0.25rem !important; }\\n  .py-xl-1 {\\n    padding-top: 0.25rem !important;\\n    padding-bottom: 0.25rem !important; }\\n  .p-xl-2 {\\n    padding: 0.5rem 0.5rem !important; }\\n  .pt-xl-2 {\\n    padding-top: 0.5rem !important; }\\n  .pr-xl-2 {\\n    padding-right: 0.5rem !important; }\\n  .pb-xl-2 {\\n    padding-bottom: 0.5rem !important; }\\n  .pl-xl-2 {\\n    padding-left: 0.5rem !important; }\\n  .px-xl-2 {\\n    padding-right: 0.5rem !important;\\n    padding-left: 0.5rem !important; }\\n  .py-xl-2 {\\n    padding-top: 0.5rem !important;\\n    padding-bottom: 0.5rem !important; }\\n  .p-xl-3 {\\n    padding: 1rem 1rem !important; }\\n  .pt-xl-3 {\\n    padding-top: 1rem !important; }\\n  .pr-xl-3 {\\n    padding-right: 1rem !important; }\\n  .pb-xl-3 {\\n    padding-bottom: 1rem !important; }\\n  .pl-xl-3 {\\n    padding-left: 1rem !important; }\\n  .px-xl-3 {\\n    padding-right: 1rem !important;\\n    padding-left: 1rem !important; }\\n  .py-xl-3 {\\n    padding-top: 1rem !important;\\n    padding-bottom: 1rem !important; }\\n  .p-xl-4 {\\n    padding: 1.5rem 1.5rem !important; }\\n  .pt-xl-4 {\\n    padding-top: 1.5rem !important; }\\n  .pr-xl-4 {\\n    padding-right: 1.5rem !important; }\\n  .pb-xl-4 {\\n    padding-bottom: 1.5rem !important; }\\n  .pl-xl-4 {\\n    padding-left: 1.5rem !important; }\\n  .px-xl-4 {\\n    padding-right: 1.5rem !important;\\n    padding-left: 1.5rem !important; }\\n  .py-xl-4 {\\n    padding-top: 1.5rem !important;\\n    padding-bottom: 1.5rem !important; }\\n  .p-xl-5 {\\n    padding: 3rem 3rem !important; }\\n  .pt-xl-5 {\\n    padding-top: 3rem !important; }\\n  .pr-xl-5 {\\n    padding-right: 3rem !important; }\\n  .pb-xl-5 {\\n    padding-bottom: 3rem !important; }\\n  .pl-xl-5 {\\n    padding-left: 3rem !important; }\\n  .px-xl-5 {\\n    padding-right: 3rem !important;\\n    padding-left: 3rem !important; }\\n  .py-xl-5 {\\n    padding-top: 3rem !important;\\n    padding-bottom: 3rem !important; }\\n  .m-xl-auto {\\n    margin: auto !important; }\\n  .mt-xl-auto {\\n    margin-top: auto !important; }\\n  .mr-xl-auto {\\n    margin-right: auto !important; }\\n  .mb-xl-auto {\\n    margin-bottom: auto !important; }\\n  .ml-xl-auto {\\n    margin-left: auto !important; }\\n  .mx-xl-auto {\\n    margin-right: auto !important;\\n    margin-left: auto !important; }\\n  .my-xl-auto {\\n    margin-top: auto !important;\\n    margin-bottom: auto !important; } }\\n\\n.text-justify {\\n  text-align: justify !important; }\\n\\n.text-nowrap {\\n  white-space: nowrap !important; }\\n\\n.text-truncate {\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap; }\\n\\n.text-left {\\n  text-align: left !important; }\\n\\n.text-right {\\n  text-align: right !important; }\\n\\n.text-center {\\n  text-align: center !important; }\\n\\n@media (min-width: 576px) {\\n  .text-sm-left {\\n    text-align: left !important; }\\n  .text-sm-right {\\n    text-align: right !important; }\\n  .text-sm-center {\\n    text-align: center !important; } }\\n\\n@media (min-width: 768px) {\\n  .text-md-left {\\n    text-align: left !important; }\\n  .text-md-right {\\n    text-align: right !important; }\\n  .text-md-center {\\n    text-align: center !important; } }\\n\\n@media (min-width: 992px) {\\n  .text-lg-left {\\n    text-align: left !important; }\\n  .text-lg-right {\\n    text-align: right !important; }\\n  .text-lg-center {\\n    text-align: center !important; } }\\n\\n@media (min-width: 1200px) {\\n  .text-xl-left {\\n    text-align: left !important; }\\n  .text-xl-right {\\n    text-align: right !important; }\\n  .text-xl-center {\\n    text-align: center !important; } }\\n\\n.text-lowercase {\\n  text-transform: lowercase !important; }\\n\\n.text-uppercase {\\n  text-transform: uppercase !important; }\\n\\n.text-capitalize {\\n  text-transform: capitalize !important; }\\n\\n.font-weight-normal {\\n  font-weight: 400; }\\n\\n.font-weight-bold {\\n  font-weight: 700; }\\n\\n.font-italic {\\n  font-style: italic; }\\n\\n.text-white {\\n  color: #fff !important; }\\n\\n.text-muted {\\n  color: #999999 !important; }\\n\\na.text-muted:focus, a.text-muted:hover {\\n  color: gray !important; }\\n\\n.text-primary {\\n  color: #5d8fc2 !important; }\\n\\na.text-primary:focus, a.text-primary:hover {\\n  color: #4175ab !important; }\\n\\n.text-success {\\n  color: #64bd63 !important; }\\n\\na.text-success:focus, a.text-success:hover {\\n  color: #48a746 !important; }\\n\\n.text-info {\\n  color: #5dc4bf !important; }\\n\\na.text-info:focus, a.text-info:hover {\\n  color: #40aea9 !important; }\\n\\n.text-warning {\\n  color: #f0b518 !important; }\\n\\na.text-warning:focus, a.text-warning:hover {\\n  color: #c8950d !important; }\\n\\n.text-danger {\\n  color: #dd5826 !important; }\\n\\na.text-danger:focus, a.text-danger:hover {\\n  color: #b4461c !important; }\\n\\n.text-gray-dark {\\n  color: #343434 !important; }\\n\\na.text-gray-dark:focus, a.text-gray-dark:hover {\\n  color: #1b1b1b !important; }\\n\\n.text-hide {\\n  font: 0/0 a;\\n  color: transparent;\\n  text-shadow: none;\\n  background-color: transparent;\\n  border: 0; }\\n\\n.invisible {\\n  visibility: hidden !important; }\\n\\n.hidden-xs-up {\\n  display: none !important; }\\n\\n@media (max-width: 575px) {\\n  .hidden-xs-down {\\n    display: none !important; } }\\n\\n@media (min-width: 576px) {\\n  .hidden-sm-up {\\n    display: none !important; } }\\n\\n@media (max-width: 767px) {\\n  .hidden-sm-down {\\n    display: none !important; } }\\n\\n@media (min-width: 768px) {\\n  .hidden-md-up {\\n    display: none !important; } }\\n\\n@media (max-width: 991px) {\\n  .hidden-md-down {\\n    display: none !important; } }\\n\\n@media (min-width: 992px) {\\n  .hidden-lg-up {\\n    display: none !important; } }\\n\\n@media (max-width: 1199px) {\\n  .hidden-lg-down {\\n    display: none !important; } }\\n\\n@media (min-width: 1200px) {\\n  .hidden-xl-up {\\n    display: none !important; } }\\n\\n.hidden-xl-down {\\n  display: none !important; }\\n\\n.visible-print-block {\\n  display: none !important; }\\n  @media print {\\n    .visible-print-block {\\n      display: block !important; } }\\n\\n.visible-print-inline {\\n  display: none !important; }\\n  @media print {\\n    .visible-print-inline {\\n      display: inline !important; } }\\n\\n.visible-print-inline-block {\\n  display: none !important; }\\n  @media print {\\n    .visible-print-inline-block {\\n      display: inline-block !important; } }\\n\\n@media print {\\n  .hidden-print {\\n    display: none !important; } }\\n\\n/*!\\r\\n *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\\r\\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\\r\\n */\\n/* FONT PATH\\r\\n * -------------------------- */\\n@font-face {\\n  font-family: 'FontAwesome';\\n  src: url(\\\"assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0\\\");\\n  src: url(\\\"assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0\\\") format(\\\"embedded-opentype\\\"), url(\\\"assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0\\\") format(\\\"woff2\\\"), url(\\\"assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0\\\") format(\\\"woff\\\"), url(\\\"assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0\\\") format(\\\"truetype\\\"), url(\\\"assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular\\\") format(\\\"svg\\\");\\n  font-weight: normal;\\n  font-style: normal; }\\n\\n.fa {\\n  display: inline-block;\\n  font: normal normal normal 14px/1 FontAwesome;\\n  font-size: inherit;\\n  text-rendering: auto;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale; }\\n\\n/* makes the font 33% larger relative to the icon container */\\n.fa-lg {\\n  font-size: 1.33333em;\\n  line-height: 0.75em;\\n  vertical-align: -15%; }\\n\\n.fa-2x {\\n  font-size: 2em; }\\n\\n.fa-3x {\\n  font-size: 3em; }\\n\\n.fa-4x {\\n  font-size: 4em; }\\n\\n.fa-5x {\\n  font-size: 5em; }\\n\\n.fa-fw {\\n  width: 1.28571em;\\n  text-align: center; }\\n\\n.fa-ul {\\n  padding-left: 0;\\n  margin-left: 2.14286em;\\n  list-style-type: none; }\\n  .fa-ul > li {\\n    position: relative; }\\n\\n.fa-li {\\n  position: absolute;\\n  left: -2.14286em;\\n  width: 2.14286em;\\n  top: 0.14286em;\\n  text-align: center; }\\n  .fa-li.fa-lg {\\n    left: -1.85714em; }\\n\\n.fa-border {\\n  padding: .2em .25em .15em;\\n  border: solid 0.08em #eee;\\n  border-radius: .1em; }\\n\\n.fa-pull-left {\\n  float: left; }\\n\\n.fa-pull-right {\\n  float: right; }\\n\\n.fa.fa-pull-left {\\n  margin-right: .3em; }\\n\\n.fa.fa-pull-right {\\n  margin-left: .3em; }\\n\\n/* Deprecated as of 4.4.0 */\\n.pull-right {\\n  float: right; }\\n\\n.pull-left {\\n  float: left; }\\n\\n.fa.pull-left {\\n  margin-right: .3em; }\\n\\n.fa.pull-right {\\n  margin-left: .3em; }\\n\\n.fa-spin {\\n  -webkit-animation: fa-spin 2s infinite linear;\\n  animation: fa-spin 2s infinite linear; }\\n\\n.fa-pulse {\\n  -webkit-animation: fa-spin 1s infinite steps(8);\\n  animation: fa-spin 1s infinite steps(8); }\\n\\n@-webkit-keyframes fa-spin {\\n  0% {\\n    -webkit-transform: rotate(0deg);\\n    transform: rotate(0deg); }\\n  100% {\\n    -webkit-transform: rotate(359deg);\\n    transform: rotate(359deg); } }\\n\\n@keyframes fa-spin {\\n  0% {\\n    -webkit-transform: rotate(0deg);\\n    transform: rotate(0deg); }\\n  100% {\\n    -webkit-transform: rotate(359deg);\\n    transform: rotate(359deg); } }\\n\\n.fa-rotate-90 {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n  -webkit-transform: rotate(90deg);\\n  -ms-transform: rotate(90deg);\\n  transform: rotate(90deg); }\\n\\n.fa-rotate-180 {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n  -webkit-transform: rotate(180deg);\\n  -ms-transform: rotate(180deg);\\n  transform: rotate(180deg); }\\n\\n.fa-rotate-270 {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n  -webkit-transform: rotate(270deg);\\n  -ms-transform: rotate(270deg);\\n  transform: rotate(270deg); }\\n\\n.fa-flip-horizontal {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n  -webkit-transform: scale(-1, 1);\\n  -ms-transform: scale(-1, 1);\\n  transform: scale(-1, 1); }\\n\\n.fa-flip-vertical {\\n  -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n  -webkit-transform: scale(1, -1);\\n  -ms-transform: scale(1, -1);\\n  transform: scale(1, -1); }\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical {\\n  filter: none; }\\n\\n.fa-stack {\\n  position: relative;\\n  display: inline-block;\\n  width: 2em;\\n  height: 2em;\\n  line-height: 2em;\\n  vertical-align: middle; }\\n\\n.fa-stack-1x, .fa-stack-2x {\\n  position: absolute;\\n  left: 0;\\n  width: 100%;\\n  text-align: center; }\\n\\n.fa-stack-1x {\\n  line-height: inherit; }\\n\\n.fa-stack-2x {\\n  font-size: 2em; }\\n\\n.fa-inverse {\\n  color: #fff; }\\n\\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\\r\\n   readers do not read off random characters that represent icons */\\n.fa-glass:before {\\n  content: \\\"\\\"; }\\n\\n.fa-music:before {\\n  content: \\\"\\\"; }\\n\\n.fa-search:before {\\n  content: \\\"\\\"; }\\n\\n.fa-envelope-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-heart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-star:before {\\n  content: \\\"\\\"; }\\n\\n.fa-star-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user:before {\\n  content: \\\"\\\"; }\\n\\n.fa-film:before {\\n  content: \\\"\\\"; }\\n\\n.fa-th-large:before {\\n  content: \\\"\\\"; }\\n\\n.fa-th:before {\\n  content: \\\"\\\"; }\\n\\n.fa-th-list:before {\\n  content: \\\"\\\"; }\\n\\n.fa-check:before {\\n  content: \\\"\\\"; }\\n\\n.fa-remove:before,\\n.fa-close:before,\\n.fa-times:before {\\n  content: \\\"\\\"; }\\n\\n.fa-search-plus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-search-minus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-power-off:before {\\n  content: \\\"\\\"; }\\n\\n.fa-signal:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gear:before,\\n.fa-cog:before {\\n  content: \\\"\\\"; }\\n\\n.fa-trash-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-home:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-clock-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-road:before {\\n  content: \\\"\\\"; }\\n\\n.fa-download:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-o-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-o-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-inbox:before {\\n  content: \\\"\\\"; }\\n\\n.fa-play-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-rotate-right:before,\\n.fa-repeat:before {\\n  content: \\\"\\\"; }\\n\\n.fa-refresh:before {\\n  content: \\\"\\\"; }\\n\\n.fa-list-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-lock:before {\\n  content: \\\"\\\"; }\\n\\n.fa-flag:before {\\n  content: \\\"\\\"; }\\n\\n.fa-headphones:before {\\n  content: \\\"\\\"; }\\n\\n.fa-volume-off:before {\\n  content: \\\"\\\"; }\\n\\n.fa-volume-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-volume-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-qrcode:before {\\n  content: \\\"\\\"; }\\n\\n.fa-barcode:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tag:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tags:before {\\n  content: \\\"\\\"; }\\n\\n.fa-book:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bookmark:before {\\n  content: \\\"\\\"; }\\n\\n.fa-print:before {\\n  content: \\\"\\\"; }\\n\\n.fa-camera:before {\\n  content: \\\"\\\"; }\\n\\n.fa-font:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bold:before {\\n  content: \\\"\\\"; }\\n\\n.fa-italic:before {\\n  content: \\\"\\\"; }\\n\\n.fa-text-height:before {\\n  content: \\\"\\\"; }\\n\\n.fa-text-width:before {\\n  content: \\\"\\\"; }\\n\\n.fa-align-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-align-center:before {\\n  content: \\\"\\\"; }\\n\\n.fa-align-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-align-justify:before {\\n  content: \\\"\\\"; }\\n\\n.fa-list:before {\\n  content: \\\"\\\"; }\\n\\n.fa-dedent:before,\\n.fa-outdent:before {\\n  content: \\\"\\\"; }\\n\\n.fa-indent:before {\\n  content: \\\"\\\"; }\\n\\n.fa-video-camera:before {\\n  content: \\\"\\\"; }\\n\\n.fa-photo:before,\\n.fa-image:before,\\n.fa-picture-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pencil:before {\\n  content: \\\"\\\"; }\\n\\n.fa-map-marker:before {\\n  content: \\\"\\\"; }\\n\\n.fa-adjust:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tint:before {\\n  content: \\\"\\\"; }\\n\\n.fa-edit:before,\\n.fa-pencil-square-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-share-square-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-check-square-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrows:before {\\n  content: \\\"\\\"; }\\n\\n.fa-step-backward:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fast-backward:before {\\n  content: \\\"\\\"; }\\n\\n.fa-backward:before {\\n  content: \\\"\\\"; }\\n\\n.fa-play:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pause:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stop:before {\\n  content: \\\"\\\"; }\\n\\n.fa-forward:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fast-forward:before {\\n  content: \\\"\\\"; }\\n\\n.fa-step-forward:before {\\n  content: \\\"\\\"; }\\n\\n.fa-eject:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-plus-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-minus-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-times-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-check-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-question-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-info-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-crosshairs:before {\\n  content: \\\"\\\"; }\\n\\n.fa-times-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-check-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ban:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mail-forward:before,\\n.fa-share:before {\\n  content: \\\"\\\"; }\\n\\n.fa-expand:before {\\n  content: \\\"\\\"; }\\n\\n.fa-compress:before {\\n  content: \\\"\\\"; }\\n\\n.fa-plus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-minus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-asterisk:before {\\n  content: \\\"\\\"; }\\n\\n.fa-exclamation-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gift:before {\\n  content: \\\"\\\"; }\\n\\n.fa-leaf:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fire:before {\\n  content: \\\"\\\"; }\\n\\n.fa-eye:before {\\n  content: \\\"\\\"; }\\n\\n.fa-eye-slash:before {\\n  content: \\\"\\\"; }\\n\\n.fa-warning:before,\\n.fa-exclamation-triangle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-plane:before {\\n  content: \\\"\\\"; }\\n\\n.fa-calendar:before {\\n  content: \\\"\\\"; }\\n\\n.fa-random:before {\\n  content: \\\"\\\"; }\\n\\n.fa-comment:before {\\n  content: \\\"\\\"; }\\n\\n.fa-magnet:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-retweet:before {\\n  content: \\\"\\\"; }\\n\\n.fa-shopping-cart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-folder:before {\\n  content: \\\"\\\"; }\\n\\n.fa-folder-open:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrows-v:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrows-h:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bar-chart-o:before,\\n.fa-bar-chart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-twitter-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-facebook-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-camera-retro:before {\\n  content: \\\"\\\"; }\\n\\n.fa-key:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gears:before,\\n.fa-cogs:before {\\n  content: \\\"\\\"; }\\n\\n.fa-comments:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thumbs-o-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thumbs-o-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-star-half:before {\\n  content: \\\"\\\"; }\\n\\n.fa-heart-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sign-out:before {\\n  content: \\\"\\\"; }\\n\\n.fa-linkedin-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thumb-tack:before {\\n  content: \\\"\\\"; }\\n\\n.fa-external-link:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sign-in:before {\\n  content: \\\"\\\"; }\\n\\n.fa-trophy:before {\\n  content: \\\"\\\"; }\\n\\n.fa-github-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-upload:before {\\n  content: \\\"\\\"; }\\n\\n.fa-lemon-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-phone:before {\\n  content: \\\"\\\"; }\\n\\n.fa-square-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bookmark-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-phone-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-twitter:before {\\n  content: \\\"\\\"; }\\n\\n.fa-facebook-f:before,\\n.fa-facebook:before {\\n  content: \\\"\\\"; }\\n\\n.fa-github:before {\\n  content: \\\"\\\"; }\\n\\n.fa-unlock:before {\\n  content: \\\"\\\"; }\\n\\n.fa-credit-card:before {\\n  content: \\\"\\\"; }\\n\\n.fa-feed:before,\\n.fa-rss:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hdd-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bullhorn:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bell:before {\\n  content: \\\"\\\"; }\\n\\n.fa-certificate:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-o-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-o-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-o-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-o-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-globe:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wrench:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tasks:before {\\n  content: \\\"\\\"; }\\n\\n.fa-filter:before {\\n  content: \\\"\\\"; }\\n\\n.fa-briefcase:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrows-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-group:before,\\n.fa-users:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chain:before,\\n.fa-link:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cloud:before {\\n  content: \\\"\\\"; }\\n\\n.fa-flask:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cut:before,\\n.fa-scissors:before {\\n  content: \\\"\\\"; }\\n\\n.fa-copy:before,\\n.fa-files-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-paperclip:before {\\n  content: \\\"\\\"; }\\n\\n.fa-save:before,\\n.fa-floppy-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-navicon:before,\\n.fa-reorder:before,\\n.fa-bars:before {\\n  content: \\\"\\\"; }\\n\\n.fa-list-ul:before {\\n  content: \\\"\\\"; }\\n\\n.fa-list-ol:before {\\n  content: \\\"\\\"; }\\n\\n.fa-strikethrough:before {\\n  content: \\\"\\\"; }\\n\\n.fa-underline:before {\\n  content: \\\"\\\"; }\\n\\n.fa-table:before {\\n  content: \\\"\\\"; }\\n\\n.fa-magic:before {\\n  content: \\\"\\\"; }\\n\\n.fa-truck:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pinterest:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pinterest-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-google-plus-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-google-plus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-money:before {\\n  content: \\\"\\\"; }\\n\\n.fa-caret-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-caret-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-caret-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-caret-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-columns:before {\\n  content: \\\"\\\"; }\\n\\n.fa-unsorted:before,\\n.fa-sort:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-down:before,\\n.fa-sort-desc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-up:before,\\n.fa-sort-asc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-envelope:before {\\n  content: \\\"\\\"; }\\n\\n.fa-linkedin:before {\\n  content: \\\"\\\"; }\\n\\n.fa-rotate-left:before,\\n.fa-undo:before {\\n  content: \\\"\\\"; }\\n\\n.fa-legal:before,\\n.fa-gavel:before {\\n  content: \\\"\\\"; }\\n\\n.fa-dashboard:before,\\n.fa-tachometer:before {\\n  content: \\\"\\\"; }\\n\\n.fa-comment-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-comments-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-flash:before,\\n.fa-bolt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sitemap:before {\\n  content: \\\"\\\"; }\\n\\n.fa-umbrella:before {\\n  content: \\\"\\\"; }\\n\\n.fa-paste:before,\\n.fa-clipboard:before {\\n  content: \\\"\\\"; }\\n\\n.fa-lightbulb-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-exchange:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cloud-download:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cloud-upload:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user-md:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stethoscope:before {\\n  content: \\\"\\\"; }\\n\\n.fa-suitcase:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bell-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-coffee:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cutlery:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-text-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-building-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hospital-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ambulance:before {\\n  content: \\\"\\\"; }\\n\\n.fa-medkit:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fighter-jet:before {\\n  content: \\\"\\\"; }\\n\\n.fa-beer:before {\\n  content: \\\"\\\"; }\\n\\n.fa-h-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-plus-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-double-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-double-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-double-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-double-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angle-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-desktop:before {\\n  content: \\\"\\\"; }\\n\\n.fa-laptop:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tablet:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mobile-phone:before,\\n.fa-mobile:before {\\n  content: \\\"\\\"; }\\n\\n.fa-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-quote-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-quote-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-spinner:before {\\n  content: \\\"\\\"; }\\n\\n.fa-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mail-reply:before,\\n.fa-reply:before {\\n  content: \\\"\\\"; }\\n\\n.fa-github-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-folder-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-folder-open-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-smile-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-frown-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-meh-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gamepad:before {\\n  content: \\\"\\\"; }\\n\\n.fa-keyboard-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-flag-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-flag-checkered:before {\\n  content: \\\"\\\"; }\\n\\n.fa-terminal:before {\\n  content: \\\"\\\"; }\\n\\n.fa-code:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mail-reply-all:before,\\n.fa-reply-all:before {\\n  content: \\\"\\\"; }\\n\\n.fa-star-half-empty:before,\\n.fa-star-half-full:before,\\n.fa-star-half-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-location-arrow:before {\\n  content: \\\"\\\"; }\\n\\n.fa-crop:before {\\n  content: \\\"\\\"; }\\n\\n.fa-code-fork:before {\\n  content: \\\"\\\"; }\\n\\n.fa-unlink:before,\\n.fa-chain-broken:before {\\n  content: \\\"\\\"; }\\n\\n.fa-question:before {\\n  content: \\\"\\\"; }\\n\\n.fa-info:before {\\n  content: \\\"\\\"; }\\n\\n.fa-exclamation:before {\\n  content: \\\"\\\"; }\\n\\n.fa-superscript:before {\\n  content: \\\"\\\"; }\\n\\n.fa-subscript:before {\\n  content: \\\"\\\"; }\\n\\n.fa-eraser:before {\\n  content: \\\"\\\"; }\\n\\n.fa-puzzle-piece:before {\\n  content: \\\"\\\"; }\\n\\n.fa-microphone:before {\\n  content: \\\"\\\"; }\\n\\n.fa-microphone-slash:before {\\n  content: \\\"\\\"; }\\n\\n.fa-shield:before {\\n  content: \\\"\\\"; }\\n\\n.fa-calendar-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fire-extinguisher:before {\\n  content: \\\"\\\"; }\\n\\n.fa-rocket:before {\\n  content: \\\"\\\"; }\\n\\n.fa-maxcdn:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-circle-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-circle-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-circle-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chevron-circle-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-html5:before {\\n  content: \\\"\\\"; }\\n\\n.fa-css3:before {\\n  content: \\\"\\\"; }\\n\\n.fa-anchor:before {\\n  content: \\\"\\\"; }\\n\\n.fa-unlock-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bullseye:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ellipsis-h:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ellipsis-v:before {\\n  content: \\\"\\\"; }\\n\\n.fa-rss-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-play-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ticket:before {\\n  content: \\\"\\\"; }\\n\\n.fa-minus-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-minus-square-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-level-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-level-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-check-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pencil-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-external-link-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-share-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-compass:before {\\n  content: \\\"\\\"; }\\n\\n.fa-toggle-down:before,\\n.fa-caret-square-o-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-toggle-up:before,\\n.fa-caret-square-o-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-toggle-right:before,\\n.fa-caret-square-o-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-euro:before,\\n.fa-eur:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gbp:before {\\n  content: \\\"\\\"; }\\n\\n.fa-dollar:before,\\n.fa-usd:before {\\n  content: \\\"\\\"; }\\n\\n.fa-rupee:before,\\n.fa-inr:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cny:before,\\n.fa-rmb:before,\\n.fa-yen:before,\\n.fa-jpy:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ruble:before,\\n.fa-rouble:before,\\n.fa-rub:before {\\n  content: \\\"\\\"; }\\n\\n.fa-won:before,\\n.fa-krw:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bitcoin:before,\\n.fa-btc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-text:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-alpha-asc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-alpha-desc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-amount-asc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-amount-desc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-numeric-asc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sort-numeric-desc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thumbs-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thumbs-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-youtube-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-youtube:before {\\n  content: \\\"\\\"; }\\n\\n.fa-xing:before {\\n  content: \\\"\\\"; }\\n\\n.fa-xing-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-youtube-play:before {\\n  content: \\\"\\\"; }\\n\\n.fa-dropbox:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stack-overflow:before {\\n  content: \\\"\\\"; }\\n\\n.fa-instagram:before {\\n  content: \\\"\\\"; }\\n\\n.fa-flickr:before {\\n  content: \\\"\\\"; }\\n\\n.fa-adn:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bitbucket:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bitbucket-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tumblr:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tumblr-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-long-arrow-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-long-arrow-up:before {\\n  content: \\\"\\\"; }\\n\\n.fa-long-arrow-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-long-arrow-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-apple:before {\\n  content: \\\"\\\"; }\\n\\n.fa-windows:before {\\n  content: \\\"\\\"; }\\n\\n.fa-android:before {\\n  content: \\\"\\\"; }\\n\\n.fa-linux:before {\\n  content: \\\"\\\"; }\\n\\n.fa-dribbble:before {\\n  content: \\\"\\\"; }\\n\\n.fa-skype:before {\\n  content: \\\"\\\"; }\\n\\n.fa-foursquare:before {\\n  content: \\\"\\\"; }\\n\\n.fa-trello:before {\\n  content: \\\"\\\"; }\\n\\n.fa-female:before {\\n  content: \\\"\\\"; }\\n\\n.fa-male:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gittip:before,\\n.fa-gratipay:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sun-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-moon-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-archive:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bug:before {\\n  content: \\\"\\\"; }\\n\\n.fa-vk:before {\\n  content: \\\"\\\"; }\\n\\n.fa-weibo:before {\\n  content: \\\"\\\"; }\\n\\n.fa-renren:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pagelines:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stack-exchange:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-o-right:before {\\n  content: \\\"\\\"; }\\n\\n.fa-arrow-circle-o-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-toggle-left:before,\\n.fa-caret-square-o-left:before {\\n  content: \\\"\\\"; }\\n\\n.fa-dot-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wheelchair:before {\\n  content: \\\"\\\"; }\\n\\n.fa-vimeo-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-turkish-lira:before,\\n.fa-try:before {\\n  content: \\\"\\\"; }\\n\\n.fa-plus-square-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-space-shuttle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-slack:before {\\n  content: \\\"\\\"; }\\n\\n.fa-envelope-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wordpress:before {\\n  content: \\\"\\\"; }\\n\\n.fa-openid:before {\\n  content: \\\"\\\"; }\\n\\n.fa-institution:before,\\n.fa-bank:before,\\n.fa-university:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mortar-board:before,\\n.fa-graduation-cap:before {\\n  content: \\\"\\\"; }\\n\\n.fa-yahoo:before {\\n  content: \\\"\\\"; }\\n\\n.fa-google:before {\\n  content: \\\"\\\"; }\\n\\n.fa-reddit:before {\\n  content: \\\"\\\"; }\\n\\n.fa-reddit-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stumbleupon-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stumbleupon:before {\\n  content: \\\"\\\"; }\\n\\n.fa-delicious:before {\\n  content: \\\"\\\"; }\\n\\n.fa-digg:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pied-piper-pp:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pied-piper-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-drupal:before {\\n  content: \\\"\\\"; }\\n\\n.fa-joomla:before {\\n  content: \\\"\\\"; }\\n\\n.fa-language:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fax:before {\\n  content: \\\"\\\"; }\\n\\n.fa-building:before {\\n  content: \\\"\\\"; }\\n\\n.fa-child:before {\\n  content: \\\"\\\"; }\\n\\n.fa-paw:before {\\n  content: \\\"\\\"; }\\n\\n.fa-spoon:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cube:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cubes:before {\\n  content: \\\"\\\"; }\\n\\n.fa-behance:before {\\n  content: \\\"\\\"; }\\n\\n.fa-behance-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-steam:before {\\n  content: \\\"\\\"; }\\n\\n.fa-steam-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-recycle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-automobile:before,\\n.fa-car:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cab:before,\\n.fa-taxi:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tree:before {\\n  content: \\\"\\\"; }\\n\\n.fa-spotify:before {\\n  content: \\\"\\\"; }\\n\\n.fa-deviantart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-soundcloud:before {\\n  content: \\\"\\\"; }\\n\\n.fa-database:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-pdf-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-word-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-excel-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-powerpoint-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-photo-o:before,\\n.fa-file-picture-o:before,\\n.fa-file-image-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-zip-o:before,\\n.fa-file-archive-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-sound-o:before,\\n.fa-file-audio-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-movie-o:before,\\n.fa-file-video-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-file-code-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-vine:before {\\n  content: \\\"\\\"; }\\n\\n.fa-codepen:before {\\n  content: \\\"\\\"; }\\n\\n.fa-jsfiddle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-life-bouy:before,\\n.fa-life-buoy:before,\\n.fa-life-saver:before,\\n.fa-support:before,\\n.fa-life-ring:before {\\n  content: \\\"\\\"; }\\n\\n.fa-circle-o-notch:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ra:before,\\n.fa-resistance:before,\\n.fa-rebel:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ge:before,\\n.fa-empire:before {\\n  content: \\\"\\\"; }\\n\\n.fa-git-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-git:before {\\n  content: \\\"\\\"; }\\n\\n.fa-y-combinator-square:before,\\n.fa-yc-square:before,\\n.fa-hacker-news:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tencent-weibo:before {\\n  content: \\\"\\\"; }\\n\\n.fa-qq:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wechat:before,\\n.fa-weixin:before {\\n  content: \\\"\\\"; }\\n\\n.fa-send:before,\\n.fa-paper-plane:before {\\n  content: \\\"\\\"; }\\n\\n.fa-send-o:before,\\n.fa-paper-plane-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-history:before {\\n  content: \\\"\\\"; }\\n\\n.fa-circle-thin:before {\\n  content: \\\"\\\"; }\\n\\n.fa-header:before {\\n  content: \\\"\\\"; }\\n\\n.fa-paragraph:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sliders:before {\\n  content: \\\"\\\"; }\\n\\n.fa-share-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-share-alt-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bomb:before {\\n  content: \\\"\\\"; }\\n\\n.fa-soccer-ball-o:before,\\n.fa-futbol-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tty:before {\\n  content: \\\"\\\"; }\\n\\n.fa-binoculars:before {\\n  content: \\\"\\\"; }\\n\\n.fa-plug:before {\\n  content: \\\"\\\"; }\\n\\n.fa-slideshare:before {\\n  content: \\\"\\\"; }\\n\\n.fa-twitch:before {\\n  content: \\\"\\\"; }\\n\\n.fa-yelp:before {\\n  content: \\\"\\\"; }\\n\\n.fa-newspaper-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wifi:before {\\n  content: \\\"\\\"; }\\n\\n.fa-calculator:before {\\n  content: \\\"\\\"; }\\n\\n.fa-paypal:before {\\n  content: \\\"\\\"; }\\n\\n.fa-google-wallet:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-visa:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-mastercard:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-discover:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-amex:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-paypal:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-stripe:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bell-slash:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bell-slash-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-trash:before {\\n  content: \\\"\\\"; }\\n\\n.fa-copyright:before {\\n  content: \\\"\\\"; }\\n\\n.fa-at:before {\\n  content: \\\"\\\"; }\\n\\n.fa-eyedropper:before {\\n  content: \\\"\\\"; }\\n\\n.fa-paint-brush:before {\\n  content: \\\"\\\"; }\\n\\n.fa-birthday-cake:before {\\n  content: \\\"\\\"; }\\n\\n.fa-area-chart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pie-chart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-line-chart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-lastfm:before {\\n  content: \\\"\\\"; }\\n\\n.fa-lastfm-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-toggle-off:before {\\n  content: \\\"\\\"; }\\n\\n.fa-toggle-on:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bicycle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ioxhost:before {\\n  content: \\\"\\\"; }\\n\\n.fa-angellist:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc:before {\\n  content: \\\"\\\"; }\\n\\n.fa-shekel:before,\\n.fa-sheqel:before,\\n.fa-ils:before {\\n  content: \\\"\\\"; }\\n\\n.fa-meanpath:before {\\n  content: \\\"\\\"; }\\n\\n.fa-buysellads:before {\\n  content: \\\"\\\"; }\\n\\n.fa-connectdevelop:before {\\n  content: \\\"\\\"; }\\n\\n.fa-dashcube:before {\\n  content: \\\"\\\"; }\\n\\n.fa-forumbee:before {\\n  content: \\\"\\\"; }\\n\\n.fa-leanpub:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sellsy:before {\\n  content: \\\"\\\"; }\\n\\n.fa-shirtsinbulk:before {\\n  content: \\\"\\\"; }\\n\\n.fa-simplybuilt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-skyatlas:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cart-plus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cart-arrow-down:before {\\n  content: \\\"\\\"; }\\n\\n.fa-diamond:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ship:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user-secret:before {\\n  content: \\\"\\\"; }\\n\\n.fa-motorcycle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-street-view:before {\\n  content: \\\"\\\"; }\\n\\n.fa-heartbeat:before {\\n  content: \\\"\\\"; }\\n\\n.fa-venus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mars:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mercury:before {\\n  content: \\\"\\\"; }\\n\\n.fa-intersex:before,\\n.fa-transgender:before {\\n  content: \\\"\\\"; }\\n\\n.fa-transgender-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-venus-double:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mars-double:before {\\n  content: \\\"\\\"; }\\n\\n.fa-venus-mars:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mars-stroke:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mars-stroke-v:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mars-stroke-h:before {\\n  content: \\\"\\\"; }\\n\\n.fa-neuter:before {\\n  content: \\\"\\\"; }\\n\\n.fa-genderless:before {\\n  content: \\\"\\\"; }\\n\\n.fa-facebook-official:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pinterest-p:before {\\n  content: \\\"\\\"; }\\n\\n.fa-whatsapp:before {\\n  content: \\\"\\\"; }\\n\\n.fa-server:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user-plus:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user-times:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hotel:before,\\n.fa-bed:before {\\n  content: \\\"\\\"; }\\n\\n.fa-viacoin:before {\\n  content: \\\"\\\"; }\\n\\n.fa-train:before {\\n  content: \\\"\\\"; }\\n\\n.fa-subway:before {\\n  content: \\\"\\\"; }\\n\\n.fa-medium:before {\\n  content: \\\"\\\"; }\\n\\n.fa-yc:before,\\n.fa-y-combinator:before {\\n  content: \\\"\\\"; }\\n\\n.fa-optin-monster:before {\\n  content: \\\"\\\"; }\\n\\n.fa-opencart:before {\\n  content: \\\"\\\"; }\\n\\n.fa-expeditedssl:before {\\n  content: \\\"\\\"; }\\n\\n.fa-battery-4:before,\\n.fa-battery:before,\\n.fa-battery-full:before {\\n  content: \\\"\\\"; }\\n\\n.fa-battery-3:before,\\n.fa-battery-three-quarters:before {\\n  content: \\\"\\\"; }\\n\\n.fa-battery-2:before,\\n.fa-battery-half:before {\\n  content: \\\"\\\"; }\\n\\n.fa-battery-1:before,\\n.fa-battery-quarter:before {\\n  content: \\\"\\\"; }\\n\\n.fa-battery-0:before,\\n.fa-battery-empty:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mouse-pointer:before {\\n  content: \\\"\\\"; }\\n\\n.fa-i-cursor:before {\\n  content: \\\"\\\"; }\\n\\n.fa-object-group:before {\\n  content: \\\"\\\"; }\\n\\n.fa-object-ungroup:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sticky-note:before {\\n  content: \\\"\\\"; }\\n\\n.fa-sticky-note-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-jcb:before {\\n  content: \\\"\\\"; }\\n\\n.fa-cc-diners-club:before {\\n  content: \\\"\\\"; }\\n\\n.fa-clone:before {\\n  content: \\\"\\\"; }\\n\\n.fa-balance-scale:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hourglass-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hourglass-1:before,\\n.fa-hourglass-start:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hourglass-2:before,\\n.fa-hourglass-half:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hourglass-3:before,\\n.fa-hourglass-end:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hourglass:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-grab-o:before,\\n.fa-hand-rock-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-stop-o:before,\\n.fa-hand-paper-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-scissors-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-lizard-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-spock-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-pointer-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hand-peace-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-trademark:before {\\n  content: \\\"\\\"; }\\n\\n.fa-registered:before {\\n  content: \\\"\\\"; }\\n\\n.fa-creative-commons:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gg:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gg-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tripadvisor:before {\\n  content: \\\"\\\"; }\\n\\n.fa-odnoklassniki:before {\\n  content: \\\"\\\"; }\\n\\n.fa-odnoklassniki-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-get-pocket:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wikipedia-w:before {\\n  content: \\\"\\\"; }\\n\\n.fa-safari:before {\\n  content: \\\"\\\"; }\\n\\n.fa-chrome:before {\\n  content: \\\"\\\"; }\\n\\n.fa-firefox:before {\\n  content: \\\"\\\"; }\\n\\n.fa-opera:before {\\n  content: \\\"\\\"; }\\n\\n.fa-internet-explorer:before {\\n  content: \\\"\\\"; }\\n\\n.fa-tv:before,\\n.fa-television:before {\\n  content: \\\"\\\"; }\\n\\n.fa-contao:before {\\n  content: \\\"\\\"; }\\n\\n.fa-500px:before {\\n  content: \\\"\\\"; }\\n\\n.fa-amazon:before {\\n  content: \\\"\\\"; }\\n\\n.fa-calendar-plus-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-calendar-minus-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-calendar-times-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-calendar-check-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-industry:before {\\n  content: \\\"\\\"; }\\n\\n.fa-map-pin:before {\\n  content: \\\"\\\"; }\\n\\n.fa-map-signs:before {\\n  content: \\\"\\\"; }\\n\\n.fa-map-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-map:before {\\n  content: \\\"\\\"; }\\n\\n.fa-commenting:before {\\n  content: \\\"\\\"; }\\n\\n.fa-commenting-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-houzz:before {\\n  content: \\\"\\\"; }\\n\\n.fa-vimeo:before {\\n  content: \\\"\\\"; }\\n\\n.fa-black-tie:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fonticons:before {\\n  content: \\\"\\\"; }\\n\\n.fa-reddit-alien:before {\\n  content: \\\"\\\"; }\\n\\n.fa-edge:before {\\n  content: \\\"\\\"; }\\n\\n.fa-credit-card-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-codiepie:before {\\n  content: \\\"\\\"; }\\n\\n.fa-modx:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fort-awesome:before {\\n  content: \\\"\\\"; }\\n\\n.fa-usb:before {\\n  content: \\\"\\\"; }\\n\\n.fa-product-hunt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-mixcloud:before {\\n  content: \\\"\\\"; }\\n\\n.fa-scribd:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pause-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pause-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stop-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-stop-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-shopping-bag:before {\\n  content: \\\"\\\"; }\\n\\n.fa-shopping-basket:before {\\n  content: \\\"\\\"; }\\n\\n.fa-hashtag:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bluetooth:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bluetooth-b:before {\\n  content: \\\"\\\"; }\\n\\n.fa-percent:before {\\n  content: \\\"\\\"; }\\n\\n.fa-gitlab:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wpbeginner:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wpforms:before {\\n  content: \\\"\\\"; }\\n\\n.fa-envira:before {\\n  content: \\\"\\\"; }\\n\\n.fa-universal-access:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wheelchair-alt:before {\\n  content: \\\"\\\"; }\\n\\n.fa-question-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-blind:before {\\n  content: \\\"\\\"; }\\n\\n.fa-audio-description:before {\\n  content: \\\"\\\"; }\\n\\n.fa-volume-control-phone:before {\\n  content: \\\"\\\"; }\\n\\n.fa-braille:before {\\n  content: \\\"\\\"; }\\n\\n.fa-assistive-listening-systems:before {\\n  content: \\\"\\\"; }\\n\\n.fa-asl-interpreting:before,\\n.fa-american-sign-language-interpreting:before {\\n  content: \\\"\\\"; }\\n\\n.fa-deafness:before,\\n.fa-hard-of-hearing:before,\\n.fa-deaf:before {\\n  content: \\\"\\\"; }\\n\\n.fa-glide:before {\\n  content: \\\"\\\"; }\\n\\n.fa-glide-g:before {\\n  content: \\\"\\\"; }\\n\\n.fa-signing:before,\\n.fa-sign-language:before {\\n  content: \\\"\\\"; }\\n\\n.fa-low-vision:before {\\n  content: \\\"\\\"; }\\n\\n.fa-viadeo:before {\\n  content: \\\"\\\"; }\\n\\n.fa-viadeo-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-snapchat:before {\\n  content: \\\"\\\"; }\\n\\n.fa-snapchat-ghost:before {\\n  content: \\\"\\\"; }\\n\\n.fa-snapchat-square:before {\\n  content: \\\"\\\"; }\\n\\n.fa-pied-piper:before {\\n  content: \\\"\\\"; }\\n\\n.fa-first-order:before {\\n  content: \\\"\\\"; }\\n\\n.fa-yoast:before {\\n  content: \\\"\\\"; }\\n\\n.fa-themeisle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-google-plus-circle:before,\\n.fa-google-plus-official:before {\\n  content: \\\"\\\"; }\\n\\n.fa-fa:before,\\n.fa-font-awesome:before {\\n  content: \\\"\\\"; }\\n\\n.fa-handshake-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-envelope-open:before {\\n  content: \\\"\\\"; }\\n\\n.fa-envelope-open-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-linode:before {\\n  content: \\\"\\\"; }\\n\\n.fa-address-book:before {\\n  content: \\\"\\\"; }\\n\\n.fa-address-book-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-vcard:before,\\n.fa-address-card:before {\\n  content: \\\"\\\"; }\\n\\n.fa-vcard-o:before,\\n.fa-address-card-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user-circle:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user-circle-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-user-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-id-badge:before {\\n  content: \\\"\\\"; }\\n\\n.fa-drivers-license:before,\\n.fa-id-card:before {\\n  content: \\\"\\\"; }\\n\\n.fa-drivers-license-o:before,\\n.fa-id-card-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-quora:before {\\n  content: \\\"\\\"; }\\n\\n.fa-free-code-camp:before {\\n  content: \\\"\\\"; }\\n\\n.fa-telegram:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thermometer-4:before,\\n.fa-thermometer:before,\\n.fa-thermometer-full:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thermometer-3:before,\\n.fa-thermometer-three-quarters:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thermometer-2:before,\\n.fa-thermometer-half:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thermometer-1:before,\\n.fa-thermometer-quarter:before {\\n  content: \\\"\\\"; }\\n\\n.fa-thermometer-0:before,\\n.fa-thermometer-empty:before {\\n  content: \\\"\\\"; }\\n\\n.fa-shower:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bathtub:before,\\n.fa-s15:before,\\n.fa-bath:before {\\n  content: \\\"\\\"; }\\n\\n.fa-podcast:before {\\n  content: \\\"\\\"; }\\n\\n.fa-window-maximize:before {\\n  content: \\\"\\\"; }\\n\\n.fa-window-minimize:before {\\n  content: \\\"\\\"; }\\n\\n.fa-window-restore:before {\\n  content: \\\"\\\"; }\\n\\n.fa-times-rectangle:before,\\n.fa-window-close:before {\\n  content: \\\"\\\"; }\\n\\n.fa-times-rectangle-o:before,\\n.fa-window-close-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-bandcamp:before {\\n  content: \\\"\\\"; }\\n\\n.fa-grav:before {\\n  content: \\\"\\\"; }\\n\\n.fa-etsy:before {\\n  content: \\\"\\\"; }\\n\\n.fa-imdb:before {\\n  content: \\\"\\\"; }\\n\\n.fa-ravelry:before {\\n  content: \\\"\\\"; }\\n\\n.fa-eercast:before {\\n  content: \\\"\\\"; }\\n\\n.fa-microchip:before {\\n  content: \\\"\\\"; }\\n\\n.fa-snowflake-o:before {\\n  content: \\\"\\\"; }\\n\\n.fa-superpowers:before {\\n  content: \\\"\\\"; }\\n\\n.fa-wpexplorer:before {\\n  content: \\\"\\\"; }\\n\\n.fa-meetup:before {\\n  content: \\\"\\\"; }\\n\\n.sr-only {\\n  position: absolute;\\n  width: 1px;\\n  height: 1px;\\n  padding: 0;\\n  margin: -1px;\\n  overflow: hidden;\\n  clip: rect(0, 0, 0, 0);\\n  border: 0; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n  position: static;\\n  width: auto;\\n  height: auto;\\n  margin: 0;\\n  overflow: visible;\\n  clip: auto; }\\n\\n/*\\r\\n * Glyphicons Halflings\\r\\n */\\n@font-face {\\n  font-family: 'Glyphicons Halflings';\\n  src: url(\\\"../fonts/glyphicons-halflings-regular.eot\\\");\\n  src: url(\\\"../fonts/glyphicons-halflings-regular.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"../fonts/glyphicons-halflings-regular.woff2\\\") format(\\\"woff2\\\"), url(\\\"../fonts/glyphicons-halflings-regular.woff\\\") format(\\\"woff\\\"), url(\\\"../fonts/glyphicons-halflings-regular.ttf\\\") format(\\\"truetype\\\"), url(\\\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\\\") format(\\\"svg\\\"); }\\n\\n.glyphicon {\\n  position: relative;\\n  top: 1px;\\n  display: inline-block;\\n  font-family: 'Glyphicons Halflings';\\n  font-style: normal;\\n  font-weight: normal;\\n  line-height: 1;\\n  vertical-align: top;\\n  -webkit-font-smoothing: antialiased;\\n  -moz-osx-font-smoothing: grayscale; }\\n  .glyphicon.x05 {\\n    font-size: 6px; }\\n  .glyphicon.x2 {\\n    font-size: 24px; }\\n  .glyphicon.x3 {\\n    font-size: 36px; }\\n  .glyphicon.x4 {\\n    font-size: 48px; }\\n  .glyphicon.x5 {\\n    font-size: 60px; }\\n  .glyphicon.x6 {\\n    font-size: 72px; }\\n  .glyphicon.x7 {\\n    font-size: 84px; }\\n  .glyphicon.x8 {\\n    font-size: 96px; }\\n  .glyphicon.light:before {\\n    color: #f2f2f2; }\\n  .glyphicon.drop:before {\\n    text-shadow: -1px 1px 3px rgba(0, 0, 0, 0.3); }\\n  .glyphicon.flip {\\n    -moz-transform: scaleX(-1);\\n    -o-transform: scaleX(-1);\\n    -webkit-transform: scaleX(-1);\\n    transform: scaleX(-1);\\n    filter: FlipH;\\n    -ms-filter: \\\"FlipH\\\"; }\\n  .glyphicon.flipv {\\n    -moz-transform: scaleY(-1);\\n    -o-transform: scaleY(-1);\\n    -webkit-transform: scaleY(-1);\\n    transform: scaleY(-1);\\n    filter: FlipV;\\n    -ms-filter: \\\"FlipV\\\"; }\\n  .glyphicon.rotate90 {\\n    -webkit-transform: rotate(90deg);\\n    -moz-transform: rotate(90deg);\\n    -ms-transform: rotate(90deg);\\n    transform: rotate(90deg); }\\n  .glyphicon.rotate180 {\\n    -webkit-transform: rotate(180deg);\\n    -moz-transform: rotate(180deg);\\n    -ms-transform: rotate(180deg);\\n    transform: rotate(180deg); }\\n  .glyphicon.rotate270 {\\n    -webkit-transform: rotate(270deg);\\n    -moz-transform: rotate(270deg);\\n    -ms-transform: rotate(270deg);\\n    transform: rotate(270deg); }\\n\\n.glyphicon-glass:before {\\n  content: \\\"\\\\E001\\\"; }\\n\\n.glyphicon-music:before {\\n  content: \\\"\\\\E002\\\"; }\\n\\n.glyphicon-search:before {\\n  content: \\\"\\\\E003\\\"; }\\n\\n.glyphicon-envelope:before {\\n  content: \\\"\\\\2709\\\"; }\\n\\n.glyphicon-heart:before {\\n  content: \\\"\\\\E005\\\"; }\\n\\n.glyphicon-star:before {\\n  content: \\\"\\\\E006\\\"; }\\n\\n.glyphicon-star-empty:before {\\n  content: \\\"\\\\E007\\\"; }\\n\\n.glyphicon-user:before {\\n  content: \\\"\\\\E008\\\"; }\\n\\n.glyphicon-film:before {\\n  content: \\\"\\\\E009\\\"; }\\n\\n.glyphicon-th-large:before {\\n  content: \\\"\\\\E010\\\"; }\\n\\n.glyphicon-th:before {\\n  content: \\\"\\\\E011\\\"; }\\n\\n.glyphicon-th-list:before {\\n  content: \\\"\\\\E012\\\"; }\\n\\n.glyphicon-ok:before {\\n  content: \\\"\\\\E013\\\"; }\\n\\n.glyphicon-remove:before {\\n  content: \\\"\\\\E014\\\"; }\\n\\n.glyphicon-zoom-in:before {\\n  content: \\\"\\\\E015\\\"; }\\n\\n.glyphicon-zoom-out:before {\\n  content: \\\"\\\\E016\\\"; }\\n\\n.glyphicon-off:before {\\n  content: \\\"\\\\E017\\\"; }\\n\\n.glyphicon-signal:before {\\n  content: \\\"\\\\E018\\\"; }\\n\\n.glyphicon-cog:before {\\n  content: \\\"\\\\E019\\\"; }\\n\\n.glyphicon-trash:before {\\n  content: \\\"\\\\E020\\\"; }\\n\\n.glyphicon-home:before {\\n  content: \\\"\\\\E021\\\"; }\\n\\n.glyphicon-file:before {\\n  content: \\\"\\\\E022\\\"; }\\n\\n.glyphicon-time:before {\\n  content: \\\"\\\\E023\\\"; }\\n\\n.glyphicon-road:before {\\n  content: \\\"\\\\E024\\\"; }\\n\\n.glyphicon-download-alt:before {\\n  content: \\\"\\\\E025\\\"; }\\n\\n.glyphicon-download:before {\\n  content: \\\"\\\\E026\\\"; }\\n\\n.glyphicon-upload:before {\\n  content: \\\"\\\\E027\\\"; }\\n\\n.glyphicon-inbox:before {\\n  content: \\\"\\\\E028\\\"; }\\n\\n.glyphicon-play-circle:before {\\n  content: \\\"\\\\E029\\\"; }\\n\\n.glyphicon-repeat:before {\\n  content: \\\"\\\\E030\\\"; }\\n\\n.glyphicon-refresh:before {\\n  content: \\\"\\\\E031\\\"; }\\n\\n.glyphicon-list-alt:before {\\n  content: \\\"\\\\E032\\\"; }\\n\\n.glyphicon-glyph-lock:before {\\n  content: \\\"\\\\E033\\\"; }\\n\\n.glyphicon-flag:before {\\n  content: \\\"\\\\E034\\\"; }\\n\\n.glyphicon-headphones:before {\\n  content: \\\"\\\\E035\\\"; }\\n\\n.glyphicon-volume-off:before {\\n  content: \\\"\\\\E036\\\"; }\\n\\n.glyphicon-volume-down:before {\\n  content: \\\"\\\\E037\\\"; }\\n\\n.glyphicon-volume-up:before {\\n  content: \\\"\\\\E038\\\"; }\\n\\n.glyphicon-qrcode:before {\\n  content: \\\"\\\\E039\\\"; }\\n\\n.glyphicon-barcode:before {\\n  content: \\\"\\\\E040\\\"; }\\n\\n.glyphicon-tag:before {\\n  content: \\\"\\\\E041\\\"; }\\n\\n.glyphicon-tags:before {\\n  content: \\\"\\\\E042\\\"; }\\n\\n.glyphicon-book:before {\\n  content: \\\"\\\\E043\\\"; }\\n\\n.glyphicon-glyph-bookmark:before {\\n  content: \\\"\\\\E044\\\"; }\\n\\n.glyphicon-print:before {\\n  content: \\\"\\\\E045\\\"; }\\n\\n.glyphicon-glyph-camera:before {\\n  content: \\\"\\\\E046\\\"; }\\n\\n.glyphicon-font:before {\\n  content: \\\"\\\\E047\\\"; }\\n\\n.glyphicon-bold:before {\\n  content: \\\"\\\\E048\\\"; }\\n\\n.glyphicon-italic:before {\\n  content: \\\"\\\\E049\\\"; }\\n\\n.glyphicon-text-height:before {\\n  content: \\\"\\\\E050\\\"; }\\n\\n.glyphicon-text-width:before {\\n  content: \\\"\\\\E051\\\"; }\\n\\n.glyphicon-align-left:before {\\n  content: \\\"\\\\E052\\\"; }\\n\\n.glyphicon-align-center:before {\\n  content: \\\"\\\\E053\\\"; }\\n\\n.glyphicon-align-right:before {\\n  content: \\\"\\\\E054\\\"; }\\n\\n.glyphicon-align-justify:before {\\n  content: \\\"\\\\E055\\\"; }\\n\\n.glyphicon-list:before {\\n  content: \\\"\\\\E056\\\"; }\\n\\n.glyphicon-indent-left:before {\\n  content: \\\"\\\\E057\\\"; }\\n\\n.glyphicon-indent-right:before {\\n  content: \\\"\\\\E058\\\"; }\\n\\n.glyphicon-facetime-video:before {\\n  content: \\\"\\\\E059\\\"; }\\n\\n.glyphicon-picture:before {\\n  content: \\\"\\\\E060\\\"; }\\n\\n.glyphicon-pencil:before {\\n  content: \\\"\\\\270F\\\"; }\\n\\n.glyphicon-map-marker:before {\\n  content: \\\"\\\\E062\\\"; }\\n\\n.glyphicon-adjust:before {\\n  content: \\\"\\\\E063\\\"; }\\n\\n.glyphicon-tint:before {\\n  content: \\\"\\\\E064\\\"; }\\n\\n.glyphicon-edit:before {\\n  content: \\\"\\\\E065\\\"; }\\n\\n.glyphicon-share:before {\\n  content: \\\"\\\\E066\\\"; }\\n\\n.glyphicon-check:before {\\n  content: \\\"\\\\E067\\\"; }\\n\\n.glyphicon-move:before {\\n  content: \\\"\\\\E068\\\"; }\\n\\n.glyphicon-step-backward:before {\\n  content: \\\"\\\\E069\\\"; }\\n\\n.glyphicon-fast-backward:before {\\n  content: \\\"\\\\E070\\\"; }\\n\\n.glyphicon-backward:before {\\n  content: \\\"\\\\E071\\\"; }\\n\\n.glyphicon-play:before {\\n  content: \\\"\\\\E072\\\"; }\\n\\n.glyphicon-pause:before {\\n  content: \\\"\\\\E073\\\"; }\\n\\n.glyphicon-stop:before {\\n  content: \\\"\\\\E074\\\"; }\\n\\n.glyphicon-forward:before {\\n  content: \\\"\\\\E075\\\"; }\\n\\n.glyphicon-fast-forward:before {\\n  content: \\\"\\\\E076\\\"; }\\n\\n.glyphicon-step-forward:before {\\n  content: \\\"\\\\E077\\\"; }\\n\\n.glyphicon-eject:before {\\n  content: \\\"\\\\E078\\\"; }\\n\\n.glyphicon-chevron-left:before {\\n  content: \\\"\\\\E079\\\"; }\\n\\n.glyphicon-chevron-right:before {\\n  content: \\\"\\\\E080\\\"; }\\n\\n.glyphicon-plus-sign:before {\\n  content: \\\"\\\\E081\\\"; }\\n\\n.glyphicon-minus-sign:before {\\n  content: \\\"\\\\E082\\\"; }\\n\\n.glyphicon-remove-sign:before {\\n  content: \\\"\\\\E083\\\"; }\\n\\n.glyphicon-ok-sign:before {\\n  content: \\\"\\\\E084\\\"; }\\n\\n.glyphicon-question-sign:before {\\n  content: \\\"\\\\E085\\\"; }\\n\\n.glyphicon-info-sign:before {\\n  content: \\\"\\\\E086\\\"; }\\n\\n.glyphicon-screenshot:before {\\n  content: \\\"\\\\E087\\\"; }\\n\\n.glyphicon-remove-circle:before {\\n  content: \\\"\\\\E088\\\"; }\\n\\n.glyphicon-ok-circle:before {\\n  content: \\\"\\\\E089\\\"; }\\n\\n.glyphicon-ban-circle:before {\\n  content: \\\"\\\\E090\\\"; }\\n\\n.glyphicon-arrow-left:before {\\n  content: \\\"\\\\E091\\\"; }\\n\\n.glyphicon-arrow-right:before {\\n  content: \\\"\\\\E092\\\"; }\\n\\n.glyphicon-arrow-up:before {\\n  content: \\\"\\\\E093\\\"; }\\n\\n.glyphicon-arrow-down:before {\\n  content: \\\"\\\\E094\\\"; }\\n\\n.glyphicon-share-alt:before {\\n  content: \\\"\\\\E095\\\"; }\\n\\n.glyphicon-resize-full:before {\\n  content: \\\"\\\\E096\\\"; }\\n\\n.glyphicon-resize-small:before {\\n  content: \\\"\\\\E097\\\"; }\\n\\n.glyphicon-plus:before {\\n  content: \\\"\\\\002B\\\"; }\\n\\n.glyphicon-minus:before {\\n  content: \\\"\\\\2212\\\"; }\\n\\n.glyphicon-asterisk:before {\\n  content: \\\"\\\\002A\\\"; }\\n\\n.glyphicon-exclamation-sign:before {\\n  content: \\\"\\\\E101\\\"; }\\n\\n.glyphicon-gift:before {\\n  content: \\\"\\\\E102\\\"; }\\n\\n.glyphicon-leaf:before {\\n  content: \\\"\\\\E103\\\"; }\\n\\n.glyphicon-glyph-fire:before {\\n  content: \\\"\\\\E104\\\"; }\\n\\n.glyphicon-eye-open:before {\\n  content: \\\"\\\\E105\\\"; }\\n\\n.glyphicon-eye-close:before {\\n  content: \\\"\\\\E106\\\"; }\\n\\n.glyphicon-warning-sign:before {\\n  content: \\\"\\\\E107\\\"; }\\n\\n.glyphicon-plane:before {\\n  content: \\\"\\\\E108\\\"; }\\n\\n.glyphicon-glyph-calendar:before {\\n  content: \\\"\\\\E109\\\"; }\\n\\n.glyphicon-random:before {\\n  content: \\\"\\\\E110\\\"; }\\n\\n.glyphicon-comments:before {\\n  content: \\\"\\\\E111\\\"; }\\n\\n.glyphicon-magnet:before {\\n  content: \\\"\\\\E112\\\"; }\\n\\n.glyphicon-chevron-up:before {\\n  content: \\\"\\\\E113\\\"; }\\n\\n.glyphicon-chevron-down:before {\\n  content: \\\"\\\\E114\\\"; }\\n\\n.glyphicon-retweet:before {\\n  content: \\\"\\\\E115\\\"; }\\n\\n.glyphicon-shopping-cart:before {\\n  content: \\\"\\\\E116\\\"; }\\n\\n.glyphicon-folder-close:before {\\n  content: \\\"\\\\E117\\\"; }\\n\\n.glyphicon-folder-open:before {\\n  content: \\\"\\\\E118\\\"; }\\n\\n.glyphicon-resize-vertical:before {\\n  content: \\\"\\\\E119\\\"; }\\n\\n.glyphicon-resize-horizontal:before {\\n  content: \\\"\\\\E120\\\"; }\\n\\n.glyphicon-hdd:before {\\n  content: \\\"\\\\E121\\\"; }\\n\\n.glyphicon-bullhorn:before {\\n  content: \\\"\\\\E122\\\"; }\\n\\n.glyphicon-glyph-bell:before {\\n  content: \\\"\\\\E123\\\"; }\\n\\n.glyphicon-certificate:before {\\n  content: \\\"\\\\E124\\\"; }\\n\\n.glyphicon-thumbs-up:before {\\n  content: \\\"\\\\E125\\\"; }\\n\\n.glyphicon-thumbs-down:before {\\n  content: \\\"\\\\E126\\\"; }\\n\\n.glyphicon-hand-right:before {\\n  content: \\\"\\\\E127\\\"; }\\n\\n.glyphicon-hand-left:before {\\n  content: \\\"\\\\E128\\\"; }\\n\\n.glyphicon-hand-top:before {\\n  content: \\\"\\\\E129\\\"; }\\n\\n.glyphicon-hand-down:before {\\n  content: \\\"\\\\E130\\\"; }\\n\\n.glyphicon-circle-arrow-right:before {\\n  content: \\\"\\\\E131\\\"; }\\n\\n.glyphicon-circle-arrow-left:before {\\n  content: \\\"\\\\E132\\\"; }\\n\\n.glyphicon-circle-arrow-top:before {\\n  content: \\\"\\\\E133\\\"; }\\n\\n.glyphicon-circle-arrow-down:before {\\n  content: \\\"\\\\E134\\\"; }\\n\\n.glyphicon-globe:before {\\n  content: \\\"\\\\E135\\\"; }\\n\\n.glyphicon-glyph-wrench:before {\\n  content: \\\"\\\\E136\\\"; }\\n\\n.glyphicon-tasks:before {\\n  content: \\\"\\\\E137\\\"; }\\n\\n.glyphicon-filter:before {\\n  content: \\\"\\\\E138\\\"; }\\n\\n.glyphicon-glyph-briefcase:before {\\n  content: \\\"\\\\E139\\\"; }\\n\\n.glyphicon-fullscreen:before {\\n  content: \\\"\\\\E140\\\"; }\\n\\n.glyphicon-dashboard:before {\\n  content: \\\"\\\\E141\\\"; }\\n\\n.glyphicon-glyph-paperclip:before {\\n  content: \\\"\\\\E142\\\"; }\\n\\n.glyphicon-heart-empty:before {\\n  content: \\\"\\\\E143\\\"; }\\n\\n.glyphicon-link:before {\\n  content: \\\"\\\\E144\\\"; }\\n\\n.glyphicon-phone:before {\\n  content: \\\"\\\\E145\\\"; }\\n\\n.glyphicon-glyph-pushpin:before {\\n  content: \\\"\\\\E146\\\"; }\\n\\n.glyphicon-euro:before {\\n  content: \\\"\\\\20AC\\\"; }\\n\\n.glyphicon-usd:before {\\n  content: \\\"\\\\E148\\\"; }\\n\\n.glyphicon-gbp:before {\\n  content: \\\"\\\\E149\\\"; }\\n\\n.glyphicon-sort:before {\\n  content: \\\"\\\\E150\\\"; }\\n\\n.glyphicon-sort-by-alphabet:before {\\n  content: \\\"\\\\E151\\\"; }\\n\\n.glyphicon-sort-by-alphabet-alt:before {\\n  content: \\\"\\\\E152\\\"; }\\n\\n.glyphicon-sort-by-order:before {\\n  content: \\\"\\\\E153\\\"; }\\n\\n.glyphicon-sort-by-order-alt:before {\\n  content: \\\"\\\\E154\\\"; }\\n\\n.glyphicon-sort-by-attributes:before {\\n  content: \\\"\\\\E155\\\"; }\\n\\n.glyphicon-sort-by-attributes-alt:before {\\n  content: \\\"\\\\E156\\\"; }\\n\\n.glyphicon-unchecked:before {\\n  content: \\\"\\\\E157\\\"; }\\n\\n.glyphicon-expand:before {\\n  content: \\\"\\\\E158\\\"; }\\n\\n.glyphicon-collapse:before {\\n  content: \\\"\\\\E159\\\"; }\\n\\n.glyphicon-collapse-top:before {\\n  content: \\\"\\\\E160\\\"; }\\n\\n.glyphicon-log-in:before {\\n  content: \\\"\\\\E161\\\"; }\\n\\n.glyphicon-flash:before {\\n  content: \\\"\\\\E162\\\"; }\\n\\n.glyphicon-log-out:before {\\n  content: \\\"\\\\E163\\\"; }\\n\\n.glyphicon-new-window:before {\\n  content: \\\"\\\\E164\\\"; }\\n\\n.glyphicon-record:before {\\n  content: \\\"\\\\E165\\\"; }\\n\\n.glyphicon-save:before {\\n  content: \\\"\\\\E166\\\"; }\\n\\n.glyphicon-open:before {\\n  content: \\\"\\\\E167\\\"; }\\n\\n.glyphicon-saved:before {\\n  content: \\\"\\\\E168\\\"; }\\n\\n.glyphicon-import:before {\\n  content: \\\"\\\\E169\\\"; }\\n\\n.glyphicon-export:before {\\n  content: \\\"\\\\E170\\\"; }\\n\\n.glyphicon-send:before {\\n  content: \\\"\\\\E171\\\"; }\\n\\n.glyphicon-floppy-disk:before {\\n  content: \\\"\\\\E172\\\"; }\\n\\n.glyphicon-floppy-saved:before {\\n  content: \\\"\\\\E173\\\"; }\\n\\n.glyphicon-floppy-remove:before {\\n  content: \\\"\\\\E174\\\"; }\\n\\n.glyphicon-floppy-save:before {\\n  content: \\\"\\\\E175\\\"; }\\n\\n.glyphicon-floppy-open:before {\\n  content: \\\"\\\\E176\\\"; }\\n\\n.glyphicon-credit-card:before {\\n  content: \\\"\\\\E177\\\"; }\\n\\n.glyphicon-transfer:before {\\n  content: \\\"\\\\E178\\\"; }\\n\\n.glyphicon-cutlery:before {\\n  content: \\\"\\\\E179\\\"; }\\n\\n.glyphicon-header:before {\\n  content: \\\"\\\\E180\\\"; }\\n\\n.glyphicon-compressed:before {\\n  content: \\\"\\\\E181\\\"; }\\n\\n.glyphicon-earphone:before {\\n  content: \\\"\\\\E182\\\"; }\\n\\n.glyphicon-phone-alt:before {\\n  content: \\\"\\\\E183\\\"; }\\n\\n.glyphicon-tower:before {\\n  content: \\\"\\\\E184\\\"; }\\n\\n.glyphicon-stats:before {\\n  content: \\\"\\\\E185\\\"; }\\n\\n.glyphicon-sd-video:before {\\n  content: \\\"\\\\E186\\\"; }\\n\\n.glyphicon-hd-video:before {\\n  content: \\\"\\\\E187\\\"; }\\n\\n.glyphicon-subtitles:before {\\n  content: \\\"\\\\E188\\\"; }\\n\\n.glyphicon-sound-stereo:before {\\n  content: \\\"\\\\E189\\\"; }\\n\\n.glyphicon-sound-dolby:before {\\n  content: \\\"\\\\E190\\\"; }\\n\\n.glyphicon-sound-5-1:before {\\n  content: \\\"\\\\E191\\\"; }\\n\\n.glyphicon-sound-6-1:before {\\n  content: \\\"\\\\E192\\\"; }\\n\\n.glyphicon-sound-7-1:before {\\n  content: \\\"\\\\E193\\\"; }\\n\\n.glyphicon-copyright-mark:before {\\n  content: \\\"\\\\E194\\\"; }\\n\\n.glyphicon-registration-mark:before {\\n  content: \\\"\\\\E195\\\"; }\\n\\n.glyphicon-cloud:before {\\n  content: \\\"\\\\2601\\\"; }\\n\\n.glyphicon-cloud-download:before {\\n  content: \\\"\\\\E197\\\"; }\\n\\n.glyphicon-cloud-upload:before {\\n  content: \\\"\\\\E198\\\"; }\\n\\n.glyphicon-tree-conifer:before {\\n  content: \\\"\\\\E199\\\"; }\\n\\n.glyphicon-tree-deciduous:before {\\n  content: \\\"\\\\E200\\\"; }\\n\\n.glyphicon-cd:before {\\n  content: \\\"\\\\E201\\\"; }\\n\\n.glyphicon-save-file:before {\\n  content: \\\"\\\\E202\\\"; }\\n\\n.glyphicon-open-file:before {\\n  content: \\\"\\\\E203\\\"; }\\n\\n.glyphicon-level-up:before {\\n  content: \\\"\\\\E204\\\"; }\\n\\n.glyphicon-copy:before {\\n  content: \\\"\\\\E205\\\"; }\\n\\n.glyphicon-paste:before {\\n  content: \\\"\\\\E206\\\"; }\\n\\n.glyphicon-door:before {\\n  content: \\\"\\\\1F6AA\\\"; }\\n\\n.glyphicon-key:before {\\n  content: \\\"\\\\1F511\\\"; }\\n\\n.glyphicon-alert:before {\\n  content: \\\"\\\\E209\\\"; }\\n\\n.glyphicon-equalizer:before {\\n  content: \\\"\\\\E210\\\"; }\\n\\n.glyphicon-king:before {\\n  content: \\\"\\\\E211\\\"; }\\n\\n.glyphicon-queen:before {\\n  content: \\\"\\\\E212\\\"; }\\n\\n.glyphicon-pawn:before {\\n  content: \\\"\\\\E213\\\"; }\\n\\n.glyphicon-bishop:before {\\n  content: \\\"\\\\E214\\\"; }\\n\\n.glyphicon-knight:before {\\n  content: \\\"\\\\E215\\\"; }\\n\\n.glyphicon-baby-formula:before {\\n  content: \\\"\\\\E216\\\"; }\\n\\n.glyphicon-tent:before {\\n  content: \\\"\\\\26FA\\\"; }\\n\\n.glyphicon-blackboard:before {\\n  content: \\\"\\\\E218\\\"; }\\n\\n.glyphicon-bed:before {\\n  content: \\\"\\\\E219\\\"; }\\n\\n.glyphicon-apple:before {\\n  content: \\\"\\\\F8FF\\\"; }\\n\\n.glyphicon-erase:before {\\n  content: \\\"\\\\E221\\\"; }\\n\\n.glyphicon-hourglass:before {\\n  content: \\\"\\\\231B\\\"; }\\n\\n.glyphicon-lamp:before {\\n  content: \\\"\\\\E223\\\"; }\\n\\n.glyphicon-duplicate:before {\\n  content: \\\"\\\\E224\\\"; }\\n\\n.glyphicon-piggy-bank:before {\\n  content: \\\"\\\\E225\\\"; }\\n\\n.glyphicon-scissors:before {\\n  content: \\\"\\\\E226\\\"; }\\n\\n.glyphicon-bitcoin:before {\\n  content: \\\"\\\\E227\\\"; }\\n\\n.glyphicon-yen:before {\\n  content: \\\"\\\\00A5\\\"; }\\n\\n.glyphicon-ruble:before {\\n  content: \\\"\\\\20BD\\\"; }\\n\\n.glyphicon-scale:before {\\n  content: \\\"\\\\E230\\\"; }\\n\\n.glyphicon-ice-lolly:before {\\n  content: \\\"\\\\E231\\\"; }\\n\\n.glyphicon-ice-lolly-tasted:before {\\n  content: \\\"\\\\E232\\\"; }\\n\\n.glyphicon-education:before {\\n  content: \\\"\\\\E233\\\"; }\\n\\n.glyphicon-option-horizontal:before {\\n  content: \\\"\\\\E234\\\"; }\\n\\n.glyphicon-option-vertical:before {\\n  content: \\\"\\\\E235\\\"; }\\n\\n.glyphicon-menu-hamburger:before {\\n  content: \\\"\\\\E236\\\"; }\\n\\n.glyphicon-modal-window:before {\\n  content: \\\"\\\\E237\\\"; }\\n\\n.glyphicon-oil:before {\\n  content: \\\"\\\\E238\\\"; }\\n\\n.glyphicon-grain:before {\\n  content: \\\"\\\\E239\\\"; }\\n\\n.glyphicon-sunglasses:before {\\n  content: \\\"\\\\E240\\\"; }\\n\\n.glyphicon-text-size:before {\\n  content: \\\"\\\\E241\\\"; }\\n\\n.glyphicon-text-color:before {\\n  content: \\\"\\\\E242\\\"; }\\n\\n.glyphicon-text-background:before {\\n  content: \\\"\\\\E243\\\"; }\\n\\n.glyphicon-object-align-top:before {\\n  content: \\\"\\\\E244\\\"; }\\n\\n.glyphicon-object-align-bottom:before {\\n  content: \\\"\\\\E245\\\"; }\\n\\n.glyphicon-object-align-horizontal:before {\\n  content: \\\"\\\\E246\\\"; }\\n\\n.glyphicon-object-align-left:before {\\n  content: \\\"\\\\E247\\\"; }\\n\\n.glyphicon-object-align-vertical:before {\\n  content: \\\"\\\\E248\\\"; }\\n\\n.glyphicon-object-align-right:before {\\n  content: \\\"\\\\E249\\\"; }\\n\\n.glyphicon-triangle-right:before {\\n  content: \\\"\\\\E250\\\"; }\\n\\n.glyphicon-triangle-left:before {\\n  content: \\\"\\\\E251\\\"; }\\n\\n.glyphicon-triangle-bottom:before {\\n  content: \\\"\\\\E252\\\"; }\\n\\n.glyphicon-triangle-top:before {\\n  content: \\\"\\\\E253\\\"; }\\n\\n.glyphicon-terminal:before {\\n  content: \\\"\\\\E254\\\"; }\\n\\n.glyphicon-superscript:before {\\n  content: \\\"\\\\E255\\\"; }\\n\\n.glyphicon-subscript:before {\\n  content: \\\"\\\\E256\\\"; }\\n\\n.glyphicon-menu-left:before {\\n  content: \\\"\\\\E257\\\"; }\\n\\n.glyphicon-menu-right:before {\\n  content: \\\"\\\\E258\\\"; }\\n\\n.glyphicon-menu-down:before {\\n  content: \\\"\\\\E259\\\"; }\\n\\n.glyphicon-menu-up:before {\\n  content: \\\"\\\\E260\\\"; }\\n\\n/* \\r\\n* \\r\\n* THIS IS A SMALL BONUS FOR ALL CURIOUS PEOPLE :) \\r\\n* Just add class .animated and .pulse, .rotateIn, .bounce, .swing or .tada to you HTML element with icons. You may find other great css animations here: http://coveloping.com/tools/css-animation-generator \\r\\n* \\r\\n*/\\n/* This is a compiled file, you should be editing the file in the templates directory */\\n/* This is a compiled file, you should be editing the file in the templates directory */\\n.load {\\n  width: 100%;\\n  height: 100%;\\n  position: absolute;\\n  z-index: 5000;\\n  background: rgba(0, 0, 0, 0.5);\\n  position: fixed; }\\n\\n.pace-done .load {\\n  display: none; }\\n\\n.pace {\\n  -webkit-pointer-events: none;\\n  pointer-events: none;\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n  user-select: none; }\\n\\n.pace-inactive {\\n  display: none; }\\n\\n.pace .pace-progress {\\n  background: #29d;\\n  position: fixed;\\n  z-index: 2000;\\n  top: 0;\\n  left: 0;\\n  height: 2px;\\n  -webkit-transition: width 1s;\\n  -moz-transition: width 1s;\\n  -o-transition: width 1s;\\n  transition: width 1s; }\\n\\n.pace .pace-progress-inner {\\n  display: block;\\n  position: absolute;\\n  right: 0px;\\n  width: 100px;\\n  height: 100%;\\n  box-shadow: 0 0 10px #29d, 0 0 5px #29d;\\n  opacity: 1.0;\\n  -webkit-transform: rotate(3deg) translate(0px, -4px);\\n  -moz-transform: rotate(3deg) translate(0px, -4px);\\n  -ms-transform: rotate(3deg) translate(0px, -4px);\\n  -o-transform: rotate(3deg) translate(0px, -4px);\\n  transform: rotate(3deg) translate(0px, -4px); }\\n\\n.pace .pace-activity {\\n  display: block;\\n  position: fixed;\\n  z-index: 2000;\\n  top: 15px;\\n  right: 15px;\\n  width: 14px;\\n  height: 14px;\\n  border: solid 2px transparent;\\n  border-top-color: #29d;\\n  border-left-color: #29d;\\n  border-radius: 10px;\\n  -webkit-animation: pace-spinner 400ms linear infinite;\\n  -moz-animation: pace-spinner 400ms linear infinite;\\n  -ms-animation: pace-spinner 400ms linear infinite;\\n  -o-animation: pace-spinner 400ms linear infinite;\\n  animation: pace-spinner 400ms linear infinite; }\\n\\n@-webkit-keyframes pace-spinner {\\n  0% {\\n    -webkit-transform: rotate(0deg);\\n    transform: rotate(0deg); }\\n  100% {\\n    -webkit-transform: rotate(360deg);\\n    transform: rotate(360deg); } }\\n\\n@-moz-keyframes pace-spinner {\\n  0% {\\n    -moz-transform: rotate(0deg);\\n    transform: rotate(0deg); }\\n  100% {\\n    -moz-transform: rotate(360deg);\\n    transform: rotate(360deg); } }\\n\\n@-o-keyframes pace-spinner {\\n  0% {\\n    -o-transform: rotate(0deg);\\n    transform: rotate(0deg); }\\n  100% {\\n    -o-transform: rotate(360deg);\\n    transform: rotate(360deg); } }\\n\\n@-ms-keyframes pace-spinner {\\n  0% {\\n    -ms-transform: rotate(0deg);\\n    transform: rotate(0deg); }\\n  100% {\\n    -ms-transform: rotate(360deg);\\n    transform: rotate(360deg); } }\\n\\n@keyframes pace-spinner {\\n  0% {\\n    transform: rotate(0deg);\\n    transform: rotate(0deg); }\\n  100% {\\n    transform: rotate(360deg);\\n    transform: rotate(360deg); } }\\n\\n/*!\\r\\n * animate.css -http://daneden.me/animate\\r\\n * Version - 3.5.0\\r\\n * Licensed under the MIT license - http://opensource.org/licenses/MIT\\r\\n *\\r\\n * Copyright (c) 2016 Daniel Eden\\r\\n */\\n.animated {\\n  -webkit-animation-duration: 1s;\\n  animation-duration: 1s;\\n  -webkit-animation-fill-mode: both;\\n  animation-fill-mode: both; }\\n\\n.animated.infinite {\\n  -webkit-animation-iteration-count: infinite;\\n  animation-iteration-count: infinite; }\\n\\n.animated.hinge {\\n  -webkit-animation-duration: 2s;\\n  animation-duration: 2s; }\\n\\n.animated.flipOutX,\\n.animated.flipOutY,\\n.animated.bounceIn,\\n.animated.bounceOut {\\n  -webkit-animation-duration: .75s;\\n  animation-duration: .75s; }\\n\\n@-webkit-keyframes bounce {\\n  from, 20%, 53%, 80%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  40%, 43% {\\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    -webkit-transform: translate3d(0, -30px, 0);\\n    transform: translate3d(0, -30px, 0); }\\n  70% {\\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    -webkit-transform: translate3d(0, -15px, 0);\\n    transform: translate3d(0, -15px, 0); }\\n  90% {\\n    -webkit-transform: translate3d(0, -4px, 0);\\n    transform: translate3d(0, -4px, 0); } }\\n\\n@keyframes bounce {\\n  from, 20%, 53%, 80%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  40%, 43% {\\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    -webkit-transform: translate3d(0, -30px, 0);\\n    transform: translate3d(0, -30px, 0); }\\n  70% {\\n    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n    -webkit-transform: translate3d(0, -15px, 0);\\n    transform: translate3d(0, -15px, 0); }\\n  90% {\\n    -webkit-transform: translate3d(0, -4px, 0);\\n    transform: translate3d(0, -4px, 0); } }\\n\\n.bounce {\\n  -webkit-animation-name: bounce;\\n  animation-name: bounce;\\n  -webkit-transform-origin: center bottom;\\n  transform-origin: center bottom; }\\n\\n@-webkit-keyframes flash {\\n  from, 50%, to {\\n    opacity: 1; }\\n  25%, 75% {\\n    opacity: 0; } }\\n\\n@keyframes flash {\\n  from, 50%, to {\\n    opacity: 1; }\\n  25%, 75% {\\n    opacity: 0; } }\\n\\n.flash {\\n  -webkit-animation-name: flash;\\n  animation-name: flash; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes pulse {\\n  from {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); }\\n  50% {\\n    -webkit-transform: scale3d(1.05, 1.05, 1.05);\\n    transform: scale3d(1.05, 1.05, 1.05); }\\n  to {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n@keyframes pulse {\\n  from {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); }\\n  50% {\\n    -webkit-transform: scale3d(1.05, 1.05, 1.05);\\n    transform: scale3d(1.05, 1.05, 1.05); }\\n  to {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n.pulse {\\n  -webkit-animation-name: pulse;\\n  animation-name: pulse; }\\n\\n@-webkit-keyframes rubberBand {\\n  from {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); }\\n  30% {\\n    -webkit-transform: scale3d(1.25, 0.75, 1);\\n    transform: scale3d(1.25, 0.75, 1); }\\n  40% {\\n    -webkit-transform: scale3d(0.75, 1.25, 1);\\n    transform: scale3d(0.75, 1.25, 1); }\\n  50% {\\n    -webkit-transform: scale3d(1.15, 0.85, 1);\\n    transform: scale3d(1.15, 0.85, 1); }\\n  65% {\\n    -webkit-transform: scale3d(0.95, 1.05, 1);\\n    transform: scale3d(0.95, 1.05, 1); }\\n  75% {\\n    -webkit-transform: scale3d(1.05, 0.95, 1);\\n    transform: scale3d(1.05, 0.95, 1); }\\n  to {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n@keyframes rubberBand {\\n  from {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); }\\n  30% {\\n    -webkit-transform: scale3d(1.25, 0.75, 1);\\n    transform: scale3d(1.25, 0.75, 1); }\\n  40% {\\n    -webkit-transform: scale3d(0.75, 1.25, 1);\\n    transform: scale3d(0.75, 1.25, 1); }\\n  50% {\\n    -webkit-transform: scale3d(1.15, 0.85, 1);\\n    transform: scale3d(1.15, 0.85, 1); }\\n  65% {\\n    -webkit-transform: scale3d(0.95, 1.05, 1);\\n    transform: scale3d(0.95, 1.05, 1); }\\n  75% {\\n    -webkit-transform: scale3d(1.05, 0.95, 1);\\n    transform: scale3d(1.05, 0.95, 1); }\\n  to {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n.rubberBand {\\n  -webkit-animation-name: rubberBand;\\n  animation-name: rubberBand; }\\n\\n@-webkit-keyframes shake {\\n  from, to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  10%, 30%, 50%, 70%, 90% {\\n    -webkit-transform: translate3d(-10px, 0, 0);\\n    transform: translate3d(-10px, 0, 0); }\\n  20%, 40%, 60%, 80% {\\n    -webkit-transform: translate3d(10px, 0, 0);\\n    transform: translate3d(10px, 0, 0); } }\\n\\n@keyframes shake {\\n  from, to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  10%, 30%, 50%, 70%, 90% {\\n    -webkit-transform: translate3d(-10px, 0, 0);\\n    transform: translate3d(-10px, 0, 0); }\\n  20%, 40%, 60%, 80% {\\n    -webkit-transform: translate3d(10px, 0, 0);\\n    transform: translate3d(10px, 0, 0); } }\\n\\n.shake {\\n  -webkit-animation-name: shake;\\n  animation-name: shake; }\\n\\n@-webkit-keyframes headShake {\\n  0% {\\n    -webkit-transform: translateX(0);\\n    transform: translateX(0); }\\n  6.5% {\\n    -webkit-transform: translateX(-6px) rotateY(-9deg);\\n    transform: translateX(-6px) rotateY(-9deg); }\\n  18.5% {\\n    -webkit-transform: translateX(5px) rotateY(7deg);\\n    transform: translateX(5px) rotateY(7deg); }\\n  31.5% {\\n    -webkit-transform: translateX(-3px) rotateY(-5deg);\\n    transform: translateX(-3px) rotateY(-5deg); }\\n  43.5% {\\n    -webkit-transform: translateX(2px) rotateY(3deg);\\n    transform: translateX(2px) rotateY(3deg); }\\n  50% {\\n    -webkit-transform: translateX(0);\\n    transform: translateX(0); } }\\n\\n@keyframes headShake {\\n  0% {\\n    -webkit-transform: translateX(0);\\n    transform: translateX(0); }\\n  6.5% {\\n    -webkit-transform: translateX(-6px) rotateY(-9deg);\\n    transform: translateX(-6px) rotateY(-9deg); }\\n  18.5% {\\n    -webkit-transform: translateX(5px) rotateY(7deg);\\n    transform: translateX(5px) rotateY(7deg); }\\n  31.5% {\\n    -webkit-transform: translateX(-3px) rotateY(-5deg);\\n    transform: translateX(-3px) rotateY(-5deg); }\\n  43.5% {\\n    -webkit-transform: translateX(2px) rotateY(3deg);\\n    transform: translateX(2px) rotateY(3deg); }\\n  50% {\\n    -webkit-transform: translateX(0);\\n    transform: translateX(0); } }\\n\\n.headShake {\\n  -webkit-animation-timing-function: ease-in-out;\\n  animation-timing-function: ease-in-out;\\n  -webkit-animation-name: headShake;\\n  animation-name: headShake; }\\n\\n@-webkit-keyframes swing {\\n  20% {\\n    -webkit-transform: rotate3d(0, 0, 1, 15deg);\\n    transform: rotate3d(0, 0, 1, 15deg); }\\n  40% {\\n    -webkit-transform: rotate3d(0, 0, 1, -10deg);\\n    transform: rotate3d(0, 0, 1, -10deg); }\\n  60% {\\n    -webkit-transform: rotate3d(0, 0, 1, 5deg);\\n    transform: rotate3d(0, 0, 1, 5deg); }\\n  80% {\\n    -webkit-transform: rotate3d(0, 0, 1, -5deg);\\n    transform: rotate3d(0, 0, 1, -5deg); }\\n  to {\\n    -webkit-transform: rotate3d(0, 0, 1, 0deg);\\n    transform: rotate3d(0, 0, 1, 0deg); } }\\n\\n@keyframes swing {\\n  20% {\\n    -webkit-transform: rotate3d(0, 0, 1, 15deg);\\n    transform: rotate3d(0, 0, 1, 15deg); }\\n  40% {\\n    -webkit-transform: rotate3d(0, 0, 1, -10deg);\\n    transform: rotate3d(0, 0, 1, -10deg); }\\n  60% {\\n    -webkit-transform: rotate3d(0, 0, 1, 5deg);\\n    transform: rotate3d(0, 0, 1, 5deg); }\\n  80% {\\n    -webkit-transform: rotate3d(0, 0, 1, -5deg);\\n    transform: rotate3d(0, 0, 1, -5deg); }\\n  to {\\n    -webkit-transform: rotate3d(0, 0, 1, 0deg);\\n    transform: rotate3d(0, 0, 1, 0deg); } }\\n\\n.swing {\\n  -webkit-transform-origin: top center;\\n  transform-origin: top center;\\n  -webkit-animation-name: swing;\\n  animation-name: swing; }\\n\\n@-webkit-keyframes tada {\\n  from {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); }\\n  10%, 20% {\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);\\n    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }\\n  30%, 50%, 70%, 90% {\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\\n    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }\\n  40%, 60%, 80% {\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\\n    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }\\n  to {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n@keyframes tada {\\n  from {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); }\\n  10%, 20% {\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);\\n    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }\\n  30%, 50%, 70%, 90% {\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\\n    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }\\n  40%, 60%, 80% {\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\\n    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }\\n  to {\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n.tada {\\n  -webkit-animation-name: tada;\\n  animation-name: tada; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes wobble {\\n  from {\\n    -webkit-transform: none;\\n    transform: none; }\\n  15% {\\n    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\\n    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }\\n  30% {\\n    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\\n    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }\\n  45% {\\n    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\\n    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }\\n  60% {\\n    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\\n    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }\\n  75% {\\n    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\\n    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes wobble {\\n  from {\\n    -webkit-transform: none;\\n    transform: none; }\\n  15% {\\n    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\\n    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }\\n  30% {\\n    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\\n    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }\\n  45% {\\n    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\\n    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }\\n  60% {\\n    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\\n    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }\\n  75% {\\n    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\\n    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.wobble {\\n  -webkit-animation-name: wobble;\\n  animation-name: wobble; }\\n\\n@-webkit-keyframes jello {\\n  from, 11.1%, to {\\n    -webkit-transform: none;\\n    transform: none; }\\n  22.2% {\\n    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);\\n    transform: skewX(-12.5deg) skewY(-12.5deg); }\\n  33.3% {\\n    -webkit-transform: skewX(6.25deg) skewY(6.25deg);\\n    transform: skewX(6.25deg) skewY(6.25deg); }\\n  44.4% {\\n    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);\\n    transform: skewX(-3.125deg) skewY(-3.125deg); }\\n  55.5% {\\n    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);\\n    transform: skewX(1.5625deg) skewY(1.5625deg); }\\n  66.6% {\\n    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);\\n    transform: skewX(-0.78125deg) skewY(-0.78125deg); }\\n  77.7% {\\n    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);\\n    transform: skewX(0.39063deg) skewY(0.39063deg); }\\n  88.8% {\\n    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);\\n    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }\\n\\n@keyframes jello {\\n  from, 11.1%, to {\\n    -webkit-transform: none;\\n    transform: none; }\\n  22.2% {\\n    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);\\n    transform: skewX(-12.5deg) skewY(-12.5deg); }\\n  33.3% {\\n    -webkit-transform: skewX(6.25deg) skewY(6.25deg);\\n    transform: skewX(6.25deg) skewY(6.25deg); }\\n  44.4% {\\n    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);\\n    transform: skewX(-3.125deg) skewY(-3.125deg); }\\n  55.5% {\\n    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);\\n    transform: skewX(1.5625deg) skewY(1.5625deg); }\\n  66.6% {\\n    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);\\n    transform: skewX(-0.78125deg) skewY(-0.78125deg); }\\n  77.7% {\\n    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);\\n    transform: skewX(0.39063deg) skewY(0.39063deg); }\\n  88.8% {\\n    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);\\n    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }\\n\\n.jello {\\n  -webkit-animation-name: jello;\\n  animation-name: jello;\\n  -webkit-transform-origin: center;\\n  transform-origin: center; }\\n\\n@-webkit-keyframes bounceIn {\\n  from, 20%, 40%, 60%, 80%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  0% {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); }\\n  20% {\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\n    transform: scale3d(1.1, 1.1, 1.1); }\\n  40% {\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\n    transform: scale3d(0.9, 0.9, 0.9); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\\n    transform: scale3d(1.03, 1.03, 1.03); }\\n  80% {\\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\\n    transform: scale3d(0.97, 0.97, 0.97); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n@keyframes bounceIn {\\n  from, 20%, 40%, 60%, 80%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  0% {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); }\\n  20% {\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\n    transform: scale3d(1.1, 1.1, 1.1); }\\n  40% {\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\n    transform: scale3d(0.9, 0.9, 0.9); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\\n    transform: scale3d(1.03, 1.03, 1.03); }\\n  80% {\\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\\n    transform: scale3d(0.97, 0.97, 0.97); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: scale3d(1, 1, 1);\\n    transform: scale3d(1, 1, 1); } }\\n\\n.bounceIn {\\n  -webkit-animation-name: bounceIn;\\n  animation-name: bounceIn; }\\n\\n@-webkit-keyframes bounceInDown {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  0% {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -3000px, 0);\\n    transform: translate3d(0, -3000px, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, 25px, 0);\\n    transform: translate3d(0, 25px, 0); }\\n  75% {\\n    -webkit-transform: translate3d(0, -10px, 0);\\n    transform: translate3d(0, -10px, 0); }\\n  90% {\\n    -webkit-transform: translate3d(0, 5px, 0);\\n    transform: translate3d(0, 5px, 0); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes bounceInDown {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  0% {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -3000px, 0);\\n    transform: translate3d(0, -3000px, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, 25px, 0);\\n    transform: translate3d(0, 25px, 0); }\\n  75% {\\n    -webkit-transform: translate3d(0, -10px, 0);\\n    transform: translate3d(0, -10px, 0); }\\n  90% {\\n    -webkit-transform: translate3d(0, 5px, 0);\\n    transform: translate3d(0, 5px, 0); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.bounceInDown {\\n  -webkit-animation-name: bounceInDown;\\n  animation-name: bounceInDown; }\\n\\n@-webkit-keyframes bounceInLeft {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  0% {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-3000px, 0, 0);\\n    transform: translate3d(-3000px, 0, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(25px, 0, 0);\\n    transform: translate3d(25px, 0, 0); }\\n  75% {\\n    -webkit-transform: translate3d(-10px, 0, 0);\\n    transform: translate3d(-10px, 0, 0); }\\n  90% {\\n    -webkit-transform: translate3d(5px, 0, 0);\\n    transform: translate3d(5px, 0, 0); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes bounceInLeft {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  0% {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-3000px, 0, 0);\\n    transform: translate3d(-3000px, 0, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(25px, 0, 0);\\n    transform: translate3d(25px, 0, 0); }\\n  75% {\\n    -webkit-transform: translate3d(-10px, 0, 0);\\n    transform: translate3d(-10px, 0, 0); }\\n  90% {\\n    -webkit-transform: translate3d(5px, 0, 0);\\n    transform: translate3d(5px, 0, 0); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.bounceInLeft {\\n  -webkit-animation-name: bounceInLeft;\\n  animation-name: bounceInLeft; }\\n\\n@-webkit-keyframes bounceInRight {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(3000px, 0, 0);\\n    transform: translate3d(3000px, 0, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(-25px, 0, 0);\\n    transform: translate3d(-25px, 0, 0); }\\n  75% {\\n    -webkit-transform: translate3d(10px, 0, 0);\\n    transform: translate3d(10px, 0, 0); }\\n  90% {\\n    -webkit-transform: translate3d(-5px, 0, 0);\\n    transform: translate3d(-5px, 0, 0); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes bounceInRight {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(3000px, 0, 0);\\n    transform: translate3d(3000px, 0, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(-25px, 0, 0);\\n    transform: translate3d(-25px, 0, 0); }\\n  75% {\\n    -webkit-transform: translate3d(10px, 0, 0);\\n    transform: translate3d(10px, 0, 0); }\\n  90% {\\n    -webkit-transform: translate3d(-5px, 0, 0);\\n    transform: translate3d(-5px, 0, 0); }\\n  to {\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.bounceInRight {\\n  -webkit-animation-name: bounceInRight;\\n  animation-name: bounceInRight; }\\n\\n@-webkit-keyframes bounceInUp {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 3000px, 0);\\n    transform: translate3d(0, 3000px, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, -20px, 0);\\n    transform: translate3d(0, -20px, 0); }\\n  75% {\\n    -webkit-transform: translate3d(0, 10px, 0);\\n    transform: translate3d(0, 10px, 0); }\\n  90% {\\n    -webkit-transform: translate3d(0, -5px, 0);\\n    transform: translate3d(0, -5px, 0); }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n@keyframes bounceInUp {\\n  from, 60%, 75%, 90%, to {\\n    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\\n    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 3000px, 0);\\n    transform: translate3d(0, 3000px, 0); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, -20px, 0);\\n    transform: translate3d(0, -20px, 0); }\\n  75% {\\n    -webkit-transform: translate3d(0, 10px, 0);\\n    transform: translate3d(0, 10px, 0); }\\n  90% {\\n    -webkit-transform: translate3d(0, -5px, 0);\\n    transform: translate3d(0, -5px, 0); }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n.bounceInUp {\\n  -webkit-animation-name: bounceInUp;\\n  animation-name: bounceInUp; }\\n\\n@-webkit-keyframes bounceOut {\\n  20% {\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\n    transform: scale3d(0.9, 0.9, 0.9); }\\n  50%, 55% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\n    transform: scale3d(1.1, 1.1, 1.1); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); } }\\n\\n@keyframes bounceOut {\\n  20% {\\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\\n    transform: scale3d(0.9, 0.9, 0.9); }\\n  50%, 55% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\\n    transform: scale3d(1.1, 1.1, 1.1); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); } }\\n\\n.bounceOut {\\n  -webkit-animation-name: bounceOut;\\n  animation-name: bounceOut; }\\n\\n@-webkit-keyframes bounceOutDown {\\n  20% {\\n    -webkit-transform: translate3d(0, 10px, 0);\\n    transform: translate3d(0, 10px, 0); }\\n  40%, 45% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, -20px, 0);\\n    transform: translate3d(0, -20px, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 2000px, 0);\\n    transform: translate3d(0, 2000px, 0); } }\\n\\n@keyframes bounceOutDown {\\n  20% {\\n    -webkit-transform: translate3d(0, 10px, 0);\\n    transform: translate3d(0, 10px, 0); }\\n  40%, 45% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, -20px, 0);\\n    transform: translate3d(0, -20px, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 2000px, 0);\\n    transform: translate3d(0, 2000px, 0); } }\\n\\n.bounceOutDown {\\n  -webkit-animation-name: bounceOutDown;\\n  animation-name: bounceOutDown; }\\n\\n@-webkit-keyframes bounceOutLeft {\\n  20% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(20px, 0, 0);\\n    transform: translate3d(20px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\n    transform: translate3d(-2000px, 0, 0); } }\\n\\n@keyframes bounceOutLeft {\\n  20% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(20px, 0, 0);\\n    transform: translate3d(20px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\n    transform: translate3d(-2000px, 0, 0); } }\\n\\n.bounceOutLeft {\\n  -webkit-animation-name: bounceOutLeft;\\n  animation-name: bounceOutLeft; }\\n\\n@-webkit-keyframes bounceOutRight {\\n  20% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(-20px, 0, 0);\\n    transform: translate3d(-20px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(2000px, 0, 0);\\n    transform: translate3d(2000px, 0, 0); } }\\n\\n@keyframes bounceOutRight {\\n  20% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(-20px, 0, 0);\\n    transform: translate3d(-20px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(2000px, 0, 0);\\n    transform: translate3d(2000px, 0, 0); } }\\n\\n.bounceOutRight {\\n  -webkit-animation-name: bounceOutRight;\\n  animation-name: bounceOutRight; }\\n\\n@-webkit-keyframes bounceOutUp {\\n  20% {\\n    -webkit-transform: translate3d(0, -10px, 0);\\n    transform: translate3d(0, -10px, 0); }\\n  40%, 45% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, 20px, 0);\\n    transform: translate3d(0, 20px, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -2000px, 0);\\n    transform: translate3d(0, -2000px, 0); } }\\n\\n@keyframes bounceOutUp {\\n  20% {\\n    -webkit-transform: translate3d(0, -10px, 0);\\n    transform: translate3d(0, -10px, 0); }\\n  40%, 45% {\\n    opacity: 1;\\n    -webkit-transform: translate3d(0, 20px, 0);\\n    transform: translate3d(0, 20px, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -2000px, 0);\\n    transform: translate3d(0, -2000px, 0); } }\\n\\n.bounceOutUp {\\n  -webkit-animation-name: bounceOutUp;\\n  animation-name: bounceOutUp; }\\n\\n@-webkit-keyframes fadeIn {\\n  from {\\n    opacity: 0; }\\n  to {\\n    opacity: 1; } }\\n\\n@keyframes fadeIn {\\n  from {\\n    opacity: 0; }\\n  to {\\n    opacity: 1; } }\\n\\n.fadeIn {\\n  -webkit-animation-name: fadeIn;\\n  animation-name: fadeIn; }\\n\\n@-webkit-keyframes fadeInDown {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInDown {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInDown {\\n  -webkit-animation-name: fadeInDown;\\n  animation-name: fadeInDown; }\\n\\n@-webkit-keyframes fadeInDownBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -2000px, 0);\\n    transform: translate3d(0, -2000px, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInDownBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -2000px, 0);\\n    transform: translate3d(0, -2000px, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInDownBig {\\n  -webkit-animation-name: fadeInDownBig;\\n  animation-name: fadeInDownBig; }\\n\\n@-webkit-keyframes fadeInLeft {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInLeft {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInLeft {\\n  -webkit-animation-name: fadeInLeft;\\n  animation-name: fadeInLeft; }\\n\\n@-webkit-keyframes fadeInLeftBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\n    transform: translate3d(-2000px, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInLeftBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\n    transform: translate3d(-2000px, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInLeftBig {\\n  -webkit-animation-name: fadeInLeftBig;\\n  animation-name: fadeInLeftBig; }\\n\\n@-webkit-keyframes fadeInRight {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInRight {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInRight {\\n  -webkit-animation-name: fadeInRight;\\n  animation-name: fadeInRight; }\\n\\n@-webkit-keyframes fadeInRightBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(2000px, 0, 0);\\n    transform: translate3d(2000px, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInRightBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(2000px, 0, 0);\\n    transform: translate3d(2000px, 0, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInRightBig {\\n  -webkit-animation-name: fadeInRightBig;\\n  animation-name: fadeInRightBig; }\\n\\n@-webkit-keyframes fadeInUp {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInUp {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInUp {\\n  -webkit-animation-name: fadeInUp;\\n  animation-name: fadeInUp; }\\n\\n@-webkit-keyframes fadeInUpBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 2000px, 0);\\n    transform: translate3d(0, 2000px, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes fadeInUpBig {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 2000px, 0);\\n    transform: translate3d(0, 2000px, 0); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.fadeInUpBig {\\n  -webkit-animation-name: fadeInUpBig;\\n  animation-name: fadeInUpBig; }\\n\\n@-webkit-keyframes fadeOut {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0; } }\\n\\n@keyframes fadeOut {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0; } }\\n\\n.fadeOut {\\n  -webkit-animation-name: fadeOut;\\n  animation-name: fadeOut; }\\n\\n@-webkit-keyframes fadeOutDown {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0); } }\\n\\n@keyframes fadeOutDown {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0); } }\\n\\n.fadeOutDown {\\n  -webkit-animation-name: fadeOutDown;\\n  animation-name: fadeOutDown; }\\n\\n@-webkit-keyframes fadeOutDownBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 2000px, 0);\\n    transform: translate3d(0, 2000px, 0); } }\\n\\n@keyframes fadeOutDownBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, 2000px, 0);\\n    transform: translate3d(0, 2000px, 0); } }\\n\\n.fadeOutDownBig {\\n  -webkit-animation-name: fadeOutDownBig;\\n  animation-name: fadeOutDownBig; }\\n\\n@-webkit-keyframes fadeOutLeft {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0); } }\\n\\n@keyframes fadeOutLeft {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0); } }\\n\\n.fadeOutLeft {\\n  -webkit-animation-name: fadeOutLeft;\\n  animation-name: fadeOutLeft; }\\n\\n@-webkit-keyframes fadeOutLeftBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\n    transform: translate3d(-2000px, 0, 0); } }\\n\\n@keyframes fadeOutLeftBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-2000px, 0, 0);\\n    transform: translate3d(-2000px, 0, 0); } }\\n\\n.fadeOutLeftBig {\\n  -webkit-animation-name: fadeOutLeftBig;\\n  animation-name: fadeOutLeftBig; }\\n\\n@-webkit-keyframes fadeOutRight {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0); } }\\n\\n@keyframes fadeOutRight {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0); } }\\n\\n.fadeOutRight {\\n  -webkit-animation-name: fadeOutRight;\\n  animation-name: fadeOutRight; }\\n\\n@-webkit-keyframes fadeOutRightBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(2000px, 0, 0);\\n    transform: translate3d(2000px, 0, 0); } }\\n\\n@keyframes fadeOutRightBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(2000px, 0, 0);\\n    transform: translate3d(2000px, 0, 0); } }\\n\\n.fadeOutRightBig {\\n  -webkit-animation-name: fadeOutRightBig;\\n  animation-name: fadeOutRightBig; }\\n\\n@-webkit-keyframes fadeOutUp {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0); } }\\n\\n@keyframes fadeOutUp {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0); } }\\n\\n.fadeOutUp {\\n  -webkit-animation-name: fadeOutUp;\\n  animation-name: fadeOutUp; }\\n\\n@-webkit-keyframes fadeOutUpBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -2000px, 0);\\n    transform: translate3d(0, -2000px, 0); } }\\n\\n@keyframes fadeOutUpBig {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(0, -2000px, 0);\\n    transform: translate3d(0, -2000px, 0); } }\\n\\n.fadeOutUpBig {\\n  -webkit-animation-name: fadeOutUpBig;\\n  animation-name: fadeOutUpBig; }\\n\\n@-webkit-keyframes flip {\\n  from {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n    -webkit-animation-timing-function: ease-out;\\n    animation-timing-function: ease-out; }\\n  40% {\\n    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n    -webkit-animation-timing-function: ease-out;\\n    animation-timing-function: ease-out; }\\n  50% {\\n    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  80% {\\n    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);\\n    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  to {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; } }\\n\\n@keyframes flip {\\n  from {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\\n    -webkit-animation-timing-function: ease-out;\\n    animation-timing-function: ease-out; }\\n  40% {\\n    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\\n    -webkit-animation-timing-function: ease-out;\\n    animation-timing-function: ease-out; }\\n  50% {\\n    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  80% {\\n    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);\\n    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  to {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; } }\\n\\n.animated.flip {\\n  -webkit-backface-visibility: visible;\\n  backface-visibility: visible;\\n  -webkit-animation-name: flip;\\n  animation-name: flip; }\\n\\n@-webkit-keyframes flipInX {\\n  from {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in;\\n    opacity: 0; }\\n  40% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  60% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\\n    opacity: 1; }\\n  80% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }\\n  to {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); } }\\n\\n@keyframes flipInX {\\n  from {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in;\\n    opacity: 0; }\\n  40% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  60% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\\n    opacity: 1; }\\n  80% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }\\n  to {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); } }\\n\\n.flipInX {\\n  -webkit-backface-visibility: visible !important;\\n  backface-visibility: visible !important;\\n  -webkit-animation-name: flipInX;\\n  animation-name: flipInX; }\\n\\n@-webkit-keyframes flipInY {\\n  from {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in;\\n    opacity: 0; }\\n  40% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  60% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\\n    opacity: 1; }\\n  80% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }\\n  to {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); } }\\n\\n@keyframes flipInY {\\n  from {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in;\\n    opacity: 0; }\\n  40% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\\n    -webkit-animation-timing-function: ease-in;\\n    animation-timing-function: ease-in; }\\n  60% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\\n    opacity: 1; }\\n  80% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }\\n  to {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); } }\\n\\n.flipInY {\\n  -webkit-backface-visibility: visible !important;\\n  backface-visibility: visible !important;\\n  -webkit-animation-name: flipInY;\\n  animation-name: flipInY; }\\n\\n@-webkit-keyframes flipOutX {\\n  from {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); }\\n  30% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    opacity: 0; } }\\n\\n@keyframes flipOutX {\\n  from {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); }\\n  30% {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\\n    opacity: 0; } }\\n\\n.flipOutX {\\n  -webkit-animation-name: flipOutX;\\n  animation-name: flipOutX;\\n  -webkit-backface-visibility: visible !important;\\n  backface-visibility: visible !important; }\\n\\n@-webkit-keyframes flipOutY {\\n  from {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); }\\n  30% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    opacity: 0; } }\\n\\n@keyframes flipOutY {\\n  from {\\n    -webkit-transform: perspective(400px);\\n    transform: perspective(400px); }\\n  30% {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    opacity: 0; } }\\n\\n.flipOutY {\\n  -webkit-backface-visibility: visible !important;\\n  backface-visibility: visible !important;\\n  -webkit-animation-name: flipOutY;\\n  animation-name: flipOutY; }\\n\\n@-webkit-keyframes lightSpeedIn {\\n  from {\\n    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\\n    transform: translate3d(100%, 0, 0) skewX(-30deg);\\n    opacity: 0; }\\n  60% {\\n    -webkit-transform: skewX(20deg);\\n    transform: skewX(20deg);\\n    opacity: 1; }\\n  80% {\\n    -webkit-transform: skewX(-5deg);\\n    transform: skewX(-5deg);\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n@keyframes lightSpeedIn {\\n  from {\\n    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\\n    transform: translate3d(100%, 0, 0) skewX(-30deg);\\n    opacity: 0; }\\n  60% {\\n    -webkit-transform: skewX(20deg);\\n    transform: skewX(20deg);\\n    opacity: 1; }\\n  80% {\\n    -webkit-transform: skewX(-5deg);\\n    transform: skewX(-5deg);\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n.lightSpeedIn {\\n  -webkit-animation-name: lightSpeedIn;\\n  animation-name: lightSpeedIn;\\n  -webkit-animation-timing-function: ease-out;\\n  animation-timing-function: ease-out; }\\n\\n@-webkit-keyframes lightSpeedOut {\\n  from {\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\\n    transform: translate3d(100%, 0, 0) skewX(30deg);\\n    opacity: 0; } }\\n\\n@keyframes lightSpeedOut {\\n  from {\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\\n    transform: translate3d(100%, 0, 0) skewX(30deg);\\n    opacity: 0; } }\\n\\n.lightSpeedOut {\\n  -webkit-animation-name: lightSpeedOut;\\n  animation-name: lightSpeedOut;\\n  -webkit-animation-timing-function: ease-in;\\n  animation-timing-function: ease-in; }\\n\\n@-webkit-keyframes rotateIn {\\n  from {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    -webkit-transform: rotate3d(0, 0, 1, -200deg);\\n    transform: rotate3d(0, 0, 1, -200deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n@keyframes rotateIn {\\n  from {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    -webkit-transform: rotate3d(0, 0, 1, -200deg);\\n    transform: rotate3d(0, 0, 1, -200deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n.rotateIn {\\n  -webkit-animation-name: rotateIn;\\n  animation-name: rotateIn; }\\n\\n@-webkit-keyframes rotateInDownLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -45deg);\\n    transform: rotate3d(0, 0, 1, -45deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n@keyframes rotateInDownLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -45deg);\\n    transform: rotate3d(0, 0, 1, -45deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n.rotateInDownLeft {\\n  -webkit-animation-name: rotateInDownLeft;\\n  animation-name: rotateInDownLeft; }\\n\\n@-webkit-keyframes rotateInDownRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 45deg);\\n    transform: rotate3d(0, 0, 1, 45deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n@keyframes rotateInDownRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 45deg);\\n    transform: rotate3d(0, 0, 1, 45deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n.rotateInDownRight {\\n  -webkit-animation-name: rotateInDownRight;\\n  animation-name: rotateInDownRight; }\\n\\n@-webkit-keyframes rotateInUpLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 45deg);\\n    transform: rotate3d(0, 0, 1, 45deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n@keyframes rotateInUpLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 45deg);\\n    transform: rotate3d(0, 0, 1, 45deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n.rotateInUpLeft {\\n  -webkit-animation-name: rotateInUpLeft;\\n  animation-name: rotateInUpLeft; }\\n\\n@-webkit-keyframes rotateInUpRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -90deg);\\n    transform: rotate3d(0, 0, 1, -90deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n@keyframes rotateInUpRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -90deg);\\n    transform: rotate3d(0, 0, 1, -90deg);\\n    opacity: 0; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: none;\\n    transform: none;\\n    opacity: 1; } }\\n\\n.rotateInUpRight {\\n  -webkit-animation-name: rotateInUpRight;\\n  animation-name: rotateInUpRight; }\\n\\n@-webkit-keyframes rotateOut {\\n  from {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    -webkit-transform: rotate3d(0, 0, 1, 200deg);\\n    transform: rotate3d(0, 0, 1, 200deg);\\n    opacity: 0; } }\\n\\n@keyframes rotateOut {\\n  from {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: center;\\n    transform-origin: center;\\n    -webkit-transform: rotate3d(0, 0, 1, 200deg);\\n    transform: rotate3d(0, 0, 1, 200deg);\\n    opacity: 0; } }\\n\\n.rotateOut {\\n  -webkit-animation-name: rotateOut;\\n  animation-name: rotateOut; }\\n\\n@-webkit-keyframes rotateOutDownLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 45deg);\\n    transform: rotate3d(0, 0, 1, 45deg);\\n    opacity: 0; } }\\n\\n@keyframes rotateOutDownLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 45deg);\\n    transform: rotate3d(0, 0, 1, 45deg);\\n    opacity: 0; } }\\n\\n.rotateOutDownLeft {\\n  -webkit-animation-name: rotateOutDownLeft;\\n  animation-name: rotateOutDownLeft; }\\n\\n@-webkit-keyframes rotateOutDownRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -45deg);\\n    transform: rotate3d(0, 0, 1, -45deg);\\n    opacity: 0; } }\\n\\n@keyframes rotateOutDownRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -45deg);\\n    transform: rotate3d(0, 0, 1, -45deg);\\n    opacity: 0; } }\\n\\n.rotateOutDownRight {\\n  -webkit-animation-name: rotateOutDownRight;\\n  animation-name: rotateOutDownRight; }\\n\\n@-webkit-keyframes rotateOutUpLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -45deg);\\n    transform: rotate3d(0, 0, 1, -45deg);\\n    opacity: 0; } }\\n\\n@keyframes rotateOutUpLeft {\\n  from {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: left bottom;\\n    transform-origin: left bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, -45deg);\\n    transform: rotate3d(0, 0, 1, -45deg);\\n    opacity: 0; } }\\n\\n.rotateOutUpLeft {\\n  -webkit-animation-name: rotateOutUpLeft;\\n  animation-name: rotateOutUpLeft; }\\n\\n@-webkit-keyframes rotateOutUpRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 90deg);\\n    transform: rotate3d(0, 0, 1, 90deg);\\n    opacity: 0; } }\\n\\n@keyframes rotateOutUpRight {\\n  from {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform-origin: right bottom;\\n    transform-origin: right bottom;\\n    -webkit-transform: rotate3d(0, 0, 1, 90deg);\\n    transform: rotate3d(0, 0, 1, 90deg);\\n    opacity: 0; } }\\n\\n.rotateOutUpRight {\\n  -webkit-animation-name: rotateOutUpRight;\\n  animation-name: rotateOutUpRight; }\\n\\n@-webkit-keyframes hinge {\\n  0% {\\n    -webkit-transform-origin: top left;\\n    transform-origin: top left;\\n    -webkit-animation-timing-function: ease-in-out;\\n    animation-timing-function: ease-in-out; }\\n  20%, 60% {\\n    -webkit-transform: rotate3d(0, 0, 1, 80deg);\\n    transform: rotate3d(0, 0, 1, 80deg);\\n    -webkit-transform-origin: top left;\\n    transform-origin: top left;\\n    -webkit-animation-timing-function: ease-in-out;\\n    animation-timing-function: ease-in-out; }\\n  40%, 80% {\\n    -webkit-transform: rotate3d(0, 0, 1, 60deg);\\n    transform: rotate3d(0, 0, 1, 60deg);\\n    -webkit-transform-origin: top left;\\n    transform-origin: top left;\\n    -webkit-animation-timing-function: ease-in-out;\\n    animation-timing-function: ease-in-out;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: translate3d(0, 700px, 0);\\n    transform: translate3d(0, 700px, 0);\\n    opacity: 0; } }\\n\\n@keyframes hinge {\\n  0% {\\n    -webkit-transform-origin: top left;\\n    transform-origin: top left;\\n    -webkit-animation-timing-function: ease-in-out;\\n    animation-timing-function: ease-in-out; }\\n  20%, 60% {\\n    -webkit-transform: rotate3d(0, 0, 1, 80deg);\\n    transform: rotate3d(0, 0, 1, 80deg);\\n    -webkit-transform-origin: top left;\\n    transform-origin: top left;\\n    -webkit-animation-timing-function: ease-in-out;\\n    animation-timing-function: ease-in-out; }\\n  40%, 80% {\\n    -webkit-transform: rotate3d(0, 0, 1, 60deg);\\n    transform: rotate3d(0, 0, 1, 60deg);\\n    -webkit-transform-origin: top left;\\n    transform-origin: top left;\\n    -webkit-animation-timing-function: ease-in-out;\\n    animation-timing-function: ease-in-out;\\n    opacity: 1; }\\n  to {\\n    -webkit-transform: translate3d(0, 700px, 0);\\n    transform: translate3d(0, 700px, 0);\\n    opacity: 0; } }\\n\\n.hinge {\\n  -webkit-animation-name: hinge;\\n  animation-name: hinge; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes rollIn {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\\n    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n@keyframes rollIn {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\\n    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }\\n  to {\\n    opacity: 1;\\n    -webkit-transform: none;\\n    transform: none; } }\\n\\n.rollIn {\\n  -webkit-animation-name: rollIn;\\n  animation-name: rollIn; }\\n\\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\\n@-webkit-keyframes rollOut {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\\n    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }\\n\\n@keyframes rollOut {\\n  from {\\n    opacity: 1; }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\\n    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }\\n\\n.rollOut {\\n  -webkit-animation-name: rollOut;\\n  animation-name: rollOut; }\\n\\n@-webkit-keyframes zoomIn {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); }\\n  50% {\\n    opacity: 1; } }\\n\\n@keyframes zoomIn {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); }\\n  50% {\\n    opacity: 1; } }\\n\\n.zoomIn {\\n  -webkit-animation-name: zoomIn;\\n  animation-name: zoomIn; }\\n\\n@-webkit-keyframes zoomInDown {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInDown {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInDown {\\n  -webkit-animation-name: zoomInDown;\\n  animation-name: zoomInDown; }\\n\\n@-webkit-keyframes zoomInLeft {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInLeft {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInLeft {\\n  -webkit-animation-name: zoomInLeft;\\n  animation-name: zoomInLeft; }\\n\\n@-webkit-keyframes zoomInRight {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInRight {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInRight {\\n  -webkit-animation-name: zoomInRight;\\n  animation-name: zoomInRight; }\\n\\n@-webkit-keyframes zoomInUp {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomInUp {\\n  from {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  60% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomInUp {\\n  -webkit-animation-name: zoomInUp;\\n  animation-name: zoomInUp; }\\n\\n@-webkit-keyframes zoomOut {\\n  from {\\n    opacity: 1; }\\n  50% {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); }\\n  to {\\n    opacity: 0; } }\\n\\n@keyframes zoomOut {\\n  from {\\n    opacity: 1; }\\n  50% {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\\n    transform: scale3d(0.3, 0.3, 0.3); }\\n  to {\\n    opacity: 0; } }\\n\\n.zoomOut {\\n  -webkit-animation-name: zoomOut;\\n  animation-name: zoomOut; }\\n\\n@-webkit-keyframes zoomOutDown {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\\n    -webkit-transform-origin: center bottom;\\n    transform-origin: center bottom;\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomOutDown {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);\\n    -webkit-transform-origin: center bottom;\\n    transform-origin: center bottom;\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomOutDown {\\n  -webkit-animation-name: zoomOutDown;\\n  animation-name: zoomOutDown; }\\n\\n@-webkit-keyframes zoomOutLeft {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);\\n    transform: scale(0.1) translate3d(-2000px, 0, 0);\\n    -webkit-transform-origin: left center;\\n    transform-origin: left center; } }\\n\\n@keyframes zoomOutLeft {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);\\n    transform: scale(0.1) translate3d(-2000px, 0, 0);\\n    -webkit-transform-origin: left center;\\n    transform-origin: left center; } }\\n\\n.zoomOutLeft {\\n  -webkit-animation-name: zoomOutLeft;\\n  animation-name: zoomOutLeft; }\\n\\n@-webkit-keyframes zoomOutRight {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);\\n    transform: scale(0.1) translate3d(2000px, 0, 0);\\n    -webkit-transform-origin: right center;\\n    transform-origin: right center; } }\\n\\n@keyframes zoomOutRight {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);\\n    transform: scale(0.1) translate3d(2000px, 0, 0);\\n    -webkit-transform-origin: right center;\\n    transform-origin: right center; } }\\n\\n.zoomOutRight {\\n  -webkit-animation-name: zoomOutRight;\\n  animation-name: zoomOutRight; }\\n\\n@-webkit-keyframes zoomOutUp {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\\n    -webkit-transform-origin: center bottom;\\n    transform-origin: center bottom;\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n@keyframes zoomOutUp {\\n  40% {\\n    opacity: 1;\\n    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);\\n    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\\n    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\\n  to {\\n    opacity: 0;\\n    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\\n    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);\\n    -webkit-transform-origin: center bottom;\\n    transform-origin: center bottom;\\n    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);\\n    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }\\n\\n.zoomOutUp {\\n  -webkit-animation-name: zoomOutUp;\\n  animation-name: zoomOutUp; }\\n\\n@-webkit-keyframes slideInDown {\\n  from {\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInDown {\\n  from {\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n.slideInDown {\\n  -webkit-animation-name: slideInDown;\\n  animation-name: slideInDown; }\\n\\n@-webkit-keyframes slideInLeft {\\n  from {\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInLeft {\\n  from {\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n.slideInLeft {\\n  -webkit-animation-name: slideInLeft;\\n  animation-name: slideInLeft; }\\n\\n@-webkit-keyframes slideInRight {\\n  from {\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInRight {\\n  from {\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n.slideInRight {\\n  -webkit-animation-name: slideInRight;\\n  animation-name: slideInRight; }\\n\\n@-webkit-keyframes slideInUp {\\n  from {\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n@keyframes slideInUp {\\n  from {\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0);\\n    visibility: visible; }\\n  to {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); } }\\n\\n.slideInUp {\\n  -webkit-animation-name: slideInUp;\\n  animation-name: slideInUp; }\\n\\n@-webkit-keyframes slideOutDown {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0); } }\\n\\n@keyframes slideOutDown {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(0, 100%, 0);\\n    transform: translate3d(0, 100%, 0); } }\\n\\n.slideOutDown {\\n  -webkit-animation-name: slideOutDown;\\n  animation-name: slideOutDown; }\\n\\n@-webkit-keyframes slideOutLeft {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0); } }\\n\\n@keyframes slideOutLeft {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(-100%, 0, 0);\\n    transform: translate3d(-100%, 0, 0); } }\\n\\n.slideOutLeft {\\n  -webkit-animation-name: slideOutLeft;\\n  animation-name: slideOutLeft; }\\n\\n@-webkit-keyframes slideOutRight {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0); } }\\n\\n@keyframes slideOutRight {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(100%, 0, 0);\\n    transform: translate3d(100%, 0, 0); } }\\n\\n.slideOutRight {\\n  -webkit-animation-name: slideOutRight;\\n  animation-name: slideOutRight; }\\n\\n@-webkit-keyframes slideOutUp {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0); } }\\n\\n@keyframes slideOutUp {\\n  from {\\n    -webkit-transform: translate3d(0, 0, 0);\\n    transform: translate3d(0, 0, 0); }\\n  to {\\n    visibility: hidden;\\n    -webkit-transform: translate3d(0, -100%, 0);\\n    transform: translate3d(0, -100%, 0); } }\\n\\n.slideOutUp {\\n  -webkit-animation-name: slideOutUp;\\n  animation-name: slideOutUp; }\\n\\n.abc-checkbox {\\n  cursor: default;\\n  padding-left: 4px; }\\n  .abc-checkbox label {\\n    cursor: pointer;\\n    display: inline;\\n    vertical-align: top;\\n    position: relative;\\n    padding-left: 5px; }\\n    .abc-checkbox label::before {\\n      cursor: pointer;\\n      content: \\\"\\\";\\n      display: inline-block;\\n      position: absolute;\\n      width: 17px;\\n      height: 17px;\\n      top: 2px;\\n      left: 0;\\n      margin-left: -20px;\\n      border: 1px solid rgba(0, 0, 0, 0.15);\\n      border-radius: 3px;\\n      background-color: #fff;\\n      transition: border 0.15s ease-in-out, color 0.15s ease-in-out; }\\n    .abc-checkbox label::after {\\n      cursor: pointer;\\n      display: inline-block;\\n      position: absolute;\\n      width: 16px;\\n      height: 16px;\\n      left: 0;\\n      top: 2px;\\n      margin-left: -20px;\\n      padding-left: 3px;\\n      padding-top: 1px;\\n      font-size: 11px;\\n      color: #555555; }\\n  .abc-checkbox input[type=\\\"checkbox\\\"],\\n  .abc-checkbox input[type=\\\"radio\\\"] {\\n    cursor: pointer;\\n    opacity: 0;\\n    z-index: 1; }\\n    .abc-checkbox input[type=\\\"checkbox\\\"]:focus + label::before,\\n    .abc-checkbox input[type=\\\"radio\\\"]:focus + label::before {\\n      outline: thin dotted;\\n      outline: 5px auto -webkit-focus-ring-color;\\n      outline-offset: -2px; }\\n    .abc-checkbox input[type=\\\"checkbox\\\"]:checked + label::after,\\n    .abc-checkbox input[type=\\\"radio\\\"]:checked + label::after {\\n      font-family: \\\"FontAwesome\\\";\\n      content: \\\"\\\"; }\\n    .abc-checkbox input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\n    .abc-checkbox input[type=\\\"radio\\\"]:indeterminate + label::after {\\n      display: block;\\n      content: \\\"\\\";\\n      width: 10px;\\n      height: 3px;\\n      background-color: #555555;\\n      border-radius: 2px;\\n      margin-left: -16.5px;\\n      margin-top: 7px; }\\n    .abc-checkbox input[type=\\\"checkbox\\\"]:disabled + label,\\n    .abc-checkbox input[type=\\\"radio\\\"]:disabled + label {\\n      opacity: 0.65; }\\n      .abc-checkbox input[type=\\\"checkbox\\\"]:disabled + label::before,\\n      .abc-checkbox input[type=\\\"radio\\\"]:disabled + label::before {\\n        background-color: #eeeeee;\\n        cursor: not-allowed; }\\n      .abc-checkbox input[type=\\\"checkbox\\\"]:disabled + label::after,\\n      .abc-checkbox input[type=\\\"radio\\\"]:disabled + label::after {\\n        cursor: not-allowed; }\\n  .abc-checkbox.abc-checkbox-circle label::before {\\n    border-radius: 50%; }\\n  .abc-checkbox.checkbox-inline {\\n    margin-top: 0; }\\n\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:checked + label::before,\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:checked + label::before {\\n  background-color: #5d8fc2;\\n  border-color: #5d8fc2; }\\n\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:checked + label::after,\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:checked + label::after {\\n  color: #fff; }\\n\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:checked + label::before,\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:checked + label::before {\\n  background-color: #dd5826;\\n  border-color: #dd5826; }\\n\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:checked + label::after,\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:checked + label::after {\\n  color: #fff; }\\n\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:checked + label::before,\\n.abc-checkbox-info input[type=\\\"radio\\\"]:checked + label::before {\\n  background-color: #5dc4bf;\\n  border-color: #5dc4bf; }\\n\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:checked + label::after,\\n.abc-checkbox-info input[type=\\\"radio\\\"]:checked + label::after {\\n  color: #fff; }\\n\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:checked + label::before,\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:checked + label::before {\\n  background-color: #f0b518;\\n  border-color: #f0b518; }\\n\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:checked + label::after,\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:checked + label::after {\\n  color: #fff; }\\n\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:checked + label::before,\\n.abc-checkbox-success input[type=\\\"radio\\\"]:checked + label::before {\\n  background-color: #64bd63;\\n  border-color: #64bd63; }\\n\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:checked + label::after,\\n.abc-checkbox-success input[type=\\\"radio\\\"]:checked + label::after {\\n  color: #fff; }\\n\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:indeterminate + label::before {\\n  background-color: #5d8fc2;\\n  border-color: #5d8fc2; }\\n\\n.abc-checkbox-primary input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\n.abc-checkbox-primary input[type=\\\"radio\\\"]:indeterminate + label::after {\\n  background-color: #fff; }\\n\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:indeterminate + label::before {\\n  background-color: #dd5826;\\n  border-color: #dd5826; }\\n\\n.abc-checkbox-danger input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\n.abc-checkbox-danger input[type=\\\"radio\\\"]:indeterminate + label::after {\\n  background-color: #fff; }\\n\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\n.abc-checkbox-info input[type=\\\"radio\\\"]:indeterminate + label::before {\\n  background-color: #5dc4bf;\\n  border-color: #5dc4bf; }\\n\\n.abc-checkbox-info input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\n.abc-checkbox-info input[type=\\\"radio\\\"]:indeterminate + label::after {\\n  background-color: #fff; }\\n\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:indeterminate + label::before {\\n  background-color: #f0b518;\\n  border-color: #f0b518; }\\n\\n.abc-checkbox-warning input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\n.abc-checkbox-warning input[type=\\\"radio\\\"]:indeterminate + label::after {\\n  background-color: #fff; }\\n\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:indeterminate + label::before,\\n.abc-checkbox-success input[type=\\\"radio\\\"]:indeterminate + label::before {\\n  background-color: #64bd63;\\n  border-color: #64bd63; }\\n\\n.abc-checkbox-success input[type=\\\"checkbox\\\"]:indeterminate + label::after,\\n.abc-checkbox-success input[type=\\\"radio\\\"]:indeterminate + label::after {\\n  background-color: #fff; }\\n\\n.abc-radio {\\n  cursor: default;\\n  padding-left: 4px; }\\n  .abc-radio label {\\n    cursor: pointer;\\n    display: inline;\\n    vertical-align: top;\\n    position: relative;\\n    padding-left: 5px; }\\n    .abc-radio label::before {\\n      cursor: pointer;\\n      content: \\\"\\\";\\n      display: inline-block;\\n      position: absolute;\\n      width: 17px;\\n      height: 17px;\\n      top: 2px;\\n      left: 0;\\n      margin-left: -20px;\\n      border: 1px solid rgba(0, 0, 0, 0.15);\\n      border-radius: 50%;\\n      background-color: #fff;\\n      transition: border 0.15s ease-in-out; }\\n    .abc-radio label::after {\\n      cursor: pointer;\\n      display: inline-block;\\n      position: absolute;\\n      content: \\\" \\\";\\n      width: 11px;\\n      height: 11px;\\n      left: 3px;\\n      top: 5px;\\n      margin-left: -20px;\\n      border-radius: 50%;\\n      background-color: #555555;\\n      transform: scale(0, 0);\\n      transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }\\n  .abc-radio input[type=\\\"radio\\\"] {\\n    cursor: pointer;\\n    opacity: 0;\\n    z-index: 1; }\\n    .abc-radio input[type=\\\"radio\\\"]:focus + label::before {\\n      outline: thin dotted;\\n      outline: 5px auto -webkit-focus-ring-color;\\n      outline-offset: -2px; }\\n    .abc-radio input[type=\\\"radio\\\"]:checked + label::after {\\n      transform: scale(1, 1); }\\n    .abc-radio input[type=\\\"radio\\\"]:disabled + label {\\n      opacity: 0.65; }\\n      .abc-radio input[type=\\\"radio\\\"]:disabled + label::before {\\n        cursor: not-allowed; }\\n      .abc-radio input[type=\\\"radio\\\"]:disabled + label::after {\\n        cursor: not-allowed; }\\n  .abc-radio.radio-inline {\\n    margin-top: 0; }\\n\\n.abc-radio-primary input[type=\\\"radio\\\"] + label::after {\\n  background-color: #5d8fc2; }\\n\\n.abc-radio-primary input[type=\\\"radio\\\"]:checked + label::before {\\n  border-color: #5d8fc2; }\\n\\n.abc-radio-primary input[type=\\\"radio\\\"]:checked + label::after {\\n  background-color: #5d8fc2; }\\n\\n.abc-radio-danger input[type=\\\"radio\\\"] + label::after {\\n  background-color: #dd5826; }\\n\\n.abc-radio-danger input[type=\\\"radio\\\"]:checked + label::before {\\n  border-color: #dd5826; }\\n\\n.abc-radio-danger input[type=\\\"radio\\\"]:checked + label::after {\\n  background-color: #dd5826; }\\n\\n.abc-radio-info input[type=\\\"radio\\\"] + label::after {\\n  background-color: #5dc4bf; }\\n\\n.abc-radio-info input[type=\\\"radio\\\"]:checked + label::before {\\n  border-color: #5dc4bf; }\\n\\n.abc-radio-info input[type=\\\"radio\\\"]:checked + label::after {\\n  background-color: #5dc4bf; }\\n\\n.abc-radio-warning input[type=\\\"radio\\\"] + label::after {\\n  background-color: #f0b518; }\\n\\n.abc-radio-warning input[type=\\\"radio\\\"]:checked + label::before {\\n  border-color: #f0b518; }\\n\\n.abc-radio-warning input[type=\\\"radio\\\"]:checked + label::after {\\n  background-color: #f0b518; }\\n\\n.abc-radio-success input[type=\\\"radio\\\"] + label::after {\\n  background-color: #64bd63; }\\n\\n.abc-radio-success input[type=\\\"radio\\\"]:checked + label::before {\\n  border-color: #64bd63; }\\n\\n.abc-radio-success input[type=\\\"radio\\\"]:checked + label::after {\\n  background-color: #64bd63; }\\n\\ninput[type=\\\"checkbox\\\"].styled:checked + label:after,\\ninput[type=\\\"radio\\\"].styled:checked + label:after {\\n  font-family: \\\"FontAwesome\\\";\\n  content: \\\"\\\"; }\\n\\ninput[type=\\\"checkbox\\\"] .styled:checked + label::before,\\ninput[type=\\\"radio\\\"] .styled:checked + label::before {\\n  color: #fff; }\\n\\ninput[type=\\\"checkbox\\\"] .styled:checked + label::after,\\ninput[type=\\\"radio\\\"] .styled:checked + label::after {\\n  color: #fff; }\\n\\n.has-danger .abc-checkbox label:before, .has-danger .abc-radio label:before {\\n  border-color: #dd5826; }\\n\\n/*!\\r\\n * Bootstrap-select v1.11.2 (http://silviomoreto.github.io/bootstrap-select)\\r\\n *\\r\\n * Copyright 2013-2016 bootstrap-select\\r\\n * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)\\r\\n */\\nselect.bs-select-hidden,\\nselect.selectpicker {\\n  display: none !important; }\\n\\n.bootstrap-select {\\n  width: 220px \\\\0;\\n  /*IE9 and below*/ }\\n\\n.bootstrap-select > .dropdown-toggle {\\n  width: 100%;\\n  padding-right: 25px;\\n  z-index: 1; }\\n\\n.bootstrap-select > .dropdown-toggle.bs-placeholder,\\n.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,\\n.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,\\n.bootstrap-select > .dropdown-toggle.bs-placeholder:active {\\n  color: #999; }\\n\\n.bootstrap-select > select {\\n  position: absolute !important;\\n  bottom: 0;\\n  left: 50%;\\n  display: block !important;\\n  width: 0.5px !important;\\n  height: 100% !important;\\n  padding: 0 !important;\\n  opacity: 0 !important;\\n  border: none; }\\n\\n.bootstrap-select > select.mobile-device {\\n  top: 0;\\n  left: 0;\\n  display: block !important;\\n  width: 100% !important;\\n  z-index: 2; }\\n\\n.has-error .bootstrap-select .dropdown-toggle,\\n.error .bootstrap-select .dropdown-toggle {\\n  border-color: #b94a48; }\\n\\n.bootstrap-select.fit-width {\\n  width: auto !important; }\\n\\n.bootstrap-select:not([class*=\\\"col-\\\"]):not([class*=\\\"form-control\\\"]):not(.input-group-btn) {\\n  width: 220px; }\\n\\n.bootstrap-select .dropdown-toggle:focus {\\n  outline: thin dotted #333333 !important;\\n  outline: 5px auto -webkit-focus-ring-color !important;\\n  outline-offset: -2px; }\\n\\n.bootstrap-select.form-control {\\n  margin-bottom: 0;\\n  padding: 0;\\n  border: none; }\\n\\n.bootstrap-select.form-control:not([class*=\\\"col-\\\"]) {\\n  width: 100%; }\\n\\n.bootstrap-select.form-control.input-group-btn {\\n  z-index: auto; }\\n\\n.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn {\\n  border-radius: 0; }\\n\\n.bootstrap-select.btn-group:not(.input-group-btn),\\n.bootstrap-select.btn-group[class*=\\\"col-\\\"] {\\n  float: none;\\n  display: inline-block;\\n  margin-left: 0; }\\n\\n.bootstrap-select.btn-group.dropdown-menu-right,\\n.bootstrap-select.btn-group[class*=\\\"col-\\\"].dropdown-menu-right,\\n.row .bootstrap-select.btn-group[class*=\\\"col-\\\"].dropdown-menu-right {\\n  float: right; }\\n\\n.form-inline .bootstrap-select.btn-group,\\n.form-horizontal .bootstrap-select.btn-group,\\n.form-group .bootstrap-select.btn-group {\\n  margin-bottom: 0; }\\n\\n.form-group-lg .bootstrap-select.btn-group.form-control,\\n.form-group-sm .bootstrap-select.btn-group.form-control {\\n  padding: 0; }\\n\\n.form-inline .bootstrap-select.btn-group .form-control {\\n  width: 100%; }\\n\\n.bootstrap-select.btn-group.disabled,\\n.bootstrap-select.btn-group > .disabled {\\n  cursor: not-allowed; }\\n\\n.bootstrap-select.btn-group.disabled:focus,\\n.bootstrap-select.btn-group > .disabled:focus {\\n  outline: none !important; }\\n\\n.bootstrap-select.btn-group.bs-container {\\n  position: absolute;\\n  height: 0 !important;\\n  padding: 0 !important; }\\n\\n.bootstrap-select.btn-group.bs-container .dropdown-menu {\\n  z-index: 1060; }\\n\\n.bootstrap-select.btn-group .dropdown-toggle .filter-option {\\n  display: inline-block;\\n  overflow: hidden;\\n  width: 100%;\\n  text-align: left; }\\n\\n.bootstrap-select.btn-group .dropdown-toggle .caret {\\n  position: absolute;\\n  top: 50%;\\n  right: 12px;\\n  margin-top: -2px;\\n  vertical-align: middle; }\\n\\n.bootstrap-select.btn-group[class*=\\\"col-\\\"] .dropdown-toggle {\\n  width: 100%; }\\n\\n.bootstrap-select.btn-group .dropdown-menu {\\n  min-width: 100%;\\n  -webkit-box-sizing: border-box;\\n  -moz-box-sizing: border-box;\\n  box-sizing: border-box; }\\n\\n.bootstrap-select.btn-group .dropdown-menu.inner {\\n  position: static;\\n  float: none;\\n  border: 0;\\n  padding: 0;\\n  margin: 0;\\n  border-radius: 0;\\n  -webkit-box-shadow: none;\\n  box-shadow: none; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li {\\n  position: relative; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li.active small {\\n  color: #fff; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li.disabled a {\\n  cursor: not-allowed; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li a {\\n  cursor: pointer;\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n  -ms-user-select: none;\\n  user-select: none; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li a.opt {\\n  position: relative;\\n  padding-left: 2.25em; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {\\n  display: none; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li a span.text {\\n  display: inline-block; }\\n\\n.bootstrap-select.btn-group .dropdown-menu li small {\\n  padding-left: 0.5em; }\\n\\n.bootstrap-select.btn-group .dropdown-menu .notify {\\n  position: absolute;\\n  bottom: 5px;\\n  width: 96%;\\n  margin: 0 2%;\\n  min-height: 26px;\\n  padding: 3px 5px;\\n  background: #f5f5f5;\\n  border: 1px solid #e3e3e3;\\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\\n  pointer-events: none;\\n  opacity: 0.9;\\n  -webkit-box-sizing: border-box;\\n  -moz-box-sizing: border-box;\\n  box-sizing: border-box; }\\n\\n.bootstrap-select.btn-group .no-results {\\n  padding: 3px;\\n  background: #f5f5f5;\\n  margin: 0 5px;\\n  white-space: nowrap; }\\n\\n.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option {\\n  position: static; }\\n\\n.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret {\\n  position: static;\\n  top: auto;\\n  margin-top: -1px; }\\n\\n.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {\\n  position: absolute;\\n  display: inline-block;\\n  right: 15px;\\n  margin-top: 5px; }\\n\\n.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {\\n  margin-right: 34px; }\\n\\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle {\\n  z-index: 1061; }\\n\\n.bootstrap-select.show-menu-arrow .dropdown-toggle:before {\\n  content: '';\\n  border-left: 7px solid transparent;\\n  border-right: 7px solid transparent;\\n  border-bottom: 7px solid rgba(204, 204, 204, 0.2);\\n  position: absolute;\\n  bottom: -4px;\\n  left: 9px;\\n  display: none; }\\n\\n.bootstrap-select.show-menu-arrow .dropdown-toggle:after {\\n  content: '';\\n  border-left: 6px solid transparent;\\n  border-right: 6px solid transparent;\\n  border-bottom: 6px solid white;\\n  position: absolute;\\n  bottom: -4px;\\n  left: 10px;\\n  display: none; }\\n\\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {\\n  bottom: auto;\\n  top: -3px;\\n  border-top: 7px solid rgba(204, 204, 204, 0.2);\\n  border-bottom: 0; }\\n\\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {\\n  bottom: auto;\\n  top: -3px;\\n  border-top: 6px solid white;\\n  border-bottom: 0; }\\n\\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {\\n  right: 12px;\\n  left: auto; }\\n\\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {\\n  right: 13px;\\n  left: auto; }\\n\\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,\\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {\\n  display: block; }\\n\\n.bs-searchbox,\\n.bs-actionsbox,\\n.bs-donebutton {\\n  padding: 4px 8px; }\\n\\n.bs-actionsbox {\\n  width: 100%;\\n  -webkit-box-sizing: border-box;\\n  -moz-box-sizing: border-box;\\n  box-sizing: border-box; }\\n\\n.bs-actionsbox .btn-group button {\\n  width: 50%; }\\n\\n.bs-donebutton {\\n  float: left;\\n  width: 100%;\\n  -webkit-box-sizing: border-box;\\n  -moz-box-sizing: border-box;\\n  box-sizing: border-box; }\\n\\n.bs-donebutton .btn-group button {\\n  width: 100%; }\\n\\n.bs-searchbox + .bs-actionsbox {\\n  padding: 0 8px 4px; }\\n\\n.bs-searchbox .form-control {\\n  margin-bottom: 0;\\n  width: 100%;\\n  float: none; }\\n\\n/*# sourceMappingURL=bootstrap-select.css.map */\\n.blockquote-sm {\\n  padding: 3px 15px;\\n  font-size: 1rem; }\\n\\nblockquote {\\n  font-size: 1.25rem; }\\n  blockquote footer {\\n    font-size: 80%; }\\n    blockquote footer:after {\\n      content: '\\\\00A0 \\\\2014'; }\\n\\nh1 small,\\nh1 .small, h2 small,\\nh2 .small, h3 small,\\nh3 .small, h4 small,\\nh4 .small, h5 small,\\nh5 .small, h6 small,\\nh6 .small,\\n.h1 small,\\n.h1 .small, .h2 small,\\n.h2 .small, .h3 small,\\n.h3 .small, .h4 small,\\n.h4 .small, .h5 small,\\n.h5 .small, .h6 small,\\n.h6 .small {\\n  font-weight: 300;\\n  font-size: 75%;\\n  color: #999999; }\\n\\n.h4, .h5, .h6, h4, h5, h6 {\\n  margin-top: 10px; }\\n\\n.card {\\n  margin-bottom: 1rem;\\n  background-color: transparent;\\n  border: none; }\\n\\n.card-body {\\n  padding: 15px; }\\n  .card-body::after {\\n    display: block;\\n    content: \\\"\\\";\\n    clear: both; }\\n\\n.card-header {\\n  padding: 13px 15px;\\n  border-top-right-radius: 0.25rem;\\n  border-top-left-radius: 0.25rem; }\\n  .card-header > .dropdown .dropdown-toggle {\\n    color: inherit; }\\n  .card-header + .list-group .list-group-item:first-child {\\n    border-top-width: 0; }\\n\\naccordion-group .card-title a.accordion-toggle i {\\n  transform: rotate(180deg);\\n  transition: transform 0.35s ease; }\\n\\naccordion-group.card-open .card-title a.accordion-toggle i {\\n  transform: rotate(0deg);\\n  transition: transform 0.35s ease; }\\n\\n.card-title {\\n  margin-top: 0;\\n  margin-bottom: 0;\\n  font-size: 1rem;\\n  color: inherit; }\\n  .card-title > a,\\n  .card-title > small,\\n  .card-title > .small,\\n  .card-title > small > a,\\n  .card-title > .small > a {\\n    color: inherit;\\n    display: block; }\\n  .card-title > a:focus {\\n    outline: none; }\\n\\nsmall, .small {\\n  font-size: 85%; }\\n\\n.card-group {\\n  margin-bottom: 1rem; }\\n  .card-group .card {\\n    margin-bottom: 0;\\n    border-radius: 0.25rem; }\\n  .card-group accordion-group.card-open .card-title a,\\n  .card-group accordion-group.card-open .card-title a i {\\n    opacity: 1; }\\n  .card-group accordion-group .card-title a,\\n  .card-group accordion-group .card-title a i {\\n    opacity: 0.6; }\\n  .card-group accordion-group .card-title a:hover,\\n  .card-group accordion-group .card-title a:hover i {\\n    opacity: 1; }\\n  .card-group accordion-group + accordion-group .card {\\n    margin-top: 5px; }\\n  .card-group .card-header {\\n    border-bottom: 0; }\\n    .card-group .card-header + .card-collapse > .card-body,\\n    .card-group .card-header + .card-collapse > .list-group {\\n      border-top: 1px solid rgba(0, 0, 0, 0.125); }\\n\\n.card-default {\\n  background-color: #ddd;\\n  border-color: transparent; }\\n  .card-default .card-header,\\n  .card-default .card-footer {\\n    background-color: transparent; }\\n\\n.form-control {\\n  font-family: \\\"Open Sans\\\", sans-serif;\\n  font-weight: 400;\\n  padding: 6px 12px;\\n  box-shadow: none; }\\n  .form-control:focus {\\n    box-shadow: none; }\\n\\n.form-control-lg, .input-group-lg > .form-control,\\n.input-group-lg > .input-group-addon,\\n.input-group-lg > .input-group-btn > .btn {\\n  padding: 10px 16px; }\\n\\n.form-control-sm, .input-group-sm > .form-control,\\n.input-group-sm > .input-group-addon,\\n.input-group-sm > .input-group-btn > .btn {\\n  padding: 5px 10px; }\\n\\n.input-group-btn > .btn {\\n  padding-top: 6px;\\n  padding-bottom: 6px; }\\n\\n.btn-group.bootstrap-select > .btn {\\n  padding-top: 6px;\\n  padding-bottom: 6px; }\\n\\n.btn-lg, .btn-group-lg > .btn, .btn-group-lg > .btn {\\n  padding: 0.75rem 1.5rem !important; }\\n\\nlabel {\\n  font-weight: 400; }\\n\\nlegend {\\n  display: block;\\n  width: 100%;\\n  padding: 0;\\n  margin-bottom: 1rem;\\n  line-height: inherit;\\n  color: #7c7c7c;\\n  border: 0;\\n  border-bottom: 1px solid #e5e5e5;\\n  font-size: 15px;\\n  font-weight: 400; }\\n\\n.form-group {\\n  margin-bottom: 1rem; }\\n  .form-group .input-group-addon {\\n    line-height: inherit; }\\n\\n.input-group-btn {\\n  flex-direction: row; }\\n\\n.input-group-addon.bg-primary {\\n  border-color: #4175ab; }\\n\\n.input-group-addon.bg-success {\\n  border-color: #c4efc4; }\\n\\n.input-group-addon.bg-info {\\n  border-color: #cdecec; }\\n\\n.input-group-addon.bg-warning {\\n  border-color: #fae8b6; }\\n\\n.input-group-addon.bg-danger {\\n  border-color: #ffc9bc; }\\n\\n@media (min-width: 768px) {\\n  .form-horizontal.form-label-left .control-label {\\n    text-align: left; } }\\n\\n.form-inline .input-group-addon {\\n  display: table-cell; }\\n\\n.has-success .form-control-feedback,\\n.has-success .form-control-label,\\n.has-success .col-form-label,\\n.has-success .form-check-label,\\n.has-success .custom-control {\\n  color: #64bd63; }\\n\\n.has-success .form-control {\\n  border-color: #64bd63; }\\n  .has-success .form-control:focus {\\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #abdbab; }\\n\\n.has-success .input-group-addon {\\n  color: #64bd63;\\n  border-color: #64bd63;\\n  background-color: #f2faf2; }\\n\\n.has-warning .form-control-feedback,\\n.has-warning .form-control-label,\\n.has-warning .col-form-label,\\n.has-warning .form-check-label,\\n.has-warning .custom-control {\\n  color: #f0b518; }\\n\\n.has-warning .form-control {\\n  border-color: #f0b518; }\\n  .has-warning .form-control:focus {\\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f6d478; }\\n\\n.has-warning .input-group-addon {\\n  color: #f0b518;\\n  border-color: #f0b518;\\n  background-color: #fcf2d8; }\\n\\n.has-error .form-control-feedback,\\n.has-error .form-control-label,\\n.has-error .col-form-label,\\n.has-error .form-check-label,\\n.has-error .custom-control {\\n  color: #dd5826; }\\n\\n.has-error .form-control {\\n  border-color: #dd5826; }\\n  .has-error .form-control:focus {\\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #eb9c7e; }\\n\\n.has-error .input-group-addon {\\n  color: #dd5826;\\n  border-color: #dd5826;\\n  background-color: #f9e0d6; }\\n\\n.has-success .form-control:focus,\\n.has-warning .form-control:focus,\\n.has-error .form-control:focus {\\n  box-shadow: none; }\\n\\n.input-rounded {\\n  border-radius: 0.25rem; }\\n\\n.form-actions {\\n  margin: 1rem 0 0;\\n  padding: 1rem;\\n  background-color: #f5f5f5; }\\n  .form-horizontal .form-actions .row {\\n    margin-left: -35px;\\n    margin-right: -35px; }\\n\\n.radio input[type=\\\"radio\\\"],\\n.radio-inline input[type=\\\"radio\\\"],\\n.checkbox input[type=\\\"checkbox\\\"],\\n.checkbox-inline input[type=\\\"checkbox\\\"] {\\n  position: absolute;\\n  margin-top: .25rem;\\n  margin-left: -1.25rem; }\\n\\n.radio label,\\n.checkbox label {\\n  margin-bottom: 5px;\\n  min-height: 0; }\\n\\n.table td > .abc-checkbox,\\n.table th > .abc-checkbox {\\n  position: relative;\\n  margin-top: 0;\\n  margin-bottom: 0;\\n  margin-right: -16px;\\n  padding-left: 20px; }\\n\\n.table > thead > tr > th {\\n  border-top: none; }\\n\\n.table > thead > tr > th {\\n  font-weight: 600;\\n  text-transform: uppercase;\\n  border-bottom-width: 1px; }\\n\\n.table-bordered th {\\n  background-color: #eeeeee; }\\n\\n.table-lg > thead > tr > th,\\n.table-lg > thead > tr > td,\\n.table-lg > tbody > tr > th,\\n.table-lg > tbody > tr > td,\\n.table-lg > tfoot > tr > th,\\n.table-lg > tfoot > tr > td {\\n  padding: 10px; }\\n\\n.table-sm > thead > tr > th,\\n.table-sm > thead > tr > td,\\n.table-sm > tbody > tr > th,\\n.table-sm > tbody > tr > td,\\n.table-sm > tfoot > tr > th,\\n.table-sm > tfoot > tr > td {\\n  padding: 6px; }\\n\\n.table-hover > tbody > tr:hover .progress {\\n  background-color: #fff; }\\n\\n.table th, .table td {\\n  padding: 0.55rem; }\\n\\n.dropdown-toggle:after {\\n  content: none; }\\n\\n.dropdown-menu {\\n  font-size: 13px; }\\n  .dropdown-menu > li > a {\\n    padding-top: 5px;\\n    padding-bottom: 5px; }\\n  .dropdown-menu > .card {\\n    margin-top: -5px;\\n    margin-bottom: -5px; }\\n\\n.caret {\\n  display: inline-block;\\n  width: 0;\\n  height: 0;\\n  margin-left: 2px;\\n  vertical-align: middle;\\n  border-top: 4px dashed;\\n  border-top: 4px solid \\\\9;\\n  border-right: 4px solid transparent;\\n  border-left: 4px solid transparent; }\\n\\n.nav-item .nav-link {\\n  position: relative;\\n  cursor: pointer; }\\n\\n.nav-pills .nav-link {\\n  border-radius: 0; }\\n\\n.nav-pills .nav-item + .nav-item {\\n  margin-left: 0; }\\n\\n.nav-tabs {\\n  border-bottom: none;\\n  background-color: #ddd;\\n  border-top-left-radius: 0.25rem;\\n  border-top-right-radius: 0.25rem; }\\n  .nav-tabs .nav-item + .nav-item {\\n    margin-left: 0; }\\n  .nav-tabs > .nav-item {\\n    margin-bottom: -2px; }\\n    .nav-tabs > .nav-item > .nav-link {\\n      padding: 12px 18px;\\n      border: none;\\n      color: #999999;\\n      transition: color 0.15s ease-in-out; }\\n      .nav-tabs > .nav-item > .nav-link .label {\\n        margin-bottom: -2px; }\\n      .nav-tabs > .nav-item > .nav-link:hover {\\n        background-color: transparent;\\n        color: #555555; }\\n    .nav-tabs > .nav-item .nav-link.open, .nav-tabs > .nav-item .nav-link.open:hover, .nav-tabs > .nav-item .nav-link.open:focus {\\n      background-color: #fff;\\n      color: #555555; }\\n    .nav-tabs > .nav-item .nav-link.active, .nav-tabs > .nav-item .nav-link.active:hover, .nav-tabs > .nav-item .nav-link.active:focus {\\n      background-color: #fff;\\n      color: #555555;\\n      border: none;\\n      box-shadow: 1px 1px 2px #ccc; }\\n\\n.tab-content {\\n  position: relative;\\n  z-index: 1;\\n  background-color: #fff; }\\n  .tab-content > .tab-pane {\\n    padding: 2rem 2rem; }\\n\\n.navbar {\\n  border: none;\\n  font-size: 13px;\\n  font-weight: 500;\\n  min-height: 50px;\\n  margin-bottom: 0;\\n  padding: 0; }\\n  .navbar h5 {\\n    font-size: 13px; }\\n  .navbar .deemphasize {\\n    font-size: 0.875rem; }\\n\\n.navbar-form .form-control {\\n  font-size: 13px;\\n  padding: 0.6rem 0.85rem; }\\n\\n.navbar-form .input-group {\\n  width: 245px; }\\n\\n.navbar-form .input-group-addon {\\n  color: #666; }\\n\\n@media (min-width: 768px) {\\n  .container > .navbar-header,\\n  .container > .navbar-collapse,\\n  .container-fluid > .navbar-header,\\n  .container-fluid > .navbar-collapse {\\n    margin-right: -1rem;\\n    margin-left: -1rem; } }\\n\\n.navbar-header > .navbar-nav {\\n  float: left;\\n  margin-left: calc(1rem + 10px);\\n  margin-right: 1rem; }\\n  .navbar-header > .navbar-nav.navbar-right {\\n    float: right; }\\n    @media (max-width: 767px) {\\n      .navbar-header > .navbar-nav.navbar-right > li > a {\\n        padding-right: 0; } }\\n  @media (max-width: 767px) {\\n    .navbar-header > .navbar-nav {\\n      margin-left: 0.5rem; }\\n      .navbar-header > .navbar-nav + .navbar-brand {\\n        height: 60px;\\n        line-height: 30px; } }\\n  .navbar-header > .navbar-nav > li {\\n    float: left; }\\n    .navbar-header > .navbar-nav > li > a {\\n      padding: 16px 0.5rem 1rem 0.5rem; }\\n  .navbar-header > .navbar-nav li:nth-child(3) {\\n    margin-left: 0; }\\n\\n@media (min-width: 768px) {\\n  .navbar-nav.navbar-right:last-child {\\n    margin-right: 0; } }\\n\\n.navbar-collapse {\\n  overflow-x: visible;\\n  padding-right: 1rem;\\n  padding-left: 1rem;\\n  border-top: 1px solid transparent;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); }\\n  .navbar-collapse::after {\\n    display: block;\\n    content: \\\"\\\";\\n    clear: both; }\\n  .navbar-collapse.in {\\n    overflow-y: auto; }\\n  @media (min-width: 768px) {\\n    .navbar-collapse {\\n      width: auto;\\n      border-top: 0;\\n      box-shadow: none; }\\n      .navbar-collapse.collapse {\\n        display: block !important;\\n        height: auto !important;\\n        padding-bottom: 0;\\n        overflow: visible !important; }\\n      .navbar-collapse.in {\\n        overflow-y: visible; }\\n      .navbar-fixed-top .navbar-collapse,\\n      .navbar-static-top .navbar-collapse,\\n      .navbar-fixed-bottom .navbar-collapse {\\n        padding-left: 0;\\n        padding-right: 0; } }\\n  .navbar-collapse .nav.navbar-nav > li {\\n    margin-left: 0; }\\n  .navbar-collapse .nav.navbar-nav > li > a {\\n    padding: 17px 14px 14px 14px; }\\n  .navbar-collapse .nav.navbar-nav > li:first-child .dropdown-toggle .circle {\\n    margin: -1px 0; }\\n  .navbar-collapse .nav.navbar-nav li:nth-child(2) > a:after {\\n    content: none; }\\n  .navbar-collapse .nav.navbar-nav a[data-toggle=\\\"chat-sidebar\\\"] {\\n    position: relative; }\\n\\n.navbar-nav .nav-item .nav-link {\\n  margin-left: 0; }\\n\\n.breadcrumb {\\n  color: #999999;\\n  margin-bottom: 1.5rem; }\\n  .breadcrumb > .active {\\n    font-weight: 600; }\\n  .content .breadcrumb {\\n    padding-top: 0;\\n    padding-bottom: 0; }\\n\\n.btn {\\n  font-family: \\\"Open Sans\\\", sans-serif; }\\n  .btn .glyphicon {\\n    top: 3px; }\\n\\n.btn:not(.active), .btn-inverse:not(.active), .btn-gray:not(.active) {\\n  box-shadow: none !important; }\\n\\n.btn-sm, .btn-group-sm > .btn {\\n  padding-top: .35rem;\\n  padding-bottom: .35rem; }\\n\\n.btn-rounded {\\n  border-radius: 6px; }\\n\\n.btn-gray {\\n  color: #555555;\\n  background-color: #ddd;\\n  border-color: #d0d0d0;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-gray:hover {\\n    color: #555555;\\n    background-color: #c4c4c4;\\n    border-color: #b2b2b2; }\\n  .btn-gray:focus, .btn-gray.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(208, 208, 208, 0.5); }\\n  .btn-gray.disabled, .btn-gray:disabled {\\n    background-color: #ddd;\\n    border-color: #d0d0d0; }\\n  .btn-gray:active, .btn-gray.active,\\n  .show > .btn-gray.dropdown-toggle {\\n    color: #555555;\\n    background-color: #c4c4c4;\\n    background-image: none;\\n    border-color: #b2b2b2;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-outline {\\n  color: #fff;\\n  background-color: transparent;\\n  border-color: #fff;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-outline:hover {\\n    color: #fff;\\n    background-color: transparent;\\n    border-color: #e0e0e0; }\\n  .btn-outline:focus, .btn-outline.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(255, 255, 255, 0.5); }\\n  .btn-outline.disabled, .btn-outline:disabled {\\n    background-color: transparent;\\n    border-color: #fff; }\\n  .btn-outline:active, .btn-outline.active,\\n  .show > .btn-outline.dropdown-toggle {\\n    color: #fff;\\n    background-color: transparent;\\n    background-image: none;\\n    border-color: #e0e0e0;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n  .btn-outline:hover, .btn-outline:focus {\\n    background-color: rgba(255, 255, 255, 0.1); }\\n\\n.btn-link:focus,\\n.btn-link:active:focus,\\n.btn-link.active:focus {\\n  outline: 0; }\\n\\n.input-group > .input-group-btn:last-child > .btn[data-toggle=\\\"dropdown\\\"] {\\n  border-bottom-right-radius: 0.25rem;\\n  border-top-right-radius: 0.25rem; }\\n\\n.btn-group > .btn[data-toggle=\\\"dropdown\\\"][data-original-title][title] {\\n  border-bottom-right-radius: 0.25rem;\\n  border-top-right-radius: 0.25rem; }\\n  .btn-group > .btn[data-toggle=\\\"dropdown\\\"][data-original-title][title]:focus, .btn-group > .btn[data-toggle=\\\"dropdown\\\"][data-original-title][title]:active {\\n    outline: none !important; }\\n\\n.panel {\\n  margin-bottom: 1rem;\\n  background-color: transparent;\\n  border: none; }\\n\\n.panel-body {\\n  padding: 15px; }\\n  .panel-body::after {\\n    display: block;\\n    content: \\\"\\\";\\n    clear: both; }\\n\\n.panel-heading {\\n  padding: 13px 15px;\\n  border-bottom: 1px solid transparent;\\n  border-top-right-radius: 0.25rem;\\n  border-top-left-radius: 0.25rem; }\\n  .panel-heading > .dropdown .dropdown-toggle {\\n    color: inherit; }\\n\\naccordion-group .panel-title a.accordion-toggle i {\\n  transform: rotate(180deg);\\n  transition: transform 0.35s ease; }\\n\\naccordion-group.panel-open .panel-title a.accordion-toggle i {\\n  transform: rotate(0deg);\\n  transition: transform 0.35s ease; }\\n\\n.panel-title {\\n  margin-top: 0;\\n  margin-bottom: 0;\\n  font-size: 1rem;\\n  color: inherit; }\\n  .panel-title > a,\\n  .panel-title > small,\\n  .panel-title > .small,\\n  .panel-title > small > a,\\n  .panel-title > .small > a {\\n    color: inherit;\\n    display: block; }\\n  .panel-title > a:focus {\\n    outline: none; }\\n\\nsmall, .small {\\n  font-size: 85%; }\\n\\n.panel-group {\\n  margin-bottom: 1rem; }\\n  .panel-group .panel {\\n    margin-bottom: 0;\\n    border-radius: 0.25rem; }\\n  .panel-group accordion-group.panel-open .panel-title a,\\n  .panel-group accordion-group.panel-open .panel-title a i {\\n    opacity: 1; }\\n  .panel-group accordion-group .panel-title a,\\n  .panel-group accordion-group .panel-title a i {\\n    opacity: 0.6; }\\n  .panel-group accordion-group .panel-title a:hover,\\n  .panel-group accordion-group .panel-title a:hover i {\\n    opacity: 1; }\\n  .panel-group accordion-group + accordion-group .panel {\\n    margin-top: 5px; }\\n  .panel-group .panel-heading {\\n    border-bottom: 0; }\\n    .panel-group .panel-heading + .panel-collapse > .panel-body,\\n    .panel-group .panel-heading + .panel-collapse > .list-group {\\n      border-top: 1px solid rgba(0, 0, 0, 0.125); }\\n\\n.panel-default {\\n  border-color: transparent; }\\n  .panel-default > .panel-heading {\\n    color: #343434;\\n    background-color: #ddd;\\n    border-color: transparent; }\\n    .panel-default > .panel-heading + .panel-collapse > .panel-body {\\n      border-top-color: transparent; }\\n  .panel-default > .panel-footer + .panel-collapse > .panel-body {\\n    border-bottom-color: transparent; }\\n\\n.help-block {\\n  margin-top: 5px;\\n  font-size: 85%;\\n  color: #999999;\\n  display: block; }\\n\\n.btn-toolbar {\\n  margin-top: 0.5rem;\\n  margin-bottom: 0.5rem; }\\n  .btn-toolbar .btn {\\n    margin-left: 0.5rem; }\\n\\n.js-progress-animate {\\n  transition: width 0.6s ease !important; }\\n\\n.progress {\\n  box-shadow: none;\\n  transition: width 0.6s ease; }\\n\\n.progress-bar {\\n  border-radius: 0.25rem;\\n  box-shadow: none; }\\n\\n.progress-sm {\\n  height: 10px;\\n  margin-bottom: 0.5rem; }\\n\\n.progress-xs {\\n  height: 5px;\\n  margin-bottom: 0.5rem; }\\n\\n.bg-bar-gray {\\n  background-color: #555555; }\\n\\n.bg-bar-gray-light {\\n  background-color: #999999; }\\n\\n.bg-primary {\\n  background-color: #5d8fc2; }\\n\\n.card {\\n  margin-bottom: 0;\\n  border: none; }\\n\\n.card-footer {\\n  border-top: none; }\\n\\n.card > .list-group > .list-group-item {\\n  border-width: 1px 0; }\\n  .card > .list-group > .list-group-item:first-child {\\n    border-radius: 0; }\\n\\n.widget-body.no-padding > .list-group {\\n  margin: 0; }\\n  .widget-body.no-padding > .list-group .list-group-item {\\n    border-width: 1px 0; }\\n\\n.list-group-lg .list-group-item {\\n  padding: 15px 15px; }\\n\\n.list-group:last-of-type .list-group-item:last-child {\\n  border-bottom: 0; }\\n\\na.list-group-item, button.list-group-item {\\n  width: 100%;\\n  color: #555;\\n  text-align: inherit; }\\n\\n.tooltip.in {\\n  opacity: 1; }\\n\\n.tooltip-inner {\\n  border-radius: 3px; }\\n\\n.alert-sm {\\n  padding: 10px 12px;\\n  font-size: 13px; }\\n  .alert-sm .close {\\n    font-size: 18px; }\\n\\n.alert-dismissible .close {\\n  position: static;\\n  color: #000; }\\n\\n.popover {\\n  border: none;\\n  box-shadow: none; }\\n\\n.popover-content {\\n  padding: 20px; }\\n\\n.modal-open .content-wrap, .modal-open.nav-collapsed .content-wrap, .modal-open.nav-static .content-wrap {\\n  -webkit-transform: none;\\n  -ms-transform: none;\\n  transform: none;\\n  position: static; }\\n\\n.modal-open .sidebar, .modal-open.nav-collapsed .sidebar, .modal-open.nav-static .sidebar {\\n  z-index: -1; }\\n\\n.modal-backdrop.fade.in {\\n  opacity: 0.5; }\\n\\n.modal.fade.in {\\n  opacity: 1; }\\n  .modal.fade.in .modal-dialog {\\n    transform: translate(0, 0); }\\n\\n.pagination {\\n  font-weight: 400; }\\n  .pagination > .page-item {\\n    display: inline; }\\n    .pagination > .page-item > .page-link,\\n    .pagination > .page-item > span {\\n      border-radius: 0.25rem;\\n      margin: 0 2px; }\\n    .pagination > .page-item > .page-link {\\n      text-decoration: none;\\n      border: none; }\\n\\n.pagination {\\n  font-weight: 400; }\\n  .pagination > li {\\n    display: inline; }\\n    .pagination > li > a,\\n    .pagination > li > span {\\n      border-radius: 0.25rem;\\n      margin: 0 2px; }\\n    .pagination > li > a {\\n      text-decoration: none;\\n      border: none; }\\n\\n@media (min-width: 768px) {\\n  .jumbotron {\\n    padding-left: 2rem;\\n    padding-right: 2rem; } }\\n\\n.navbar-form {\\n  padding: 6px 0 6px 1rem; }\\n  .navbar-form .form-group {\\n    margin-bottom: 0; }\\n  @media (min-width: 768px) {\\n    .navbar-form {\\n      width: auto;\\n      border: 0;\\n      margin-left: 0;\\n      margin-right: 0; } }\\n\\n.navbar-dashboard {\\n  background-color: #fff;\\n  border-color: #eeeeee; }\\n  .navbar-dashboard .navbar-brand {\\n    color: #666;\\n    margin-right: 0;\\n    padding-top: 10px;\\n    font-size: 1.25rem; }\\n    .navbar-dashboard .navbar-brand:hover, .navbar-dashboard .navbar-brand:focus {\\n      color: #4d4d4d;\\n      background-color: transparent; }\\n  .navbar-dashboard .navbar-text {\\n    color: #777; }\\n  .navbar-dashboard .navbar-nav > li > a {\\n    color: #666; }\\n    .navbar-dashboard .navbar-nav > li > a:hover, .navbar-dashboard .navbar-nav > li > a:focus {\\n      color: #333;\\n      background-color: transparent; }\\n  .navbar-dashboard .navbar-nav > .active > a, .navbar-dashboard .navbar-nav > .active > a:hover, .navbar-dashboard .navbar-nav > .active > a:focus {\\n    color: #555;\\n    background-color: #eeeeee; }\\n  .navbar-dashboard .navbar-nav > .disabled > a, .navbar-dashboard .navbar-nav > .disabled > a:hover, .navbar-dashboard .navbar-nav > .disabled > a:focus {\\n    color: #ccc;\\n    background-color: transparent; }\\n  .navbar-dashboard .navbar-nav > .open > a, .navbar-dashboard .navbar-nav > .open > a:hover, .navbar-dashboard .navbar-nav > .open > a:focus {\\n    background-color: #eeeeee;\\n    color: #555; }\\n  @media (max-width: 767px) {\\n    .navbar-dashboard .navbar-nav .open .dropdown-menu > li > a {\\n      color: #666; }\\n      .navbar-dashboard .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-dashboard .navbar-nav .open .dropdown-menu > li > a:focus {\\n        color: #333;\\n        background-color: transparent; }\\n    .navbar-dashboard .navbar-nav .open .dropdown-menu > .active > a, .navbar-dashboard .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-dashboard .navbar-nav .open .dropdown-menu > .active > a:focus {\\n      color: #555;\\n      background-color: #eeeeee; }\\n    .navbar-dashboard .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-dashboard .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-dashboard .navbar-nav .open .dropdown-menu > .disabled > a:focus {\\n      color: #ccc;\\n      background-color: transparent; } }\\n  .navbar-dashboard .btn-link {\\n    color: #666; }\\n    .navbar-dashboard .btn-link:hover, .navbar-dashboard .btn-link:focus {\\n      color: #333;\\n      outline: none;\\n      text-decoration: none; }\\n    .navbar-dashboard .btn-link[disabled]:hover, .navbar-dashboard .btn-link[disabled]:focus,\\n    fieldset[disabled] .navbar-dashboard .btn-link:hover,\\n    fieldset[disabled] .navbar-dashboard .btn-link:focus {\\n      color: #ccc; }\\n\\npre {\\n  display: block;\\n  padding: 6.5px;\\n  margin: 0 0 0.5rem;\\n  font-size: 13px;\\n  line-height: 1rem;\\n  word-break: break-all;\\n  word-wrap: break-word;\\n  color: #343434;\\n  background-color: #f5f5f5;\\n  border: 1px solid #ccc;\\n  border-radius: 0.25rem; }\\n  pre code {\\n    padding: 0;\\n    font-size: inherit;\\n    color: inherit;\\n    white-space: pre-wrap;\\n    background-color: transparent;\\n    border-radius: 0; }\\n\\n.badge {\\n  font-size: 0.875rem; }\\n\\n.close {\\n  opacity: .2; }\\n\\n/*\\r\\n * Font Awesome 2x spin\\r\\n */\\n.fa-spin-fast {\\n  -webkit-animation: fa-spin 1s infinite linear;\\n  -moz-animation: fa-spin 1s infinite linear;\\n  -o-animation: fa-spin 1s infinite linear;\\n  animation: fa-spin 1s infinite linear; }\\n\\n.fa-lg {\\n  vertical-align: -15%; }\\n\\n/**\\r\\n * Animate.css\\r\\n */\\n.animated {\\n  animation-duration: .5s; }\\n\\n/**\\r\\n * Pace\\r\\n */\\n.pace .pace-progress {\\n  background: #5d8fc2;\\n  position: absolute;\\n  top: 50px; }\\n\\n.pace .pace-activity {\\n  position: absolute;\\n  top: 65px;\\n  border-width: 1px;\\n  left: 15px;\\n  right: auto;\\n  width: 18px;\\n  height: 18px;\\n  border-top-color: #5d8fc2;\\n  border-left-color: #5d8fc2; }\\n\\n.pace .pace-progress-inner {\\n  right: -10px;\\n  width: 10px; }\\n\\n/***********************/\\n/*glyphicons-halflings */\\n/***********************/\\n.glyphicon-comment:before {\\n  content: \\\"\\\\E111\\\"; }\\n\\n.glyphicon-chevron-up {\\n  top: 2px; }\\n\\na.list-group-item:focus,\\na.list-group-item:hover,\\nbutton.list-group-item:focus,\\nbutton.list-group-item:hover {\\n  color: #555;\\n  text-decoration: none;\\n  background-color: #f5f5f5; }\\n\\n/* ng2-select2 */\\n.select2-container--bootstrap .select2-selection--single {\\n  height: 35px !important; }\\n\\n/**\\r\\n * Bootstrap select\\r\\n */\\n.selectpicker.form-control {\\n  height: auto; }\\n\\n.bootstrap-select {\\n  z-index: 1; }\\n  .bootstrap-select.show .dropdown-menu.inner {\\n    display: block; }\\n  .bootstrap-select.show {\\n    z-index: 3;\\n    display: inline-block !important; }\\n\\n/**\\r\\n * ng2-bootstrap\\r\\n */\\n.dropdown.open .dropdown-menu {\\n  display: block; }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: normal;\\n  font-weight: 300;\\n  src: local(\\\"Open Sans Light\\\"), local(\\\"OpenSans-Light\\\"), url(assets/fonts/google/open-sans-light.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: normal;\\n  font-weight: 400;\\n  src: local(\\\"Open Sans\\\"), local(\\\"OpenSans\\\"), url(assets/fonts/google/open-sans.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: normal;\\n  font-weight: 600;\\n  src: local(\\\"Open Sans Semibold\\\"), local(\\\"OpenSans-Semibold\\\"), url(assets/fonts/google/open-sans-semibold.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: normal;\\n  font-weight: 700;\\n  src: local(\\\"Open Sans Bold\\\"), local(\\\"OpenSans-Bold\\\"), url(assets/fonts/google/open-sans-bold.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: italic;\\n  font-weight: 300;\\n  src: local(\\\"Open Sans Light Italic\\\"), local(\\\"OpenSansLight-Italic\\\"), url(assets/fonts/google/open-sans-light-italic.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: italic;\\n  font-weight: 400;\\n  src: local(\\\"Open Sans Italic\\\"), local(\\\"OpenSans-Italic\\\"), url(assets/fonts/google/open-sans-italic.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: italic;\\n  font-weight: 600;\\n  src: local(\\\"Open Sans Semibold Italic\\\"), local(\\\"OpenSans-SemiboldItalic\\\"), url(assets/fonts/google/open-sans-semibold-italic.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Open Sans';\\n  font-style: italic;\\n  font-weight: 700;\\n  src: local(\\\"Open Sans Bold Italic\\\"), local(\\\"OpenSans-BoldItalic\\\"), url(assets/fonts/google/open-sans-bold-italic.woff) format(\\\"woff\\\"); }\\n\\n@font-face {\\n  font-family: 'Glyphicons Halflings';\\n  src: url(\\\"assets/fonts/glyphicons/glyphicons-halflings-regular.eot\\\");\\n  src: url(\\\"assets/fonts/glyphicons/glyphicons-halflings-regular.eot?#iefix\\\") format(\\\"embedded-opentype\\\"), url(\\\"assets/fonts/glyphicons/glyphicons-halflings-regular.woff2\\\") format(\\\"woff2\\\"), url(\\\"assets/fonts/glyphicons/glyphicons-halflings-regular.woff\\\") format(\\\"woff\\\"), url(\\\"assets/fonts/glyphicons/glyphicons-halflings-regular.ttf\\\") format(\\\"truetype\\\"), url(\\\"assets/fonts/glyphicons/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\\\") format(\\\"svg\\\"); }\\n\\n/**\\r\\n* if set to device-width ie10 built-in scrollbar overflows content. Fix it as of here\\r\\n* http://stackoverflow.com/questions/17045132/scrollbar-overlay-in-ie10-how-do-you-stop-that-might-be-bootstrap\\r\\n*/\\n@-ms-viewport {\\n  width: auto; }\\n\\nhtml, body {\\n  height: 100%; }\\n\\nbody {\\n  font-weight: 300;\\n  overflow-x: hidden; }\\n\\nth {\\n  font-weight: 600; }\\n\\na {\\n  cursor: pointer; }\\n\\nsvg {\\n  width: 100%; }\\n\\nstrong, b {\\n  font-weight: bold; }\\n\\nabbr[title] {\\n  text-decoration: none;\\n  border-bottom: 1px dotted #999; }\\n\\na {\\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out; }\\n\\n.btn {\\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; }\\n\\n.form-control {\\n  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out; }\\n\\n/***********************/\\n/*        Layout       */\\n/***********************/\\nhtml {\\n  font-size: 14px; }\\n\\napp, .app {\\n  height: 100%;\\n  display: block; }\\n\\n.chat-sidebar-container {\\n  color: #555555; }\\n\\n.sidebar {\\n  position: fixed;\\n  z-index: 0;\\n  left: 0;\\n  top: 0;\\n  bottom: 0;\\n  width: 204px;\\n  background-color: #242424;\\n  color: #aaa; }\\n  .sidebar .slimScrollBar {\\n    border-radius: 0 !important;\\n    background-color: #aaa !important; }\\n\\n.page-controls, .content-wrap, .loader-wrap {\\n  left: 204px;\\n  transition: left 0.3s ease-in-out; }\\n  @media (min-width: 768px) {\\n    .page-controls, .content-wrap, .loader-wrap {\\n      margin-left: 50px;\\n      left: 154px; } }\\n  .nav-collapsed .page-controls, .nav-collapsed .content-wrap, .nav-collapsed .loader-wrap {\\n    left: 0; }\\n  @media (min-width: 992px) {\\n    .nav-static .page-controls, .nav-static .content-wrap, .nav-static .loader-wrap {\\n      transition: none;\\n      left: 0;\\n      margin-left: 204px; } }\\n\\n.page-controls .dropdown-toggle-notifications .rounded-circle {\\n  margin-top: -1px; }\\n\\n.page-controls .dropdown-toggle-notifications .circle {\\n  width: 1.5rem;\\n  height: 1.5rem;\\n  line-height: 1.5rem; }\\n\\n.page-controls {\\n  transition: left 0.3s ease-in-out, right 0.3s ease-in-out;\\n  right: -204px; }\\n  .nav-collapsed .page-controls {\\n    right: 0; }\\n  @media (min-width: 992px) {\\n    .nav-static .page-controls {\\n      right: 0; } }\\n\\n.page-controls {\\n  position: absolute;\\n  z-index: 1;\\n  height: 50px; }\\n  @media (max-width: 767px) {\\n    .page-controls {\\n      font-size: 16px; }\\n      .page-controls .navbar-brand {\\n        position: absolute;\\n        left: 0;\\n        right: 0;\\n        font-weight: 700;\\n        text-align: center; }\\n        .page-controls .navbar-brand > .fa-circle {\\n          font-size: 10px; }\\n      .page-controls .navbar-nav {\\n        position: relative;\\n        z-index: 1; } }\\n  .page-controls .avatar {\\n    width: 30px;\\n    margin-top: -5px; }\\n    .page-controls .avatar.float-xs-left, .page-controls .avatar.pull-left {\\n      margin-right: 5px; }\\n    .page-controls .avatar.float-xs-right, .page-controls .avatar.pull-right {\\n      margin-left: 5px; }\\n  .page-controls .navbar-nav > li > a .rounded.rounded-lg,\\n  .page-controls .navbar-nav > li > a .circle.circle.lg {\\n    margin: -7px -7px -8px; }\\n  @media (min-width: 768px) {\\n    .page-controls .navbar-form.navbar-left {\\n      padding-right: 0; } }\\n  @media (max-width: 991px) {\\n    .page-controls .navbar-form.navbar-left {\\n      padding-right: 0; } }\\n  .page-controls .navbar-nav .fa-times {\\n    font-size: 20px;\\n    vertical-align: -2px; }\\n  .page-controls .navbar-form .input-group-addon {\\n    line-height: 1.5; }\\n    .page-controls .navbar-form .input-group-addon .fa {\\n      vertical-align: -1px; }\\n  .page-controls .navbar-form .form-control {\\n    line-height: 1.7; }\\n\\n/* ff icons valign fix */\\n@-moz-document url-prefix() {\\n  .page-controls .navbar-nav > li > a > .rounded-lg > i {\\n    vertical-align: -8%; } }\\n\\n.content-wrap {\\n  position: relative;\\n  z-index: 0;\\n  height: 100%; }\\n\\n.content {\\n  min-height: 100%;\\n  padding: 92px 40px 42px;\\n  background-color: #eee; }\\n  @media (max-width: 767px) {\\n    .content {\\n      padding-left: 20px;\\n      padding-right: 20px; } }\\n\\n.logo {\\n  margin: 11px 0 19px;\\n  height: 50px;\\n  width: 100%;\\n  line-height: 50px;\\n  text-align: center;\\n  vertical-align: middle;\\n  font-weight: 700;\\n  font-size: 18px;\\n  transition: width 0.3s ease-in-out; }\\n  .logo a {\\n    color: #fff;\\n    text-decoration: none; }\\n  .nav-collapsed .logo {\\n    width: 50px; }\\n  @media (min-width: 992px) {\\n    .nav-static .logo {\\n      width: 100%;\\n      transition: none; } }\\n\\n.sidebar-nav {\\n  padding: 10px 0;\\n  font-size: 14px;\\n  /*\\r\\n   * Sub menus\\r\\n   */\\n  /*\\r\\n  First sub-menu\\r\\n   */ }\\n  @media (min-width: 992px) and (min-height: 670px), (max-width: 767px) {\\n    .sidebar-nav {\\n      font-size: 16px; } }\\n  .sidebar-nav li a {\\n    display: block;\\n    color: #aaa;\\n    text-decoration: none; }\\n    .sidebar-nav li a .toggle {\\n      float: right;\\n      line-height: 18px;\\n      margin-right: 15px;\\n      transition: transform .35s ease; }\\n    .sidebar-nav li a.collapsed .toggle {\\n      transform: rotate(90deg); }\\n    .sidebar-nav li a .badge {\\n      float: right;\\n      line-height: 8px;\\n      margin-top: 7px;\\n      margin-right: 15px;\\n      padding: 7px;\\n      border-radius: 0.2rem; }\\n      @media (min-width: 992px) and (min-height: 670px), (max-width: 767px) {\\n        .sidebar-nav li a .badge {\\n          margin-top: 11px; } }\\n  .sidebar-nav > li > a {\\n    position: relative;\\n    border-top: 1px solid #2d2d2d;\\n    padding-left: 50px;\\n    line-height: 35px; }\\n    .sidebar-nav > li > a:hover {\\n      background-color: #111; }\\n    @media (min-width: 992px) and (min-height: 670px), (max-width: 767px) {\\n      .sidebar-nav > li > a {\\n        line-height: 44px; } }\\n    .sidebar-nav > li > a .icon {\\n      display: block;\\n      position: absolute;\\n      top: 3px;\\n      left: 11px;\\n      width: 28px;\\n      height: 28px;\\n      line-height: 28px;\\n      text-align: center; }\\n      @media (min-width: 992px) and (min-height: 670px), (max-width: 767px) {\\n        .sidebar-nav > li > a .icon {\\n          top: 8px; } }\\n      .sidebar-nav > li > a .icon .fa, .sidebar-nav > li > a .icon .glyphicon {\\n        font-size: 16px;\\n        color: rgba(170, 170, 170, 0.7); }\\n      .sidebar-nav > li > a .icon .fa {\\n        position: relative;\\n        top: 1px; }\\n      .sidebar-nav > li > a .icon .glyphicon {\\n        top: 6px; }\\n      .sidebar-nav > li > a .icon .glyphicon-th {\\n        left: 0; }\\n      .sidebar-nav > li > a .icon .glyphicon-tree-conifer {\\n        left: 0; }\\n      .sidebar-nav > li > a .icon .glyphicon-map-marker {\\n        top: 6px; }\\n      .sidebar-nav > li > a .icon .fa-envelope {\\n        top: 0; }\\n      @media (min-width: 992px) and (min-height: 670px), (max-width: 767px) {\\n        .sidebar-nav > li > a .icon .glyphicon {\\n          top: 6px; }\\n        .sidebar-nav > li > a .icon .glyphicon-map-marker {\\n          top: 7px; }\\n        .sidebar-nav > li > a .icon .fa {\\n          top: 0; } }\\n    .sidebar-nav > li > a .toggle {\\n      line-height: 35px; }\\n      @media (min-width: 992px) and (min-height: 670px), (max-width: 767px) {\\n        .sidebar-nav > li > a .toggle {\\n          line-height: 44px; } }\\n  .sidebar-nav > .open > a {\\n    background-color: #161616; }\\n  .sidebar-nav > li:last-child > a {\\n    border-bottom: 1px solid #2d2d2d; }\\n  .sidebar-nav > .active > a {\\n    color: #F2BE35;\\n    background-color: #242424; }\\n    .sidebar-nav > .active > a .icon {\\n      border-radius: 50%;\\n      background-color: #F2BE35; }\\n      .sidebar-nav > .active > a .icon .fa, .sidebar-nav > .active > a .icon .glyphicon {\\n        color: #242424; }\\n  .sidebar-nav > li ul {\\n    padding: 0;\\n    font-size: 13px;\\n    background-color: #313131;\\n    list-style: none; }\\n    @media (min-width: 992px) and (min-height: 670px), (max-width: 767px) {\\n      .sidebar-nav > li ul {\\n        font-size: 14px; } }\\n    .sidebar-nav > li ul > li {\\n      /* third submenu */ }\\n      .sidebar-nav > li ul > li > a {\\n        padding: 5px 0 5px 40px; }\\n        .sidebar-nav > li ul > li > a:hover {\\n          background-color: #1e1e1e; }\\n      .sidebar-nav > li ul > li.active > a {\\n        font-weight: normal;\\n        color: #fff; }\\n      .sidebar-nav > li ul > li ul > li > a {\\n        padding-left: 55px; }\\n  .sidebar-nav > li > ul {\\n    /* simulate padding */ }\\n    .sidebar-nav > li > ul:before {\\n      content: \\\"\\\";\\n      display: block;\\n      padding-top: 0.5rem; }\\n    .sidebar-nav > li > ul:after {\\n      content: \\\"\\\";\\n      display: block;\\n      padding-bottom: 0.5rem; }\\n\\n.sidebar-nav-title {\\n  margin: 35px 0 5px 11px;\\n  font-size: 14px;\\n  text-transform: uppercase;\\n  opacity: 1;\\n  transition: opacity 0.3s ease-in-out; }\\n  .sidebar-nav-title .action-link {\\n    color: #aaa;\\n    float: right;\\n    margin-right: 15px;\\n    margin-top: -1px; }\\n    .sidebar-nav-title .action-link .fa, .sidebar-nav-title .action-link .glyphicon {\\n      font-size: 9px; }\\n    .sidebar-nav-title .action-link .glyphicon {\\n      top: 5px; }\\n  .nav-collapsed .sidebar-nav-title {\\n    opacity: 0; }\\n  @media (min-width: 992px) {\\n    .nav-static .sidebar-nav-title {\\n      opacity: 1;\\n      transition: none; } }\\n\\n.sidebar-status {\\n  position: relative;\\n  margin: 10px 0 20px;\\n  padding: 0 15px 0 11px;\\n  /* fix notifications dropdown when there is no enough vertical space*/ }\\n  .sidebar-status > a {\\n    display: block;\\n    line-height: 40px;\\n    color: #eeeeee;\\n    text-decoration: none; }\\n  .sidebar-status .dropdown-menu {\\n    position: fixed;\\n    top: 57px;\\n    left: 0;\\n    margin: 0 20px;\\n    width: 320px;\\n    color: #555555; }\\n    @media (max-width: 380px) {\\n      .sidebar-status .dropdown-menu {\\n        margin: 0;\\n        width: 100%; } }\\n  @media (max-height: 500px) {\\n    .sidebar-status .dropdown-menu {\\n      bottom: 20px; }\\n    .sidebar-status .notifications .card-header {\\n      position: absolute;\\n      top: 0;\\n      left: 0;\\n      right: 0; }\\n    .sidebar-status .notifications .list-group {\\n      position: absolute;\\n      top: 85px;\\n      left: 0;\\n      right: 0;\\n      bottom: 43px;\\n      height: auto; }\\n    .sidebar-status .notifications .card-footer {\\n      position: absolute;\\n      bottom: -5px;\\n      left: 0;\\n      right: 0; } }\\n\\n.sidebar-labels {\\n  list-style: none;\\n  padding: 11px;\\n  padding-right: 15px;\\n  font-size: 13px; }\\n  .sidebar-labels > li > a {\\n    color: #eeeeee;\\n    text-decoration: none;\\n    font-weight: normal; }\\n    .sidebar-labels > li > a .circle,\\n    .sidebar-labels > li > a .circle-o {\\n      position: relative;\\n      top: -2px;\\n      font-size: 9px;\\n      height: 12px;\\n      width: 12px;\\n      line-height: 12px;\\n      transition: margin-left 0.3s ease-in-out; }\\n    .sidebar-labels > li > a .fa-circle {\\n      font-size: 11px;\\n      vertical-align: 1px;\\n      transition: margin-left 0.3s ease-in-out; }\\n    .sidebar-labels > li > a .circle-o {\\n      top: 1px;\\n      left: 1px; }\\n    .sidebar-labels > li > a .label-name {\\n      opacity: 1;\\n      transition: opacity 0.3s ease-in-out; }\\n    .nav-collapsed .sidebar-labels > li > a .circle,\\n    .nav-collapsed .sidebar-labels > li > a .circle-o,\\n    .nav-collapsed .sidebar-labels > li > a .fa-circle {\\n      margin-left: 8px; }\\n    .nav-collapsed .sidebar-labels > li > a .label-name {\\n      opacity: 0; }\\n    @media (min-width: 992px) {\\n      .nav-static .sidebar-labels > li > a .circle,\\n      .nav-static .sidebar-labels > li > a .circle-o,\\n      .nav-static .sidebar-labels > li > a .fa-circle {\\n        transition: none;\\n        margin-left: 0; }\\n      .nav-static .sidebar-labels > li > a .label-name {\\n        transition: none;\\n        opacity: 1; } }\\n  .sidebar-labels > li + li {\\n    margin-top: 0.5rem; }\\n\\n.sidebar-alerts {\\n  font-size: 13px;\\n  transition: opacity 0.3s ease-in-out;\\n  opacity: 1; }\\n  .nav-collapsed .sidebar-alerts {\\n    opacity: 0; }\\n  @media (min-width: 992px) {\\n    .nav-static .sidebar-alerts {\\n      opacity: 1;\\n      transition: none; } }\\n  .sidebar-alerts .alert {\\n    margin-bottom: 0;\\n    padding: 0.5rem 11px;\\n    padding-right: 15px; }\\n    .sidebar-alerts .alert .close {\\n      font-size: 16px;\\n      text-shadow: none;\\n      opacity: 1;\\n      color: #aaa; }\\n  .sidebar-alerts .progress {\\n    background-color: #3e3e3e; }\\n\\n.chat-sidebar {\\n  position: fixed;\\n  top: 0;\\n  bottom: 0;\\n  right: -254px;\\n  width: 254px;\\n  background-color: #242424;\\n  transition: right 0.3s ease-in-out; }\\n\\n/* body tag is given this class */\\n.chat-sidebar-container {\\n  position: relative; }\\n  .chat-sidebar-container, .chat-sidebar-container .sidebar {\\n    left: 0;\\n    transition: left 0.3s ease-in-out; }\\n  .chat-sidebar-container.chat-sidebar-opened, .chat-sidebar-container.chat-sidebar-opened .sidebar {\\n    left: -254px; }\\n  .chat-sidebar-container.chat-sidebar-opened .chat-sidebar {\\n    right: 0; }\\n\\n.chat-sidebar-header {\\n  width: 100%;\\n  position: absolute;\\n  top: 0;\\n  padding: 10px;\\n  z-index: 3;\\n  background-color: #242424; }\\n  .chat-sidebar-header .form-control {\\n    padding: 0.6rem 0.85rem; }\\n\\n.chat-sidebar-content {\\n  color: #aaa; }\\n\\n.chat-sidebar-contacts {\\n  padding: 20px 0;\\n  left: -100%;\\n  transition: left 0.4s ease-in-out; }\\n  .chat-sidebar-contacts.open {\\n    left: 0; }\\n  .chat-sidebar-contacts .sidebar-nav-title {\\n    margin-left: 20px;\\n    margin-right: 10px; }\\n    .chat-sidebar-contacts .sidebar-nav-title:first-child {\\n      margin-top: 0; }\\n    .nav-collapsed .chat-sidebar-contacts .sidebar-nav-title {\\n      opacity: 1; }\\n\\n.chat-sidebar-chat {\\n  right: -100%;\\n  padding-bottom: 54px;\\n  /*footer height*/\\n  background-color: #242424;\\n  transition: right 0.2s ease-in-out; }\\n  .chat-sidebar-chat.open {\\n    right: 0; }\\n  .chat-sidebar-chat .title {\\n    margin-bottom: 0; }\\n    .chat-sidebar-chat .title > a {\\n      display: block;\\n      padding: 10px 16px;\\n      background-color: rgba(255, 255, 255, 0.1);\\n      color: #eeeeee;\\n      text-decoration: none; }\\n    .chat-sidebar-chat .title:hover {\\n      cursor: pointer; }\\n  .chat-sidebar-chat .message-list {\\n    list-style: none;\\n    padding-left: 0;\\n    padding-top: 0.5rem; }\\n  .chat-sidebar-chat .message {\\n    padding: 10px 20px; }\\n    .chat-sidebar-chat .message::after {\\n      display: block;\\n      content: \\\"\\\";\\n      clear: both; }\\n    .chat-sidebar-chat .message > .thumb-sm {\\n      float: left; }\\n    .chat-sidebar-chat .message.from-me > .thumb-sm {\\n      float: right; }\\n\\n.chat-sidebar-chat .message-body {\\n  position: relative;\\n  margin-left: 50px;\\n  padding: 10px;\\n  font-size: 13px;\\n  font-weight: 400;\\n  background-color: #eeeeee;\\n  color: #555555;\\n  border-radius: 0.25rem; }\\n  .chat-sidebar-chat .message-body:before {\\n    right: 100%;\\n    top: 8px;\\n    content: \\\" \\\";\\n    height: 0;\\n    width: 0;\\n    position: absolute;\\n    border: 10px solid transparent;\\n    border-right-color: #eeeeee; }\\n\\n.chat-sidebar-chat .message.from-me .message-body {\\n  margin-left: 0;\\n  margin-right: 50px;\\n  background-color: #f0b518;\\n  color: #343434; }\\n  .chat-sidebar-chat .message.from-me .message-body:before {\\n    right: auto;\\n    left: 100%;\\n    border-right-color: transparent;\\n    border-left-color: #f0b518; }\\n\\n.chat-sidebar-panel {\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  width: 100%;\\n  padding-top: 100px; }\\n\\n.chat-sidebar-title {\\n  margin: 10px;\\n  text-transform: uppercase;\\n  font-size: 15px;\\n  font-weight: 400; }\\n\\n.chat-sidebar-user-group {\\n  margin-top: 10px; }\\n  .chat-sidebar-user-group .list-group-item {\\n    background-color: transparent;\\n    margin-bottom: 0;\\n    padding: 10px 20px;\\n    border: 0;\\n    color: #eeeeee;\\n    border-radius: 0; }\\n    .chat-sidebar-user-group .list-group-item:hover {\\n      cursor: pointer; }\\n    .chat-sidebar-user-group .list-group-item.active, .chat-sidebar-user-group .list-group-item.active:focus, .chat-sidebar-user-group .list-group-item.active:hover {\\n      background-color: rgba(255, 255, 255, 0.1);\\n      color: #f0b518; }\\n    .chat-sidebar-user-group .list-group-item.active .badge {\\n      background-color: #dd5826;\\n      color: #fff; }\\n    .chat-sidebar-user-group .list-group-item.active .message-sender {\\n      font-weight: 600; }\\n    .chat-sidebar-user-group .list-group-item .circle-o {\\n      margin-top: 13px;\\n      font-size: 8px; }\\n    .chat-sidebar-user-group .list-group-item .fa-circle {\\n      font-size: 11px;\\n      line-height: 37px;\\n      margin-left: auto; }\\n    .chat-sidebar-user-group .list-group-item .badge {\\n      margin-left: auto;\\n      padding: 3px 5px;\\n      margin-left: auto; }\\n  .chat-sidebar-user-group .thumb .status,\\n  .chat-sidebar-user-group .thumb-sm .status {\\n    border-color: #242424; }\\n  .chat-sidebar-user-group a.list-group-item:hover {\\n    color: #eeeeee;\\n    background-color: rgba(0, 0, 0, 0.15); }\\n  .chat-sidebar-user-group .message-preview {\\n    margin: 0;\\n    width: 100px;\\n    white-space: nowrap;\\n    overflow: hidden;\\n    text-overflow: ellipsis;\\n    font-size: 85%;\\n    color: #999999; }\\n  .chat-sidebar-user-group .message-sender {\\n    margin: 0 0 5px; }\\n\\n.chat-sidebar-footer {\\n  position: absolute;\\n  bottom: 0;\\n  right: -100%;\\n  width: 100%;\\n  margin-bottom: 0;\\n  padding: 10px;\\n  background-color: #3a3a3a;\\n  transition: right 0.2s ease-in-out; }\\n  .chat-sidebar-footer.open {\\n    right: 0; }\\n\\n.chat-notification {\\n  position: absolute;\\n  right: 12px;\\n  top: 35px;\\n  z-index: 20;\\n  margin-top: 3px;\\n  padding: 5px 0;\\n  cursor: pointer; }\\n  .chat-notification:before {\\n    content: ' ';\\n    position: absolute;\\n    top: 0;\\n    right: 18px;\\n    width: 0;\\n    height: 0;\\n    border-left: 5px solid transparent;\\n    border-right: 5px solid transparent;\\n    border-bottom: 5px solid #343434; }\\n\\n.chat-notification-inner {\\n  min-width: 120px;\\n  padding: 8px;\\n  font-size: 12px;\\n  border-radius: 0.25rem;\\n  text-decoration: none;\\n  background-color: #343434;\\n  color: #fff; }\\n  .chat-notification-inner .title {\\n    margin: 0;\\n    font-weight: 600;\\n    line-height: 28px;\\n    font-size: 0.875rem; }\\n    .chat-notification-inner .title .thumb-xs {\\n      margin-right: 5px; }\\n  .chat-notification-inner .text {\\n    margin-top: 5px;\\n    margin-bottom: 0;\\n    color: #999999; }\\n\\n.chat-notification-sing {\\n  position: absolute;\\n  top: 16px;\\n  left: 10px;\\n  display: inline-block;\\n  width: 8px;\\n  height: 8px;\\n  border-radius: 50%;\\n  background-color: #dd5826; }\\n\\n.page-title {\\n  margin: 0 0 calc(1rem + 6px); }\\n\\n.notifications {\\n  height: 100%; }\\n  @media (min-width: 768px) {\\n    .notifications {\\n      width: 333px; } }\\n  .notifications .card-header {\\n    background-color: #fff; }\\n    .notifications .card-header .btn-group-justified {\\n      display: flex; }\\n      .notifications .card-header .btn-group-justified label {\\n        flex: 1;\\n        padding-top: 5px;\\n        padding-bottom: 5px; }\\n  .notifications .list-group {\\n    height: 320px;\\n    overflow-y: scroll; }\\n  .notifications .list-group-item {\\n    transition: background-color 0.15s ease-in-out; }\\n    .notifications .list-group-item:hover {\\n      background-color: #f7f7f9; }\\n      .notifications .list-group-item:hover .progress-bar {\\n        background-color: #fff !important; }\\n    .notifications .list-group-item .progress {\\n      transition: background-color 0.15s ease-in-out; }\\n  .notifications a.list-group-item {\\n    text-decoration: none;\\n    color: #555555; }\\n  .notifications .btn-notifications-reload {\\n    color: #666; }\\n\\n/***********************/\\n/*        Loader       */\\n/***********************/\\n.loader-wrap {\\n  position: fixed;\\n  z-index: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  text-align: center;\\n  background-color: #eee;\\n  opacity: 1;\\n  transition: transform 0.3s ease-in-out, left 0.3s ease-in-out, opacity 0.2s ease-out, background-color 0.2s ease-out; }\\n  .loader-wrap.hiding {\\n    opacity: 0;\\n    background-color: transparent; }\\n  .loader-wrap .fa {\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    line-height: 30px;\\n    margin-top: -15px;\\n    margin-left: -10px;\\n    font-size: 20px;\\n    vertical-align: middle; }\\n  @media (min-width: 992px) {\\n    .nav-static .loader-wrap {\\n      transition: opacity 0.2s ease-out, background-color 0.2s ease-out;\\n      transform: translate(0, 0);\\n      margin-left: 204px; } }\\n\\n/***********************/\\n/*       Widget        */\\n/***********************/\\n.widget {\\n  position: relative;\\n  margin-bottom: 30px;\\n  padding: 15px 20px;\\n  background: #fff;\\n  border-radius: 0.2rem; }\\n  .widget > header {\\n    margin: -15px -20px;\\n    padding: 15px 20px; }\\n    .widget > header h1, .widget > header h2, .widget > header h3, .widget > header h4, .widget > header h5, .widget > header h6 {\\n      margin: 0; }\\n    .widget > header + .widget-body,\\n    .widget > header + .widget-body.no-padding {\\n      margin-top: 15px; }\\n  .widget > .widget-body.no-padding {\\n    margin: -15px -20px; }\\n    .widget > .widget-body.no-padding + footer {\\n      margin-top: 15px; }\\n  .widget > footer {\\n    margin: 0 -20px -15px;\\n    padding: 15px 20px; }\\n  .widget:hover .widget-controls-hover {\\n    opacity: 1; }\\n  .widget .loader {\\n    position: absolute;\\n    top: 0;\\n    bottom: 0;\\n    left: 0;\\n    right: 0; }\\n    .widget .loader .spinner {\\n      position: absolute;\\n      top: 50%;\\n      width: 100%;\\n      margin-top: -10px;\\n      font-size: 20px;\\n      text-align: center; }\\n  .widget .widget-top-overflow,\\n  .widget .widget-middle-overflow {\\n    position: relative;\\n    margin: 0 -20px; }\\n    .widget .widget-top-overflow > img,\\n    .widget .widget-middle-overflow > img {\\n      max-width: 100%; }\\n  .widget .widget-top-overflow {\\n    margin-top: -15px;\\n    border-top-left-radius: 0.25rem;\\n    border-top-right-radius: 0.25rem;\\n    overflow: hidden; }\\n    .widget .widget-top-overflow > img {\\n      border-top-left-radius: 0.25rem;\\n      border-top-right-radius: 0.25rem; }\\n    .widget .widget-top-overflow > .btn-toolbar {\\n      position: absolute;\\n      top: 0;\\n      right: 0;\\n      z-index: 1;\\n      margin-right: 20px; }\\n      @media (min-width: 768px) {\\n        .widget .widget-top-overflow > .btn-toolbar {\\n          top: auto;\\n          bottom: 0; } }\\n  .widget .widget-table-overflow {\\n    margin: 0 -20px -15px; }\\n    .widget .widget-table-overflow th:first-child,\\n    .widget .widget-table-overflow td:first-child {\\n      padding-left: 20px; }\\n    .widget .widget-table-overflow th:last-child,\\n    .widget .widget-table-overflow td:last-child {\\n      padding-right: 20px; }\\n\\n.widget-controls {\\n  position: absolute;\\n  z-index: 1;\\n  top: 0;\\n  right: 0;\\n  padding: 14px;\\n  font-size: 0.875rem; }\\n  .widget-controls.left {\\n    left: 0;\\n    right: auto; }\\n  .widget-controls.widget-controls-hover {\\n    opacity: 0;\\n    transition: opacity 0.15s; }\\n  .widget-controls > a {\\n    padding: 1px 4px;\\n    border-radius: 4px;\\n    color: rgba(0, 0, 0, 0.4);\\n    transition: color 0.15s ease-in-out; }\\n    .widget-controls > a:hover {\\n      color: rgba(0, 0, 0, 0.1);\\n      text-decoration: none; }\\n    .widget-controls > a > .glyphicon {\\n      vertical-align: 0;\\n      font-size: 12px; }\\n    .widget-controls > a > .fa {\\n      vertical-align: 1px; }\\n  .widget-controls > .btn-group {\\n    vertical-align: baseline; }\\n\\n.widget-card {\\n  min-height: 135px; }\\n\\n.widget-icon {\\n  opacity: .5;\\n  font-size: 42px;\\n  height: 70px; }\\n  .widget-icon .glyphicon {\\n    top: 5px; }\\n\\n.widget-image {\\n  position: relative;\\n  overflow: hidden;\\n  margin: -15px -20px;\\n  border-radius: 0.25rem; }\\n  .widget-image > img {\\n    max-width: 100%;\\n    border-radius: 0.25rem 0.25rem 0 0;\\n    transition: transform .15s ease; }\\n  .widget-image:hover > img {\\n    transform: scale(1.1, 1.1); }\\n  .widget-image .title {\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    margin: 20px; }\\n  .widget-image .info {\\n    position: absolute;\\n    top: 0;\\n    right: 0;\\n    margin: 20px; }\\n\\n.widget-footer-bottom {\\n  position: absolute;\\n  bottom: 0;\\n  width: 100%; }\\n\\n.widget-sm {\\n  height: 230px; }\\n\\n.widget-md {\\n  height: 373px; }\\n\\n.windget-padding-md {\\n  padding: 15px 20px; }\\n\\n.windget-padding-lg {\\n  padding: 30px 40px; }\\n\\n.widget-body-container {\\n  position: relative;\\n  height: 100%; }\\n\\n.widget-top-overflow,\\n.widget-middle-overflow {\\n  position: relative;\\n  margin: 0 -20px; }\\n  .widget-top-overflow > img,\\n  .widget-middle-overflow > img {\\n    max-width: 100%; }\\n\\n.widget-top-overflow {\\n  margin-top: -15px;\\n  border-top-left-radius: 0.25rem;\\n  border-top-right-radius: 0.25rem;\\n  overflow: hidden; }\\n  .widget-top-overflow > img {\\n    border-top-left-radius: 0.25rem;\\n    border-top-right-radius: 0.25rem; }\\n  .widget-top-overflow > .btn-toolbar {\\n    position: absolute;\\n    top: 0;\\n    right: 0;\\n    z-index: 1;\\n    margin-right: 20px; }\\n    @media (min-width: 768px) {\\n      .widget-top-overflow > .btn-toolbar {\\n        top: auto;\\n        bottom: 0; } }\\n\\n/***********************************/\\n/**         Widgets Grid          **/\\n/***********************************/\\n.widget-container {\\n  min-height: 30px; }\\n  .widget-container .widget:not(.fullscreened) > header {\\n    cursor: move; }\\n\\n.widget-placeholder {\\n  background: rgba(255, 255, 255, 0.4);\\n  border: 1px dashed #999999;\\n  margin: -1px -1px calc(30px - 1px) -1px; }\\n\\n/***********************/\\n/*       Buttons       */\\n/***********************/\\n.btn-inverse {\\n  color: #fff;\\n  background-color: #555555;\\n  border-color: #3c3c3c;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-inverse:hover {\\n    color: #fff;\\n    background-color: #3c3c3c;\\n    border-color: #1d1d1d; }\\n  .btn-inverse:focus, .btn-inverse.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(60, 60, 60, 0.5); }\\n  .btn-inverse.disabled, .btn-inverse:disabled {\\n    background-color: #555555;\\n    border-color: #3c3c3c; }\\n  .btn-inverse:active, .btn-inverse.active,\\n  .show > .btn-inverse.dropdown-toggle {\\n    color: #fff;\\n    background-color: #3c3c3c;\\n    background-image: none;\\n    border-color: #1d1d1d;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.btn-xs {\\n  padding: 1px 5px;\\n  font-size: 12px;\\n  line-height: 1.5;\\n  border-radius: 3px; }\\n\\n/***********************/\\n/*     Content Map     */\\n/***********************/\\n.content-map {\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  left: 0;\\n  right: 0; }\\n  .content-map + .page-title {\\n    position: relative;\\n    z-index: 2; }\\n\\n/***********************/\\n/*    Part:Stats Row   */\\n/***********************/\\n.stats-row {\\n  margin-bottom: 15px; }\\n\\n.stat-item {\\n  display: inline-block;\\n  padding-right: 15px; }\\n  .stat-item + .stat-item {\\n    padding-left: 15px;\\n    border-left: 1px solid rgba(0, 0, 0, 0.1); }\\n  .stat-item .name {\\n    margin-bottom: 2px; }\\n  .stat-item .value {\\n    font-weight: bold; }\\n  .stat-item.stat-item-mini-chart {\\n    position: relative;\\n    top: -12px;\\n    padding-left: 0;\\n    border-left: none; }\\n\\n.loading-overlay {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  right: 0;\\n  bottom: 0;\\n  padding-top: 40vh;\\n  text-align: center;\\n  opacity: 0; }\\n\\n.loading-overlay,\\n.router-component {\\n  transition: opacity .3s ease-in-out; }\\n\\n.router-component {\\n  opacity: 1; }\\n\\n.sk-fading-circle {\\n  margin: auto;\\n  width: 30px;\\n  height: 30px;\\n  position: relative; }\\n  .sk-fading-circle .sk-circle {\\n    width: 100%;\\n    height: 100%;\\n    position: absolute;\\n    left: 0;\\n    top: 0; }\\n  .sk-fading-circle .sk-circle:before {\\n    content: '';\\n    display: block;\\n    margin: 0 auto;\\n    width: 15%;\\n    height: 15%;\\n    background-color: #343434;\\n    border-radius: 100%;\\n    -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;\\n    animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; }\\n  .sk-fading-circle .sk-circle2 {\\n    -webkit-transform: rotate(30deg);\\n    -ms-transform: rotate(30deg);\\n    transform: rotate(30deg); }\\n  .sk-fading-circle .sk-circle3 {\\n    -webkit-transform: rotate(60deg);\\n    -ms-transform: rotate(60deg);\\n    transform: rotate(60deg); }\\n  .sk-fading-circle .sk-circle4 {\\n    -webkit-transform: rotate(90deg);\\n    -ms-transform: rotate(90deg);\\n    transform: rotate(90deg); }\\n  .sk-fading-circle .sk-circle5 {\\n    -webkit-transform: rotate(120deg);\\n    -ms-transform: rotate(120deg);\\n    transform: rotate(120deg); }\\n  .sk-fading-circle .sk-circle6 {\\n    -webkit-transform: rotate(150deg);\\n    -ms-transform: rotate(150deg);\\n    transform: rotate(150deg); }\\n  .sk-fading-circle .sk-circle7 {\\n    -webkit-transform: rotate(180deg);\\n    -ms-transform: rotate(180deg);\\n    transform: rotate(180deg); }\\n  .sk-fading-circle .sk-circle8 {\\n    -webkit-transform: rotate(210deg);\\n    -ms-transform: rotate(210deg);\\n    transform: rotate(210deg); }\\n  .sk-fading-circle .sk-circle9 {\\n    -webkit-transform: rotate(240deg);\\n    -ms-transform: rotate(240deg);\\n    transform: rotate(240deg); }\\n  .sk-fading-circle .sk-circle10 {\\n    -webkit-transform: rotate(270deg);\\n    -ms-transform: rotate(270deg);\\n    transform: rotate(270deg); }\\n  .sk-fading-circle .sk-circle11 {\\n    -webkit-transform: rotate(300deg);\\n    -ms-transform: rotate(300deg);\\n    transform: rotate(300deg); }\\n  .sk-fading-circle .sk-circle12 {\\n    -webkit-transform: rotate(330deg);\\n    -ms-transform: rotate(330deg);\\n    transform: rotate(330deg); }\\n  .sk-fading-circle .sk-circle2:before {\\n    -webkit-animation-delay: -1.1s;\\n    animation-delay: -1.1s; }\\n  .sk-fading-circle .sk-circle3:before {\\n    -webkit-animation-delay: -1s;\\n    animation-delay: -1s; }\\n  .sk-fading-circle .sk-circle4:before {\\n    -webkit-animation-delay: -0.9s;\\n    animation-delay: -0.9s; }\\n  .sk-fading-circle .sk-circle5:before {\\n    -webkit-animation-delay: -0.8s;\\n    animation-delay: -0.8s; }\\n  .sk-fading-circle .sk-circle6:before {\\n    -webkit-animation-delay: -0.7s;\\n    animation-delay: -0.7s; }\\n  .sk-fading-circle .sk-circle7:before {\\n    -webkit-animation-delay: -0.6s;\\n    animation-delay: -0.6s; }\\n  .sk-fading-circle .sk-circle8:before {\\n    -webkit-animation-delay: -0.5s;\\n    animation-delay: -0.5s; }\\n  .sk-fading-circle .sk-circle9:before {\\n    -webkit-animation-delay: -0.4s;\\n    animation-delay: -0.4s; }\\n  .sk-fading-circle .sk-circle10:before {\\n    -webkit-animation-delay: -0.3s;\\n    animation-delay: -0.3s; }\\n  .sk-fading-circle .sk-circle11:before {\\n    -webkit-animation-delay: -0.2s;\\n    animation-delay: -0.2s; }\\n  .sk-fading-circle .sk-circle12:before {\\n    -webkit-animation-delay: -0.1s;\\n    animation-delay: -0.1s; }\\n\\n@-webkit-keyframes sk-circleFadeDelay {\\n  0%, 39%, 100% {\\n    opacity: 0; }\\n  40% {\\n    opacity: 1; } }\\n\\n@keyframes sk-circleFadeDelay {\\n  0%, 39%, 100% {\\n    opacity: 0; }\\n  40% {\\n    opacity: 1; } }\\n\\n/***********************************/\\n/**            UTILS              **/\\n/***********************************/\\n.nav-justified {\\n  width: 100%;\\n  border-bottom: 0; }\\n  .nav-justified .nav-item {\\n    float: none; }\\n  .nav-justified .nav-link {\\n    text-align: center;\\n    margin-bottom: 5px; }\\n  .nav-justified > .dropdown .dropdown-menu {\\n    top: auto;\\n    left: auto; }\\n  @media (min-width: 768px) {\\n    .nav-justified .nav-item {\\n      display: table-cell;\\n      width: 1%; }\\n    .nav-justified .nav-link {\\n      margin-bottom: 0; } }\\n  .nav-justified .nav-link {\\n    margin-right: 0; }\\n\\n.transition-height {\\n  transition: height 0.15s ease-in-out; }\\n\\n.btn-default {\\n  color: #343434;\\n  background-color: #f8f8f8;\\n  border-color: #ccc;\\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }\\n  .btn-default:hover {\\n    color: #343434;\\n    background-color: #dfdfdf;\\n    border-color: #adadad; }\\n  .btn-default:focus, .btn-default.focus {\\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 2px rgba(204, 204, 204, 0.5); }\\n  .btn-default.disabled, .btn-default:disabled {\\n    background-color: #f8f8f8;\\n    border-color: #ccc; }\\n  .btn-default:active, .btn-default.active,\\n  .show > .btn-default.dropdown-toggle {\\n    color: #343434;\\n    background-color: #dfdfdf;\\n    background-image: none;\\n    border-color: #adadad;\\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }\\n\\n.badge-white {\\n  background-color: #fff; }\\n  .badge-white[href]:focus, .badge-white[href]:hover {\\n    background-color: #e6e6e6; }\\n\\n.display-flex {\\n  display: flex; }\\n\\n.flex-nowrap {\\n  flex-wrap: nowrap; }\\n\\n/**\\r\\n * .circle & .rounded are pretty cool way to add a bit of beauty to raw data.\\r\\n * should be used with bg-* and text-* classes for colors.\\r\\n */\\n.circle, .rounded, .circle-o {\\n  display: inline-block;\\n  width: 1.428571429em;\\n  height: 1.428571429em;\\n  line-height: 1.428571429em;\\n  text-align: center; }\\n\\n.circle, .circle-o {\\n  border-radius: 50%; }\\n\\n.rounded {\\n  border-radius: 5px; }\\n\\n.circle-lg, .rounded-lg {\\n  width: 2.2em;\\n  height: 2.2em;\\n  line-height: 2.2em; }\\n\\n.circle-o {\\n  border: 0.3em solid transparent; }\\n  .circle-o.circle-o-danger {\\n    border-color: #dd5826; }\\n  .circle-o.circle-o-warning {\\n    border-color: #f0b518; }\\n  .circle-o.circle-o-success {\\n    border-color: #64bd63; }\\n  .circle-o.circle-o-info {\\n    border-color: #5dc4bf; }\\n  .circle-o.circle-o-primary {\\n    border-color: #5d8fc2; }\\n  .circle-o.circle-o-black {\\n    border-color: #000; }\\n  .circle-o.circle-o-gray-darker {\\n    border-color: #222222; }\\n  .circle-o.circle-o-gray-dark {\\n    border-color: #343434; }\\n  .circle-o.circle-o-gray {\\n    border-color: #555555; }\\n  .circle-o.circle-o-gray-light {\\n    border-color: #999999; }\\n  .circle-o.circle-o-gray-lighter {\\n    border-color: #eeeeee; }\\n  .circle-o.circle-o-white {\\n    border-color: #fff; }\\n\\n.thumb-xlg {\\n  width: 100px; }\\n  .thumb-xlg > .glyphicon,\\n  .thumb-xlg > .fa {\\n    line-height: 100px; }\\n\\n.thumb-lg {\\n  width: 60px; }\\n  .thumb-lg > .glyphicon,\\n  .thumb-lg > .fa {\\n    line-height: 60px; }\\n\\n.thumb {\\n  width: 48px; }\\n  .thumb > .glyphicon,\\n  .thumb > .fa {\\n    line-height: 48px; }\\n\\n.thumb-sm {\\n  width: 34px; }\\n  .thumb-sm > .glyphicon,\\n  .thumb-sm > .fa {\\n    line-height: 34px; }\\n\\n.thumb-xs {\\n  width: 28px; }\\n  .thumb-xs > .glyphicon,\\n  .thumb-xs > .fa {\\n    line-height: 28px; }\\n\\n.thumb-xs,\\n.thumb-sm,\\n.thumb-lg,\\n.thumb-xlg,\\n.thumb {\\n  position: relative;\\n  display: inline-block;\\n  text-align: center; }\\n  .thumb-xs img,\\n  .thumb-sm img,\\n  .thumb-lg img,\\n  .thumb-xlg img,\\n  .thumb img {\\n    height: auto;\\n    max-width: 100%;\\n    vertical-align: middle; }\\n  .thumb-xs .status,\\n  .thumb-sm .status,\\n  .thumb-lg .status,\\n  .thumb-xlg .status,\\n  .thumb .status {\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    display: inline-block;\\n    width: 0.7em;\\n    height: 0.7em;\\n    border: 0.15em solid #fff;\\n    border-radius: 50%; }\\n    .thumb-xs .status.status-bottom,\\n    .thumb-sm .status.status-bottom,\\n    .thumb-lg .status.status-bottom,\\n    .thumb-xlg .status.status-bottom,\\n    .thumb .status.status-bottom {\\n      top: auto;\\n      left: auto;\\n      bottom: 0;\\n      right: 0; }\\n\\n.text-ellipsis {\\n  display: block;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis; }\\n\\n.input-dark {\\n  background-color: rgba(0, 0, 0, 0.4);\\n  border: 0;\\n  color: #555555; }\\n  .input-dark:focus {\\n    background-color: #eeeeee; }\\n\\n.input-group-dark .input-group-addon,\\n.input-group-dark .form-control {\\n  background-color: rgba(0, 0, 0, 0.4);\\n  border: 0;\\n  color: #555555;\\n  transition: background-color 0.15s ease-in-out; }\\n\\n.input-group-dark .form-control:focus,\\n.input-group-dark .form-control:focus + .input-group-addon,\\n.input-group-dark.focus .input-group-addon {\\n  background-color: #eeeeee; }\\n\\n.input-group-transparent .form-control:first-child, .input-group-no-border .form-control:first-child,\\n.input-group-transparent .input-group-addon:first-child, .input-group-no-border .input-group-addon:first-child,\\n.input-group-transparent .input-group-btn:first-child > .btn, .input-group-no-border .input-group-btn:first-child > .btn,\\n.input-group-transparent .input-group-btn:first-child > .btn-group > .btn, .input-group-no-border .input-group-btn:first-child > .btn-group > .btn,\\n.input-group-transparent .input-group-btn:first-child > .dropdown-toggle, .input-group-no-border .input-group-btn:first-child > .dropdown-toggle,\\n.input-group-transparent .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-no-border .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group-transparent .input-group-btn:last-child > .btn-group:not(:last-child) > .btn, .input-group-no-border .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\\n  border-top-right-radius: 0;\\n  border-bottom-right-radius: 0;\\n  border-right: none; }\\n\\n.input-group-transparent .form-control:last-child, .input-group-no-border .form-control:last-child,\\n.input-group-transparent .input-group-addon:last-child, .input-group-no-border .input-group-addon:last-child,\\n.input-group-transparent .input-group-btn:last-child > .btn, .input-group-no-border .input-group-btn:last-child > .btn,\\n.input-group-transparent .input-group-btn:last-child > .btn-group > .btn, .input-group-no-border .input-group-btn:last-child > .btn-group > .btn,\\n.input-group-transparent .input-group-btn:last-child > .dropdown-toggle, .input-group-no-border .input-group-btn:last-child > .dropdown-toggle,\\n.input-group-transparent .input-group-btn:first-child > .btn:not(:first-child), .input-group-no-border .input-group-btn:first-child > .btn:not(:first-child),\\n.input-group-transparent .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, .input-group-no-border .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\\n  border-top-left-radius: 0;\\n  border-bottom-left-radius: 0;\\n  border-left: none;\\n  padding-left: 0; }\\n\\n.input-group-transparent .input-group-addon, .input-group-no-border .input-group-addon {\\n  background-color: #fff;\\n  transition: border-color ease-in-out 0.15s; }\\n\\n.input-group-transparent .form-control:focus + .input-group-addon, .input-group-no-border .form-control:focus + .input-group-addon,\\n.input-group-transparent.focus .input-group-addon, .focus.input-group-no-border .input-group-addon {\\n  border-color: #4D90FE; }\\n\\n.input-no-border, .input-group-no-border .form-control,\\n.input-group-no-border .input-group-addon {\\n  border: none;\\n  transition: background-color ease-in-out 0.15s; }\\n  .input-no-border:focus, .input-group-no-border .form-control:focus,\\n  .input-group-no-border .input-group-addon:focus,\\n  .input-group-no-border .form-control:focus + .input-group-addon,\\n  .input-group-no-border.focus .input-group-addon {\\n    background-color: #f1f1f1; }\\n\\n.input-group-rounded .form-control:first-child,\\n.input-group-rounded .input-group-addon:first-child,\\n.input-group-rounded .input-group-btn:first-child > .btn,\\n.input-group-rounded .input-group-btn:first-child > .btn-group > .btn,\\n.input-group-rounded .input-group-btn:first-child > .dropdown-toggle,\\n.input-group-rounded .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group-rounded .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\\n  border-top-left-radius: 0.25rem;\\n  border-bottom-left-radius: 0.25rem; }\\n\\n.input-group-rounded .form-control:last-child,\\n.input-group-rounded .input-group-addon:last-child,\\n.input-group-rounded .input-group-btn:last-child > .btn,\\n.input-group-rounded .input-group-btn:last-child > .btn-group > .btn,\\n.input-group-rounded .input-group-btn:last-child > .dropdown-toggle,\\n.input-group-rounded .input-group-btn:first-child > .btn:not(:first-child),\\n.input-group-rounded .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\\n  border-top-right-radius: 0.25rem;\\n  border-bottom-right-radius: 0.25rem; }\\n\\n.chart-overflow-bottom {\\n  margin: 0 -20px -15px; }\\n\\n.globe {\\n  font-size: 64px; }\\n  .globe > i {\\n    position: relative; }\\n    .globe > i > i {\\n      position: absolute;\\n      left: 0; }\\n\\n.thin-scroll::-webkit-scrollbar {\\n  height: 8px;\\n  width: 8px; }\\n\\n.thin-scroll::-webkit-scrollbar:hover {\\n  background-color: #e9e9e9;\\n  border: none; }\\n\\n.thin-scroll::-webkit-scrollbar-thumb {\\n  border: none;\\n  background-color: rgba(0, 0, 0, 0.2);\\n  box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1); }\\n\\n.thin-scroll::-webkit-scrollbar-thumb:hover {\\n  background-color: #999999; }\\n\\n@-webkit-keyframes bg-attention {\\n  0% {\\n    background-color: #fdf7e6; }\\n  5% {\\n    background-color: #fae8b6; }\\n  0% {\\n    background-color: transparent; } }\\n\\n@keyframes bg-attention {\\n  0% {\\n    background-color: #fdf7e6; }\\n  5% {\\n    background-color: #fae8b6; }\\n  0% {\\n    background-color: transparent; } }\\n\\n.bg-attention {\\n  animation: bg-attention 10s; }\\n\\n/* .h* + .fw-bold */\\n.value0 {\\n  margin: 0;\\n  font-size: 54px;\\n  font-weight: 600; }\\n\\n.value1 {\\n  margin: 0;\\n  font-size: 2.5rem;\\n  font-weight: 600; }\\n\\n.value2 {\\n  margin: 0;\\n  font-size: 2rem;\\n  font-weight: 600; }\\n\\n.value3 {\\n  margin: 0;\\n  font-size: 1.75rem;\\n  font-weight: 600; }\\n\\n.value4 {\\n  margin: 0;\\n  font-size: 1.5rem;\\n  font-weight: 600; }\\n\\n.value5 {\\n  margin: 0;\\n  font-size: 1.25rem;\\n  font-weight: 600; }\\n\\n.value6 {\\n  margin: 0;\\n  font-size: 1rem;\\n  font-weight: 600; }\\n\\n.help {\\n  font-size: 85%;\\n  color: #999999; }\\n\\n.no-margin {\\n  margin: 0; }\\n\\n.mt-xlg {\\n  margin-top: 40px; }\\n\\n.mt-n-xlg {\\n  margin-top: -40px; }\\n\\n.mt-lg {\\n  margin-top: 1.5rem; }\\n\\n.mt-n-lg {\\n  margin-top: -1.5rem; }\\n\\n.mt {\\n  margin-top: 1rem; }\\n\\n.mt-n {\\n  margin-top: 1rem; }\\n\\n.mt-md {\\n  margin-top: 1rem; }\\n\\n.mt-n-md {\\n  margin-top: -1rem; }\\n\\n.mt-sm {\\n  margin-top: 0.5rem; }\\n\\n.mt-n-sm {\\n  margin-top: -0.5rem; }\\n\\n.mt-xs {\\n  margin-top: 0.25rem; }\\n\\n.mt-n-xs {\\n  margin-top: -0.25rem; }\\n\\n.mt-0 {\\n  margin-top: 0; }\\n\\n.mt-n-0 {\\n  margin-top: 0; }\\n\\n.mb-xlg {\\n  margin-bottom: 40px; }\\n\\n.mb-n-xlg {\\n  margin-bottom: -40px; }\\n\\n.mb-lg {\\n  margin-bottom: 1.5rem; }\\n\\n.mb-n-lg {\\n  margin-bottom: -1.5rem; }\\n\\n.mb {\\n  margin-bottom: 1rem; }\\n\\n.mb-n {\\n  margin-bottom: 1rem; }\\n\\n.mb-md {\\n  margin-bottom: 1rem; }\\n\\n.mb-n-md {\\n  margin-bottom: -1rem; }\\n\\n.mb-sm {\\n  margin-bottom: 0.5rem; }\\n\\n.mb-n-sm {\\n  margin-bottom: -0.5rem; }\\n\\n.mb-xs {\\n  margin-bottom: 0.25rem; }\\n\\n.mb-n-xs {\\n  margin-bottom: -0.25rem; }\\n\\n.mb-0 {\\n  margin-bottom: 0; }\\n\\n.mb-n-0 {\\n  margin-bottom: 0; }\\n\\n.ml-lg {\\n  margin-left: 20px; }\\n\\n.ml-n-lg {\\n  margin-left: -20px; }\\n\\n.ml {\\n  margin-left: 15px; }\\n\\n.ml-n {\\n  margin-left: 15px; }\\n\\n.ml-md {\\n  margin-left: 15px; }\\n\\n.ml-n-md {\\n  margin-left: -15px; }\\n\\n.ml-sm {\\n  margin-left: 10px; }\\n\\n.ml-n-sm {\\n  margin-left: -10px; }\\n\\n.ml-xs {\\n  margin-left: 5px; }\\n\\n.ml-n-xs {\\n  margin-left: -5px; }\\n\\n.ml-0 {\\n  margin-left: 0; }\\n\\n.ml-n-0 {\\n  margin-left: 0; }\\n\\n.mr-lg {\\n  margin-right: 20px; }\\n\\n.mr-n-lg {\\n  margin-right: -20px; }\\n\\n.mr {\\n  margin-right: 15px; }\\n\\n.mr-n {\\n  margin-right: 15px; }\\n\\n.mr-md {\\n  margin-right: 15px; }\\n\\n.mr-n-md {\\n  margin-right: -15px; }\\n\\n.mr-sm {\\n  margin-right: 10px; }\\n\\n.mr-n-sm {\\n  margin-right: -10px; }\\n\\n.mr-xs {\\n  margin-right: 5px; }\\n\\n.mr-n-xs {\\n  margin-right: -5px; }\\n\\n.mr-0 {\\n  margin-right: 0; }\\n\\n.mr-n-0 {\\n  margin-right: 0; }\\n\\n.no-padding {\\n  padding: 0; }\\n\\n.display-inline {\\n  display: inline; }\\n\\n.display-n-inline {\\n  display: -inline; }\\n\\n.display-inline-block {\\n  display: inline-block; }\\n\\n.display-n-inline-block {\\n  display: -inline; }\\n\\n.display-block {\\n  display: block; }\\n\\n.display-n-block {\\n  display: -inline; }\\n\\n.width-50 {\\n  width: 50px; }\\n\\n.width-n-50 {\\n  width: -inline; }\\n\\n.width-100 {\\n  width: 100px; }\\n\\n.width-n-100 {\\n  width: -inline; }\\n\\n.width-150 {\\n  width: 150px; }\\n\\n.width-n-150 {\\n  width: -inline; }\\n\\n.width-200 {\\n  width: 200px; }\\n\\n.width-n-200 {\\n  width: -inline; }\\n\\n.height-50 {\\n  height: 50px; }\\n\\n.height-n-50 {\\n  height: -inline; }\\n\\n.height-100 {\\n  height: 100px; }\\n\\n.height-n-100 {\\n  height: -inline; }\\n\\n.height-150 {\\n  height: 150px; }\\n\\n.height-n-150 {\\n  height: -inline; }\\n\\n.height-200 {\\n  height: 200px; }\\n\\n.height-n-200 {\\n  height: -inline; }\\n\\n.height-250 {\\n  height: 250px; }\\n\\n.height-n-250 {\\n  height: -inline; }\\n\\n.max-height-50 {\\n  max-height: 50px; }\\n\\n.max-height-n-50 {\\n  max-height: -inline; }\\n\\n.max-height-100 {\\n  max-height: 100px; }\\n\\n.max-height-n-100 {\\n  max-height: -inline; }\\n\\n.max-height-150 {\\n  max-height: 150px; }\\n\\n.max-height-n-150 {\\n  max-height: -inline; }\\n\\n.max-height-200 {\\n  max-height: 200px; }\\n\\n.max-height-n-200 {\\n  max-height: -inline; }\\n\\n.max-height-250 {\\n  max-height: 250px; }\\n\\n.max-height-n-250 {\\n  max-height: -inline; }\\n\\n.opacity-10 {\\n  opacity: 0.1; }\\n\\n.opacity-n-10 {\\n  opacity: -inline; }\\n\\n.opacity-20 {\\n  opacity: 0.2; }\\n\\n.opacity-n-20 {\\n  opacity: -inline; }\\n\\n.opacity-30 {\\n  opacity: 0.3; }\\n\\n.opacity-n-30 {\\n  opacity: -inline; }\\n\\n.opacity-40 {\\n  opacity: 0.4; }\\n\\n.opacity-n-40 {\\n  opacity: -inline; }\\n\\n.opacity-50 {\\n  opacity: 0.5; }\\n\\n.opacity-n-50 {\\n  opacity: -inline; }\\n\\n.opacity-60 {\\n  opacity: 0.6; }\\n\\n.opacity-n-60 {\\n  opacity: -inline; }\\n\\n.opacity-70 {\\n  opacity: 0.7; }\\n\\n.opacity-n-70 {\\n  opacity: -inline; }\\n\\n.opacity-80 {\\n  opacity: 0.8; }\\n\\n.opacity-n-80 {\\n  opacity: -inline; }\\n\\n.opacity-90 {\\n  opacity: 0.9; }\\n\\n.opacity-n-90 {\\n  opacity: -inline; }\\n\\n.z-index-more {\\n  z-index: 1; }\\n\\n.z-index-n-more {\\n  z-index: -inline; }\\n\\n.z-index-less {\\n  z-index: -1; }\\n\\n.z-index-n-less {\\n  z-index: -inline; }\\n\\n.z-index-10 {\\n  z-index: 10; }\\n\\n.z-index-n-10 {\\n  z-index: -inline; }\\n\\n.z-index--10 {\\n  z-index: -10; }\\n\\n.z-index-n--10 {\\n  z-index: -inline; }\\n\\n.no-border {\\n  border: none; }\\n\\n.bt {\\n  border-top: 1px solid #ddd; }\\n\\n.br {\\n  border-right: 1px solid #ddd; }\\n\\n.bb {\\n  border-bottom: 1px solid #ddd; }\\n\\n.bl {\\n  border-left: 1px solid #ddd; }\\n\\n.overflow-hidden {\\n  overflow: hidden; }\\n\\n.fw-semi-bold {\\n  font-weight: 600; }\\n\\n.fw-normal {\\n  font-weight: 400; }\\n\\n.fw-bold {\\n  font-weight: 700; }\\n\\n.fw-thin {\\n  font-weight: 300; }\\n\\n.rotate-45 {\\n  transform: rotate(45deg); }\\n\\n.rotate-135 {\\n  transform: rotate(135deg); }\\n\\n.rotate-225 {\\n  transform: rotate(225deg); }\\n\\n.rotate-315 {\\n  transform: rotate(315deg); }\\n\\n/* small + .text-muted*/\\n.deemphasize {\\n  font-size: 85%;\\n  color: #999999; }\\n\\n.bg-primary {\\n  background-color: #5d8fc2 !important;\\n  color: #555555 !important; }\\n\\na.bg-primary:focus, a.bg-primary:hover {\\n  background-color: #4175ab; }\\n\\n.bg-success {\\n  background-color: #64bd63 !important;\\n  color: #555555 !important; }\\n\\na.bg-success:focus, a.bg-success:hover {\\n  background-color: #48a746; }\\n\\n.bg-info {\\n  background-color: #5dc4bf !important;\\n  color: #555555 !important; }\\n\\na.bg-info:focus, a.bg-info:hover {\\n  background-color: #40aea9; }\\n\\n.bg-warning {\\n  background-color: #f0b518 !important;\\n  color: #555555 !important; }\\n\\na.bg-warning:focus, a.bg-warning:hover {\\n  background-color: #c8950d; }\\n\\n.bg-danger {\\n  background-color: #dd5826 !important;\\n  color: #555555 !important; }\\n\\na.bg-danger:focus, a.bg-danger:hover {\\n  background-color: #b4461c; }\\n\\n.bg-primary-light {\\n  background-color: #dee4ee !important;\\n  color: #555555 !important; }\\n\\na.bg-primary-light:focus, a.bg-primary-light:hover {\\n  background-color: #bcc8dd; }\\n\\n.bg-success-light {\\n  background-color: #ecfaec !important;\\n  color: #555555 !important; }\\n\\na.bg-success-light:focus, a.bg-success-light:hover {\\n  background-color: #c4efc4; }\\n\\n.bg-info-light {\\n  background-color: #f2fafa !important;\\n  color: #555555 !important; }\\n\\na.bg-info-light:focus, a.bg-info-light:hover {\\n  background-color: #cdecec; }\\n\\n.bg-warning-light {\\n  background-color: #fdf7e6 !important;\\n  color: #555555 !important; }\\n\\na.bg-warning-light:focus, a.bg-warning-light:hover {\\n  background-color: #fae8b6; }\\n\\n.bg-danger-light {\\n  background-color: #fff2ef !important;\\n  color: #555555 !important; }\\n\\na.bg-danger-light:focus, a.bg-danger-light:hover {\\n  background-color: #ffc9bc; }\\n\\n.bg-body {\\n  background-color: #eee !important;\\n  color: #555555 !important; }\\n\\na.bg-body:focus, a.bg-body:hover {\\n  background-color: #d5d5d5; }\\n\\n.bg-body-light {\\n  background-color: #f6f6f6 !important;\\n  color: #555555 !important; }\\n\\na.bg-body-light:focus, a.bg-body-light:hover {\\n  background-color: gainsboro; }\\n\\n.bg-gray {\\n  background-color: #555555 !important;\\n  color: #555555 !important; }\\n\\na.bg-gray:focus, a.bg-gray:hover {\\n  background-color: #3c3c3c; }\\n\\n.bg-gray-transparent {\\n  background-color: rgba(85, 85, 85, 0.6) !important;\\n  color: #555555 !important; }\\n\\na.bg-gray-transparent:focus, a.bg-gray-transparent:hover {\\n  background-color: rgba(60, 60, 60, 0.6); }\\n\\n.bg-gray-dark {\\n  background-color: #343434 !important;\\n  color: #555555 !important; }\\n\\na.bg-gray-dark:focus, a.bg-gray-dark:hover {\\n  background-color: #1b1b1b; }\\n\\n.bg-black {\\n  background-color: #000 !important;\\n  color: #555555 !important; }\\n\\na.bg-black:focus, a.bg-black:hover {\\n  background-color: black; }\\n\\n.bg-gray-light {\\n  background-color: #999999 !important;\\n  color: #555555 !important; }\\n\\na.bg-gray-light:focus, a.bg-gray-light:hover {\\n  background-color: gray; }\\n\\n.bg-gray-lighter {\\n  background-color: #eeeeee !important;\\n  color: #555555 !important; }\\n\\na.bg-gray-lighter:focus, a.bg-gray-lighter:hover {\\n  background-color: #d5d5d5; }\\n\\n.bg-transparent {\\n  background-color: transparent !important;\\n  color: #555555 !important; }\\n\\na.bg-transparent:focus, a.bg-transparent:hover {\\n  background-color: transparent; }\\n\\n.bg-white {\\n  background-color: #fff !important;\\n  color: #555555 !important; }\\n\\na.bg-white:focus, a.bg-white:hover {\\n  background-color: #e6e6e6; }\\n\\n.bg-sidebar {\\n  background-color: #242424 !important;\\n  color: #555555 !important; }\\n\\na.bg-sidebar:focus, a.bg-sidebar:hover {\\n  background-color: #0b0b0b; }\\n\\n.bg-body, .bg-body-light, .bg-gray, .bg-gray-transparent, .bg-transparent,\\n.bg-primary, .bg-success, .bg-warning, .bg-danger, .bg-info {\\n  transition: background-color 0.15s ease-in-out; }\\n\\n.text-primary {\\n  color: #5d8fc2 !important; }\\n\\na.text-primary:focus, a.text-primary:hover {\\n  color: #4175ab !important; }\\n\\n.text-success {\\n  color: #64bd63 !important; }\\n\\na.text-success:focus, a.text-success:hover {\\n  color: #48a746 !important; }\\n\\n.text-info {\\n  color: #5dc4bf !important; }\\n\\na.text-info:focus, a.text-info:hover {\\n  color: #40aea9 !important; }\\n\\n.text-warning {\\n  color: #f0b518 !important; }\\n\\na.text-warning:focus, a.text-warning:hover {\\n  color: #c8950d !important; }\\n\\n.text-danger {\\n  color: #dd5826 !important; }\\n\\na.text-danger:focus, a.text-danger:hover {\\n  color: #b4461c !important; }\\n\\n.text-link {\\n  color: #218BC3 !important; }\\n\\na.text-link:focus, a.text-link:hover {\\n  color: #1a6c97 !important; }\\n\\n.text-white {\\n  color: #fff !important; }\\n\\na.text-white:focus, a.text-white:hover {\\n  color: #e6e6e6 !important; }\\n\\n.text-gray {\\n  color: #555555 !important; }\\n\\na.text-gray:focus, a.text-gray:hover {\\n  color: #3c3c3c !important; }\\n\\n.text-gray-dark {\\n  color: #343434 !important; }\\n\\na.text-gray-dark:focus, a.text-gray-dark:hover {\\n  color: #1b1b1b !important; }\\n\\n.text-gray-light {\\n  color: #999999 !important; }\\n\\na.text-gray-light:focus, a.text-gray-light:hover {\\n  color: gray !important; }\\n\\n.text-semi-muted {\\n  color: #777 !important; }\\n\\na.text-semi-muted:focus, a.text-semi-muted:hover {\\n  color: #5e5e5e !important; }\\n\\n.text-gray-darker {\\n  color: #222222 !important; }\\n\\na.text-gray-darker:focus, a.text-gray-darker:hover {\\n  color: #090909 !important; }\\n\\n.text-gray-lighter {\\n  color: #eeeeee !important; }\\n\\na.text-gray-lighter:focus, a.text-gray-lighter:hover {\\n  color: #d5d5d5 !important; }\\n\\n.text-bg-sidebar {\\n  color: #242424 !important; }\\n\\na.text-bg-sidebar:focus, a.text-bg-sidebar:hover {\\n  color: #0b0b0b !important; }\\n\\n.text-light {\\n  opacity: .8; }\\n\\n.fs-mini {\\n  font-size: 13px; }\\n\\n.fs-smaller {\\n  font-size: 85%; }\\n\\n.fs-sm {\\n  font-size: 0.875rem; }\\n\\n.fs-larger {\\n  font-size: 15px; }\\n\\n.btlr {\\n  border-top-left-radius: 0.25rem; }\\n\\n.btrr {\\n  border-top-right-radius: 0.25rem; }\\n\\n.bblr {\\n  border-bottom-left-radius: 0.25rem; }\\n\\n.bbrr {\\n  border-bottom-right-radius: 0.25rem; }\\n\\n.hide {\\n  display: none !important; }\\n\\n.show {\\n  display: block !important; }\\n\\n.fade-up.ng-enter {\\n  animation: fadeInUp 0.5s; }\\n\\n.fade-up.ng-leave {\\n  animation: fadeOutUp 0.5s; }\\n\\n@media print {\\n  .page-controls, .sidebar, .loader-wrap, .chat-sidebar {\\n    display: none; }\\n  .content-wrap {\\n    position: static; }\\n  .content {\\n    margin: 0;\\n    padding: 0; }\\n  .table, .table td, .table th {\\n    background: #fff !important;\\n    border: none !important; }\\n  .table td {\\n    border-top: 1px solid #999999 !important; }\\n  .hidden-print {\\n    display: none !important; }\\n  .col-print-1,\\n  .col-print-2,\\n  .col-print-3,\\n  .col-print-4,\\n  .col-print-5,\\n  .col-print-6,\\n  .col-print-7,\\n  .col-print-8,\\n  .col-print-9,\\n  .col-print-10,\\n  .col-print-11 {\\n    float: left; }\\n  .col-print-1 {\\n    width: 8.33333%; }\\n  .col-print-2 {\\n    width: 16.66667%; }\\n  .col-print-3 {\\n    width: 25%; }\\n  .col-print-4 {\\n    width: 33.33333%; }\\n  .col-print-5 {\\n    width: 41.66667%; }\\n  .col-print-6 {\\n    width: 50%; }\\n  .col-print-7 {\\n    width: 58.33333%; }\\n  .col-print-8 {\\n    width: 66.66667%; }\\n  .col-print-9 {\\n    width: 75%; }\\n  .col-print-10 {\\n    width: 83.33333%; }\\n  .col-print-11 {\\n    width: 91.66667%; }\\n  .col-print-12 {\\n    width: 100%; }\\n  .col-print-push-0 {\\n    left: auto; }\\n  .col-print-push-1 {\\n    left: 8.33333%; }\\n  .col-print-push-2 {\\n    left: 16.66667%; }\\n  .col-print-push-3 {\\n    left: 25%; }\\n  .col-print-push-4 {\\n    left: 33.33333%; }\\n  .col-print-push-5 {\\n    left: 41.66667%; }\\n  .col-print-push-6 {\\n    left: 50%; }\\n  .col-print-push-7 {\\n    left: 58.33333%; }\\n  .col-print-push-8 {\\n    left: 66.66667%; }\\n  .col-print-push-9 {\\n    left: 75%; }\\n  .col-print-push-10 {\\n    left: 83.33333%; }\\n  .col-print-push-11 {\\n    left: 91.66667%; }\\n  .col-print-pull-0 {\\n    right: auto; }\\n  .col-print-pull-1 {\\n    right: 8.33333%; }\\n  .col-print-pull-2 {\\n    right: 16.66667%; }\\n  .col-print-pull-3 {\\n    right: 25%; }\\n  .col-print-pull-4 {\\n    right: 33.33333%; }\\n  .col-print-pull-5 {\\n    right: 41.66667%; }\\n  .col-print-pull-6 {\\n    right: 50%; }\\n  .col-print-pull-7 {\\n    right: 58.33333%; }\\n  .col-print-pull-8 {\\n    right: 66.66667%; }\\n  .col-print-pull-9 {\\n    right: 75%; }\\n  .col-print-pull-10 {\\n    right: 83.33333%; }\\n  .col-print-pull-11 {\\n    right: 91.66667%; }\\n  .col-print-offset-0 {\\n    margin-left: 0; }\\n  .col-print-offset-1 {\\n    margin-left: 8.33333%; }\\n  .col-print-offset-2 {\\n    margin-left: 16.66667%; }\\n  .col-print-offset-3 {\\n    margin-left: 25%; }\\n  .col-print-offset-4 {\\n    margin-left: 33.33333%; }\\n  .col-print-offset-5 {\\n    margin-left: 41.66667%; }\\n  .col-print-offset-6 {\\n    margin-left: 50%; }\\n  .col-print-offset-7 {\\n    margin-left: 58.33333%; }\\n  .col-print-offset-8 {\\n    margin-left: 66.66667%; }\\n  .col-print-offset-9 {\\n    margin-left: 75%; }\\n  .col-print-offset-10 {\\n    margin-left: 83.33333%; }\\n  .col-print-offset-11 {\\n    margin-left: 91.66667%; } }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/scss/application.scss\n// module id = 1364\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.catalogo != 1 ? 'widget' : 'widget soloLectura'\\\" id=\\\"datosMedicosView\\\">\\r\\n    <header>\\r\\n        <h3> Área médica </h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\" [hidden]=\\\"verision == 2\\\">\\r\\n        <form [formGroup]=\\\"AreaMedicaForm\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <h4>Contacto de emergencia</h4>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">                                              \\r\\n                            <table class=\\\"table table-hover\\\">\\r\\n                                    <thead>\\r\\n                                    <tr style=\\\"color: #fff;\\\">\\r\\n                                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                            Nombre\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Teléfono\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Email\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                            Parentesco\\r\\n                                        </th>                 \\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n                                <tbody>\\r\\n                                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of contactomedico\\\">\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.nombre}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.telefono}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{(c.email)?c.email:'-'}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{(c.parentescoid) ? c.parentescoid.descripcion : '-'}}</p>\\r\\n                                        </td>\\r\\n                                    </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>\\r\\n\\r\\n            <div *ngIf=\\\"verision == 2\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                    <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                        <input type=\\\"text\\\" id=\\\"nombre\\\" class=\\\"textUppercase\\\" required formControlName=\\\"nombreCE\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-4 col-sm-4 col-md-4 col-lg-4\\\">\\r\\n                                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                                <input  required formControlName=\\\"ladatelCE\\\" #lada3>\\r\\n                                                <span class=\\\"highlight\\\">\\r\\n                                                </span> <span class=\\\"bar\\\"></span>\\r\\n                                                <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-8 col-sm-8 col-md-8 col-lg-8\\\">\\r\\n                                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                                <input required  formControlName=\\\"comtelCE\\\">\\r\\n                                                <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                                <label class=\\\"MaterialLabel\\\">Teléfono</label>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <small>Parentesco </small>\\r\\n                                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                    formControlName=\\\"parentescoCE\\\" placeholder=\\\"Parentesco\\\" [options]=\\\"selectParentesco\\\"\\r\\n                                                    labelField=\\\"descripcion\\\" valueField=\\\"parentescoid\\\" #parentescoselec>\\r\\n                                            <sui-select-option *ngFor=\\\"let option of parentescoselec.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                        </sui-select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:20px\\\">\\r\\n                                <p>¿Padece alguna enfermedad o condición que requiera cuidados especiales? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"enfermedad\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\" >\\r\\n                            <div class=\\\"group\\\" *ngIf=\\\"mostrarenfermedadnombre\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <input type=\\\"text\\\" id=\\\"enfermedadNombre\\\" class=\\\"textUppercase\\\" formControlName=\\\"enfermedadNombre\\\" required > <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Nombre de quien atiende</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-4 col-sm-4 col-md-4 col-lg-4\\\" >\\r\\n                                        <div class=\\\"group\\\" style=\\\"margin-top:25px\\\" *ngIf=\\\"mostrarenfermedadnombre\\\">\\r\\n                                            <input   required formControlName=\\\"ladaenfermedadTelefono\\\" #lada3>\\r\\n                                            <span class=\\\"highlight\\\">\\r\\n                                            </span> <span class=\\\"bar\\\"></span>\\r\\n                                            <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-8 col-sm-8 col-md-8 col-lg-8\\\">\\r\\n                                        <div class=\\\"group\\\" style=\\\"margin-top:25px\\\" *ngIf=\\\"mostrarenfermedadnombre\\\">\\r\\n                                            <input  required  formControlName=\\\"comenfermedadTelefono\\\">\\r\\n                                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                            <label class=\\\"MaterialLabel\\\">Teléfono</label>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\" >\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                            <div class=\\\"group\\\" *ngIf=\\\"mostrarenfermedadnombre\\\">\\r\\n                                <textarea id=\\\"enfermedadDescripcion\\\" class=\\\"textUppercase\\\" required=\\\"\\\" style=\\\"width: 100% !important; height: 80px !important; border-bottom: solid 1px #ccc;\\\" formControlName=\\\"enfermedadDescripcion\\\"></textarea>\\r\\n                                <label>Especificar: </label>\\r\\n                                <span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div style=\\\"margin-top:30px\\\">\\r\\n                                <p>¿Su hijo(a) es alérgico a: ?</p>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Alergia</small>\\r\\n                                <sui-multi-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"alergia1\\\" placeholder=\\\"Opcional\\\" [options]=\\\"arrayAlergia\\\"\\r\\n                                            labelField=\\\"descripcion\\\" valueField=\\\"alergiaid\\\" #alergia1selec>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of alergia1selec.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-multi-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>Existe un antecedente familiar importante:  </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Antecedente</small>\\r\\n                                <sui-multi-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"antecedente\\\" placeholder=\\\"Opcional\\\" [options]=\\\"arrayAntecedentes\\\"\\r\\n                                            labelField=\\\"descripcion\\\" valueField=\\\"antecedentefamiliarimportanteid\\\" #antecedenteselec>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of antecedenteselec.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-multi-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                    <div class=\\\"group\\\" *ngIf=\\\"mostrarotraalergia\\\">\\r\\n                                        <textarea id=\\\"otraAlergia\\\" class=\\\"textUppercase\\\" required=\\\"\\\" style=\\\"width: 100% !important; height: 80px !important; border-bottom: solid 1px #ccc;\\\"  formControlName=\\\"otraAlergia\\\"></textarea>\\r\\n                                        <label>Especificar: </label>\\r\\n                                        <span></span>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" *ngIf=\\\"otrasenfersuedades\\\">\\r\\n                                <textarea id=\\\"descripcionAntecedente\\\" class=\\\"textUppercase\\\" required=\\\"\\\" style=\\\"width: 100% !important; height: 80px !important; border-bottom: solid 1px #ccc;\\\" formControlName=\\\"descripcionAntecedente\\\"></textarea>\\r\\n                                <label>Especificar: </label>\\r\\n                                <span></span>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <p>Autorizo que se le administre algún antihistamínico de acuerdo a su peso y talla en caso de alguna URGENCIA por alergia </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"autorizo\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec2>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec2.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>Nombre del padre, madre o tutor que autoriza </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <input type=\\\"text\\\" id=\\\"autoriza\\\" class=\\\"textUppercase\\\" name=\\\"autoriza\\\" required formControlName=\\\"autoriza\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Nombres</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Le han practicado algún examen auditivo? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"auditivo\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec3>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec3.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Utiliza aparatos auditivos? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"aparatoAuditivo\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec4>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec4.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Le han practicado algún examen ortopédico? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"ortopedico\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec5>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec5.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Utiliza zapatos o aditamentos ortopédicos? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"ortopedico1\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec6>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec6.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Le han practicado algún examen de la vista? </p>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"vista\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec7>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec7.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Utiliza lentes? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Opcional</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"lentes\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec8>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec8.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Estatura? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" formControlName=\\\"talla\\\" required> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\"></label>Cms\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <p>¿Peso? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" id=\\\"peso\\\" name=\\\"peso\\\" required formControlName=\\\"peso\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\"></label>  Kgs\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <p>¿Tipo de sangre? </p>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-3 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Tipo de sangre</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"sanguineo\\\" placeholder=\\\"Tipo de sangre\\\" [options]=\\\"sanguineo\\\"\\r\\n                                            labelField=\\\"descripcion\\\" valueField=\\\"tiposanguineoid\\\" #enfermedadselec8>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of enfermedadselec8.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </form>\\r\\n    </div>\\r\\n    <div class=\\\"widget-body soloLectura\\\" [hidden]=\\\"verision == 1\\\">\\r\\n        <fieldset>\\r\\n            <h4>\\r\\n                Datos médicos\\r\\n            </h4>\\r\\n            <div class=\\\"col-sm-12 divseparador\\\" style=\\\"height: 15px !important;\\\"></div>\\r\\n            <form [formGroup]=\\\"DatosMedicosForm\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                        <h4>Contacto de emergencia</h4>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\" formArrayName=\\\"contactomedico\\\">\\r\\n                                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">                                              \\r\\n                                            <table class=\\\"table table-hover\\\">\\r\\n                                                    <thead>\\r\\n                                                    <tr style=\\\"color: #fff;\\\">\\r\\n                                                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                            Nombre\\r\\n                                                        </th>\\r\\n                                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                                            Teléfono\\r\\n                                                        </th>\\r\\n                                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                                            Email\\r\\n                                                        </th>\\r\\n                                                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                            Parentesco\\r\\n                                                        </th>                 \\r\\n                                                    </tr>\\r\\n                                                </thead>\\r\\n                                                <tbody>\\r\\n                                                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of contactomedico\\\">\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <p>{{c.nombre}}</p>\\r\\n                                                        </td>\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <p>{{c.telefono}}</p>\\r\\n                                                        </td>\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <p>{{(c.email)?c.email:'-'}}</p>\\r\\n                                                        </td>\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <p>{{(c.parentescoid) ? c.parentescoid.descripcion : '-'}}</p>\\r\\n                                                        </td>\\r\\n                                                    </tr>\\r\\n                                                </tbody>\\r\\n                                            </table>\\r\\n                                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n    \\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <p>¿Padece alguna enfermedad o condición que requiera cuidados especiales? </p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"selectEnfermedad\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #enfermedadselec10>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of enfermedadselec10.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" *ngIf=\\\"mostrarenfermedadnombreciencias\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" id=\\\"especificarEnfermedadInput\\\" formControlName=\\\"enfermedad\\\" required> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">Especificar</label>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div >\\r\\n                                    <p>¿Su hijo(a) es alérgico a: ?</p>\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"selectAlergico\\\" placeholder=\\\"Opcional\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #alergia1selec2>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of alergia1selec2.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\" *ngIf=\\\"mostraralergia\\\">\\r\\n                                    <input type=\\\"text\\\" id=\\\"especificarAlergiaInput\\\" formControlName=\\\"alergia1\\\" required> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">Especificar</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <p>¿Toma medicamentos de manera frecuente?</p>\\r\\n\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"selectMeicamento\\\" placeholder=\\\"Toma medicamentos de manera frecuente\\\" [options]=\\\"selectenfermedad\\\"\\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #mediselec2>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of mediselec2.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\"  *ngIf=\\\"mostrarmedicamento\\\">\\r\\n                                    <input type=\\\"text\\\" id=\\\"antecedente\\\" formControlName=\\\"antecedente\\\" required> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">Especificar</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\" >\\r\\n                                    <p>¿Estatura? </p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\" >\\r\\n                                    <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" formControlName=\\\"talla\\\" required> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\"></label>Cms\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <p>¿Peso? </p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\" >\\r\\n                                    <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" id=\\\"peso\\\" name=\\\"peso\\\" required formControlName=\\\"peso\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\"></label>  Kgs\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/areamedica/areamedica.component.html\n// module id = 1365\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'widget' : 'widget soloLectura'\\\">\\r\\n    <header>\\r\\n        <h3> Comentarios </h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset>\\r\\n            <legend></legend>\\r\\n            <form [formGroup]=\\\"FormGuardar\\\" (ngSubmit)=\\\"guardarComentario()\\\">\\r\\n                <div class=\\\"row\\\" style=\\\"padding: 10px;\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                    <div  class=\\\"col-lg-6 col-md-6 col-sm-12 col-12\\\" style=\\\"display: inline-block;\\\">\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <div class=\\\"styled-input wide inputResponsive\\\" style=\\\"width: 100% !important;\\\">\\r\\n                                <textarea required style=\\\"width: 100% !important; min-height: 90px !important; border-bottom: solid 1px #ccc;\\\"\\r\\n                                          formControlName=\\\"comentario\\\">\\r\\n                                </textarea>\\r\\n                                <label >Comentario</label>\\r\\n                                <span></span>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormGuardar.controls.comentario.valid || (FormGuardar.controls.comentario.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Debe ingresar un comentario\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12\\\">\\r\\n                            <button class=\\\"btn principal\\\" style=\\\"float: right !important;;\\\" type=\\\"submit\\\">Guardar</button>\\r\\n                        </div>\\r\\n                    </div> \\r\\n                </div>\\r\\n            </form>\\r\\n        </fieldset>\\r\\n        <fieldset>\\r\\n            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">                                              \\r\\n                <table datatable [dtOptions]=\\\"dtOptionsCom\\\" [dtTrigger]=\\\"dtTriggerCom\\\" class=\\\"table table-hover\\\" id=\\\"tablaComenmtarios\\\">\\r\\n                       <thead>\\r\\n                        <tr style=\\\"color: #fff;\\\">\\r\\n                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                Comentario\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                Acciones\\r\\n                            </th>                 \\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayComentarios\\\">\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                <p>{{c.comentario}}</p>\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">                                                                \\r\\n                                <a><i class=\\\"fa fa-trash-o fa-lg\\\" aria-hidden=\\\"true\\\" (click)=\\\"eliminarComentario(c.comentarioporsolicitudid)\\\"></i></a>                                                          \\r\\n                            </td>                                                           \\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/comentarios/comentarios.component.html\n// module id = 1366\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'widget' : 'widget soloLectura'\\\">\\r\\n    <header>\\r\\n        <h3> Datos del aspirante </h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset *ngIf=\\\"DatosAspirante\\\">\\r\\n            <legend></legend>\\r\\n            <form [formGroup]=\\\"DatosAspirante\\\" (ngSubmit)=\\\"guardarAspirante()\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <!--IZQUIERDA-->\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <!--DATOS GENERALES-->\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" formGroupName=\\\"datosgenerales\\\">\\r\\n                                <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                    <h4>\\r\\n                                        Datos generales \\r\\n                                    </h4>\\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <input class=\\\"texto\\\"  type=\\\"text\\\" required formControlName=\\\"nombre\\\" \\r\\n                                                   [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                                   (focusout)=\\\"transformartexto(DatosAspirante.controls.datosgenerales.controls.nombre)\\\"> \\r\\n                                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.datosgenerales.controls.nombre.valid || (DatosAspirante.controls.datosgenerales.controls.nombre.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir nombre\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <input class=\\\"texto\\\" type=\\\"text\\\" required formControlName=\\\"apellidopaterno\\\" \\r\\n                                                   [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                                   (focusout)=\\\"transformartexto(DatosAspirante.controls.datosgenerales.controls.apellidopaterno)\\\"> \\r\\n                                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Apellido paterno</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.datosgenerales.controls.apellidopaterno.valid || (DatosAspirante.controls.datosgenerales.controls.apellidopaterno.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir apellido paterno\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"group\\\" style=\\\"margin-top: 24px;\\\">\\r\\n                                            <input  class=\\\"texto\\\" type=\\\"text\\\" required formControlName=\\\"apellidomaterno\\\" \\r\\n                                                    [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                                   (focusout)=\\\"transformartexto(DatosAspirante.controls.datosgenerales.controls.apellidomaterno)\\\"> \\r\\n                                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Apellido materno</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.datosgenerales.controls.apellidomaterno.valid || (DatosAspirante.controls.datosgenerales.controls.apellidomaterno.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir apellido materno\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <small>Género</small>\\r\\n                                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                        formControlName=\\\"sexo\\\" placeholder=\\\"Género\\\" [options]=\\\"generoSelect\\\" \\r\\n                                                        labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #genero>\\r\\n                                                <sui-select-option *ngFor=\\\"let option of genero.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                            </sui-select>                                    \\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.datosgenerales.controls.sexo.valid || (DatosAspirante.controls.datosgenerales.controls.sexo.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Seleccionar género\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <input oninput=\\\"this.value = this.value.toUpperCase()\\\"  required formControlName=\\\"curp\\\"> <span\\r\\n                                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                                class=\\\"MaterialLabel\\\">CURP</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.datosgenerales.controls.curp.valid || (DatosAspirante.controls.datosgenerales.controls.curp.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir curp\\r\\n                                        </small>\\r\\n                                        <a class=\\\"linkDefault\\\" target=\\\"_blank\\\" href=\\\"https://consultas.curp.gob.mx/CurpSP/inicio2_2.jsp\\\">\\r\\n                                            Consultar CURP\\r\\n                                        </a>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" [hidden]=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                                <div class=\\\"group\\\">\\r\\n                                                    <small>Vive con</small>\\r\\n                                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                                formControlName=\\\"vivecon\\\" placeholder=\\\"Vive con\\\" [options]=\\\"selectViveCon\\\"\\r\\n                                                                labelField=\\\"nombre\\\" valueField=\\\"viveconid\\\" #vivecon>\\r\\n                                                        <sui-select-option *ngFor=\\\"let option of vivecon.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                                    </sui-select>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                                <div class=\\\"row\\\">\\r\\n                                                    <!--<div class=\\\"col-4 col-sm-4 col-md-4 col-lg-4\\\">\\r\\n                                                        <div class=\\\"group\\\">\\r\\n                                                            <input  required formControlName=\\\"celularlada\\\" lada #lada3>\\r\\n                                                                    <span class=\\\"highlight\\\">\\r\\n                                                            </span> <span class=\\\"bar\\\"></span>\\r\\n                                                            <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                                        </div>\\r\\n                                                    </div> -->\\r\\n                                                    <div class=\\\"col-8 col-sm-8 col-md-8 col-lg-8\\\">\\r\\n                                                        <div class=\\\"group\\\">\\r\\n                                                            <input required [phonenumber]=\\\"{lada: 0}\\\" formControlName=\\\"celular\\\">\\r\\n                                                                   <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                                            <label class=\\\"MaterialLabel\\\">celular</label>\\r\\n                                                        </div>\\r\\n                                                    </div> \\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                                <div class=\\\"group\\\">\\r\\n                                                    <input type=\\\"text\\\" oninput=\\\"this.value = this.value.toLowerCase()\\\" maxlength=\\\"45\\\" required formControlName=\\\"email\\\"> \\r\\n                                                    <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Correo electrónico</label>\\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>                            \\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <!--ESCUELA PROCEDENCIA (SOLO LUX)-->\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" formGroupName=\\\"escuelaprocedencia\\\" *ngIf=\\\"version == 1\\\">\\r\\n                                <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                    <h4>\\r\\n                                        Escuela de procedencia\\r\\n                                    </h4>\\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <input type=\\\"text\\\"  class=\\\"texto\\\" required maxlength=\\\"45\\\" formControlName=\\\"nombre\\\"\\r\\n                                            [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                                   (focusout)=\\\"transformartexto(DatosAspirante.controls.escuelaprocedencia.controls.nombre)\\\"> \\r\\n                                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Nombre de escuela</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.escuelaprocedencia.controls.nombre.valid || (DatosAspirante.controls.escuelaprocedencia.controls.nombre.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir nombre de la escuela\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <input type=\\\"text\\\"  class=\\\"texto\\\" required maxlength=\\\"45\\\" formControlName=\\\"ciudad\\\"\\r\\n                                            [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                                   (focusout)=\\\"transformartexto(DatosAspirante.controls.escuelaprocedencia.controls.nombre)\\\"> \\r\\n                                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Ciudad y estado de la escuela</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.escuelaprocedencia.controls.ciudad.valid || (DatosAspirante.controls.escuelaprocedencia.controls.ciudad.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir ciudad y estado de la escuela\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <!--CONTACTO-->\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" formGroupName=\\\"contacto\\\">\\r\\n                                <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                    <h4>\\r\\n                                        Contacto para esta solicitud (En México)\\r\\n                                    </h4>\\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <input type=\\\"text\\\" required  maxlength=\\\"45\\\" formControlName=\\\"nombre\\\" \\r\\n                                            [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                                   (focusout)=\\\"transformartexto(DatosAspirante.controls.contacto.controls.nombre)\\\"> \\r\\n                                                   <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.contacto.controls.nombre.valid || (DatosAspirante.controls.contacto.controls.nombre.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir nombre\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <input type=\\\"text\\\" required formControlName=\\\"email\\\" oninput=\\\"this.value = this.value.toLowerCase()\\\"> \\r\\n                                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Correo electrónico</label>\\r\\n                                        </div>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.contacto.controls.email.valid || (DatosAspirante.controls.contacto.controls.email.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introducir un correo\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"row\\\" >\\r\\n                                            <!-- <div class=\\\"col-4 col-sm-4 col-md-4 col-lg-4\\\">\\r\\n                                                <div class=\\\"group\\\">\\r\\n                                                    <input required formControlName=\\\"celularlada\\\" lada #lada1>\\r\\n                                                           <span class=\\\"highlight\\\">\\r\\n                                                    </span> <span class=\\\"bar\\\"></span>\\r\\n                                                    <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                                </div>\\r\\n                                            </div> -->\\r\\n                                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                                                <div class=\\\"group\\\">\\r\\n                                                    <input required [phonenumber]=\\\"{lada: 0}\\\" formControlName=\\\"celular\\\">\\r\\n                                                           <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                                    <label class=\\\"MaterialLabel\\\">Teléfono celular</label>                                                    \\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                                                <small [hidden]=\\\"DatosAspirante.controls.contacto.controls.celular.valid || (DatosAspirante.controls.contacto.controls.celular.pristine && !submitted)\\\"\\r\\n                                                    style=\\\"color: red\\\">\\r\\n                                                    Introducir telefono celular a 10 digitos.\\r\\n                                                </small>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                        <div class=\\\"row\\\" >\\r\\n                                            <!--<div class=\\\"col-4 col-sm-4 col-md-4 col-lg-4\\\">\\r\\n                                                <div class=\\\"group\\\">\\r\\n                                                    <input  required formControlName=\\\"telefonolada\\\" lada #lada2>\\r\\n                                                            <span class=\\\"highlight\\\">\\r\\n                                                    </span> <span class=\\\"bar\\\"></span>\\r\\n                                                    <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                                </div>\\r\\n                                            </div>-->\\r\\n                                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                                                <div class=\\\"group\\\">\\r\\n                                                    <input required [phonenumber]=\\\"{lada: 0}\\\" formControlName=\\\"telefono\\\">\\r\\n                                                           <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                                    <label class=\\\"MaterialLabel\\\">Teléfono</label>                                                    \\r\\n                                                </div>\\r\\n                                            </div>\\r\\n                                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                                                <small [hidden]=\\\"DatosAspirante.controls.contacto.controls.telefono.valid || (DatosAspirante.controls.contacto.controls.telefono.pristine && !submitted)\\\"\\r\\n                                                    style=\\\"color: red\\\">\\r\\n                                                    Introducir teléfono a 10 digitos.\\r\\n                                                </small>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <!--DERECHA-->\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6\\\">\\r\\n                        <!--FECHA NACIMIENTO-->\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" formGroupName=\\\"fechalugarnacimiento\\\">\\r\\n                            <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                <h4 *ngIf=\\\"!parametrosModalSolicitud.edicion\\\">\\r\\n                                    Lugar y fecha de nacimiento\\r\\n                                </h4>\\r\\n                                <h4 *ngIf=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                                    Fecha de nacimiento\\r\\n                                </h4>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <my-date-picker formControlName=\\\"fecha\\\" placeholder=\\\"Fecha de nacimiento\\\"></my-date-picker>\\r\\n                                        <small [hidden]=\\\"DatosAspirante.controls.fechalugarnacimiento.controls.fecha.valid || (DatosAspirante.controls.fechalugarnacimiento.controls.fecha.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Seleccione una fecha\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\" >\\r\\n                                    <ng-container *ngIf=\\\"version == 2 && edadnivel\\\">\\r\\n                                        <small>Edad al&nbsp;{{fechaniveltemp}}</small>\\r\\n                                        <div class=\\\"group\\\">\\r\\n                                            <p>{{edadnivel}}</p>\\r\\n                                        </div>\\r\\n                                    </ng-container>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group soloLectura\\\">\\r\\n                                    <div class=\\\"group\\\" style=\\\"margin-top: 18px;\\\">\\r\\n                                        <input type=\\\"text\\\"  required formControlName=\\\"anos\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Años</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group soloLectura\\\">\\r\\n                                    <div class=\\\"group\\\" style=\\\"margin-top: 18px;\\\">\\r\\n                                        <input type=\\\"text\\\"  required formControlName=\\\"meses\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Meses</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input type=\\\"text\\\" required maxlength=\\\"5\\\" required formControlName=\\\"promedio\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Promedio</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" [hidden]=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                            <div class=\\\"group\\\">\\r\\n                                                <small>País</small>\\r\\n                                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" \\r\\n                                                            formControlName=\\\"pais\\\" placeholder=\\\"País\\\"  [options]=\\\"selectPais\\\"\\r\\n                                                            labelField=\\\"nombre\\\" valueField=\\\"paisid\\\" #Paisselect>\\r\\n                                                    <div class=\\\"ui icon search input\\\">\\r\\n                                                        <i class=\\\"search icon\\\"></i>\\r\\n                                                        <input suiSelectSearch type=\\\"text\\\">\\r\\n                                                    </div>\\r\\n                                                    <sui-select-option *ngFor=\\\"let option of Paisselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                                </sui-select>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                            <div class=\\\"group\\\">\\r\\n                                                <small>Estados</small>\\r\\n                                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"  \\r\\n                                                            formControlName=\\\"estado\\\" placeholder=\\\"Estados\\\" [options]=\\\"selectEstados\\\"\\r\\n                                                            labelField=\\\"nombre\\\" valueField=\\\"estadoid\\\" #Estadosselect>\\r\\n                                                    <div class=\\\"ui icon search input\\\">\\r\\n                                                        <i class=\\\"search icon\\\"></i>\\r\\n                                                        <input suiSelectSearch type=\\\"text\\\">\\r\\n                                                    </div>\\r\\n                                                    <sui-select-option *ngFor=\\\"let option of Estadosselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                                </sui-select>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                            <div class=\\\"group\\\">\\r\\n                                                <small>Municipio</small>\\r\\n                                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                            formControlName=\\\"municipio\\\" placeholder=\\\"Municipio\\\" [options]=\\\"selectMunicipios\\\"\\r\\n                                                            labelField=\\\"nombre\\\" valueField=\\\"municipioid\\\" #municipioslect>\\r\\n                                                    <div class=\\\"ui icon search input\\\">\\r\\n                                                        <i class=\\\"search icon\\\"></i>\\r\\n                                                        <input suiSelectSearch type=\\\"text\\\">\\r\\n                                                    </div>\\r\\n                                                    <sui-select-option *ngFor=\\\"let option of municipioslect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                                </sui-select>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <!--EXTRANJERO-->\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" formGroupName=\\\"extranjero\\\" [hidden]=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                            <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                <h4>\\r\\n                                    ¿Ha estudiado grados en el extranjero?\\r\\n                                </h4>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\" >\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" \\r\\n                                                    formControlName=\\\"estudios\\\" placeholder=\\\"¿Ha estudiado grados en el extranjero?\\\" [options]=\\\"estudiadoextSelect\\\"\\r\\n                                                    labelField=\\\"nombre\\\" valueField=\\\"id\\\" #estudiado>\\r\\n                                            <sui-select-option *ngFor=\\\"let option of estudiado.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                        </sui-select>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"group\\\" *ngIf=\\\"estudiado.selectedOption ? estudiado.selectedOption.id : false\\\">\\r\\n                                        <input type=\\\"text\\\" required  maxlength=\\\"90\\\"  formControlName=\\\"texto\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">¿Donde y cuales?</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <!--NACIONALIDAD-->\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">       \\r\\n                            <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                <h4>\\r\\n                                    Nacionalidad\\r\\n                                </h4>\\r\\n                            </div>\\r\\n                            <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                                <i id=\\\"nacionalidadCheck\\\" class=\\\"fa fa-check-square-o fa-lg\\\" *ngIf=\\\"labelnacionalidad\\\">&nbsp;&nbsp;\\r\\n                                    <h6 style=\\\"display: inline-block;\\\">{{labelnacionalidad}}</h6>\\r\\n                                </i>\\r\\n                            </div>\\r\\n                            <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                                <sui-multi-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" \\r\\n                                                  formControlName=\\\"nacionalidad\\\"\\r\\n                                                  placeholder=\\\"Nacionalidad\\\"\\r\\n                                                  [options]=\\\"selectNacionalidad\\\"\\r\\n                                                  labelField=\\\"nombre\\\"\\r\\n                                                  valueField=\\\"nacionalidadid\\\"                          \\r\\n                                                  #Nacionalidadoptionsselect>\\r\\n                                    <div class=\\\"ui icon search input\\\">\\r\\n                                        <i class=\\\"search icon\\\"></i>\\r\\n                                        <input suiSelectSearch type=\\\"text\\\">\\r\\n                                    </div>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of Nacionalidadoptionsselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-multi-select>\\r\\n                                <small [hidden]=\\\"DatosAspirante.controls.nacionalidad.valid || (DatosAspirante.controls.nacionalidad.pristine && !submitted)\\\"\\r\\n                                    style=\\\"color: red\\\">\\r\\n                                    Seleccione nacionalidad\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div> \\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">       \\r\\n                            <div class=\\\"row col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                <h4>\\r\\n                                    Hijo de personal (No. nómina)\\r\\n                                </h4>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"number\\\" maxlength=\\\"8\\\" formControlName=\\\"noNomina\\\" min=\\\"1\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">No. nómina</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>                         \\r\\n                    </div>\\r\\n                </div>  \\r\\n            </form>\\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/datosaspirante/datosaspirante.component.html\n// module id = 1367\n// module chunks = 3","module.exports = \"<section class=\\\"widget\\\">\\r\\n    <header>\\r\\n        <h3> Datos familiares </h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <!--Padres o tutores -->\\r\\n        <fieldset>\\r\\n            <legend></legend>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <h4>Padres y/o tutores</h4>\\r\\n                </div>\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"md-chip white\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\" (click)=\\\"modalPadre.show()\\\"\\r\\n                         style=\\\"margin-top: 10px;\\\">\\r\\n                        <a> <span class=\\\"md-chip-text\\\"> <i\\r\\n                                    style=\\\"color: #898989;\\\" class=\\\"fa fa-plus\\\"></i>\\r\\n                            </span>\\r\\n                            <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n                        </a>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                        <table datatable [dtOptions]=\\\"dtOptionsPT\\\" [dtTrigger]=\\\"dtTriggerPT\\\" class=\\\"table table-hover\\\" id=\\\"tablaPadresCrop\\\">\\r\\n                               <thead>\\r\\n                                <tr style=\\\"color: #fff;\\\">\\r\\n                                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                        Nombre\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Apellido paterno\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Apellido materno\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Celular\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Parentesco\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        <p *ngIf=\\\"version == 2\\\">Ex alumno</p>\\r\\n                                        <p *ngIf=\\\"version == 1\\\">Miembro colegio jesuita</p>\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        <p *ngIf=\\\"version == 2\\\">Generación</p>\\r\\n                                        <p *ngIf=\\\"version == 1\\\">Escuela jesuita</p>\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                        Acción\\r\\n                                    </th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayPadres\\\">\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.padre.nombre}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.padre.apellidopaterno}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.padre.apellidomaterno}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{setformatotelefono(c.padre.celular)}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.padre.tutorid.descripcion}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p *ngIf=\\\"version == 2\\\">{{c.padre.exlux ? 'Si' : 'No'}}</p>\\r\\n                                        <p *ngIf=\\\"version == 1\\\">{{c.padre.alumnoinstituto ? 'Si' : 'No'}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p *ngIf=\\\"version == 2\\\">{{c.padre.generacionid? c.padre.generacionid.nombre : ''}}</p>\\r\\n                                        <p *ngIf=\\\"version == 1\\\">{{c.padre.especificaralumno}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <a><i [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'fa fa-pencil fa-lg' : 'fa fa-eye fa-lg'\\\"  aria-hidden=\\\"true\\\" (click)=\\\"openPadres(c)\\\"></i></a>\\r\\n                                        &nbsp;\\r\\n                                        <a *ngIf=\\\"parametrosModalSolicitud.edicion\\\"><i class=\\\"fa fa-trash-o fa-lg\\\" aria-hidden=\\\"true\\\" (click)=\\\"removePadres(c.padre.padresotutoresid)\\\"></i></a>\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </fieldset>\\r\\n\\r\\n        <!--Tutor facturacion -->\\r\\n        <fieldset [ngClass]=\\\"parametrosModalSolicitud.edicion ? '' : 'soloLectura'\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                    <h5>Tutor de facturación</h5>\\r\\n                </div>\\r\\n                <div class=\\\"col-6 col-sm-6 col-md-3 col-lg-3\\\">\\r\\n                    <div class=\\\"group\\\">\\r\\n                        <small>Tutor</small>\\r\\n                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                        [(ngModel)]=\\\"familia.tutorid\\\" placeholder=\\\"Tutor\\\" [options]=\\\"tutorfacutacionSelect\\\"\\r\\n                                    labelField=\\\"nombre\\\" valueField=\\\"padresotutoresid\\\" #tutorselect>\\r\\n                            <sui-select-option *ngFor=\\\"let option of tutorselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                        </sui-select>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </fieldset>\\r\\n        <br>\\r\\n\\r\\n        <!--Clave familiar -->\\r\\n        <fieldset [ngClass]=\\\"parametrosModalSolicitud.edicion ? '' : 'soloLectura'\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                    <h5>Registro Familiar</h5>\\r\\n                </div>\\r\\n                <div class=\\\"col-6 col-sm-6 col-md-3 col-lg-3 soloLectura\\\">\\r\\n                    <div class=\\\"group inputResponsive\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"claveFamiliar\\\" maxlength=\\\"40\\\" required [(ngModel)]=\\\"familia.clavefamiliar\\\"> <span\\r\\n                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                            class=\\\"MaterialLabel\\\">Clave familiar</label>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-6 col-sm-6 col-md-9 col-lg-9\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" (click)=\\\"openClaveFamiliar()\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\">Asignar</button>\\r\\n                </div>\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                    <label>{{familia.familia}}</label>\\r\\n                </div>\\r\\n            </div>\\r\\n        </fieldset>\\r\\n        <br>\\r\\n\\r\\n        <!--Domicilio -->\\r\\n        <fieldset class=\\\"soloLectura\\\">\\r\\n            <form [formGroup]=\\\"DatosFamiliares\\\" *ngIf=\\\"!parametrosModalSolicitud.edicion\\\" >\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <h4>Domicilio</h4>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" style=\\\"margin-top:25px\\\" required formControlName=\\\"cp\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">C.P</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>Estado</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"estado\\\" placeholder=\\\"Estado\\\" [options]=\\\"SelectEstados\\\"\\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"estadoid\\\" #estadoselect>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of estadoselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>Municipio</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"municipio\\\" placeholder=\\\"Municipio\\\" [options]=\\\"SelectMunicipios\\\"\\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"municipioid\\\" #municipioselect>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of municipioselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4\\\">\\r\\n                                <div class=\\\"group form-group\\\">\\r\\n                                    <small>Colonia</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"colonia\\\" placeholder=\\\"Colonia\\\" [options]=\\\"SelectColonias\\\"\\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"coloniaid\\\" #coloniaselect>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of coloniaselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                </div>\\r\\n                                <div class=\\\"group\\\" [hidden]=\\\"coloniaselect.selectedOption ? coloniaselect.selectedOption.coloniaid != -1 : true\\\">\\r\\n                                     <input type=\\\"text\\\" required formControlName=\\\"otracolonia\\\" > <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Otra Colonia</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 \\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input style=\\\"margin-top:25px\\\" type=\\\"text\\\" required formControlName=\\\"calle\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Calle</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group form-group\\\">\\r\\n                                    <input type=\\\"text\\\" style=\\\"margin-top:25px\\\"  required formControlName=\\\"numex\\\" > <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Numero exterior</label>\\r\\n                                </div>\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"numint\\\" > <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Numero interior</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n        </fieldset>\\r\\n        <br>\\r\\n\\r\\n        <!--Persona autoriza -->\\r\\n        <fieldset class=\\\"soloLectura\\\" *ngIf=\\\"!parametrosModalSolicitud.edicion\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                    <h4>Personas autorizadas para recoger al niño además de mamá y papá</h4>\\r\\n                </div>\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                        <table datatable [dtOptions]=\\\"dtOptionsPersonaRecoge\\\" [dtTrigger]=\\\"dtTriggerPersonaRecoge\\\" class=\\\"table table-hover\\\" id=\\\"tablaRecoje\\\">\\r\\n                               <thead>\\r\\n                                <tr style=\\\"color: #fff;\\\">\\r\\n                                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                        Nombre\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                        Parentesco\\r\\n                                    </th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayPersonaRecoge\\\">\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.nombre}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.parentescoid.descripcion}}\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\\r\\n\\r\\n<!-- modal Padres y/o tutores-->\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalPadre=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n     <div class=\\\"modal-dialog modal-md\\\">\\r\\n        <div class=\\\"modal-content modal-md\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Padres y/o tutores </strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'modal-body' : 'modal-body soloLectura'\\\">\\r\\n                <form [formGroup]=\\\"FormInformacionbasica\\\" (ngSubmit)=\\\"guardarI()\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <h5>\\r\\n                                Información básica\\r\\n                            </h5>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-12 col-12 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input class=\\\"texto\\\" type=\\\"text\\\" required formControlName=\\\"nombre\\\"\\r\\n                                [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                       (focusout)=\\\"transformartexto(FormInformacionbasica.controls.nombre)\\\">\\r\\n                                <span class=\\\"highlight\\\"></span>\\r\\n                                <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormInformacionbasica.controls.nombre.valid || (FormInformacionbasica.controls.nombre.pristine && !submitted)\\\"\\r\\n                                style=\\\"   color: red\\\">\\r\\n                                Introducir nombre\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-12 col-12 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input class=\\\"texto\\\" type=\\\"text\\\" required formControlName=\\\"apellidopaterno\\\"\\r\\n                                [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                       (focusout)=\\\"transformartexto(FormInformacionbasica.controls.apellidopaterno)\\\">\\r\\n                                <span class=\\\"highlight\\\"></span>\\r\\n                                <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Apellido Paterno</label>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormInformacionbasica.controls.apellidopaterno.valid || (FormInformacionbasica.controls.apellidopaterno.pristine && !submitted)\\\"\\r\\n                                style=\\\"   color: red\\\">\\r\\n                                Introducir apellido paterno\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-12 col-12 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input class=\\\"texto\\\" type=\\\"text\\\" required formControlName=\\\"apellidomaterno\\\"\\r\\n                                [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                       (focusout)=\\\"transformartexto(FormInformacionbasica.controls.apellidomaterno)\\\">\\r\\n                                <span class=\\\"highlight\\\"></span>\\r\\n                                <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Apellido Materno</label>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormInformacionbasica.controls.apellidomaterno.valid || (FormInformacionbasica.controls.apellidomaterno.pristine && !submitted)\\\"\\r\\n                                style=\\\"   color: red\\\">\\r\\n                                Introducir apellido materno\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-12 col-12 form-group\\\" style=\\\"margin-top: 25px\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"correo\\\" oninput=\\\"this.value = this.value.toLowerCase()\\\">\\r\\n                                <span class=\\\"highlight\\\"></span>\\r\\n                                <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Correo</label>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormInformacionbasica.controls.correo.valid || (FormInformacionbasica.controls.correo.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introducir correo\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-12 col-12 form-group\\\" style=\\\"margin-top: 25px\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <!--<div class=\\\"col-lg-4 col-md-4 col-sm-4 col-4\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input  required formControlName=\\\"ladacel\\\" lada #lada1>\\r\\n                                                <span class=\\\"highlight\\\">\\r\\n                                        </span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                    </div>\\r\\n                                </div> -->\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input required [phonenumber]=\\\"{lada: 0}\\\" formControlName=\\\"celular\\\">\\r\\n                                               <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Celular</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                                    <small [hidden]=\\\"FormInformacionbasica.controls.celular.valid || (FormInformacionbasica.controls.celular.pristine && !submitted)\\\"\\r\\n                                        style=\\\"   color: red\\\">\\r\\n                                        Introducir teléfono a 10 digitos.\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                            <small>Parentesco</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"parentesco\\\" placeholder=\\\"Parentesco\\\" [options]=\\\"parentescoSelect\\\"\\r\\n                                        labelField=\\\"descripcion\\\" valueField=\\\"tutorid\\\" #relacion>\\r\\n                                <sui-select-option *ngFor=\\\"let option of relacion.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"FormInformacionbasica.controls.parentesco.valid || (FormInformacionbasica.controls.parentesco.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione parentesco\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"version == 1\\\">\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12\\\">\\r\\n                            <h6>\\r\\n                                ¿Ha sido miembro de algún colegio jesuita?\\r\\n                            </h6>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-sm-4 col-12 form-group\\\">\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"alumnoInstituto\\\" placeholder=\\\"Ex Lux\\\" [options]=\\\"optionsSelect\\\"\\r\\n                                        labelField=\\\"nombre\\\" valueField=\\\"id\\\" #alumno1Instituto>\\r\\n                                <sui-select-option *ngFor=\\\"let option of alumno1Instituto.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"FormInformacionbasica.controls.alumnoInstituto.valid || (FormInformacionbasica.controls.alumnoInstituto.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione una opción\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-12 col-xs-12\\\" [hidden]=\\\"alumno1Instituto.selectedOption ? !alumno1Instituto.selectedOption.id : true\\\">\\r\\n                             <div class=\\\"group\\\">\\r\\n                                <input class=\\\"texto\\\" type=\\\"text\\\" class=\\\"textUppercase\\\" required formControlName=\\\"especificarAlumnoInstituto\\\"\\r\\n                                [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                       (focusout)=\\\"transformartexto(FormInformacionbasica.controls.especificarAlumnoInstituto)\\\"\\r\\n                                       >\\r\\n                                <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Especificar escuela jesuita</label>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormInformacionbasica.controls.especificarAlumnoInstituto.valid || (FormInformacionbasica.controls.especificarAlumnoInstituto.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introducir escuela jesuita\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\"  *ngIf=\\\"version == 2\\\">\\r\\n                        <h6 class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            ¿Ha sido ex-alumno de la Escuela Carlos Pereyra?\\r\\n                        </h6>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style='margin-top: 21px;'>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"exalumno\\\" placeholder=\\\"Ex alumno de la Escuela Carlos Pereyra\\\" [options]=\\\"optionsSelect\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"id\\\" #exalumno2select>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of exalumno2select.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"FormInformacionbasica.controls.exalumno.valid || (FormInformacionbasica.controls.exalumno.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione una opción\\r\\n                            </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" [hidden]=\\\"exalumno2select.selectedOption ? !exalumno2select.selectedOption.id : true\\\">\\r\\n                             <div class=\\\"group\\\">\\r\\n                                <small>Generación</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"generacion\\\" placeholder=\\\"Generación\\\" [options]=\\\"SelectGeneracion\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"generacionid\\\" #generacionselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of generacionselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"FormInformacionbasica.controls.generacion.valid || (FormInformacionbasica.controls.generacion.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione una opción\\r\\n                            </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n\\r\\n                <form [formGroup]=\\\"InformacionAdicional\\\" *ngIf=\\\"!parametrosModalSolicitud.edicion\\\">\\r\\n                    <legend></legend>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                            <h4>Información adicional</h4>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" *ngIf=\\\"version == 2\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input oninput=\\\"this.value = this.value.toUpperCase()\\\"  required formControlName=\\\"curp\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">CURP</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <my-date-picker formControlName=\\\"fecha\\\" placeholder=\\\"Fecha de nacimiento\\\"></my-date-picker>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-6 col-sm-6 col-md-6 col-lg-6 form-group\\\" *ngIf=\\\"version == 2\\\">\\r\\n                                    <p >\\r\\n                                        <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" id=\\\"tutor\\\"  formControlName=\\\"tutor\\\"/> <label\\r\\n                                            class=\\\"checkLabel\\\" for=\\\"tutor\\\" style=\\\"color: #757575;\\\">Tutor</label>\\r\\n                                    </p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-6 col-sm-6 col-md-6 col-lg-6 form-group\\\">\\r\\n                                    <p>\\r\\n                                        <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" id=\\\"finado\\\"  formControlName=\\\"finado\\\"/> <label\\r\\n                                            class=\\\"checkLabel\\\" for=\\\"finado\\\" style=\\\"color: #757575;\\\">Finado</label>\\r\\n                                    </p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Nacionalidad</small>\\r\\n                                <sui-multi-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                  formControlName=\\\"nacionalidad\\\" placeholder=\\\"Nacionalidad\\\" [options]=\\\"SelectNacionalidad\\\"\\r\\n                                                  labelField=\\\"nombre\\\" valueField=\\\"nacionalidadid\\\" #nacionalidadselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of nacionalidadselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-multi-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Situación conyugal</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"situacionconyugal\\\" placeholder=\\\"Situacion conyugal\\\" [options]=\\\"SelectSituacion\\\"\\r\\n                                            labelField=\\\"descripcion\\\" valueField=\\\"situacionconyugalid\\\" #situacionselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of situacionselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <small>Escolaridad</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"escolaridad\\\" placeholder=\\\"Escolaridad\\\" [options]=\\\"SelectEscolaridad\\\"\\r\\n                                            labelField=\\\"descripcion\\\" valueField=\\\"escolaridadid\\\" #escolaridadselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of escolaridadselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"version == 1\\\">\\r\\n                        <h6 class=\\\"text-center col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <strong>\\r\\n                                Ocupación\\r\\n                            </strong>\\r\\n                        </h6>\\r\\n                        <div class=\\\"text-center col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <label class=\\\"radio\\\">\\r\\n                                <input type=\\\"radio\\\" name=\\\"tipoocupacion\\\" [value]=\\\"1\\\" formControlName=\\\"tipoocupacion\\\">\\r\\n                                <span class=\\\"outer\\\" style=\\\"margin-top: -5px;\\\">\\r\\n                                    <span class=\\\"inner\\\"></span>\\r\\n                                </span>\\r\\n                                Hogar\\r\\n                            </label>\\r\\n                            <label class=\\\"radio\\\">\\r\\n                                <input type=\\\"radio\\\" name=\\\"tipoocupacion\\\" [value]=\\\"2\\\" formControlName=\\\"tipoocupacion\\\">\\r\\n                                <span class=\\\"outer\\\" style=\\\"margin-top: -5px;\\\">\\r\\n                                    <span class=\\\"inner\\\"></span>\\r\\n                                </span>\\r\\n                                Desempleado\\r\\n                            </label>\\r\\n                            <label class=\\\"radio\\\">\\r\\n                                <input type=\\\"radio\\\" name=\\\"tipoocupacion\\\" [value]=\\\"3\\\" formControlName=\\\"tipoocupacion\\\">\\r\\n                                <span class=\\\"outer\\\" style=\\\"margin-top: -5px;\\\">\\r\\n                                    <span class=\\\"inner\\\"></span>\\r\\n                                </span>\\r\\n                                Económicamente activo\\r\\n                            </label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"version == 2 || InformacionAdicional.controls.tipoocupacion.value == 3\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"ocupacion\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Ocupación</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-6 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"ramo\\\" > <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Ramo</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"empresa\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Empresa</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-3 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"horariotrabajo\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Horario de trabajo</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-5 form-group\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <!--<div class=\\\"col-12 col-sm-12 col-md-4 col-lg-3 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input formControlName=\\\"ladatel\\\" required> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                    </div>\\r\\n                                </div> -->\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-8 col-lg-6 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input formControlName=\\\"telefono\\\" required> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Teléfono empresa</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-3 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input type=\\\"text\\\" required formControlName=\\\"extencion\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Ext.</label>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"version == 1\\\">\\r\\n                        <h6 class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            ¿Ha sido ex-alumno del Instituto Lux?\\r\\n                        </h6>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\" style='margin-top: 21px;'>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"exalumno\\\" placeholder=\\\"Ex alumno del Instituto Lux\\\" [options]=\\\"optionsSelect\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"id\\\" #exalumnoselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of exalumnoselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" [hidden]=\\\"exalumnoselect.selectedOption ? !exalumnoselect.selectedOption.id : true\\\">\\r\\n                             <div class=\\\"group\\\">\\r\\n                                <small>Generación</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"generacion\\\" placeholder=\\\"Generación\\\" [options]=\\\"SelectGeneracion\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"generacionid\\\" #generacionselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of generacionselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"version == 2\\\">\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12\\\">\\r\\n                            <h6>\\r\\n                                ¿Ha sido miembro de algún colegio jesuita?\\r\\n                            </h6>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-sm-4 col-12 form-group\\\">\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"alumnoInstituto\\\" placeholder=\\\"Ex Pereyra\\\" [options]=\\\"optionsSelect\\\"\\r\\n                                        labelField=\\\"nombre\\\" valueField=\\\"id\\\" #alumno2Instituto>\\r\\n                                <sui-select-option *ngFor=\\\"let option of alumno2Instituto.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"InformacionAdicional.controls.alumnoInstituto.valid || (InformacionAdicional.controls.alumnoInstituto.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione una opción\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-12 col-xs-12\\\" [hidden]=\\\"alumno2Instituto.selectedOption ? !alumno2Instituto.selectedOption.id : true\\\">\\r\\n                             <div class=\\\"group\\\">\\r\\n                                <input class=\\\"texto\\\" type=\\\"text\\\" class=\\\"textUppercase\\\" required formControlName=\\\"especificarAlumnoInstituto\\\"\\r\\n                                [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                       (focusout)=\\\"transformartexto(InformacionAdicional.controls.especificarAlumnoInstituto)\\\"\\r\\n                                       >\\r\\n                                <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Especificar escuela jesuita</label>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"InformacionAdicional.controls.especificarAlumnoInstituto.valid || (InformacionAdicional.controls.especificarAlumnoInstituto.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introducir escuela jesuita\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"closePadres()\\\">Cerrar</button>\\r\\n                <button class=\\\"btn btn-primary\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\" type=\\\"button\\\" (click)=\\\"savePadres()\\\">Guardar</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<!-- Asignar clave familiar (Ciencias)-->\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalAsignarClave=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" >\\r\\n     <div class=\\\"modal-dialog modal-md\\\">\\r\\n        <div class=\\\"modal-content modal-md\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Asignar clave familiar</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <fieldset>\\r\\n                    <form [formGroup]=\\\"AsignacionClave\\\" (ngSubmit)=\\\"buscarClaveFamiliar()\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" maxlength=\\\"40\\\" required  formControlName=\\\"clavefamiliar\\\">\\r\\n                                    <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Clave familiar</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" maxlength=\\\"40\\\" required formControlName=\\\"nombre\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" maxlength=\\\"40\\\" required formControlName=\\\"apellidopaterno\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Apellido paterno</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" maxlength=\\\"40\\\" required formControlName=\\\"matricula\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Matrícula</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" maxlength=\\\"40\\\" required formControlName=\\\"curp\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">CURP</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\"  maxlength=\\\"40\\\" required formControlName=\\\"apellidomaterno\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Apellido materno</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                <button class=\\\"btn principal\\\" type=\\\"submit\\\" style=\\\"float: right;\\\">Consultar</button>\\r\\n                                <button class=\\\"btn btn-default\\\" type=\\\"button\\\"  (click)=\\\"limpiarFiltersClave()\\\" style=\\\"float: right; margin-right: 10px;\\\">Limpiar</button>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </form>\\r\\n                </fieldset>\\r\\n\\r\\n                <fieldset>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <legend></legend>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <table datatable [dtOptions]=\\\"dtOptionsFamiliaresC\\\" [dtTrigger]=\\\"dtTriggerFamiliaresC\\\" class=\\\"table table-hover\\\" id=\\\"tablaAsignacionClave\\\">\\r\\n                                   <thead>\\r\\n                                    <tr style=\\\"color: #fff;\\\">\\r\\n                                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                            Clave familiar\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Nombre\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Ap. paterno\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Ap. materno\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                            Acciones\\r\\n                                        </th>\\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n                                <tbody>\\r\\n                                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayFamiliaresClaveAlumnos\\\">\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            {{c.clavefamiliarid.clave}}\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            {{c.alumnoid.primernombre}}\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            {{c.alumnoid.apellidopaterno}}\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            {{c.alumnoid.apellidomaterno}}\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <button class=\\\"btn btn-primary\\\" (click)=\\\"asignarClave(c)\\\">Asignar</button>\\r\\n                                        </td>\\r\\n                                    </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </fieldset>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"closeAsignacionClave()\\\">Cerrar</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/datosfamiliares/datosfamiliares.component.html\n// module id = 1368\n// module chunks = 3","module.exports = \"<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <section class=\\\"widget\\\">\\r\\n            <div class=\\\"widget-body\\\">\\r\\n                <div class=\\\"clearfix\\\">\\r\\n                    <ul class=\\\"nav nav-tabs float-left\\\" role=\\\"tablist\\\">\\r\\n                        <li class=\\\"nav-item\\\" (click)=\\\"contentView(1)\\\">\\r\\n                            <a class=\\\"nav-link active\\\" data-toggle=\\\"tab\\\"  role=\\\"tab\\\" aria-controls=\\\"basic\\\" aria-expanded=\\\"true\\\">Ficha</a>\\r\\n                        </li>\\r\\n                        <li class=\\\"nav-item\\\" (click)=\\\"contentView(2)\\\">\\r\\n                            <a class=\\\"nav-link\\\" data-toggle=\\\"tab\\\"   role=\\\"tab\\\" aria-controls=\\\"basic\\\" aria-expanded=\\\"true\\\">Dictamen</a>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n                <div class=\\\"tab-content mb-n-md\\\">\\r\\n                    <div #container></div>       \\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </section>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/dictamen/dictamen.component.html\n// module id = 1369\n// module chunks = 3","module.exports = \"<style>\\r\\n    .table span {display: block};\\r\\n</style>\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <section class=\\\"widget\\\">\\r\\n            <div class=\\\"widget-body\\\">\\r\\n                <fieldset>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-8 col-12 form-group\\\">  \\r\\n                            <h4> Dictamen actual: {{parametrosModalSolicitud.entidad.estatussolicitudid.dictaminacion ? parametrosModalSolicitud.entidad.estatussolicitudid.estatus : \\\"\\\"}}</h4>  \\r\\n                            <div class=\\\"md-chip white\\\" (click)=\\\"modalDictamen.show()\\\"\\r\\n                                 style=\\\"margin-top: 10px;\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\">\\r\\n                                <a> <span class=\\\"md-chip-text\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa  fa-plus\\\"></i>\\r\\n                                    </span>\\r\\n                                    <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n                                </a>\\r\\n                            </div>\\r\\n                            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">                                              \\r\\n                                <table class=\\\"table table-hover\\\">\\r\\n                                    <thead>\\r\\n                                        <tr style=\\\"color: #fff;\\\">\\r\\n                                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                Dictamen\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Usuario\\r\\n                                            </th> \\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Fecha\\r\\n                                            </th> \\r\\n                                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                Motivo\\r\\n                                            </th>                                                                                                              \\r\\n                                        </tr>\\r\\n                                    </thead>\\r\\n                                    <tbody>\\r\\n                                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of parametrosModalSolicitud.pestanaDictamen.dictaminacion.dictamen\\\">\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.dictamen}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.usuarioid.personaid.nombre}} {{c.usuarioid.personaid.apellidopaterno}} {{c.usuarioid.personaid.apellidomaterno}}</p>\\r\\n                                            </td>        \\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p> {{formatofecha(c.fecharegistro)}} </p>\\r\\n                                            </td>  \\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.motivo}} </p>\\r\\n                                            </td>                                                     \\r\\n                                        </tr>\\r\\n                                    </tbody>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-8 col-12 form-group\\\">  \\r\\n                            <h4> Cartas </h4>   \\r\\n                            <div class=\\\"md-chip white\\\" (click)=\\\"modalCartas.show()\\\"\\r\\n                                 style=\\\"margin-top: 10px;\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\">\\r\\n                                <a> <span class=\\\"md-chip-text\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa  fa-plus\\\"></i>\\r\\n                                    </span>\\r\\n                                    <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n                                </a>\\r\\n                            </div>\\r\\n                            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">                                              \\r\\n                                <table class=\\\"table table-hover\\\">\\r\\n                                    <thead>\\r\\n                                        <tr style=\\\"color: #fff;\\\">\\r\\n                                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                Nombre\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                Acciones\\r\\n                                            </th>                                                                                                                    \\r\\n                                        </tr>\\r\\n                                    </thead>\\r\\n                                    <tbody>\\r\\n                                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of parametrosModalSolicitud.pestanaDictamen.dictaminacion.cartas\\\">\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.cartaid.nombre}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">                                                                \\r\\n                                                <a [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\"><i class=\\\"fa fa-trash-o fa-lg\\\" aria-hidden=\\\"true\\\" (click)=\\\"eliminarCarta(c.cartaporsolicitudid)\\\"></i></a>\\r\\n                                            </td>                                                           \\r\\n                                        </tr>\\r\\n                                    </tbody>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\" *ngIf=\\\"version == 1\\\">\\r\\n                            <h4> Cita de entrega de resultados </h4>\\r\\n                            <div [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\" class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                                <button (click)=\\\"modalCita.show()\\\" class=\\\"btn btn-primary\\\" style=\\\"display: inline-block; float: right !important;\\\">Asignar</button>\\r\\n                            </div>\\r\\n                            <div *ngIf=\\\"parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados\\\" class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                                <p>Fecha: {{parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados.fechainicio}} a las {{parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados.horainicio}}</p>                     \\r\\n                                <p>Evaluador: {{parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados.evaluador}}</p>\\r\\n                                <button class=\\\"btn btn-primary\\\" style=\\\"float: right !important;\\\" (click)=\\\"eliminarCitaresultados(parametrosModalSolicitud.pestanaDictamen.dictaminacion.entregaresultados.evaluacionporsolicitudadmisionid)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\">Eliminar</button>\\r\\n                            </div>  \\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\" *ngIf=\\\"version == 1\\\">\\r\\n                            <h4> Áreas a fortalecer </h4>\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-sm-12 col-12\\\">\\r\\n                                    <p style=\\\"text-align: center;\\\">Factores disponibles</p>                            \\r\\n                                    <fieldset>                            \\r\\n                                        <div class=\\\"md-chip white\\\" (click)=\\\"asignarFactores()\\\"\\r\\n                                             style=\\\"margin-top: 10px; margin-right: 20px; width: 215px; cursor: pointer; float: right;\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\">                                \\r\\n                                            <a> \\r\\n                                                <label style=\\\"margin-top: 5px; margin-left: -200px;\\\">Asignar seleccionados</label>\\r\\n                                                <span class=\\\"md-chip-text\\\" style=\\\"margin-left: 191px;\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa fa-arrow-right\\\"></i>\\r\\n                                                </span>                                    \\r\\n                                            </a>\\r\\n                                        </div>                            \\r\\n                                    </fieldset>\\r\\n                                    <fieldset>\\r\\n                                        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"font-size: 13px;\\\">\\r\\n                                            <table datatable [dtOptions]=\\\"dtOptions\\\" [dtTrigger]=\\\"dtTrigger\\\" class=\\\"table table-hover\\\" id=\\\"tablaFactoresdisponibles\\\">\\r\\n                                                   <thead>\\r\\n                                                    <tr style=\\\"color: #fff;\\\">\\r\\n                                                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                            <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" id='grupo' (change)=\\\"selectall($event,0)\\\"/> \\r\\n                                                            <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"grupo\\\"></label>\\r\\n                                                        </th>                                    \\r\\n                                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                                            Categoría\\r\\n                                                        </th>\\r\\n                                                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                            Factor\\r\\n                                                        </th>\\r\\n                                                    </tr>\\r\\n                                                </thead>\\r\\n                                                <tbody>\\r\\n                                                    <tr  *ngFor=\\\"let c of Factoresarray\\\">\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <input class=\\\"all labelCheckBox\\\" type=\\\"checkbox\\\" name=\\\"activo\\\"  id=\\\"dis{{c.factores.factoresapoyoid}}\\\"  value=\\\"{{c.factores.factoresapoyoid}}\\\" /> \\r\\n                                                            <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"dis{{c.factores.factoresapoyoid}}\\\" style=\\\"color: #757575;\\\"> </label>\\r\\n                                                        </td>   \\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <p [innerHtml]=\\\"metodohtml(c.factores.categoriaapoyoid.nombre)\\\"></p>\\r\\n                                                        </td>\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <p [innerHtml]=\\\"metodohtml(c.factores.nombre)\\\"></p>\\r\\n                                                        </td>\\r\\n                                                    </tr>\\r\\n                                                </tbody>\\r\\n                                            </table>\\r\\n                                        </div>\\r\\n                                    </fieldset>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-6 col-sm-12 col-12\\\">\\r\\n                                    <p style=\\\"text-align: center;\\\">Factores asignados</p>        \\r\\n                                    <fieldset>                            \\r\\n                                        <div class=\\\"md-chip white\\\" (click)=\\\"eliminarFactores()\\\"\\r\\n                                             style=\\\"margin-top: 10px; margin-left: 10px; width: 220px; cursor: pointer;\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\">\\r\\n                                            <a> <span class=\\\"md-chip-text\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa fa-arrow-left\\\"></i>\\r\\n                                                </span>\\r\\n                                                <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Eliminar seleccionados</p>\\r\\n                                            </a>\\r\\n                                        </div>\\r\\n                                    </fieldset>\\r\\n                                    <fieldset>\\r\\n                                        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"font-size: 13px;\\\">\\r\\n                                            <table datatable [dtOptions]=\\\"dtOptions\\\" [dtTrigger]=\\\"dtTrigger2\\\" class=\\\"table table-hover\\\" id=\\\"tablaFactoresasignados\\\">\\r\\n                                                   <thead>\\r\\n                                                    <tr style=\\\"color: #fff;\\\">\\r\\n                                                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                            <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" id='soli' (change)=\\\"selectall($event,1)\\\"/> \\r\\n                                                            <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"soli\\\"></label>\\r\\n                                                        </th>                                    \\r\\n                                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                                            Categoría\\r\\n                                                        </th>\\r\\n                                                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                            Factor\\r\\n                                                        </th>\\r\\n                                                    </tr>\\r\\n                                                </thead>\\r\\n                                                <tbody>\\r\\n                                                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of parametrosModalSolicitud.pestanaDictamen.dictaminacion.factoresapoyo \\\">\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <input class=\\\"all labelCheckBox\\\" type=\\\"checkbox\\\" name=\\\"activo\\\"  id=\\\"asig{{c.factoresapoyoid.factoresapoyoid}}\\\"  value=\\\"{{c.factoresapoyoid.factoresapoyoid}}\\\" /> \\r\\n                                                            <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"asig{{c.factoresapoyoid.factoresapoyoid}}\\\" style=\\\"color: #757575;\\\"> </label>\\r\\n                                                        </td>   \\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n\\r\\n                                                            <p [innerHtml]=\\\"metodohtml(c.factoresapoyoid.categoriaapoyoid.nombre)\\\"></p>\\r\\n                                                        </td>\\r\\n                                                        <td class=\\\"text-center\\\">\\r\\n                                                            <p [innerHtml]=\\\"metodohtml(c.factoresapoyoid.nombre)\\\"></p>\\r\\n                                                        </td>\\r\\n                                                    </tr>\\r\\n                                                </tbody>\\r\\n                                            </table>\\r\\n                                        </div>\\r\\n                                    </fieldset>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\" style=\\\"margin-bottom: 90px;\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.editable\\\">\\r\\n                            <h4> Cambio de grado </h4>\\r\\n                            <form [formGroup]=\\\"FormCambioGrado\\\">\\r\\n                                <div class=\\\"row form-group\\\">                                    \\r\\n                                    <div class=\\\"col-lg-2 col-sm-12 col-12\\\">\\r\\n                                        <label class=\\\"MaterialLabel\\\" style=\\\"position: static;\\\">Nivel</label>   \\r\\n                                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                    formControlName=\\\"nivelid\\\"\\r\\n                                                    placeholder=\\\"Nivel\\\"\\r\\n                                                    [options]=\\\"parametrosModalSolicitud.pestanaDictamen.dictaminacion.NivelSelect\\\"\\r\\n                                                    (selectedOptionChange)=\\\"loadgrado($event)\\\"\\r\\n                                                    labelField=\\\"nombre\\\"\\r\\n                                                    valueField=\\\"nivelid\\\"  id=\\\"cicloBuscar\\\"\\r\\n                                                    #selectciclos>\\r\\n                                            <sui-select-option *ngFor=\\\"let option of selectciclos.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                        </sui-select>\\r\\n                                        <small [hidden]=\\\"FormCambioGrado.controls.nivelid.valid || (FormCambioGrado.controls.nivelid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Seleccione un nivel\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-2 col-sm-12 col-12\\\" style=\\\"margin-left:15px;\\\">\\r\\n                                        <label class=\\\"MaterialLabel\\\" style=\\\"position: static;\\\">Grado</label>\\r\\n                                        <sui-select style=\\\"width: 100%;  margin-right:15px;\\\" class=\\\"selection\\\"\\r\\n                                                    formControlName=\\\"gradoid\\\"\\r\\n                                                    placeholder=\\\"Grado\\\"\\r\\n                                                    [options]=\\\"grados\\\"\\r\\n                                                    labelField=\\\"grado\\\"\\r\\n                                                    valueField=\\\"gradoid\\\" \\r\\n                                                    #selectgrados>\\r\\n                                            <sui-select-option *ngFor=\\\"let option of selectgrados.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                        </sui-select>  \\r\\n                                        <small [hidden]=\\\"FormCambioGrado.controls.gradoid.valid || (FormCambioGrado.controls.gradoid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Seleccione un grado\\r\\n                                        </small>\\r\\n                                    </div>                                    \\r\\n                                </div>\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-lg-4 col-sm-12 col-12\\\">                                        \\r\\n                                        <button class=\\\"btn btn-primary pull-right\\\" (click)=\\\"guardarCambioGrado()\\\" style=\\\"margin-left: 10px;\\\">Cambiar</button>\\r\\n                                        <button class=\\\"btn btn-default pull-right\\\" (click)=\\\"FormCambioGrado.reset()\\\">Cancelar</button>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </form>\\r\\n                        </div>\\r\\n\\r\\n                    </div>\\r\\n                </fieldset>\\r\\n            </div>\\r\\n        </section>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div #dictamen>\\r\\n    <div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal  style=\\\"background: rgba(0,0,0,0.5);\\\"  \\r\\n         #modalDictamen=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n         <div class=\\\"modal-dialog modal-sm\\\">\\r\\n            <div class=\\\"modal-content modal-sm\\\">\\r\\n                <form  [formGroup]=\\\"FormDictamen\\\" novalidate (ngSubmit)=\\\"guardarDictamen()\\\">  \\r\\n                    <div class=\\\"modal-header\\\">\\r\\n                        <h4 class=\\\"modal-title\\\">\\r\\n                            <strong>Agregar dictamen</strong>\\r\\n                        </h4>\\r\\n                    </div>\\r\\n                    <div class=\\\"modal-body\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"estatusid\\\"\\r\\n                                            placeholder=\\\"Estatus\\\"\\r\\n                                            [options]=\\\"parametrosModalSolicitud.pestanaDictamen.dictaminacion.EstatusSelect\\\"\\r\\n                                            (selectedOptionChange)=\\\"loadCartas($event)\\\"\\r\\n                                            labelField=\\\"estatus\\\"\\r\\n                                            valueField=\\\"estatussolicitudid\\\"\\r\\n                                            #estatusselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of estatusselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"FormDictamen.controls.estatusid.valid || (FormDictamen.controls.estatusid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Debe seleccionar un estatus\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\" *ngIf=\\\"booleancartas\\\">\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"cartaid\\\"\\r\\n                                            placeholder=\\\"Carta\\\"\\r\\n                                            [options]=\\\"CartasSelect\\\"\\r\\n                                            labelField=\\\"nombre\\\"\\r\\n                                            valueField=\\\"formatoid\\\"\\r\\n                                            #carta2select>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of carta2select.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"FormDictamen.controls.cartaid.valid || (FormDictamen.controls.cartaid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Debe seleccionar una carta\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <div class=\\\"styled-input wide inputResponsive\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                                    <textarea rows=\\\"3\\\" style=\\\"border-bottom: solid 1px #ccc;font-size: 13px;\\\" formControlName=\\\"motivo\\\" required maxlength=\\\"500\\\"></textarea>\\r\\n                                    <label style=\\\"font-size: 13px;\\\">Motivo (opcional)</label>\\r\\n                                    <span></span>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"modal-footer\\\">\\r\\n                        <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cancelarDictamen()\\\">Cancelar</button>\\r\\n                        <button class=\\\"btn principal\\\" type=\\\"submit\\\">Guardar</button>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div #cartas>\\r\\n    <div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal   style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n         #modalCartas=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n         <div class=\\\"modal-dialog modal-sm\\\">\\r\\n            <div class=\\\"modal-content modal-sm\\\">\\r\\n                <form  [formGroup]=\\\"FormCartas\\\" novalidate (ngSubmit)=\\\"guardarCarta()\\\">  \\r\\n                    <div class=\\\"modal-header\\\">\\r\\n                        <h4 class=\\\"modal-title\\\">\\r\\n                            <strong>Agregar carta</strong>\\r\\n                        </h4>\\r\\n                    </div>\\r\\n                    <div class=\\\"modal-body\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"cartaid\\\"\\r\\n                                            placeholder=\\\"Carta\\\"\\r\\n                                            [options]=\\\"CartasSelect\\\"\\r\\n                                            labelField=\\\"nombre\\\"\\r\\n                                            valueField=\\\"formatoid\\\"\\r\\n                                            #cartaselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of cartaselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"FormCartas.controls.cartaid.valid || (FormCartas.controls.cartaid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Debe seleccionar una carta\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"modal-footer\\\">\\r\\n                        <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cancelarCarta()\\\">Cancelar</button>\\r\\n                        <button class=\\\"btn principal\\\" type=\\\"submit\\\">Guardar</button>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div #cita>\\r\\n    <div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n         #modalCita=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n         <div class=\\\"modal-dialog modal-sm\\\">\\r\\n            <div class=\\\"modal-content modal-sm\\\">\\r\\n                <form  [formGroup]=\\\"FormCita\\\" novalidate (ngSubmit)=\\\"guardarCita()\\\">  \\r\\n                    <div class=\\\"modal-header\\\">\\r\\n                        <h4 class=\\\"modal-title\\\">\\r\\n                            <strong>Entrega de resultados</strong>\\r\\n                        </h4>\\r\\n                    </div>\\r\\n                    <div class=\\\"modal-body\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <small>Fecha</small>\\r\\n                                <my-date-picker formControlName=\\\"fecha\\\" [placeholder]=\\\"'Fecha'\\\"></my-date-picker>\\r\\n                                <small [hidden]=\\\"FormCita.controls.fecha.valid || (FormCita.controls.fecha.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Debe seleccionar una fecha\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <div class=\\\"group inputResponsive\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"hora\\\" #hora> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Hora</label>\\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"FormCita.controls.hora.valid || (FormCita.controls.hora.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Debe seleccionar una hora\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <small>Evaluador</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"evaluadorid\\\"\\r\\n                                            placeholder=\\\"Evaluador\\\"\\r\\n                                            [options]=\\\"parametrosModalSolicitud.pestanaDictamen.dictaminacion.EvaluadorSelect\\\"\\r\\n                                            labelField=\\\"nombre\\\"\\r\\n                                            valueField=\\\"evaluadorid\\\"\\r\\n                                            #evaluadorselect>\\r\\n                                    <div class=\\\"ui icon search input\\\">\\r\\n                                        <i class=\\\"search icon\\\"></i>\\r\\n                                        <input suiSelectSearch type=\\\"text\\\">\\r\\n                                    </div>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of evaluadorselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"FormCita.controls.evaluadorid.valid || (FormCita.controls.evaluadorid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Debe seleccionar una evaluador\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"modal-footer\\\">\\r\\n                        <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cancelarCita()\\\">Cerrar</button>\\r\\n                        <button class=\\\"btn principal\\\" type=\\\"submit\\\">Guardar</button>\\r\\n                    </div> \\r\\n                </form>      \\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/dictamen/dictamenpestana/dictamenpestana.component.html\n// module id = 1370\n// module chunks = 3","module.exports = \"<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <section class=\\\"widget\\\">\\r\\n            <div class=\\\"widget-body\\\">\\r\\n                <section class=\\\"widget\\\" style=\\\"padding: 0px !important;\\\">           \\r\\n                    <fieldset>\\r\\n                        <div id=\\\"accordion\\\">\\r\\n                            <div class=\\\"card\\\">\\r\\n                                <div class=\\\"card-header\\\" id=\\\"headingOne\\\">\\r\\n                                    <h5 class=\\\"mb-0\\\">\\r\\n                                        <button class=\\\"btn btn-link\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#collapseOne\\\" aria-expanded=\\\"true\\\" aria-controls=\\\"collapseOne\\\" (click)=\\\"ficha()\\\">\\r\\n                                            Ficha general\\r\\n                                        </button>\\r\\n                                    </h5>\\r\\n                                </div>\\r\\n                                <div id=\\\"collapseOne\\\" class=\\\"collapse\\\" aria-labelledby=\\\"headingOne\\\" data-parent=\\\"#accordion\\\" style=\\\"padding: 10px;\\\">\\r\\n                                    <div #containerFicha></div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"card\\\" >\\r\\n                                <div class=\\\"card-header\\\" id=\\\"headingTwo\\\">\\r\\n                                    <h5 class=\\\"mb-0\\\">\\r\\n                                        <button class=\\\"btn btn-link collapsed\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#collapseTwo\\\" aria-expanded=\\\"false\\\" aria-controls=\\\"collapseTwo\\\" (click)=\\\"getEntrevista()\\\" >\\r\\n                                            Entrevista\\r\\n                                        </button>\\r\\n                                    </h5>\\r\\n                                </div>\\r\\n                                <div id=\\\"collapseTwo\\\" class=\\\"collapse\\\" aria-labelledby=\\\"headingTwo\\\" data-parent=\\\"#accordion\\\">\\r\\n                                    <div style=\\\"padding: 20px;\\\">\\r\\n                                        <table class=\\\"table\\\">         \\r\\n                                            <thead>\\r\\n                                                <tr>\\r\\n                                                    <th style=\\\"width: 50% !important\\\">Pregunta</th>\\r\\n                                                    <th style=\\\"width: 50% !important\\\">Respuesta</th>                                    \\r\\n                                                </tr>\\r\\n                                            </thead>                \\r\\n                                            <tbody>\\r\\n                                                <tr *ngFor=\\\"let c of arrayEntrevista\\\">\\r\\n                                                    <td>\\r\\n                                                        {{c.Pregunta}}\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        {{c.Respuesta}}\\r\\n                                                    </td>\\r\\n                                                </tr>\\r\\n                                            </tbody>\\r\\n                                        </table>  \\r\\n                                    </div>                            \\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"card\\\" >\\r\\n                                <div class=\\\"card-header\\\" id=\\\"headingThree\\\">\\r\\n                                    <h5 class=\\\"mb-0\\\">\\r\\n                                        <button class=\\\"btn btn-link collapsed\\\" data-toggle=\\\"collapse\\\" data-target=\\\"#collapseThree\\\" aria-expanded=\\\"false\\\" aria-controls=\\\"collapseThree\\\" (click)=\\\"getPsicometrico()\\\">\\r\\n                                            Psicometrico\\r\\n                                        </button>\\r\\n                                    </h5>\\r\\n                                </div>\\r\\n                                <div id=\\\"collapseThree\\\" class=\\\"collapse\\\" aria-labelledby=\\\"headingThree\\\" data-parent=\\\"#accordion\\\">\\r\\n                                    <div style=\\\"padding: 20px;\\\">\\r\\n                                        <table class=\\\"table\\\">         \\r\\n                                            <thead>\\r\\n                                                <tr>\\r\\n                                                    <th style=\\\"width: 50% !important\\\">Pregunta</th>\\r\\n                                                    <th style=\\\"width: 50% !important\\\">Respuesta</th>                                    \\r\\n                                                </tr>\\r\\n                                            </thead>\\r\\n                                            <tbody>\\r\\n                                                <tr *ngFor=\\\"let c of arrayPsicometrico\\\">\\r\\n                                                    <td>\\r\\n                                                        {{c.Pregunta}}\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        {{c.Respuesta}}\\r\\n                                                    </td>\\r\\n                                                </tr>\\r\\n                                            </tbody>                                           \\r\\n                                        </table>  \\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>                  \\r\\n                    </fieldset>\\r\\n                </section>\\r\\n            </div>\\r\\n        </section>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/dictamen/ficha/ficha.component.html\n// module id = 1371\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.catalogo != 1 ? 'widget' : 'widget soloLectura'\\\" id=\\\"DinamicaFamiliarView\\\">\\r\\n    <header>\\r\\n        <h3> Dinamica familiar </h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset>\\r\\n            <h5>¿Existe alguna situación especial en la dinamica familiar? (Seleccione cuando menos una opción)</h5>\\r\\n            <legend></legend>\\r\\n            <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n            <form [formGroup]=\\\"DinamicaFamiliarForm\\\" >\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" >\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"ninguna\\\" formControlName=\\\"ninguna\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"ninguna\\\">Ninguna</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"divorcio\\\" formControlName=\\\"divorcio\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"divorcio\\\">Divorcio</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <input type=\\\"checkbox\\\" id=\\\"separacion\\\" formControlName=\\\"separacion\\\"/> \\r\\n                                <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"separacion\\\">Separación</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"custodia\\\" formControlName=\\\"custodia\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"custodia\\\">Custodia</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-5 col-lg-5 form-group\\\" *ngIf=\\\"mostrarcustodia\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>Parentesco</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"parentesco\\\" placeholder=\\\"Parentesco\\\" [options]=\\\"Selectparentesco\\\" \\r\\n                                                labelField=\\\"descripcion\\\" valueField=\\\"parentescoid\\\" #parentescoselect>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of parentescoselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>  \\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"enfermedades\\\" formControlName=\\\"enfermedad\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"enfermedades\\\">Enfermedades graves</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-5 col-lg-5 form-group\\\" *ngIf=\\\"mostrarenfermedad\\\" >\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" id=\\\"miembro\\\" required formControlName=\\\"miembro\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">¿De que miembro de la familia?¿Que enfermedad es ?</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"muerte\\\" formControlName=\\\"muerte\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"muerte\\\">Muertes o pérdidas</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-5 col-lg-5 form-group\\\" *ngIf=\\\"mostrarmuerte\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" id=\\\"quien\\\" required formControlName=\\\"quien\\\" > <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">¿De quien(es)?</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"cambio\\\" formControlName=\\\"residencia\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"cambio\\\">Cambios de residencia</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"medios\\\" formControlName=\\\"mediosH\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"medios\\\">Medios hermanos</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"segundos\\\" formControlName=\\\"segundosM\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"segundos\\\">Segundos matrimonios</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"madre\\\" formControlName=\\\"madrePadre\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"madre\\\">Madre o padre soltero</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\"  style=\\\"margin-top:30px\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"otro\\\" formControlName=\\\"otro\\\" style=\\\"margin-top:30px\\\"/> \\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"otro\\\">Otro</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-5 col-lg-5 form-group\\\" *ngIf=\\\"mostrarotro\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" id=\\\"deQuien\\\" required formControlName=\\\"deQuien\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">¿De quien(es)?</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n\\r\\n\\r\\n    <!--        <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n            <div class=\\\"row form-group\\\" style=\\\"padding: 10px;\\\">\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"ninguna\\\" (click)=\\\"cleanDinamica()\\\" [(ngModel)]=\\\"dinamicaModel.ninguna\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"ninguna\\\">Ninguna</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"row form-group\\\" (click)=\\\"cleanDinamicaNinguna()\\\" style=\\\"margin-top: -16px !important; padding: 10px;\\\">\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"divorcio\\\" [(ngModel)]=\\\"dinamicaModel.divorcio\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"divorcio\\\">Divorcio</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"separacion\\\" [(ngModel)]=\\\"dinamicaModel.separacion\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"separacion\\\">Separación</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-2 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"custodia\\\" [(ngModel)]=\\\"dinamicaModel.custodia\\\" (click)=\\\"viewParentesco()\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"custodia\\\">Custodia</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-3 col-md-12 col-sm-12 col-xs-12\\\" id=\\\"divParentesco\\\" style=\\\"display: none;\\\">\\r\\n                    <sm-select id=\\\"parentesco\\\" placeholder=\\\"Parentesco\\\" class=\\\"fluid\\\" [(model)]=\\\"dinamicaModel.parentesco\\\" (click)=\\\"_httpService.inputValidateSuccess('parentesco')\\\">\\r\\n                        <option *ngFor=\\\"let e of parentesco\\\" value=\\\"{{e.parentescoid}}\\\">{{e.descripcion}} </option>\\r\\n                    </sm-select>\\r\\n                    <p id=\\\"parentescomassageError\\\" class=\\\"massageError\\\"></p>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-2 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"enfermedades\\\" [(ngModel)]=\\\"dinamicaModel.enfermedad\\\" (click)=\\\"viewMiembro()\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"enfermedades\\\">Enfermedades graves</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-5 col-md-12 col-sm-12 col-xs-12\\\" id=\\\"divMiembro\\\" style=\\\"display: none;\\\">\\r\\n                    <div class=\\\"group inputResponsive\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"miembro\\\" required [(ngModel)]=\\\"dinamicaModel.miembro\\\" (click)=\\\"_httpService.inputValidateSuccess('miembro')\\\"> <span\\r\\n                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                            class=\\\"MaterialLabel\\\">¿De que miembro de la familia?¿Que enfermedad es ?</label>\\r\\n                        <p id=\\\"miembromassageError\\\" class=\\\"massageError\\\"></p>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-2 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"muerte\\\" [(ngModel)]=\\\"dinamicaModel.muerte\\\" (click)=\\\"viewQuien()\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"muerte\\\">Muertes o pérdidas</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-5 col-md-12 col-sm-12 col-xs-12\\\" id=\\\"divQuien\\\" style=\\\"display: none;\\\">\\r\\n                    <div class=\\\"group inputResponsive\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"quien\\\" required [(ngModel)]=\\\"dinamicaModel.quien\\\" (click)=\\\"_httpService.inputValidateSuccess('quien')\\\"> <span\\r\\n                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                            class=\\\"MaterialLabel\\\">¿De quien(es)?</label>\\r\\n                        <p id=\\\"quienmassageError\\\" class=\\\"massageError\\\"></p>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"cambio\\\" [(ngModel)]=\\\"dinamicaModel.residencia\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"cambio\\\">Cambios de residencia</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"medios\\\" [(ngModel)]=\\\"dinamicaModel.mediosH\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"medios\\\">Medios hermanos</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"segundos\\\" [(ngModel)]=\\\"dinamicaModel.segundosM\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"segundos\\\">Segundos matrimonios</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"madre\\\" [(ngModel)]=\\\"dinamicaModel.madrePadre\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"madre\\\">Madre o padre soltero</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                <div class=\\\"col-lg-2 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                    <p>\\r\\n                        <input type=\\\"checkbox\\\" id=\\\"otro\\\" [(ngModel)]=\\\"dinamicaModel.otro\\\" (click)=\\\"viewOtroQuien()\\\"/> \\r\\n                        <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"otro\\\">Otro</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-5 col-md-12 col-sm-12 col-xs-12\\\" id=\\\"divDeQuien\\\" style=\\\"display: none;\\\">\\r\\n                    <div class=\\\"group inputResponsive\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"deQuien\\\" required [(ngModel)]=\\\"dinamicaModel.deQuien\\\" (click)=\\\"_httpService.inputValidateSuccess('deQuien')\\\"> <span\\r\\n                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                            class=\\\"MaterialLabel\\\">¿De quien(es)?</label>\\r\\n                        <p id=\\\"deQuienmassageError\\\" class=\\\"massageError\\\"></p>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n\\r\\n            </div>-->\\r\\n        </fieldset>\\r\\n    </div>            \\r\\n</section>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/dinamicafamiliar/dinamicafamiliar.component.html\n// module id = 1372\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'widget' : 'widget soloLectura'\\\">\\r\\n    <header>\\r\\n        <h3> Documentación</h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset>\\r\\n            <legend></legend>\\r\\n            <p>{{parametrosModalSolicitud.listaespera}}</p>\\r\\n            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                <table class=\\\"table table-hover\\\" id=\\\"tablaDocumentacionMV\\\">\\r\\n                    <thead>\\r\\n                        <tr style=\\\"color: #fff;\\\">\\r\\n                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                Nombre\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Original\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Copia\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                Validado\\r\\n                            </th>\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayDoc\\\">\\r\\n                            <td>\\r\\n                                {{c.documentoporgradoid.documentoid.nombre}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                <p>\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"oriEnt\\\" [checked]=\\\"c.documentoporgradoid.original\\\"/> <label\\r\\n                                        class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"oriOriginal\\\"></label>\\r\\n                                </p>\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                <p>\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"oriVal\\\" [checked]=\\\"c.documentoporgradoid.copia\\\"/> <label\\r\\n                                        class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"oriOriginal\\\"></label>\\r\\n                                </p>\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                <p>\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"oriVal{{c.documentoporsolicitudadmisionid}}\\\" [checked]=\\\"c.validado\\\" (click)=\\\"validacionDocumentacion(c)\\\" /> <label\\r\\n                                        class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"oriVal{{c.documentoporsolicitudadmisionid}}\\\"></label>\\r\\n                                </p>\\r\\n                            </td>\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <div class=\\\"row form-group\\\" style=\\\"padding: 10px;\\\">\\r\\n                <div class=\\\"col-lg-12 col-sm-12 col-12 orm-group\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                    <h4>Envío de correo para recuperar la solicitud</h4><br>\\r\\n                    <button class=\\\"btn btn-default\\\" (click)=\\\"envioCorreo()\\\">\\r\\n                        ENVIAR CORREO\\r\\n                    </button>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div>\\r\\n                <form [formGroup]=\\\"documentacion\\\" (ngSubmit)=\\\"guardarAspirante()\\\">\\r\\n                    <div class=\\\"row  form-group\\\">\\r\\n                        <div class=\\\"col-lg-3 col-md-3 col-sm-6 col-6\\\">\\r\\n                            <label>¿Realizará trámite para otros aspirantes?</label>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" (selectedOptionChange)=\\\"niveles($event)\\\"\\r\\n                                        formControlName=\\\"tramites\\\"\\r\\n                                        placeholder=\\\"Seleccione\\\"\\r\\n                                        [options]=\\\"tramites\\\"\\r\\n                                        labelField=\\\"nombre\\\"\\r\\n                                        valueField=\\\"valor\\\"\\r\\n                                        #nivelselect>\\r\\n                                <sui-select-option *ngFor=\\\"let option of nivelselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                             <small [hidden]=\\\"documentacion.controls.tramites.valid || (documentacion.controls.tramites.pristine && !submitted)\\\"\\r\\n                                    style=\\\"color: red\\\">\\r\\n                                    Seleccionar si se realizára otro trámite\\r\\n                                </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div *ngIf=\\\"nivelselect.selectedOption ? nivelselect.selectedOption.valor : false\\\">\\r\\n                        <div class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\" >\\r\\n                                <p style=\\\"margin-top: 15px;\\\">\\r\\n                                    <input type=\\\"checkbox\\\"  id=\\\"preescolarCh\\\" formControlName=\\\"preescolaractivo\\\"/>\\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"preescolarCh\\\">PREESCOLAR</label>\\r\\n                                </p>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\" *ngIf=\\\"documentacion.controls.preescolaractivo.value\\\">\\r\\n                                <div class=\\\"group inputResponsive\\\" >\\r\\n                                    <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" formControlName=\\\"preescolarcuantos\\\"  required> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">¿Cuántos?</label>\\r\\n                                </div>\\r\\n                                   <small [hidden]=\\\"documentacion.controls.preescolarcuantos.valid || (documentacion.controls.preescolarcuantos.pristine && !submitted)\\\"\\r\\n                                    style=\\\"color: red\\\">\\r\\n                                    Introducir cuántos alumnos\\r\\n                                </small>\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\" >\\r\\n                                <p style=\\\"margin-top: 15px;\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"primariaCh\\\" formControlName=\\\"primariaactivo\\\" />\\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"primariaCh\\\">PRIMARIA</label>\\r\\n                                </p>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\" *ngIf=\\\"documentacion.controls.primariaactivo.value\\\">\\r\\n                                <div class=\\\"group inputResponsive\\\" >\\r\\n                                    <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" formControlName=\\\"primariacuantos\\\" > <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">¿Cuántos?</label>\\r\\n                                </div>\\r\\n                                  <small [hidden]=\\\"documentacion.controls.primariacuantos.valid || (documentacion.controls.primariacuantos.pristine && !submitted)\\\"\\r\\n                                    style=\\\"color: red\\\">\\r\\n                                    Introducir cuántos alumnos\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row form-group\\\">\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\" >\\r\\n                                <p style=\\\"margin-top: 15px;\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"secundariaCh\\\" formControlName=\\\"secundariaactivo\\\" />\\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"secundariaCh\\\">SECUNDARIA</label>\\r\\n                                </p>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\" *ngIf=\\\"documentacion.controls.secundariaactivo.value\\\">\\r\\n                                <div class=\\\"group inputResponsive\\\" >\\r\\n                                    <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" required formControlName=\\\"secundariacuantos\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">¿Cuántos?</label>\\r\\n                                </div>\\r\\n                                  <small [hidden]=\\\"documentacion.controls.secundariacuantos.valid || (documentacion.controls.secundariacuantos.pristine && !submitted)\\\"\\r\\n                                    style=\\\"color: red\\\">\\r\\n                                    Introducir cuántos alumnos\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\">\\r\\n                                <p style=\\\"margin-top: 15px;\\\">\\r\\n                                    <input type=\\\"checkbox\\\" id=\\\"bachilleratoCh\\\" formControlName=\\\"bachilleratoactivo\\\" />\\r\\n                                    <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"bachilleratoCh\\\">BACHILLERATO</label>\\r\\n                                </p>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-2 col-md-3 col-sm-6 col-6\\\" *ngIf=\\\"documentacion.controls.bachilleratoactivo.value\\\" >\\r\\n                                <div class=\\\"group inputResponsive\\\" >\\r\\n                                    <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" required formControlName=\\\"bachilleratocuantos\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">¿Cuántos?</label>\\r\\n                                </div>\\r\\n                                 <small [hidden]=\\\"documentacion.controls.bachilleratocuantos.valid || (documentacion.controls.bachilleratocuantos.pristine && !submitted)\\\"\\r\\n                                    style=\\\"color: red\\\">\\r\\n                                    Introducir cuántos alumnos\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n            </div>\\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/documentacion/documentacion.component.html\n// module id = 1373\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'widget' : 'widget soloLectura'\\\">\\r\\n    <header>\\r\\n        <h3> Encuesta </h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset>\\r\\n            <legend></legend>\\r\\n            <form [formGroup]=\\\"Encuestaform\\\"  >\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:25px\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input type=\\\"text\\\" formControlName=\\\"nombre\\\" disabled> <span\\r\\n                                class=\\\"highlight\\\"></span><span class=\\\"bar\\\"></span><label\\r\\n                                class=\\\"MaterialLabel\\\">Nombre de quien captura</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top:25px\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input type=\\\"text\\\"  class=\\\"inputValidate textLowercase\\\" disabled formControlName=\\\"correo\\\"> <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                class=\\\"MaterialLabel\\\">Correo electrónico</label>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" *ngIf=\\\"version == 2\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <small>Parentesco</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"parentesco\\\" placeholder=\\\"Parentesco\\\" [options]=\\\"parentescoSelect\\\"\\r\\n                                        labelField=\\\"descripcion\\\" valueField=\\\"descripcion\\\" #parentesco>\\r\\n                                <sui-select-option *ngFor=\\\"let option of parentesco.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"Encuestaform.controls.parentesco.valid || (Encuestaform.controls.parentesco.pristine && !submitted)\\\"\\r\\n                                style=\\\"   color: red\\\">\\r\\n                                Seleccionar parentesco\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row form-group\\\" *ngIf=\\\"version == 1\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" >\\r\\n                        <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                            <input type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\"  oninput=\\\"javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);\\\" maxlength = \\\"2\\\" required\\r\\n                                   formControlName=\\\"edad\\\"> <span\\r\\n                                   class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                   class=\\\"MaterialLabel\\\">Edad</label>\\r\\n                        </div>\\r\\n                        <small [hidden]=\\\"Encuestaform.controls.edad.valid || (Encuestaform.controls.edad.pristine && !submitted)\\\"\\r\\n                            style=\\\"   color: red\\\">\\r\\n                            Introducir edad\\r\\n                        </small>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                        <div class=\\\"group\\\" >\\r\\n                            <small>Género</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"sexo\\\" placeholder=\\\"Género\\\" [options]=\\\"SelectGenero\\\"\\r\\n                                        labelField=\\\"descripcion\\\" valueField=\\\"descripcion\\\" #generoselect>\\r\\n                                <sui-select-option *ngFor=\\\"let option of generoselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"Encuestaform.controls.sexo.valid || (Encuestaform.controls.sexo.pristine && !submitted)\\\"\\r\\n                                style=\\\"   color: red\\\">\\r\\n                                Seleccionar género\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" >\\r\\n                        <div class=\\\"group\\\" style=\\\"margin-top:25px\\\">\\r\\n                            <input type=\\\"text\\\" oninput=\\\"this.value = this.value.toUpperCase()\\\" maxlength=\\\"44\\\" required formControlName=\\\"colonia\\\"> <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                class=\\\"MaterialLabel\\\">Colonia</label>\\r\\n                        </div>\\r\\n                        <small [hidden]=\\\"Encuestaform.controls.colonia.valid || (Encuestaform.controls.colonia.pristine && !submitted)\\\"\\r\\n                            style=\\\"   color: red\\\">\\r\\n                            Ingrese su colonia\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"row form-group\\\" *ngIf=\\\"version == 2\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" >\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <small>Motivo por el cuál eligio la Institución</small>\\r\\n                            <textarea required formControlName=\\\"motivo\\\" required style=\\\"width: 100% !important; min-height: 90px !important; border-bottom: solid 1px #ccc;\\\">\\r\\n                            </textarea>\\r\\n                            <span></span>\\r\\n                        </div>\\r\\n                        <small [hidden]=\\\"Encuestaform.controls.motivo.valid || (Encuestaform.controls.motivo.pristine && !submitted)\\\"\\r\\n                            style=\\\"   color: red\\\">\\r\\n                            Ingrese el motivo por el cuál se eligio la Institución\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" style=\\\"margin-bottom:40px\\\">\\r\\n                        <h4>¿Cómo se enteró del proceso de admisión?</h4>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-3 form-group\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\" >\\r\\n                                <input type=\\\"checkbox\\\" id=\\\"chkInternet\\\"  formControlName=\\\"checkmedio1\\\"/>\\r\\n                                <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"chkInternet\\\">Internet</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\" *ngIf=\\\"Encuestaform.controls.checkmedio1.value\\\">\\r\\n                                <small>Medio</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"medio1\\\" placeholder=\\\"Medio\\\" [options]=\\\"Selectmedio1\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"mediosid\\\" #medio1select>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of medio1select.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"Encuestaform.controls.medio1.valid || (Encuestaform.controls.medio1.pristine && !submitted)\\\"\\r\\n                                    style=\\\"   color: red\\\">\\r\\n                                    Seleccionar medio\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-3 form-group\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\" >\\r\\n                                <input type=\\\"checkbox\\\" id=\\\"chkRadio\\\" formControlName=\\\"checkmedio2\\\" />\\r\\n                                <label class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"chkRadio\\\">Prensa</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\" *ngIf=\\\"Encuestaform.controls.checkmedio2.value\\\">\\r\\n                                <small>Medio</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"medio2\\\" placeholder=\\\"Medio\\\" [options]=\\\"Selectmedio2\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"mediosid\\\" #medio2select>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of medio2select.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"Encuestaform.controls.medio2.valid || (Encuestaform.controls.medio2.pristine && !submitted)\\\"\\r\\n                                    style=\\\"   color: red\\\">\\r\\n                                    Seleccionar medio\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-3 form-group\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"checkbox\\\" id=\\\"chkMedio\\\" formControlName=\\\"checkmedio3\\\"/> <label\\r\\n                                    class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"chkMedio\\\">Internos</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\" *ngIf=\\\"Encuestaform.controls.checkmedio3.value\\\">\\r\\n                                <small>Medio</small>\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                            formControlName=\\\"medio3\\\" placeholder=\\\"Medio\\\" [options]=\\\"Selectmedio3\\\"\\r\\n                                            labelField=\\\"nombre\\\" valueField=\\\"mediosid\\\" #medio3select>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of medio3select.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                                <small [hidden]=\\\"Encuestaform.controls.medio3.valid || (Encuestaform.controls.medio3.pristine && !submitted)\\\"\\r\\n                                    style=\\\"   color: red\\\">\\r\\n                                    Seleccionar medio\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-6 col-lg-3 form-group\\\">\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"checkbox\\\" id=\\\"chkMedioOtro\\\" formControlName=\\\"checkotromedio\\\"/> <label\\r\\n                                    class=\\\"checkLabel checkLabelMaterial\\\" for=\\\"chkMedioOtro\\\">Otro Medio</label>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                            <div class=\\\"group\\\" *ngIf=\\\"Encuestaform.controls.checkotromedio.value\\\" style=\\\"margin-top:25px\\\">\\r\\n                                <input type=\\\"text\\\" style=\\\"background: #fff;\\\"  formControlName=\\\"otromedio\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span><span class=\\\"bar\\\"></span><label\\r\\n                                    class=\\\"MaterialLabel\\\"></label>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"Encuestaform.controls.otromedio.valid || (Encuestaform.controls.otromedio.pristine && !submitted)\\\"\\r\\n                                style=\\\"   color: red\\\">\\r\\n                                Ingrese un medio\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </form>\\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/encuesta/encuesta.component.html\n// module id = 1374\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'widget' : 'widget soloLectura'\\\">\\r\\n    <header>\\r\\n        <h3> Evaluaciones</h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset>\\r\\n            <legend></legend>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" *ngIf=\\\"version == 2\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" style=\\\"float: right\\\" (click)=\\\"eliminarAsignacion()\\\">Eliminar evaluaciones asignadas</button>\\r\\n                </div>\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                        <table class=\\\"table table-hover\\\" id=\\\"tablaEvaluacionesDetalleValidacion\\\">\\r\\n                            <thead>\\r\\n                                <tr style=\\\"color: #fff;\\\">\\r\\n                                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                        Evaluación\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Evaluador\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Fecha\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Hora inicio\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Hora fin\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Solicitudes asignadas\\r\\n                                    </th>\\r\\n                                    <th [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'text-center headerTable' : 'text-center headerTable-top-right'\\\" >\\r\\n                                        Cupo\\r\\n                                </th>\\r\\n                                <th class=\\\"text-center headerTable-top-right\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                                    Acciones\\r\\n                                </th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n                            <tr *ngFor=\\\"let c of arrayEvaluacion\\\" [ngClass]=\\\"c.tipoevaluacionid == 4 && version == 1 && c.solicitudes > 1 ? 'rowGridRed': 'rowGrid'\\\">\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.evaluacion}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.nombre}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.fechainicio}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{ c.horainicio}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.horafin}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.solicitudes}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.cupo}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                                    <div *ngIf=\\\"version == 1\\\">\\r\\n                                        <button class=\\\"btn btn-default\\\" (click)=\\\"editarEvaluaciones(c)\\\" [hidden]=\\\"c.tipoevaluacionid == 5\\\">Editar</button>\\r\\n                                    </div>\\r\\n                                    <div *ngIf=\\\"version == 2\\\">\\r\\n                                        <button class=\\\"btn btn-default\\\" (click)=\\\"editarEvaluaciones(c)\\\">Editar</button>\\r\\n                                    </div>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                <h4 *ngIf=\\\"arrayEvaluacionFaltantes.length\\\">\\r\\n                    Las siguientes evaluaciones no pudieron ser asignadas a la solicitud actual\\r\\n                </h4>\\r\\n                <ul class=\\\"list-group\\\" style='border-bottom: 1px solid #E1E1E1;' *ngIf=\\\"arrayEvaluacionFaltantes\\\">\\r\\n                    <li class=\\\"list-group-item\\\" *ngFor=\\\"let c of arrayEvaluacionFaltantes\\\">\\r\\n                        <p class=\\\"col-12 col-sm-8 col-md-8 col-lg-10\\\">{{c.evaluacion}}</p>\\r\\n                        <button class=\\\"btn btn-default col-12 col-sm-4 col-md-4 col-lg-2\\\" style=\\\"float: right\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\" (click)=\\\"openEditarEvaluacionesFaltantes(c)\\\">Agregar</button>\\r\\n                    </li>\\r\\n                </ul>\\r\\n            </div>\\r\\n        </div>\\r\\n    </fieldset>\\r\\n</div>\\r\\n</section>\\r\\n\\r\\n<!-- Editar evaluaciones -->\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalEvaluacionesUpdate=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" >\\r\\n     <div class=\\\"modal-dialog modal-md\\\">\\r\\n        <div class=\\\"modal-content modal-md\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Editar asignación de evaluación</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <h3> Evaluación: {{FormEventoCambio.get('evaluacion').value}}</h3>\\r\\n                <button class=\\\"btn btn-primary\\\" (click)=\\\"openaddEvento()\\\">\\r\\n                    Agregar nuevo\\r\\n                </button>\\r\\n                <button class=\\\"btn btn-primary\\\" [hidden]=\\\"version == 2 || FormEventoCambio.get('tipoevaluacionid').value != 4\\\" (click)=\\\"modalEventoFolio.show()\\\">\\r\\n                        Buscar por folio\\r\\n            </button>\\r\\n            <br>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-12\\\" style=\\\"padding: 15px !important;\\\">\\r\\n                    <h5 style=\\\"margin-top: 15px !important;\\\">\\r\\n                        Evaluaciones disponibles\\r\\n                    </h5>\\r\\n                    <table datatable [dtOptions]=\\\"dtOptionsEvUpdate\\\" [dtTrigger]=\\\"dtTriggerEvUpdate\\\" class=\\\"table table-hover\\\" id=\\\"tablaEvUpdateModal\\\">\\r\\n                           <thead>\\r\\n                            <tr style=\\\"color: #fff;\\\">\\r\\n                                <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                    Evaluador\\r\\n                                </th>\\r\\n                                <th class=\\\"text-center headerTable\\\">\\r\\n                                    Fecha\\r\\n                                </th>\\r\\n                                <th class=\\\"text-center headerTable\\\">\\r\\n                                    Hora inicio\\r\\n                                </th>\\r\\n                                <th class=\\\"text-center headerTable\\\">\\r\\n                                    Hora fin\\r\\n                                </th>\\r\\n                                <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                    Acciones\\r\\n                                </th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n                        <tbody>\\r\\n                            <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayEvUpdate\\\">\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.evaluador}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.fechainicio}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.horainicio}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    {{c.horafin}}\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <button class=\\\"btn btn-primary\\\" (click)=\\\"saveEvaluacionesEdit(c)\\\">Seleccionar</button>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n        <div class=\\\"modal-footer\\\">\\r\\n            <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrarrEvaluacionUpdate()\\\">Cancelar</button>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n</div>\\r\\n\\r\\n<!-- Buscar por folio -->\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalEventoFolio=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" >\\r\\n     <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Eventos por folio</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <form  [formGroup]=\\\"FormFolio\\\" (ngSubmit)=\\\"buscarEventosByFolio()\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-3 col-sm-6 col-12\\\">\\r\\n                            <div class=\\\"col-lg-12 form-group\\\">\\r\\n                                <div class=\\\"group inputResponsive\\\">\\r\\n                                    <input type=\\\"text\\\" maxlength=\\\"40\\\" required formControlName=\\\"folio\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Folio</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormFolio.controls.folio.valid || (FormFolio.controls.folio.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Ingrese un folio\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-9 col-sm-12 col-12 form-group\\\">\\r\\n                            <button class=\\\"btn principal\\\" type=\\\"submit\\\" >Consultar</button>\\r\\n                            <button class=\\\"btn btn-default\\\" type=\\\"button\\\" style=\\\"margin-right: 10px;\\\" (click)=\\\"LimpiarEventosByFolio()\\\">Limpiar</button>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </form>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <legend></legend>\\r\\n                    <div class=\\\"col-lg-12\\\" style=\\\"padding: 15px !important;\\\">\\r\\n\\r\\n                        <table datatable [dtOptions]=\\\"dtOptionsEventosFolio\\\" [dtTrigger]=\\\"dtTriggerEventosFolio\\\" class=\\\"table table-hover\\\" id=\\\"tablaEventosFolio\\\">\\r\\n                               <thead>\\r\\n                                <tr style=\\\"color: #fff;\\\">\\r\\n                                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                        Evaluacion\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Evaluador\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Fecha\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Hora inicio\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Hora fin\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Nivel\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Grado\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Folio\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Nombre\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                        Acciones\\r\\n                                    </th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayEventosFolio\\\">\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.evaluacion}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.evaluador}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.fechainicio}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.horainicio}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.horafin}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.nivel}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.grado}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.folio}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.nombre}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <button class=\\\"btn btn-primary\\\" [disabled]=\\\"c.valida == 0\\\" (click)=\\\"asignarEventosByFolio(c)\\\">Asignar</button>\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"closeEventosByFolio()\\\">Cerrar</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<!-- Agregar un evento para evaluacion -->\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n     #modalAddEvento=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" >\\r\\n     <div class=\\\"modal-dialog modal-md\\\">\\r\\n        <div class=\\\"modal-content modal-md\\\">\\r\\n            <form  [formGroup]=\\\"FormEvento\\\" (ngSubmit)=\\\"saveAddEvento()\\\">\\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Agregar evento de evaluación</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <fieldset>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            1.- Indica la fecha y hora\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <div class=\\\"group inputResponsive\\\">\\r\\n                                        <small>Fecha</small>\\r\\n                                        <my-date-range-picker [placeholder]=\\\"'Rango de fechas'\\\" formControlName=\\\"fecha\\\"></my-date-range-picker>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"FormEvento.controls.fecha.valid || (FormEvento.controls.fecha.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese la fecha\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <div class=\\\"group inputResponsive\\\">\\r\\n                                        <input type=\\\"text\\\" required id=\\\"horainicio\\\" formControlName=\\\"horainicio\\\">\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\"> Hora inicio</label>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"FormEvento.controls.horainicio.valid || (FormEvento.controls.horainicio.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese una hora\\r\\n                                    </small>\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <div class=\\\"group inputResponsive\\\">\\r\\n                                        <input type=\\\"text\\\" required id=\\\"horafin\\\" formControlName=\\\"horafin\\\">\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\"> Hora fin</label>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"FormEvento.controls.horafin.valid || (FormEvento.controls.horafin.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese las dos horas, la hora fin debe ser mayor a la hora inicio.\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </fieldset>\\r\\n                    <fieldset>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            2.- Ciclo, Nivel y Grado\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <h6><strong>Ciclo: </strong>{{FormEvento.controls.ciclo.value}}</h6>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <h6><strong>Nivel: </strong>{{FormEvento.controls.nivel.value}}</h6>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <h6><strong>Grado: </strong>{{FormEvento.controls.grado.value}}</h6>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </fieldset>\\r\\n                    <fieldset>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            3.- Evaluación\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            <h6><strong>Evaluaciones: </strong>{{FormEvento.controls.evaluacion.value}}</h6>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n                    </fieldset>\\r\\n                    <fieldset>\\r\\n                        <div class=\\\"form-group\\\">\\r\\n                            4.- Asignar evaluador y lugar\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"lugarid\\\"\\r\\n                                                placeholder=\\\"Lugar\\\"\\r\\n                                                [options]=\\\"lugarFull\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"lugarid\\\"\\r\\n                                                #lugarselect2>\\r\\n                                        <div class=\\\"ui icon search input\\\">\\r\\n                                            <i class=\\\"search icon\\\"></i>\\r\\n                                            <input suiSelectSearch type=\\\"text\\\">\\r\\n                                        </div>\\r\\n                                        <div class=\\\"divider\\\"></div>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of lugarselect2.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"FormEvento.controls.lugarid.valid || (FormEvento.controls.lugarid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Seleccione un lugar\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"evaluadorid\\\"\\r\\n                                                placeholder=\\\"Evaluador\\\"\\r\\n                                                [options]=\\\"evaluadoresFull\\\"\\r\\n                                                labelField=\\\"nombrecompleto\\\"\\r\\n                                                valueField=\\\"personaid\\\"\\r\\n                                                [isDisabled]=\\\"arrayEvaluacion && version == 2\\\"\\r\\n                                                #evaluadorselect2>\\r\\n                                        <div class=\\\"ui icon search input\\\">\\r\\n                                            <i class=\\\"search icon\\\"></i>\\r\\n                                            <input suiSelectSearch type=\\\"text\\\">\\r\\n                                        </div>\\r\\n                                        <div class=\\\"divider\\\"></div>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of evaluadorselect2.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"FormEvento.controls.evaluadorid.valid || (FormEvento.controls.evaluadorid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Seleccione un evaluador\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input id=\\\"cupoMAdd\\\" type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\" formControlName=\\\"cupo\\\" required >\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\"> Cupo</label>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"FormEvento.controls.cupo.valid || (FormEvento.controls.cupo.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Seleccione un cupo\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </fieldset>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"closeAddEvento()\\\">Cancelar</button>\\r\\n                    <button class=\\\"btn principal\\\" type=\\\"submit\\\">Guardar</button>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/evaluaciones/evaluaciones.component.html\n// module id = 1375\n// module chunks = 3","module.exports = \"<div class=\\\"row\\\"  [ngClass]=\\\"parametrosModalSolicitud.configpestana.expediente.editable ? 'widget' : 'widget soloLectura'\\\">\\r\\n     <div class=\\\"col-lg-12\\\">\\r\\n        <section class=\\\"widget\\\">\\r\\n            <header>\\r\\n                <h3> Expediente del aspirante </h3>\\r\\n            </header>\\r\\n            <div class=\\\"widget-body\\\">\\r\\n                <fieldset>\\r\\n                    <legend></legend>  \\r\\n                    <form [formGroup]=\\\"ExpedienteAspirante\\\">\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>¿Estado de salud?</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"estadosalud\\\" placeholder=\\\"Responder: \\\" [options]=\\\"EstatussaludSelect\\\" \\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"nombre\\\" #saludSelect >\\r\\n                                        <sui-select-option *ngFor=\\\"let option of saludSelect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>                                    \\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.estadosalud.valid || (ExpedienteAspirante.controls.estadosalud.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Selecciona el estado de salud del aspirante\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>¿El aspirante tiene alguna necesidad educativa especial?</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"necesidadespecial\\\" placeholder=\\\"Responder: \\\" [options]=\\\"SiNoSelect\\\" \\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"valor\\\" #necesidadSelect >\\r\\n                                        <sui-select-option *ngFor=\\\"let option of necesidadSelect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>                                    \\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.necesidadespecial.valid || (ExpedienteAspirante.controls.necesidadespecial.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Selecciona si el aspirante tiene alguna necesidad educativa especial\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" *ngIf=\\\"necesidadSelect.selectedOption ? necesidadSelect.selectedOption.valor : false\\\">\\r\\n                                 <div class=\\\"group\\\" style=\\\"margin-top: 24px;\\\">\\r\\n                                    <input type=\\\"text\\\"  maxlength=\\\"90\\\" required formControlName=\\\"necesidadespecialtexto\\\"\\r\\n                                    > <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Especificar</label>                                   \\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.necesidadespecialtexto.valid || (ExpedienteAspirante.controls.necesidadespecialtexto.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese la necesidad educativa\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>¿Ha sido alumno de la Escuela Carlos Pereyra?</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"exalumno\\\" placeholder=\\\"Responder: \\\" [options]=\\\"SiNoSelect\\\" \\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"valor\\\" #exalumnoSelect >\\r\\n                                        <sui-select-option *ngFor=\\\"let option of exalumnoSelect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>                                    \\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.exalumno.valid || (ExpedienteAspirante.controls.exalumno.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Selecciona si el aspirante ha sido alumno del Escuela Carlos Pereyra\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>¿El aspirante es hijo de personal?</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"hijopersonal\\\" placeholder=\\\"Responder: \\\" [options]=\\\"SiNoSelect\\\" \\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"valor\\\" #hijopersonalSelect >\\r\\n                                        <sui-select-option *ngFor=\\\"let option of hijopersonalSelect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>                                    \\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.hijopersonal.valid || (ExpedienteAspirante.controls.hijopersonal.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Selecciona si el aspirante es hijo de personal del instituto\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <small>Escuela de procedencia - ¿Es una Institución Jesuita?</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"jesuita\\\" placeholder=\\\"Responder: \\\" [options]=\\\"SiNoSelect\\\" \\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"valor\\\" #jesuitaSelect >\\r\\n                                        <sui-select-option *ngFor=\\\"let option of jesuitaSelect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>                                    \\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.jesuita.valid || (ExpedienteAspirante.controls.jesuita.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Selecciona si el aspirante proviene de una Institución Jesuita\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"row\\\">                            \\r\\n                            <!-- Escuela de procedencia -->\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" [hidden]=\\\"jesuitaSelect.selectedOption ? !jesuitaSelect.selectedOption.valor : true\\\">\\r\\n                                 <div class=\\\"group\\\">\\r\\n                                    <small>Escuela Jesuita</small>\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"escuelajesuitaid\\\" placeholder=\\\"Escuela\\\" [options]=\\\"EscuelajesuitaSelect\\\" \\r\\n                                                labelField=\\\"nombre\\\" valueField=\\\"escuelajesuitaid\\\" #escuelaSelect >\\r\\n                                        <sui-select-option *ngFor=\\\"let option of escuelaSelect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>                                    \\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.escuelajesuitaid.valid || (ExpedienteAspirante.controls.escuelajesuitaid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Selecciona la escuela de procedencia\\r\\n                                </small>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" *ngIf=\\\"jesuitaSelect.selectedOption ? !jesuitaSelect.selectedOption.valor || \\r\\n                                 (escuelaSelect.selectedOption ? escuelaSelect.selectedOption.escuelajesuitaid == 0 : false) : false\\\">\\r\\n                                 <div class=\\\"group inputResponsive\\\" style=\\\"margin-top: 24px;\\\">\\r\\n                                     <input  type=\\\"text\\\"  maxlength=\\\"90\\\" required formControlName=\\\"nombreescuela\\\"\\r\\n                                     [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                            (focusout)=\\\"transformartexto(ExpedienteAspirante.controls.nombreescuela)\\\"> \\r\\n                                     <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Nombre de escuela</label>\\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.nombreescuela.valid || (ExpedienteAspirante.controls.nombreescuela.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese el nombre de la escuela\\r\\n                                </small>\\r\\n                            </div>                            \\r\\n                            <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" *ngIf=\\\"jesuitaSelect.selectedOption ? jesuitaSelect.selectedOption.valor ? escuelaSelect.selectedOption : true : false \\\">\\r\\n                                 <div style=\\\"margin-top: 24px;\\\" [ngClass]=\\\"escuelaSelect.selectedOption ? escuelaSelect.selectedOption.escuelajesuitaid ? 'group inputResponsive soloLectura' : 'group inputResponsive' : 'group inputResponsive'\\\">\\r\\n                                 <input  type=\\\"text\\\" maxlength=\\\"90\\\" required formControlName=\\\"ciudadescuela\\\" \\r\\n                                 [ngStyle]=\\\"{'text-transform': formatonombre == 1 ? 'uppercase' : (formatonombre == 2 ? 'capitalize' : '')}\\\"\\r\\n                                        (focusout)=\\\"transformartexto(ExpedienteAspirante.controls.ciudadescuela)\\\"> \\r\\n                                     <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Ciudad de la escuela</label>\\r\\n                                </div>\\r\\n                                <small [hidden]=\\\"ExpedienteAspirante.controls.ciudadescuela.valid || (ExpedienteAspirante.controls.ciudadescuela.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese la ciudad de la escuela\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\" *ngIf=\\\"jesuitaSelect.selectedOption != null\\\">                              \\r\\n                             <div class=\\\"col-12 col-sm-12 col-md-8 col-lg-8 form-group\\\">\\r\\n                                <div class=\\\"styled-input wide inputResponsive\\\" style=\\\"width: 100% !important; margin-top: 15px !important;\\\">\\r\\n                                    <textarea formControlName=\\\"motivocambio\\\" required style=\\\"width: 100% !important; height: 80px !important; border-bottom: solid 1px #ccc;\\\"></textarea>\\r\\n                                    <label>Motivo de cambio</label>\\r\\n                                    <span></span>\\r\\n                                </div>\\r\\n                                 <small [hidden]=\\\"ExpedienteAspirante.controls.motivocambio.valid || (ExpedienteAspirante.controls.motivocambio.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese el motivo del cambio\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div> \\r\\n                    </form>\\r\\n                </fieldset>\\r\\n\\r\\n                <fieldset>\\r\\n                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                        <h4> Grados repetidos </h4>\\r\\n                        <br/>\\r\\n                        <h5 *ngIf=\\\"parametrosModalSolicitud.configpestana.expediente.editable\\\"> De haber repetido un grado escolar, favor de dar clic en Agregar. </h5>\\r\\n                        <div class=\\\"md-chip white\\\" (click)=\\\"modalGrado.show()\\\"\\r\\n                             style=\\\"margin-top: 10px; margin-bottom: 20px;\\\" *ngIf=\\\"parametrosModalSolicitud.configpestana.expediente.editable\\\">\\r\\n                            <a> <span class=\\\"md-chip-text\\\"> <i\\r\\n                                        style=\\\"color: #898989;\\\" class=\\\"fa fa-plus\\\"></i>\\r\\n                                </span>\\r\\n                                <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n                            </a>\\r\\n                        </div>\\r\\n                        <table datatable [dtOptions]=\\\"dtOptions\\\" [dtTrigger]=\\\"dtTrigger\\\" class=\\\"table table-hover\\\" id=\\\"tablaGrados\\\">\\r\\n                               <thead>\\r\\n                                <tr style=\\\"color: #fff;\\\">\\r\\n                                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                        Nivel\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Grado\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Causa\\r\\n                                    </th>                                \\r\\n                                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                        Acción\\r\\n                                    </th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayGradosrepetidos\\\">\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.gradoid.nivelid.nombre}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.gradoid.grado}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        {{c.causa}}\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <a><i class=\\\"fa fa-pencil fa-lg\\\" aria-hidden=\\\"true\\\" (click)=\\\"openGrado(c)\\\"></i></a>\\r\\n                                        &nbsp;\\r\\n                                        <a><i class=\\\"fa fa-trash-o fa-lg\\\" aria-hidden=\\\"true\\\" (click)=\\\"removeGrado(c.gradorepetidoid)\\\"></i></a>\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </fieldset>\\r\\n            </div>\\r\\n        </section>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalGrado=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n     <div class=\\\"modal-dialog\\\">\\r\\n        <div class=\\\"modal-content\\\">\\r\\n            <form [formGroup]=\\\"FormGrado\\\" (ngSubmit)=\\\"saveGrado()\\\">\\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Grados Repetidos</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n                <div class=\\\"modal-body\\\" >\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                            <small>Nivel</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"nivelid\\\"\\r\\n                                        placeholder=\\\"Nivel\\\"\\r\\n                                        [options]=\\\"NivelSelect\\\"\\r\\n                                        (selectedOptionChange)=\\\"loadgrado($event)\\\"\\r\\n                                        labelField=\\\"nombre\\\"\\r\\n                                        valueField=\\\"nivelid\\\"\\r\\n                                        #nivelselect>\\r\\n                                <sui-select-option *ngFor=\\\"let option of nivelselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"FormGrado.controls.nivelid.valid || (FormGrado.controls.nivelid.pristine && !submittedModal)\\\" style=\\\"color: red\\\">\\r\\n                                Seleccione un nivel\\r\\n                            </small>\\r\\n                        </div>  \\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                            <small>Grados</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"gradoid\\\"\\r\\n                                        placeholder=\\\"Grados\\\"\\r\\n                                        [options]=\\\"GradoSelect\\\"\\r\\n                                        labelField=\\\"grado\\\"\\r\\n                                        valueField=\\\"gradoid\\\"                          \\r\\n                                        #gradoselectmodal>\\r\\n                                <sui-select-option *ngFor=\\\"let option of gradoselectmodal.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"FormGrado.controls.gradoid.valid || (FormGrado.controls.gradoid.pristine && !submittedModal)\\\" style=\\\"color: red\\\">\\r\\n                                Seleccione un grado\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12\\\" style=\\\"display: inline-block !important; margin-top: 10px !important;\\\">\\r\\n                            <div class=\\\"styled-input wide inputResponsive\\\" style=\\\"width: 100% !important;\\\">\\r\\n                                <textarea required formControlName=\\\"causa\\\" style=\\\"width: 100% !important; height: 100px !important; border-bottom: solid 1px #ccc;\\\" ></textarea>\\r\\n                                <label>Causa por el que repitió el grado</label>\\r\\n                                <span></span>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"FormGrado.controls.causa.valid || (FormGrado.controls.causa.pristine && !submittedModal)\\\" style=\\\"color: red\\\">\\r\\n                                Ingrese la causa por la que repitió el grado\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"closeGrado()\\\">Cancelar</button>\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"submit\\\" >Guardar</button>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/expediente/expediente.component.html\n// module id = 1376\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.edicion ? 'widget' : 'widget soloLectura'\\\" id=\\\"fotografiaView\\\">\\r\\n    <header>\\r\\n        <h3> Fotografías</h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n       <fieldset>\\r\\n            <legend></legend>\\r\\n            <div class=\\\"row\\\">\\r\\n                <h4 class=\\\"col-lg-12\\\">\\r\\n                    Aspirante\\r\\n                </h4>\\r\\n                <br/>\\r\\n                <div class=\\\"col-lg-12 text-center\\\">\\r\\n                    <div *ngIf=\\\"parametrosModalSolicitud.entidad.datoaspiranteid.foto\\\">\\r\\n                        <img class=\\\"img-thumbnail\\\" width=\\\"30%\\\" height=\\\"30%\\\" src=\\\"{{parametrosModalSolicitud.entidad.datoaspiranteid.foto}}\\\"/>\\r\\n                    </div> \\r\\n                    <div *ngIf=\\\"!parametrosModalSolicitud.entidad.datoaspiranteid.foto\\\">\\r\\n                        <i class=\\\"fa fa-user fa-4x\\\" aria-hidden=\\\"true\\\"></i>    \\r\\n                    </div>\\r\\n                    <br/>\\r\\n                    {{parametrosModalSolicitud.entidad.datoaspiranteid.nombre}} {{parametrosModalSolicitud.entidad.datoaspiranteid.apellidopaterno}} {{parametrosModalSolicitud.entidad.datoaspiranteid.apellidomaterno}}\\r\\n                    <br/>\\r\\n                    <button class=\\\"btn btn-default\\\" (click)=\\\"tomarfoto('aspirante')\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                        Agregar foto\\r\\n                    </button>\\r\\n                   \\r\\n                </div>                                            \\r\\n            </div>\\r\\n            <br/>\\r\\n            <br/>\\r\\n            <div class=\\\"row\\\" [hidden]=\\\"verision == 2\\\">\\r\\n                <h4 class=\\\"col-lg-12\\\">\\r\\n                    Familia\\r\\n                </h4>\\r\\n                <br/>\\r\\n                <div class=\\\"col-lg-12 text-center\\\">          \\r\\n                    <div *ngIf=\\\"parametrosModalSolicitud.entidad.datoaspiranteid.fotofamiliar\\\">\\r\\n                        <img  class=\\\"img-thumbnail\\\" width=\\\"100%\\\" height=\\\"100%\\\" src=\\\"{{parametrosModalSolicitud.entidad.datoaspiranteid.fotofamiliar}}\\\"/>\\r\\n                    </div>\\r\\n\\r\\n                    <div *ngIf=\\\"!parametrosModalSolicitud.entidad.datoaspiranteid.fotofamiliar\\\">\\r\\n                        <i class=\\\"fa fa-user fa-4x\\\" aria-hidden=\\\"true\\\"></i>    \\r\\n                    </div>\\r\\n\\r\\n                    <br/>\\r\\n                    <button class=\\\"btn btn-default\\\" (click)=\\\"tomarfoto('tutor')\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\">\\r\\n                        Agregar foto\\r\\n                    </button>\\r\\n                </div>\\r\\n\\r\\n            </div>\\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\\r\\n\\r\\n\\r\\n<div #container></div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/fotografia/fotografia.component.html\n// module id = 1377\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.catalogo != 1 ? 'widget' : 'widget soloLectura'\\\" id=\\\"hermanoView\\\">\\r\\n    <header>\\r\\n        <h3> Hermanos </h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset>\\r\\n            <legend></legend>\\r\\n            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                <h4 style=\\\"display: none;\\\">Hermanos</h4>\\r\\n                <div class=\\\"md-chip white\\\" (click)=\\\"openHermano1()\\\"\\r\\n                     style=\\\"margin-top: 10px; display: none;\\\">\\r\\n                    <a> <span class=\\\"md-chip-text\\\"> <i\\r\\n                                style=\\\"color: #898989;\\\" class=\\\"fa fa-plus\\\"></i>\\r\\n                        </span>\\r\\n                        <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n                    </a>\\r\\n                </div>\\r\\n                <table datatable [dtOptions]=\\\"dtOptionsH1\\\" [dtTrigger]=\\\"dtTriggerH1\\\" class=\\\"table table-hover\\\" id=\\\"tablaHermano1\\\">\\r\\n                       <thead>\\r\\n                        <tr style=\\\"color: #fff;\\\">\\r\\n                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                Nombre\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Apellido paterno\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Apellido materno\\r\\n                            </th> \\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                CURP\\r\\n                            </th>    \\r\\n                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                Edad\\r\\n                            </th>   \\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayHermano1\\\">\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.nombre}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.apellidopaterno}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.apellidomaterno}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.curp}}\\r\\n                            </td> \\r\\n                             <td class=\\\"text-center\\\">\\r\\n                                {{c.edad}}\\r\\n                            </td>                                                        \\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <br>\\r\\n            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px; display: none;\\\">\\r\\n                <h4>Hermanos estudiando en la Escuela Carlos Pereyra</h4>\\r\\n\\r\\n                <table datatable [dtOptions]=\\\"dtOptionsH2\\\" [dtTrigger]=\\\"dtTriggerH2\\\" class=\\\"table table-hover\\\" id=\\\"tablaHermano2\\\">\\r\\n                       <thead>\\r\\n                        <tr style=\\\"color: #fff;\\\">\\r\\n                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                Nombre\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Apellido paterno\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Apellido materno\\r\\n                            </th>    \\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Edad\\r\\n                            </th>   \\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Generación\\r\\n                            </th>                                                                        \\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayHermano2\\\">\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.nombre}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.apellidopaterno}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.apellidomaterno}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.edad}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.generacionid.nombre}}\\r\\n                            </td>                                  \\r\\n\\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>\\r\\n            <br>\\r\\n            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px; display: none;\\\">\\r\\n                <h4>Hermanos Ex-Alumnos de la Escuela Carlos Pereyra</h4>                                            \\r\\n                <table datatable [dtOptions]=\\\"dtOptionsH3\\\" [dtTrigger]=\\\"dtTriggerH3\\\" class=\\\"table table-hover\\\" id=\\\"tablaHermano3\\\">\\r\\n                       <thead>\\r\\n                        <tr style=\\\"color: #fff;\\\">\\r\\n                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                Nombre\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Apellido paterno\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Apellido materno\\r\\n                            </th>    \\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Fecha nacimiento\\r\\n                            </th>   \\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Escuela\\r\\n                            </th>                                                                        \\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayHermano3\\\">\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.nombre}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.apellidopaterno}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.apellidomaterno}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.edad}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.nombreescuela}}\\r\\n                            </td>                                  \\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>  \\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/hermanos/hermanos.component.html\n// module id = 1378\n// module chunks = 3","module.exports = \"<div class=\\\"modal fade contentModalLg\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalSolicitud=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n     <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Solicitud</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <div #menu class=\\\"tab\\\">\\r\\n                    <div *ngIf=\\\"parametrosModalSolicitud.entidad.datoaspiranteid\\\">\\r\\n                        <a (click)=\\\"fotosComponente()\\\" *ngIf=\\\"parametrosModalSolicitud.entidad.datoaspiranteid.foto\\\" style=\\\"background: none !important;\\\">\\r\\n                            <img class=\\\"img-thumbnail\\\" width=\\\"80%\\\" height=\\\"80%\\\" src=\\\"{{parametrosModalSolicitud.entidad.datoaspiranteid.foto}}\\\"/>\\r\\n                        </a>\\r\\n                        <div *ngIf=\\\"!parametrosModalSolicitud.entidad.datoaspiranteid.foto\\\">\\r\\n                            <i class=\\\"fa fa-user fa-4x\\\" aria-hidden=\\\"true\\\" style='display: inline-block !important;'></i>  \\r\\n                        </div>\\r\\n                        <p>{{parametrosModalSolicitud.entidad.datoaspiranteid.nombre}} {{parametrosModalSolicitud.entidad.datoaspiranteid.apellidopaterno}} {{parametrosModalSolicitud.entidad.datoaspiranteid.apellidomaterno}}</p>\\r\\n                        <p>{{parametrosModalSolicitud.entidad.folio}}</p>\\r\\n                        <p>{{parametrosModalSolicitud.entidad.gradoid.nivelid.nombre}} {{parametrosModalSolicitud.entidad.gradoid.grado}}</p>\\r\\n                    </div>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(1)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.datosaspirante.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Datos del aspirante\\r\\n                    </a>\\r\\n                     <a class=\\\"tablinks\\\" (click)=\\\"guardar(2)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.expediente.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Expediente del aspirante\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(3)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.datosfamiliares.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Datos de familiares\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(4)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.fotografia.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Fotografías\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(5)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.encuesta.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Encuesta\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(6)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.evaluaciones.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Evaluaciones\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(7)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.documentacion.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Documentación\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(8)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.comentarios.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Comentarios\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(9)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.hermanos.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Hermanos \\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(10)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dinamicafamiliar.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Dinámica familiar \\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(11)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.areamedica.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Área médica \\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(12)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.otrosprocesos.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Otros procesos\\r\\n                    </a>\\r\\n                    <a class=\\\"tablinks\\\" (click)=\\\"guardar(13)\\\" [hidden]=\\\"!parametrosModalSolicitud.configpestana.dictaminacion.visible\\\">\\r\\n                        <span class=\\\"glyphicon glyphicon-lock\\\"></span> Dictaminación \\r\\n                    </a>\\r\\n                </div>\\r\\n                <div class=\\\"tabcontent\\\">\\r\\n                    <div #container></div> \\r\\n                </div>\\r\\n            </div>\\r\\n            <!-- Estatus de consulta de solicitud -->\\r\\n            <!-- Estatus de validación de solicitd -->\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" *ngIf=\\\"parametrosModalSolicitud.edicion\\\" type=\\\"button\\\" style=\\\"position: absolute; left: 15px !important;\\\" (click)=\\\"descargarFormato(4)\\\">ACUSE DE RECIBO</button>                \\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrar(false)\\\">Cerrar</button>\\r\\n\\r\\n                <button class=\\\"btn principal\\\" type=\\\"button\\\" (click)=\\\"guardar()\\\" *ngIf=\\\"!parametrosModalSolicitud.edicion\\\">Siguiente</button>\\r\\n\\r\\n                <button class=\\\"btn principal\\\" type=\\\"button\\\" (click)=\\\"guardar()\\\" *ngIf=\\\"parametrosModalSolicitud.edicion && parametrosModalSolicitud.pestana != 12\\\">Guardar</button>\\r\\n                <button class=\\\"btn principal\\\" type=\\\"button\\\" (click)=\\\"finalizarValidacion()\\\" *ngIf=\\\"parametrosModalSolicitud.edicion && parametrosModalSolicitud.pestana == 12\\\"> {{parametrosModalSolicitud.listaespera ? 'ENVIAR A LISTA DE ESPERA' : 'Finalizar'}}</button>                                 \\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div #modalGenerica></div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/menusolicitud.component.html\n// module id = 1379\n// module chunks = 3","module.exports = \"<div #fotos>\\r\\n    <div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n         #modalFotos=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n         <div class=\\\"modal-dialog modal-md\\\">\\r\\n            <div class=\\\"modal-content modal-md\\\">            \\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Fotos</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <div class=\\\"row text-center\\\">\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <img class=\\\"img-thumbnail\\\" width=\\\"30%\\\" height=\\\"30%\\\" src=\\\"{{parametrosModalSolicitud.entidad.datoaspiranteid.foto}}\\\"/>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <p>{{parametrosModalSolicitud.entidad.datoaspiranteid.nombre}} {{parametrosModalSolicitud.entidad.datoaspiranteid.apellidopaterno}} {{parametrosModalSolicitud.entidad.datoaspiranteid.apellidomaterno}}</p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <img class=\\\"img-thumbnail\\\" width=\\\"100%\\\" height=\\\"100%\\\" src=\\\"{{parametrosModalSolicitud.entidad.datoaspiranteid.fotofamiliar}}\\\"/>\\r\\n                        </div>                     \\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrar()\\\">Cerrar</button>\\r\\n                </div>            \\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/modalfotos/modalfotos.component.html\n// module id = 1380\n// module chunks = 3","module.exports = \"<section [ngClass]=\\\"parametrosModalSolicitud.catalogo != 1 ? 'widget' : 'widget soloLectura'\\\" id=\\\"otrosProcesosView\\\">\\r\\n    <header>\\r\\n        <h3>Otros procesos</h3>\\r\\n    </header>\\r\\n    <div class=\\\"widget-body\\\">\\r\\n        <fieldset>\\r\\n            <legend></legend>\\r\\n            La siguiente tabla muestra las solicitudes de admisión de ciclos anteriores con la misma CURP que la del aspirante actual\\r\\n            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                <table datatable [dtOptions]=\\\"dtOptionsProcesos\\\" [dtTrigger]=\\\"dtTriggerProcesos\\\" class=\\\"table table-hover\\\" id=\\\"tablaProcesos\\\">\\r\\n                       <thead>\\r\\n                        <tr style=\\\"color: #fff;\\\">\\r\\n                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                Ciclo\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Nivel\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Grado\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Folio\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable\\\">\\r\\n                                Clave\\r\\n                            </th>\\r\\n                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                Estatus\\r\\n                            </th>\\r\\n\\r\\n                        </tr>\\r\\n                    </thead>\\r\\n                    <tbody>\\r\\n                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayProcesos\\\">\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.cicloid.nombre}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.solicitudadmisionid.gradoid.nivelid.nombre}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.solicitudadmisionid.gradoid.grado}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.solicitudadmisionid.folio}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.solicitudadmisionid.clavesolicitud}}\\r\\n                            </td>\\r\\n                            <td class=\\\"text-center\\\">\\r\\n                                {{c.solicitudadmisionid.estatussolicitudid.estatus}}\\r\\n                            </td>                                                   \\r\\n                        </tr>\\r\\n                    </tbody>\\r\\n                </table>\\r\\n            </div>                                    \\r\\n        </fieldset>\\r\\n    </div>\\r\\n</section>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admisiones/modalsolicitud/otrosprocesos/otrosprocesos.component.html\n// module id = 1381\n// module chunks = 3","module.exports = \"<div [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" bsModal class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" #modal=\\\"bs-modal\\\">\\r\\n     <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <form  [formGroup]=\\\"FormBuscarAlumno\\\" novalidate (ngSubmit)=\\\"buscarAlumno()\\\">\\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Seleccionar alumno</strong>\\r\\n\\r\\n                    </h4>\\r\\n                </div>\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-12 col-sm-6 col-md-3\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"matricula\\\" />\\r\\n                                    <span class=\\\"highlight\\\"></span>\\r\\n                                    <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">Matricula</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"nombre\\\" />\\r\\n                                    <span class=\\\"highlight\\\"></span>\\r\\n                                    <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-6 col-md-3\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"apellidopaterno\\\" />\\r\\n                                    <span class=\\\"highlight\\\"></span>\\r\\n                                    <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">Ap. paterno</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"apellidomaterno\\\" />\\r\\n                                    <span class=\\\"highlight\\\"></span>\\r\\n                                    <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">Ap. materno</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-6 col-md-3\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <sui-select formControlName=\\\"nivelid\\\"\\r\\n                                    (selectedOptionChange)=\\\"load($event)\\\"\\r\\n                                    placeholder=\\\"Nivel\\\"\\r\\n                                    [options]=\\\"NivelSelect\\\"\\r\\n                                    style=\\\"width: 100%;\\\"\\r\\n                                    class=\\\"selection\\\"\\r\\n                                    labelField=\\\"nombre\\\"\\r\\n                                    valueField=\\\"nivelid\\\"\\r\\n                                    #nivelselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of nivelselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <sui-select formControlName=\\\"gradoid\\\"\\r\\n                                    (selectedOptionChange)=\\\"loadGrupo($event)\\\"\\r\\n                                    [options]=\\\"GradoSelect\\\"\\r\\n                                    placeholder=\\\"Grado\\\"\\r\\n                                    style=\\\"width: 100%;\\\"\\r\\n                                    class=\\\"selection\\\"\\r\\n                                    labelField=\\\"grado\\\"\\r\\n                                    valueField=\\\"gradoid\\\"\\r\\n                                    #gradoselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of gradoselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-6 col-md-3\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <sui-select formControlName=\\\"grupoid\\\"\\r\\n                                    [options]=\\\"GrupoSelect\\\"\\r\\n                                    placeholder=\\\"Grupo\\\"\\r\\n                                    style=\\\"width: 100%;\\\"\\r\\n                                    class=\\\"selection\\\"\\r\\n                                    labelField=\\\"nombre\\\"\\r\\n                                    valueField=\\\"grupoid\\\"\\r\\n                                    #grupoSelect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of grupoSelect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                    formControlName=\\\"alumnoestatusid\\\"\\r\\n                                    placeholder=\\\"Estatus\\\"\\r\\n                                    [options]=\\\"EstatusSelect\\\"\\r\\n                                    labelField=\\\"nombre\\\"\\r\\n                                    valueField=\\\"alumnoestatusid\\\"\\r\\n                                    #estatusselect>\\r\\n                                    <sui-select-option *ngFor=\\\"let option of estatusselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                </sui-select>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"controls right\\\">\\r\\n                        <small style=\\\"color: red\\\" [hidden]=\\\"!submittedAlumno\\\">Debe seleccionar cuando menos un filtro de búsqueda</small>\\r\\n                        <button class=\\\"btn principal\\\">Buscar</button>\\r\\n                    </div>\\r\\n                    <div class=\\\"controls\\\">\\r\\n                        <button type=\\\"button\\\" class=\\\"btn btn-control old\\\" (click)=\\\"exportar()\\\"><i class=\\\"fa fa-file-excel-o\\\"></i><span>Exportar</span></button>\\r\\n                    </div>\\r\\n                    <div class=\\\"table-responsive\\\" style=\\\"font-size: 0.9em;\\\">\\r\\n                        <table datatable [dtOptions]=\\\"dtOptionsalumno\\\" [dtTrigger]=\\\"dtTriggeralumno\\\" class=\\\"table table-hover\\\" id=\\\"tablaConsultaAlumno\\\">\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th class=\\\"text-center headerTable-top-left\\\">Matricula</th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">Nombre</th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">Ap. paterno</th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">Ap. materno</th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">Nivel</th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">Grado</th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">Grupo</th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">Estatus</th>\\r\\n                                    <th class=\\\"text-center headerTable-top-right\\\">Acciones</th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayentidadalumno\\\">\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.matricula}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.primernombre}} {{c.segundonombre}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.apellidopaterno}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.apellidomaterno}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.nivel}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.grado}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.grupo}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><p>{{c.estatus}}</p></td>\\r\\n                                    <td class=\\\"text-center\\\"><button class=\\\"btn principal\\\" type=\\\"button\\\" (click)=\\\"cerrar(c)\\\">Seleccionar</button></td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\"  type=\\\"button\\\" (click)=\\\"cerrar(null)\\\">Cancelar</button>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/alumno/alumno.component.html\n// module id = 1382\n// module chunks = 3","module.exports = \"<style>\\r\\n    .fc-event{\\r\\n        height:auto;\\r\\n        min-height:60px;\\r\\n    }\\r\\n</style>\\r\\n<angular2-fullcalendar [options]=\\\"calendarOptions\\\"></angular2-fullcalendar>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/calendario/calendario.component.html\n// module id = 1383\n// module chunks = 3","module.exports = \"<div class=\\\"row\\\" *ngIf=\\\"FichaGeneral\\\">\\r\\n<div class=\\\"col-lg-4 col-md-4 col-sm-4 col-xs-4\\\" style=\\\"padding: 15px;\\\" *ngFor=\\\"let ficha of FichaGeneral; let i = index;\\\">\\r\\n\\r\\n        <div class=\\\"tableroDictaminacioDivs\\\" >\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n                <h4>\\r\\n                    {{ficha.nombre}}\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-12 divseparador\\\"></div>\\r\\n            <div  *ngFor=\\\"let key of  ficha.keys\\\">\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\" *ngIf=\\\"key !== 'Folio'\\\">\\r\\n                    <p>\\r\\n                        <strong>\\r\\n                            {{key}}: \\r\\n                        </strong>                                                                          \\r\\n                        <span>\\r\\n                            {{formatValue(ficha.data[0][key], key, i)}}\\r\\n                        </span>\\r\\n                    </p>                                \\r\\n                </div>\\r\\n                <div class=\\\"col-lg-12\\\" style=\\\"height: 15px;\\\" *ngIf=\\\"key !== 'Folio'\\\"></div>\\r\\n            </div>\\r\\n            \\r\\n        </div>   \\r\\n    </div>\\r\\n\\r\\n\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/dictamen/ficha/ficha.component.html\n// module id = 1384\n// module chunks = 3","module.exports = \"<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal  style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modal=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n     <div class=\\\"modal-dialog modal-sm\\\">\\r\\n        <div class=\\\"modal-content modal-sm\\\">\\r\\n            <form  [formGroup]=\\\"FormBuscar\\\" (ngSubmit)=\\\"getEstadocuenta()\\\">  \\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Estado de cuenta</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <p>Indique el tipo de estados de cuenta que desea consultar.</p>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"tipoestadocuenta\\\"\\r\\n                                        placeholder=\\\"Estado de cuenta\\\"\\r\\n                                        [options]=\\\"TipoestadocuentaSelect\\\"\\r\\n                                        labelField=\\\"nombre\\\"\\r\\n                                        valueField=\\\"id\\\"                                           \\r\\n                                        #tipoestadocuentaselect>\\r\\n                                <sui-select-option *ngFor=\\\"let option of tipoestadocuentaselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"FormBuscar.controls.tipoestadocuenta.valid || (FormBuscar.controls.tipoestadocuenta.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Seleccione un tipo de estado de cuenta\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\" *ngIf=\\\"tipoestadocuentaselect.selectedOption ? tipoestadocuentaselect.selectedOption.id == 4 : false\\\">\\r\\n                             <small>Fecha</small>\\r\\n                            <my-date-range-picker formControlName=\\\"fecha\\\"  [placeholder]=\\\"'Rango de fechas'\\\"></my-date-range-picker>\\r\\n                            <small [hidden]=\\\"FormBuscar.controls.fecha.valid || (FormBuscar.controls.fecha.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Ingrese un rango de fechas\\r\\n                            </small>\\r\\n                        </div>\\r\\n\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <p  style=\\\"margin-top: 10px;\\\">\\r\\n                                <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" id=\\\"familia\\\" formControlName=\\\"familia\\\" /> <label\\r\\n                                    class=\\\"checkLabel\\\" for=\\\"familia\\\" style=\\\"color: #757575;\\\">Incluir alumnos de la familia</label>\\r\\n                            </p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cancelar()\\\">Cancelar</button>\\r\\n                    <button class=\\\"btn principal\\\" type=\\\"submit\\\">Consultar</button>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/estadocuenta/estadocuenta.component.html\n// module id = 1385\n// module chunks = 3","module.exports = \"\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal  \\r\\n     #modal=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n     <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <form  [formGroup]=\\\"FormBuscarFamilia\\\" novalidate (ngSubmit)=\\\"buscarFamilia()\\\">  \\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Seleccionar familia</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <div class=\\\"row\\\">   \\r\\n                        <div class=\\\"col-lg-3 col-sm-3 col-12\\\">                            \\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"matricula\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Matrícula</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-3 col-sm-3 col-12\\\">\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"apellidopaterno\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Ap. paterno</label>\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-3 col-sm-3 col-12\\\">\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"apellidomaterno\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Ap. materno</label>\\r\\n                                </div> \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-3 col-sm-3 col-12\\\">\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12\\\"> \\r\\n                                <button class=\\\"btn principal\\\"  type=\\\"submit\\\">Buscar</button>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-lg-12 col-sm-12 col-12\\\"> \\r\\n                                <small [hidden]=\\\"!submittedFamilia\\\" style=\\\"color: red\\\">\\r\\n                                    Debe ingresar como minimo un parametro\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <fieldset>\\r\\n                        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                            <table datatable [dtOptions]=\\\"dtOptionsfamilia\\\" [dtTrigger]=\\\"dtTriggerfamilia\\\" class=\\\"table table-hover\\\" id=\\\"tablaConsultaacuerdoFamilia\\\">\\r\\n                                   <thead>\\r\\n                                    <tr style=\\\"color: #fff;\\\">\\r\\n                                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                            Clave de familia\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Nombre de familia\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Alumnos\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Matrícula\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Alumno\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                            Acciones\\r\\n                                        </th>\\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n                                <tbody>\\r\\n                                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayentidadfamilia\\\">\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.f_clave}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.f_apellidopaterno}} {{c.f_apellidomaterno}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.numalum}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.a_matricula}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.a_primernombre}} {{c.a_segundonombre}} {{c.a_apellidopaterno}} {{c.a_apellidomaterno}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <button class=\\\"btn principal\\\"  type=\\\"button\\\" (click)=\\\"cerrar(c)\\\">Seleccionar</button>\\r\\n                                        </td>\\r\\n                                    </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </fieldset>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\"  type=\\\"button\\\" (click)=\\\"cerrar(null)\\\">Cancelar</button>\\r\\n                </div>\\r\\n            </form>            \\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/familia/familia.component.html\n// module id = 1386\n// module chunks = 3","module.exports = \"\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalFoto=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n     <div class=\\\"modal-dialog modal-md\\\">\\r\\n        <div class=\\\"modal-content modal-md\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Fotografía</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                    <div class=\\\"col-lg-12\\\" id=\\\"tableContent\\\">\\r\\n                <div class=\\\"clearfix\\\">\\r\\n                    <ul class=\\\"nav nav-tabs float-left\\\" role=\\\"tablist\\\">\\r\\n                        <li class=\\\"nav-item\\\">\\r\\n                            <a id=\\\"tab\\\" class=\\\"nav-link active\\\" data-toggle=\\\"tab\\\" href=\\\"#camara\\\" role=\\\"tab\\\" aria-controls=\\\"basic\\\" aria-expanded=\\\"true\\\">Cámara</a>\\r\\n                        </li>\\r\\n                        <li class=\\\"nav-item\\\">\\r\\n                            <a class=\\\"nav-link\\\" data-toggle=\\\"tab\\\" href=\\\"#seleccionar\\\" role=\\\"tab\\\" aria-controls=\\\"assumtion\\\" aria-expanded=\\\"false\\\">Seleccionar archivo</a>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n                <div class=\\\"tab-content mb-n-md\\\">\\r\\n                    <div role=\\\"tabpanel\\\" class=\\\"tab-pane active in clearfix\\\" id=\\\"camara\\\" aria-labelledby=\\\"basic-tab\\\" aria-expanded=\\\"true\\\">\\r\\n                        <div class=\\\"tab-content mb-lg\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-12 form-group\\\">\\r\\n                                    <ng2-webcam [options]=\\\"{video: true}\\\" [onSuccess]=\\\"onSuccess\\\" [onError]=\\\"onError\\\"></ng2-webcam>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-12 form-group\\\">\\r\\n                                    <canvas width=\\\"320\\\" height=\\\"240\\\"></canvas>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-12 form-group\\\">\\r\\n                                    <button class=\\\"btn btn-default btn-lg btn-block\\\" type=\\\"button\\\" *ngIf=\\\"!camarabloqueda\\\"\\r\\n                                            (click)=\\\"makeSnapshot()\\\">Tomar foto</button>\\r\\n                                    <p *ngIf=\\\"camarabloqueda\\\">No se ha podido acceder a tu camara web</p>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div role=\\\"tabpanel\\\" class=\\\"tab-pane\\\" id=\\\"seleccionar\\\" aria-labelledby=\\\"assumtion-tab\\\" aria-expanded=\\\"false\\\"> \\r\\n                        <div class=\\\"tab-pane active in clearfix\\\" style=\\\"font-size: 13px;\\\">\\r\\n                            <div class=\\\"row\\\" >\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-12 form-group\\\">\\r\\n                                    <input style=\\\"margin-top: 10px !important;\\\" id=\\\"img\\\" type=\\\"file\\\" accept=\\\".jpg , .png\\\" \\r\\n                                           (change)=\\\"extraerfile($event.target.files[0]);\\\"/>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button  type=\\\"button\\\" class=\\\"btn btn-default\\\" (click)=\\\"cerrarfoto()\\\">Cancelar</button>\\r\\n                <button  type=\\\"submit\\\" class=\\\"btn principal\\\" (click)=\\\"guardarfoto()\\\">Guardar</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/foto/foto.component.html\n// module id = 1387\n// module chunks = 3","module.exports = \"<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal style=\\\"background: rgba(0,0,0,0.5);\\\"\\r\\n     #modalRecibo=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" > \\r\\n     <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <div class=\\\"modal-body\\\">\\r\\n\\r\\n                <div class=\\\"row\\\" *ngIf=\\\"datosimpresion\\\">\\r\\n                    <div class=\\\"col-lg-12\\\" >\\r\\n                        <section class=\\\"widget\\\" #recibo>\\r\\n                            <div class=\\\"fri-contorno leyend\\\">\\r\\n                                <div class=\\\"container\\\">\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                                            <!--LUX -->\\r\\n                                            <table style=\\\"width: 100%\\\" *ngIf=\\\"escuela==1\\\">\\r\\n                                                <tr>\\r\\n                                                    <td style=\\\"width: 10%\\\">\\r\\n                                                        <img style=\\\"width: 140px; height: 142px;\\\" src=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAACOCAIAAABsandiAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4nO19eXxU5bn/OWf2fUsmmex7yMaWBAgIhLAJNGhVqFgVb1F7P22t12u1rdVqF3t7bz/6sVZLa9vrBhYuKFupojRhS9hCMCGQfSHLZCaTZGYy+3p+f3x/897DJEBYo70+f/AZTs7ynvd7nuV9nud9HpplWeor+mITM9UD+IquTl+B9CWgr0D6EtBXIH0J6CuQvgT0FUhfAuJP9QCuTpdbJFzuOE3T13T8i09fIJDIpEfNPsuy4XCYe4Sm6XA4fDmQGGYC8cAwzHiQuEe+yBBOPUhcbAAGy7KhUIicEA6Ho0C6DuLxeFEwMAxD4IzC9YsG2O0GCZCwLEuwIcAQMPCbvZTIHXAajkTNJjlI03QU6wAGHIk6YcL/ck8e/6DbTLccJC6jECITTX4ThEKhEC7BkVAoFMVGOEiQI/ePmnEuSDRNsyxL0zT4CX/CX3k8HsMwLMsyEeKeQH5MiNxto1sFEplBLk9gxgnhvzgnEAiEw2GapoPBYDAYJMDgvwzD8Hg8HMGM4zfuw8Vg/Dl4CmZZIBBwZ5lhGIFAQGSdQCDAHfA4AhgXPC6K1O1C639f5mZRFK+EQiF8+KFxxLJsIBDAJAaDQZZlMUfBYFAgEAiFQnJDgUAgEomub0b8fr/X6+WyQigUcrvdBHgMFf8F0nw+n/wGWuN/EKI4EvIW0U0DiatsgAF4hVAwGMRBAIN/YSDgWrFYLJPJ8NoKhUIqlZI3xyd/fQPDo7lHAoHAyMgIGbbH43G5XNy34PP5NE3z+Xw+nw9gABuOcNEi8nNC6/Fm0c0BiTANkWOYGgJJMBgMBAKQaRBNNE2LRCIejycUCiGFhEKhWCwGSDhCXjscDns8HrvdzrX6rvJiNE3TtFwul8vlRAyCWJb1+/3c3x6PB0/BIHEQzA1RyY8Qj8cTCATkB2EswHmLWOpGQeJiQ/AABQKBYDBI3hZvIhaLhUKhUCjk8XhisZh8rXg3q9XqdDrBjo2NjQMDA/9/lDTt9Xp7enoguLhP546fa6TgA09KSjIYDPg48CexWDxjxoz4+Hiwl1AojI2NBYqABKP1+/0+ny8UCmH8Xq8Xb0dRFGSvQCAAWviXvAi48EamdDzdEEhEfIXDYb/fj/fBvz6fDwqfz+dLJBJwiVAoBPfw+XyKohwOh91u9/v9DQ0NAwMDNE0bjUaTyRQKhfh8vtFotFgsYCz863A4QqHQeJAIVAQJ/KBpWiaTyWQyv99PXpPP56enpyuVSq/XS1GUTCYrLCwEPHFxcbNnzxYKhVKpVKvV8vl8Irp9Ph8YLhAIuN1uMCLQwjcHzPCDa+bcFLp+kAAMvjUoZ7yJ3+/n8XgikUgmkwEYsVgMYILBoM1ms1gs58+f7+7uHh0dNRqNgUDAZDLZ7XaGYdxut9frZVmWz+eLRCIi64kxht9cVIguhEVARfwRFMe2JGMmvAIFSVEUj8dTq9W4oUKhSExMpChKrVanpKSIRKKsrKz8/HytVqvRaAQCAa7yer0ej8fn8zmdTq/XC5EgEAgkEgl+EHl4s1jqOkGCWINMADwQU1D+MpmMYENRlNPp7O7uvnDhwvnz5wcHB4eGhkZHR8fGxnA5RVGQflREkXDXNwAGXy6Qw9MpipJIJBKJBJ85RKtEIgkEAj6fj2VZSDMCKk7A5dxVAaDFOURiY8YZhtFoNFqtNjY2NiEhISsra8aMGVlZWQqFAmOAxWG32x0Oh0Ag4H6UYCkIjBun6wGJvLPP53O73W632+PxBINBrVarUqnkcjmxxDwez8WLF+vr66uqqjo6Otrb2wGAUCjEC3BXi1RETPF4PKIAYErExcUJBAKr1Qo2lUgkaWlp6enpCQkJfX19JpPJ7XZ3dHQUFBRYLJbu7m6BQBAfH2+z2cbGxjChAoFApVKNjIwQeLxeL4xGstgib8dGHFSwQvGnpKSk/Pz8ioqK0tLSzMxMiUSCE1wul9FotFqtEokEOMlkMigtaKmpASkcDkOyud1ul8s1NjYmFosTExNhCPB4PK/Xe+HChVOnTtXX1/f09NhsNrvdDs4jcgBCiSAUCARkMll8fDyfz7darRUVFUVFRQzD7N+/3+PxbNy4USKR2Gy2V155JRgMzp07d9WqVVVVVeFw2GazzZgxIzMzc8eOHYmJif39/XV1dQqF4oknnjh69GhtbS1G++Mf/zg5Ofnpp5+GfgoGg+vWrevu7j5x4oRIJNLpdB6Px2q1BgIBKBUwIsMwYLtAIMDn84VCoUaj0Wg0hYWF5eXld9xxh06ng1FjtVqHhoagBRUKhVgsJjjdOEjXfAu8IVQROEkmkyUlJclkslAo1NfXd+zYsQMHDrS1tbndbqfTiS8RNo9QKIRIweI/Li5OrVZTFOVyuUpKSvLz8wsLC/v6+t57772lS5cePXrU4/EMDQ3NmTMnISFh9+7dMTEx+MDFYnFRUZFUKjWbzSdPnnQ6nQaDoby83Gaz9ff3UxTF5/O1Wq1AIADHLFiwIDs7OyUlpbS09NChQ5Bj8+fPP3nyJMMwSqXyiSeeOHbsWF1d3YoVK6qqqvr6+gwGg9frHRkZgdMIt/L7/YODg0ajsaurq7q6Oi0tbd26datXr9ZqtXFxcSKRqLOzE6Y5FXE4cd24txUkshiCCZeeni6VSp1O5xtvvLFnzx6r1Qr7B2sdfErwL8jl8piYmGnTpsGOWLlyJayPsbGx/fv30zRdVla2bdu2vr6++Pj4+fPnd3Z22u322tpauVy+dOlSgUBw5syZhoYGm83W3Nx87Ngxi8VitVrFYvHp06cNBkNqaurZs2cxQd3d3V1dXQ6HQygUVlZWXrx4kc/nZ2dnHzp0KBAI5OXlFRQUGI1GzKBOpxMIBDqdrry8fGhoaPXq1YsWLXI4HB999NHhw4e1Wq3L5bJYLECLx+P5/f6hoaGRkZG2trZt27a9+uqrOTk5Go0mISFhcHAQCgl+k5uyDL0ekKiIsA6Hw7CwKYpqa2t79dVX8c5YPUAn+/1+pVKZnJzMMExpaemdd9557Nix2tpaHo9ntVq7u7vxJ7PZbDabFy5cCANPoVCcPHly586dQqFw7ty5WVlZO3fuvPvuu2fNmnX69GmbzSYQCCorK8fGxj7//HOHw9Ha2mo2m5ctWyYWi8PhsEKhKCgoKCkp6e7u7u3tTU5O/vDDD71e7ze+8Y2tW7dCPguFQpvNxufz09LS3G730aNHU1NT+/v7U1JSCgsLX3vttbS0tLy8PL1eLxKJ9u7dO3PmzJSUlBMnTpjN5kAgABvEbrefOXPmkUce2bJlS2ZmZmxs7ODgoM/nE4lEsK1uijl+zSARVwIAICoXwsFgMGBt4fP5BAJBUVFRcnLy8ePH582bJ5PJBgcH+/v7U1NTMzIy9u/fLxaLKysrZTLZiRMnAoGAxWIRi8V33HFHd3e32+1et25dSkqK1+s9dOiQTCa7//776+vrd+7cKZVKTSbT+++/HxsbC/N9bGzM6/X6/f7z589bLBaBQGC327ds2aJQKLDKee211y5cuHD27NmEhAS5XO5wOFwul16v37ZtW2dnZ3t7u16vj4uLW7VqFZ/Pt9vtY2NjDQ0NJ06ckEgkTzzxREJCwoULF+666676+vqRkZEZM2Zs2LDhgw8+aGlpwUfZ3t4OxxLDMNBqWIqIxWLMxg3idG0gceMIkHuwdymKwlIOY/L7/VlZWTKZLC4ubv78+XV1dU6nMz8/v6+vT6vVGgyGixcvYj1/6tSpQCAwf/78WbNmffbZZ1KpVKPRsCx79OjRpUuXBoPBc+fOdXZ2vvfee1qttrOz0+FwiEQir9dbX1+PMXAl/ujoKKx2m8129OhR2NZkjWUymf785z/7fD4ej9fX11dXV5eRkcGybG1trUAgeOqppxISEqqqquCJ9/v9er1eJpNRFDV9+nSDwZCZmVlXVxcMBleuXLl27doDBw4Q7ztsXYyBrH8xXTweD97bG1kzTRYk8mxY3vhyoUvtdrtWq83Nza2oqDhy5EhOTs4PfvADvV6/ffv2lpaW+Pj4vLy8hoaGnJycpKSk9vb2v/3tb+fPn5dIJG1tbfHx8VBjMTExSqXy1VdfdbvdfD7/zTff3Lx5MzBgWZZ8s0KhEFMD0xlzFOUcIlGJ8S675uZmiqL4fP7Q0NCjjz5Klr1mszkuLm5sbKy5uTknJ2fJkiX79u1ramrq6uoyGAxvvfWWXC43m83nz59/+umnU1NT3W43eWIgEMjNzY2NjcV/oWXFYrHP5+OadrAjbhVI4BjizPb5fB6PBy4Gr9frcrnMZrNGoxGJRAUFBTU1NcXFxdOmTXvxxRcTEhLi4+Pr6upWrlz5yiuviEQirVbrdru///3vWyyW2tra6upqv99vsVi2bt0KKwhg0JemMJAlVFQUB/hxh8pdBUd5j6JOYyMRerxdS0tLS0sLwD579uxPf/rTlJQUIBQMBmtqau68806Hw1FSUrJmzRqPx0PCKBRFeTyemTNn6vV6iqJ6enqcTqdMJoPHlop4zohzloSprgmky66TiFiDwQ2HKXExeDwep9PJMExMTExycrJYLKYoymQyFRUVKRSKzZs3z5w58+233/7www91Ot2///u/p6ennz9//p133hkcHGRZ1mw2E59/1HqW5lCUZ4V4JTCb5K8sJzkCZxLfAfddCKiBQID7muRalhNtIQchx3Q6XWlpaXl5OSz+H/3oRy+99FJtbS1O/uSTTwoLCxmGcblcFy9eHB0dDQQCcrkcPhHijcUSnusxmiRaE3ASGSvxcfl8PuKXgxNIKBRmZ2fDf0wshePHjxsMBovFsnnz5h/+8Ie7d++Gk/SZZ55JSkrq7++32WyQVzAIqYjHAVAhFgcnNN7q4sWLQqEwNTU1Li4O3wGXiAAZ/52xEd88/uv1evv7+wcGBnAkNjYWtg+WbnASQoGRS4howjzabLb9+/fv2rWLx+PJZLKCggKbzYYH8fn8/v7+rKwsuCsLCgpCoZDFYjEajS6Xy+/3wwMrEomwwuWGOSaJUzQn4dMgMTqwDnHQeb1eqVSamJioUqnwDCxgP/300w8++KC1tRXfnVKpfOyxxywWy5YtW8jkcjmdx+NBOVMU5XQ6PR4P1HVGRsa9996r1WrBLvAAJSUlxcTEwOS9PvL7/UajcWBgAMMDHsFg8OzZs7t27SIBeIFAIJfL8dFgiRPFXmSK3G43FkOwxaVSaVZW1tq1a1evXm0wGKCKwuHw2NiY0WgcGxtjGIZwFQhcNUlFdQlIBCGu/5SA5Pf7pVJpQkKCUqnk8Xg+n8/lcrW3t+/Zs+fIkSNGo1Eul9vtdrfbLZFI4uPjQ6HQ0NAQcQKRpxDd5nK5oGbJGNRqdXZ2Npdp4JJBIO66QQLHkAQHUDgctlgsHR0d3EAiCT9KJBIib6O0I14BkxsKheRyuVqtHhsbi4mJWbZs2YoVK/Ly8uC+oyjK4XBgkcAwDJiJEHHuXZWZaO4HAhGHSSGmAdwKQqEQXhw+n+/1em0224kTJ7Zu3drU1ARpS/SWyWRSKBRsJOxGRdIKgsEgzckVmQwNDw/jiVc9MxQKITQll8vFYjF3Zi95W5r2eDwOh4ONRIfJcXIOy7JCoRDxXDYSTccCKOpk8HpMTAywJKGm3Nzc++67b9GiRXq9XqFQIAQDDwWJaEilUhLXuCpONJedwT2Ax+PxIMbF5/NjY2N1Oh2fz3e5XCMjIydOnNiyZUtTUxMeBiSgwFiWdblcsD7JmglgS6XSRx999Fvf+hY1OUE8MDDwyiuvbNy4cfr06Vc9f2ho6PXXX6+vr1+xYsWCBQuIsow6TSgU1tXV7d69u6+vj8w+SWFgI9GmjIyMr33ta6mpqbDiWJatr69///33+/v7pVIpkQ2YtNjYWChaKAgiJOLj45cvX15ZWZmbmxsTE8OyrN1uN5lMPp8PnnLwE4kTXuEd//cjJRF+IISlgFqtxprO7/e3t7dXV1fv2rXr3LlzYrFYIpFEfeMkKkNMCTi/8VeBQGAwGAoLC7mXhMal1RF7780336ysrPz73/9+7733XlUhIfDjcrkOHTo0PDx89913T58+HYoziksKCgruvffeN95449SpU1D+JEbHRkJK/f39O3bsWL58eUVFRUxMjEQigd+ktbXV4/EQqQUTbrxS4fP5crncarW+/fbb27dvr6ysfPzxx7OysrRarVAo7O/vh3sCjk2SzTJZkEiGQigUEovFsbGxKpUKFw8MDDz33HMHDx6USqVceMbbHVKpdGxsjMSYr0zw0HAvV6lUMpmMpmmHwzFjxoy//OUvTqdzMlYDG8kIq6+vb21tXbx48bp16xISEqJeHkbKM888c+bMmTfeeKO7uxtGHWF9GH59fX1/+tOfDh8+fN999y1evJg4EZAS4/V6VSqVUCiES2JCYhhGKpX6fD6w4K9+9av8/Hy5XB4XF9ff3+/3++GnEAgEV/UbTWyC44WhmcCM4XA4PT192rRpIyMjeA2ScRGlALDqDE8ue9vpdCIQh1tB+UmlUoqipk+f/v777z/99NNKpXIytwJBEYbD4XPnzmk0GoTDxxOPxwuFQllZWSMjIyQhkuJE3OFBHhoa+vTTT+Hp5+aFsSzrdDrlcvkVRgKmVKlU06dPh37CQSRIeTwesiC7qk0ULa9IjqDT6RwbG1MqlRqNRiqVpqen//KXv2xqatqzZ09NTQ2+hQlVOk3TOp2Ox+O5XC74+iCvJ3w85oILEkF31apV1dXVxcXF12RrsCwrEonuu+++vLw8+H8vd6ZAIJgzZ86CBQsmfAXyo6Oj469//atMJuvv74e3iTioEEefcAzhcFipVCYlJd1xxx1f//rX8/LywuGw2+1G7o3X6yWf+GSs1kucS4TlWZZlGMbj8YyOjtrtdoVCoVarFQrFrFmzZs2adeTIkX379jU2NppMpgn1M8uySqVSIpHAvA6Hww6HY8LHcx0N1KUGxZ///OfS0tKf//znf/rTn678zXKfGwqFlEpleXn5smXLkIQ0SZ4ePzCDwZCbm9va2lpTU1NbWwtliRg5wzDI4BivSCCE8vPzlyxZUllZmZ6eDnjGxsYwmbgJCd1iVXtly4hPxoQVHGaNpJMJhULEIKxWq1qt1mg0CoVi0aJF8+bNO3DgwA9/+EMw04Q4URHXPdEW10QpKSl5eXnV1dWTSYjE45Avht/BYHDHjh1dXV3Xtwr2eDzZ2dkPPfQQMEawlY4kJEWl03LVPp7++OOPr1q1KhQKORyOsbExJBBQFIX1LHepBMPhyoP5X06iOZsOSEqtIEJut9tsNg8PD6empur1esTWLmc4QhzDPE1NTZVIJC0tLbB6J0+VlZXPPPPMs88+q1KprnoyBGZJSYlare7o6MAaWaVSPfbYY6mpqdf0XFBfX19XV5fb7Y46DokC9xVxbkVRIBAgSe0mk6mvr4+maRhchIfARpN0uUbrJGIO4krCiTBvHA4HNB5FUTU1NRPKUwSZ4JtYs2bNihUrPB7P66+/fq0gIcNt8lYDQCopKXn33Xehk8VicVJSUkZGRtSZLMt6PB6sebHEhjMl6m5DQ0Pjn7Jw4cL09PTa2tquri6v1xvlxaAi3o3W1tYVK1aQF4EDQiKRSKVS4hMibqGrrgIn1vzEHQLzFJyBYCvckRRF9fT0RBkOWGZpNJoFCxYUFxenpqaWlJTo9fq2trbJ53AT2rVrV3l5+e9+97vi4uIrWLpRA9BoNDExMeMtGpKZhP+azWaLxRITE0PTtNFo1Ov12dnZl7stIMe1M2fOvPvuu8vKytra2hobG5ubm8fGxrjDA/D19fUURSFJlIglYYSIQ2iSYYuJQSIEJwIcBwzDyOVyqM3m5ub+/n42srMOKdrTpk0rKCjIz88vLS1NS0u77n0QoJ6enrvuuqumpmbyAGM2o7Ld2tranE6nQqEwGAzwj7jd7u7u7kOHDqWlpSUnJ1sslvj4eJyMtTwVWU7hINfXLhaLDQZDTk5OMBjs7Oysq6s7f/58fX090tbJmUajsa+vLzExEfINf+Kqj2vKb72sW4zm7Oggt4ObjmGYxsbG0dFRkUiERVlOTk55efnMmTPz8/N1Ol04HHY6nSaTSS6XazSaSQ4litavX//pp5++8MILk2Sj8cQwjNfr7ezshEyTSCQCgQBBByQK8vl8j8cjk8mIULXb7RcuXECuJy+ye2n69OksyzY1NUH5g0KhUHZ2dm5urtlsPnPmzOeff15TU9Pe3o716eDgYFNTEyJt8E2QWSU0+Re5hhwHeB4ROkPGtsPhWLx4cUlJyezZs2fNmoWk35GRkZGRkdHRUY/Hk5ycfN0g2e12gUBwOdt9MoQcR7fbrVAo/H7/6OioUCjctWtXR0cHpDFOQBzL4XB4vd6Wlpampia5XJ6QkIAU6HA4nJubO3369C1bthAtFQ6Hu7u7w+FwbGysVqtdtWrVvHnz5s2b19DQUF1dffLkSalU2t7evnLlSqFQqFQqLRYLdxqv9UWuLRFFoVAIhUKfz1dVVZWQkLBs2bI1a9bk5uZKpVIkDtrtdizWfD4fzYmhXQcdPHjwm9/85o9+9KN9+/Yhh/LKxEb2EpGPFM4th8MBQV1dXf3Nb34zOzsbSZY9PT2ZmZkQGDU1Nenp6SKRqLu7W6lU8vl8v9/PXdKmpqYaDAaurYxFz/DwsFarRb74kiVL5syZM2/evM8++6yqqurw4cObNm2CDxp6HR8ENzQ1SZpsjgNx2sMW6urquvvuux944IG4uDiGYXw+38DAwNDQEJQTWXLdSPKm1+s1Go2jo6OTPJ9l2b6+vtHRUfJQ6Cefz2e1WuVy+fDwsFgsnjdv3qFDh1pbW7GZgrxOWlqaUqlEZAG+R65OJUkv5Ah0AbIEx8bGwuFwfHy8XC6fO3duZmZmamrqiRMn4PCGnU2cogAs6m5XpiuBRG5HUiFxXCgU/vSnP0XiIEJnRqMRwgGbESiKwq6Ya5K8UfTtb3/7v//7v19++eXJuBvwoOrqapfLFfWdlpeXNzU1BYPBwsLCU6dONTU1ZWVlJSYm4gOnIrtfEMyUyWTBYLC0tHRsbOzKawayywoA9Pf3OxwOnU4H83Lt2rVz587FbGB5BOfLdbARdVVOIrtEMOPgd6FQWFFRAb9RZ2cnAqwkgE9ODgQC18pJSJmDrW+321taWsrKykZGRvAFRBES7TFTAAmxrri4OK5BCCdeW1ubRqOx2WxOp1MgEGg0GiIbXS7XjBkzDAYDXAM9PT3t7e0pKSlXdgRgyU8CvnB9uVyu4eHhhIQEtVoNEQ33DRw3WKIgQDoZRwOhSYk7iqLC4TBcGrD3WJa1WCwDAwMejwepAdjOhz/Bs3kd3iBMGUTNjh07HnzwwV//+tcZGRkqlSrKEGdZFh5F7pIIhgCJtdORtMVp06Z1dHQgjJKYmHj06NHi4mKHw0HTdGdnZzgcLi8vF4lEVqt1YGAgNjZ2aGjI5/MRh8L4CQW6AAneHTzL7/e7XK7Ozk6lUqnX6+ErEQqFKpVqbGyMK+uuaVquDhJRd2R5DCGOiJlMJsNSAPteqAioCM5eVdyFI9Ucos7k8XgWi6W1tbWoqEggEJA8WUJsJNkqirgGLkZbXV2NzFkc1+l0fr/farW2trbm5ubqdDqdTofURpZlTSaT1WpdvHixXq9vbW3FPc+dO4ddCNynEw8n3h3xEcS1PR4PtkbpdLr4+Hi4GMBt+Gjgvpl8At6krDsSQaBpGitB2MeSCJGN42AjZtL7sGNjY6Fyok5mGOa//uu/nnzyyTfeeINoeO4JLMtedfcPTdNnzpxRKBRJSUkSiQR5nEiij4+PV6lUCKG6XC7cR6vVlpSUDA4OIjmL2Ert7e27d+92Op3cMCYdqfKAtSNSrIVCIQQaotvDw8OASq1Wq1Qqp9NJrDuuF+OqdKWXZDn1fqjIjqqRkRG73Y6NooRIDJgr4iYzArgdJ/zT+fPnh4eHNRrNFezvqz7CbDar1WoYigqForOzs6CgQKfT2e12eDkpiiL3D4VCfD4/MzNTq9VybxIMBsFJUSKXcC0xIuhLaxoh2QEaiL5Mbsxk6LKKPQohJJ53d3ebzWaRSKRQKGQyGaaYpP2BqQlNZkw0py5MFG3ZsuWNN95YunQpdnJNSONBinpodnb2yMjI3r17e3t7u7u78/PzXS6Xx+MpKSlJSUnp7+8XCoVms7mpqYmiqNHR0YaGBqPRaDQaowY5oReHK1dhR2AqpFKpQqHAFCmVSpZlYfvBpg9FivVMHrPJLmZ5PJ7H4wmHwyQcAlUE04XMF3NpzvCNEMMwhw8fzs3NvVwAdPz5DMOgQAE5mJCQ4PF4XnrpJaVS2draii3Kfr9/YGBgYGBgdHQ0JSVFp9NZrdbjx48bjcbMzEy8Y9T4L/dGNKdIFNmSxS3LAd0Mt1CUAXKTQSKbwphIwQywDsbBcHbu3zg2hF599dV/+Zd/efnllycTtYPpsWnTpri4uE8++QQ4BYNBpVJ5zz338Hg8h8PR1tbGsuzo6KjZbB4cHGxoaFi9ejX2htpsNrPZLBAIkpKS4uLicnNzsa3zqsSVHEwkZZqN5BxCXcHDiSGRmhzXNBVXOZvYMEimxa5dBEWiELqmp06G/vCHP9jt9g8//HCSviWWZeVyeUVFxezZswmu+MD7+vp+//vfSyQSh8MBD15cXFxeXh5RJOFwuL293eFwtLe3Dw8Pj7dHrvrV05eSIFI1BWEkuVxOFAQJf09+0q4EEmEd8kWQ0h/c1MtbgRBFUc3NzY899tj777/vdDonf9X4RD6WZZubm5VKJVld0jTd2dkZGxvLRLbZjI6OJiYmlpaWxsbGulyuCVXd5KUTUbSCSF0bQtxY3+T56SqhCtgLMDH//wURaXsjfrnJkEqlCgQCarX6Bh9ks9lOnz6dn59PJhqZITqdDivf1tbW2bNnL126lKKouXPnjgzSvccAACAASURBVL+DTCa7ji3KMDcYhsGqiKxhAc81lSC60vvDshRyiJTSudUIURT15JNPbt269b333puk4XA50mg0999/v9frxRrl0KFDFy9eZCKZgaFQKC4u7o477rjc5dh/+Ytf/KK0tPQ63pqOuIWIwTV+68BV6SpP5S7WQLeiCtWEVFtba7Vad+/efbmcvclTdnZ2QUHB8PAwTdN33nmnRqNpbGxEWqRAIIDHD1x1uTvk5uZmZ2df9/abqJXGtU7gJDbHXFri8vpGOZ7IOoxLXNG/f//+3/zmN2+99Rb8T5e7hGgglmWx043cgSugCgsLIfG8Xq9Go3nwwQebmppg2olEIqfT2dnZGbU84hJJM54SmrKS08FgEFFqAjzLspD+OJKbm3vw4MEnn3ySpHRBl5BiPyTpADUmIcpEIhFX8yO6T9O00WisqqrCpkn4b0pLSwOBgFgszs7O9ng8hw8fhlr6AtKUgRQIBIaHh7ley3A4nJycTCApLy9/7rnnPvjgAxJ8Q2we3mscoWlap9ORQqCtra1+v1+n0wE/Ho83ODiIiE5HRwdUKUoEhCI1P8ViMRLQ58yZMz756wtCU9argo3U1fRGyOPxcEXKwMCATqc7duwYN5jEvQQ/uBorFAoNDAzAi0pRFI/H8/v9Bw8erK+v9/v906dPDwQCiH5Zrdbe3l5s3wiHw16vFxsxJxzqrVtmTJKmsqEIPY64fz148OAjjzzyk5/8hLs3ZvwlUVdx0w1DoRA8CHK5HJEkPp8/Z84crVYrk8m0Wu3Q0JDJZEJ11ytYDUgSvm736I3T1LdBQPCfWxkBtGLFitbW1gceeCAqiRXGwiT3aEokkvXr1w8ODqJu17Rp01iW7e7uRp4JKqgoFIoFCxZkZWVNeBOGYU6fPn3+/PmBgYGpwmmKQeLxeCMjIz09PQUFBVFFAGbMmPHOO+88++yz3NhHIBBobGw0GAxJSUlXNc0JkxkMBu7BoqKiCxcu9Pf3b9y4kaZph8NxhXxxhmEsFkt9fT0TKYJ3++l2izv20m1TDMOMjY0dOXLEbDZHmfh79+5NSUn54IMPuJmFo6OjO3fuRK0O6tIKGeT+Vx0DHHcVFRU6nU6r1V41ox8r3yk0wW83SCaTqauri1R1oSiqq6urrq5u+/btra2t0Oo43tLSsnz58pqaGoRI7HZ7Q0PDzp07m5ubSR4PTdNOp7OjowMrU/hgyB2uoO1jY2NJavGEFOVbm1rD4XaLu56enuPHj5eXl+fm5jIMMzg4+I9//KOnp6erq8tsNtfW1s6fP3/t2rVSqbSkpOTixYvr1q2jKOrAgQMHDx5sb2+vqqry+/1HjhyZN29efHw8wzBGo/HkyZPYKT59+nS1Wm2xWMLhMI/HGxgY+OCDD2JiYq5jnMjfu5yius10u0Hyer0NDQ3Jycm5ubkURR06dKihoQG5A0eOHLHZbKjSbbPZcnNzX3jhheeffx4bOo4ePXr69GncpLGx8cCBA9/85jclEgmyt7FxZebMmXfccQeKUAqFwszMzPb29mvdcgMKBoOovXUFN8RtoykACaUJsfrp7u6G10elUmVlZT3wwAP33nvv4ODgX/7yl7GxsZ6enq1bt9bX13/jG9/YuHGjSqU6deoU9jWePXv2nnvu4fP53d3dqKjJsmwgEIiJiYmNjUVg7d5770XO+vUNVSKRKBQKk8lE3+x45rXSFFh3KGeLis9Y6EgkkmXLlpWXl69cuVKtVv/973/fsWPHsmXLYmNjJRJJTU3N7Nmzv/a1r2VnZ7/11lsfffQR8ICzDnISdgQpgNTf39/e3o7H0ZGczsuhRXMqq3EJmY69vb2o7H8bHP+Xo9sNEtIo+/v7rVarVCqFeTZ37tz169dj4RkIBPbs2YNaoOA5i8WyY8eOP/7xj1qt1ul0tre3NzY2UhTFMMzQ0FBLSwuxFFCePSkpqampCZsgKYpC/WGkY5D1LzevCum3KSkpZI8Kl2nsdntxcbFerwcT3+bpAt1ukBCg/Pzzzzs6OmbOnImDKFgrFottNptUKj179mx6errH4xkcHEQiVUNDA2LSYrGYJL8xDGO3241GI8KdFEW5XC4ej7d06dLR0VGCXGZm5meffVZTU+P1erEDjo5UbiEppXw+f3R0dOHChbNmzYqK7dI0rVKpsDFmwg2at4GmZjGLnGyy26m5ufnDDz9cv349cvCee+45Pp9/8eLFw4cPFxcX5+fni0SisbGxs2fP/uEPf+jq6sJNGIZB9jmq7WMXA8uyer1ep9ORZ9E0nZ6evmTJkv/5n/9pa2tDywUCEslW7O7uhghdtGhRfHw8N+RBUZRKpUKhp9s8UaCpAQkyp6enp7+/Hzs+//73v587dw6bOEOhUF5e3rx58wQCgdlsbmtrYxhm586dXV1d8HNTFIX8G6VSiUx01AWz2WzwkUelJCCHNC0t7dSpU9u3b3c4HBKJhOSL44fb7W5paRkYGKivr7/zzjtnz54tkUhIwwuSwDsl0zU1ICEMD37CHNlsNrFYvHz5cmzAl8vlu3fvxlYFbHCQyWSdnZ1kFTwyMtLR0ZGYmIi2YkigbG1t/e1vf3vXXXctW7aMTDEVSfgyGAzLly8vLi7+8MMPP/30U5J2CgIAdrv95MmT7e3t8+fPr6ysTE1NnUK/KqGpsVgyMjISEhKi3h8bu1Fxprm5effu3T6f79y5cw6HQ61Wo/gLORl1+WUymUajsVqtIyMjNE37fL7PP/98165ddXV1SEnn3j8UColEooyMjHXr1q1cuRKtULjMgRh0KBQyGo2ffPLJnj17LBbLdfcSvIk0Bb47lmWnTZuGavXd3d04LpFIHn/88aKiorS0NLvd/umnn9psNpZle3p69u7de+bMmaysrI0bN6akpOB8t9s9PDxcVFS0bNkyh8OBPZdYw3Z2dv7617/evHkzEk6iBuD1evV6/aZNm55//vnc3FybzRblNoXJ7nK5Pv744xdffHHPnj2hUOgGd9LfIN1ukKRSqVwud7vdu3fv/vjjj2HUSqXSzZs3L1++XKlUSqXSe+65Jz09neaUhPrXf/1XhUIxd+7c73//+7iP3W7fvXv31q1bnU5nbm5uXl4ewuRwhjocjn379v3whz/cu3ev2+2OSu7FyqysrOyFF154/PHHFQpF1P5APNrtdjc1Nf3ud7978cUXz507d1P6t1wf3e4H5+XlLViw4Le//e2ePXvI1Ph8vhMnTixbtgzbYJKSkj788MPGxkaLxYKK/GjTg6KuxIC+cOHCj370I4FAsGnTppSUFK5flYlsAPn9739fVVX12GOPIQuFDINlWT6fr9Fo7rvvvrlz527duvXw4cPIMCQ3wYPsdvvhw4fPnz9vtVon3HB4G+h2gyQUClevXl1bW7tnzx5yMBQKvf3223FxcU888YROp2MYJjExMS4ujiRVI5n73Xff/d3vfkfmGnVXFy9evHbtWj6fH5W4Sma5tbX1ueeeW7p06cMPPxwTExNVKpHH46WlpT377LOLFi166623ent7uXmf5CZms9lut08y4fmm0xQYDvn5+V//+tczMzMpilIqld/73veKi4sDgUBVVRWpZoGlK/IIsayx2WwHDhxgWba8vPzb3/425jEmJmb16tVz586FgIraUoEpBgseOHDgu9/97v79+wXj2iNQFCUQCMrLy//whz888MADNE1z02NIhH4KzbwpAIlhmNLS0mnTplEUxefzy8vLN23aNN7YiyK/3282mw0Gw9NPP11RUcGyLMMwhYWFCxcuBIoMwyBtKMRpMExxoBoeHt69e3dtbe2E1lo4HFYqlevXr7/nnntCoRDK1kTd5CZPxKRpakzwnJyclStXJiUloYjFI488kpGRkZqaerkUUZqmNRoNlFZ+fn5mZuacOXNUKtWSJUvKysqoiDmwadOm73znO6ibE7WeBYRms/nFF1985ZVXBgYGsFGenAAfq1ar/e53v/vuu+8uWLAAW5Fv9VRMhqYGJIZhZDKZWq1+8MEHCwoK3nvvva6uroceeiguLu5yl6hUqnXr1lkslj/96U+FhYXf+973sEGV2xNHKBQ++uijb7755tKlSwneUVAplcqjR48+9dRTu3fvttlsUfwBkyQ/P//ll1/+2c9+lpiYGOUfmhKaGpBIwYXp06eLxWK32x0Oh0+cOHHx4sXxxfRZlg0Gg93d3W+//XYoFELREhSLQXcl7slOpzMxMfFXv/rV888/n5eXN+FuCLjv3nrrrRdeeAENQqJOQBGntWvXvv766xs2bEC7wlsxD5OkqQFJpVItWLBgdHT05z//+WeffVZZWbls2bJXX3314Ycf7uzsHA9SX1/fv/3bv23ZsqWsrOyhhx46derU5s2bQ6HQihUrouoVw8/mcrkWLVr0+uuvP/jgg/Hx8djAQ12qWhAx+dnPfvbmm292dnaO55hgMGgwGJ588smXX365tLR0fNLZbaOpAUkoFN5///0PPvhgZ2fns88+i7LZq1evlkgk400vLFbcbvfq1at/85vfGI3GH//4x8ePH9+wYcPDDz98Oc806uZs3LjxP//zP4uLi6mJzDM+ny8SiQ4fPvyTn/xk7969pFYAIfjIy8rKfv7zn1dUVEyV32HqVtF8fmZmZm5u7tDQ0NDQUHJy8po1a1CLmIoYAjgTCSG/+MUvrFYr0ru9Xm9eXl5qaqrValUoFAhwYMcEyigQPDwej16v37hxo0gkamxsRG3SqOK+KNj28ccfsyy7ZMkSjUYTZVOgBcYku2bcCpoykHg83sKFCxUKxejoaHx8vNVqLSgooCjKZDKJRCKlUslV6UKhMDc3d3Bw0Gq1JiQkPPfcczRN5+TkSKVSgApzuaamJjc3t7i4GHoLBl4oFEpNTX3qqacaGxv/+te/Dg4OejweLv/RNM3n8wcHB999993GxsY777xz+vTp6G9AoOK2zLr9NJUZrFqtdv78+WazeXR0FPE35KgajUYej4cMeiQyWCwWs9lMRVw+qamp6OpItmAA0YaGhtdee23JkiWrVq1KT08nWgTlLlDk7NChQ5988onNZkPzQDIYbLU4ceJES0vLkiVLFi9ejL5Vt31WJqApTjMWi8Xx8fFITUX0j8fjOZ1OFDBVKpV+v99kMg0NDTGR8qbI3o6Lixu/TVMgEAwPD2/btq29vX3p0qVlZWW4Of6Kjrf33XdfcXHx3r176+vrh4eHUcaTBABR/3PHjh1nz55dtWpVSUlJYmLi1LrAqandVQESiUQJCQkajYbMJnDq7e31er2jo6OkUxYV2WiWkJBwuY20sAXOnDnz2muvbdu2bWBgICp72e/3Jycnf+c73/nud7+rUqlIBW1CCAa2trZu3rz5vffeQ9bRVAXOQVO/q4KiKD6fHxMTEwgEyA4ThmGQoUeqCuO4TCbT6/WXK0dESCgUBoPBf/zjHz6fb82aNdnZ2SReTlEU4kOzZ89+8MEHjx8/3tjY6HK5opKKUeGzpqbG7/evWLEiJyfn/1be3YQkk8kSExN5PN7o6CjBaWRkhOJ0tZTL5fHx8ZOpx0oE1969e7u6uhYvXlxRUYG0ZJbT4GT16tVz5sz5+OOPT58+3dLSQioYU5Hi0S6Xq7q6urm5eeHChUajcbwRz0b6aN5S+qKARFGURCKBAhgaGsKbM5yC3AqFIjExcZKdRUCo5dPU1NTT09PZ2blw4cKysjKu+wCtEh544IHi4uKqqqrTp0/39fWh1hq5A6Lpe/bs4RY4JfR/DiSKogQCAdkAG0WT8UOjJmBUlQT0iq+qqmpra+vq6lqwYEFRURGMFCriV83NzU1NTZ05c+axY8dqa2u51Xkh+v6P7j4fT+Fw2GazmUymEKeJLwm7IdAeHx9/he4VBoNBqVSaTKZwOAyTjBQ5EwqFIyMju3fvbm1traioKC0tJZW/qYiWKisry8nJycvLO3bsWH19fVT9Gm45gttMXyCQPB6PyWTC1GB2wpHGMgQnmqZRVGTCO+Tn5xcVFVVVVXV1dZFrSQUKbGBqaWnp6elxu9133303cvzI5QhVrFmzJj09nc/nHz16lPQvh5N3qtzhU2+CUxHvnNFo5Npy4XBYq9WiBxA50+Fw4LQJ7yMQCBYsWPCDH/zgzjvvRKI5Sf4mYKP63MGDB//4xz+eP3+ed2k7XjwLnZMefvjhzMxMZMKgvuo/FSeNr74XDoc9Hk9vb6/FYkFVWkKQcmazmfSMxAer1+tjY2O9Xm9vby+qV+M+yPPW6/XjjQi4/mbOnGkwGObNm7dnz57m5mbScJeIPj6fPzIycujQoe7u7pKSkqVLlyYmJqKPCBVpu5ednZ2QkFBYWFhVVXXkyJHh4eGoQCLGiRveijnk0i0BKarGjUwmi42NRRPU3t5eLkjBYHB0dNRisYA5EGhgGCY+Pj4mJgZ1k1JSUlDbmnT4sFqtgUAAxW6jHg25lJiYqNfrs7Kyjh07tm/fPpvNJpPJwDRkTsPhcFtbGzbJzJ8/f+HChSi8Qe4jk8mKi4vT09OLi4s/+uijmpoajIdrwqDe1q2YQy7d5AdwRQcbaQyM4J5QKGxoaDh16tSsWbNwmtfrHR4eHh0dRQYP0hMEAkFiYiJc0fj8UU3NaDQ6nU5ScRZ7hsLhsFqtHm/1YTtRTk4O0sE+/vjj6upqVMdGthcbaWzhdDpPnjzZ1tbW3Ny8dOnSgoICYiBAWsbGxi5fvry3t7e+vj4tLS0nJ0csFo+NjcFSpzkFI2/uTHKJ99JLL93cO2K3AgLbyKmXyWSBQKC5ubm5uZmiqLy8PIPB4HK5TCYTXHbkQpFIhEYx3P6oNE2jpDX6r+NklmUDgYDH42EYRiwWu1yuqqoqn893xx13KJVKMstCodBgMOTn52dkZKACrlgshtmNceI3CkA1Nzcj0CeTycKcGs5DQ0N/+9vfzp07d9ddd911110ajWZkZMRms6HbKuksdnMLZHHpZuJP5AD0M3KpoGmSkpLwkdbV1dXV1QWDQZvNNjo66vP5QhFiWVan0ymVyvGlg5ETodFoMKdkX5HT6bRYLCQDy+l0oqMJuZCot7Vr11ZWVspkMpxMtAvRMejLs2PHjqqqqkAgAAueZVmBQNDW1nbhwgW/319UVBQbGwv9ylVytzqX6OZzEhvZ+oNO6jweD+1MXS7X2bNnBwcHnU5nenp6WlqaQqHQRgh9ONRq9eUK9tE0jTqw6KBNCO3yvF5vVVXVoUOH7HZ7TEyMXq/nRoMwpOTk5IqKCqvVeuHCBSZS2JO9lNAgo6urS61WJyUlCQSC9vb2d955p66ubtGiRQ8//HBKSgqcilBapEPHLYXq5oNERaLOEHp+v18kEsnlcr1ePzIycvLkSaPR2NzcnJ6enp+fDz2BjoRkx+SE98SXizMlHEKrCKfTWVVV1dTUNDIyUldX5/F4EhMTsWkJl2N5q1QqZ8+eXVZW9vnnn/f19UkkEnAkKb+Jam3d3d3nzp1DlOTPf/5zdXW1Wq1+5plnKioqeDxeX1+fw+HAF4PuZqTo9pcGJO4XGgqFfD6fz+eTy+UqlWratGl+v//s2bN9fX1nzpwxGAxZWVnc6r5Xfkl6IsLsOByOqqqq5uZm5Hm1t7d//vnn6JmMcBFZfgmFwpiYmMWLFycmJh45csTlcolEIjJgcprD4Th9+vQnn3zS1tYWHx//4osv3nfffTKZbHh42Gg0Qvziw7rVCom66SCRl+R6xjwej9/vR2GskpISmHn9/f1Hjx49d+5cRkaGXq+/wTckIJG+Ji6Xq6Ghoa2tLTMzU6fTRXnexGJxbm5ueXl5MBg8fvw4VAsJ/QWDQYfDYbPZXC5Xbm7uSy+9BIRsNltvb28wGCTdBUgiNHcNHo40HeM+9EZe8JaIO3pcy3qHw+H3+xUKhVKpLC0tVavV586dGxgYaGlp2b9/v9FoVKvVWq32umOgXJCwlEYySX9/P2p4zJw5kziBiHWjVqvLysqKi4v7+vp6enoEAoHf70ePZWR4LVy48D/+4z9Wr16NtnM9PT3YHS2VSgEStxg7MWhRzhU/iD/pRsz0WyLuqAgzgZPI0MViMQp4xsbGYj+ly+WCru7o6FCr1Whkcx0fHUBqaWkBJwEkrFtHR0f7+/v1er3BYAByBCRsjUZW+sGDB8FAxMrPycl54oknVq1aBavdbDbbbDZ0UkGHDvAQGJc0MMKmgfElYqlL2wZd25TeCqchgQeFHt0RQn3nhIQETN/58+d///vff/TRR8PDw7gEvSRWrVq1YsUKZAgpFAqa00f6ck80Go3PP//8zp07VSoVKY2NEAO+6+Hh4Tlz5nz/+98vKioCo3d2dppMJvjxamtre3t70SxSIpEUFRV961vfuvvuu1GXyOVy9fb22mw2lMuXyWQymYyUdyad+nw+HxiIm2dJtshzN4lcK0vdEpBA4HRSpQQ4+Xw+jUaDLrmY976+Puw0PnPmDHqKo+JFKBTS6XQpKSmYMr1en5ycTLR01LMGBgZ++tOf7tq1C5xKLGMieUKhkMPh8Pl8qampyGRGTQAq0olDLBanpaXNmzfvkUceycvLQ4Q+EAjYbLa+vj6PxwP5BnOU1EcH64RCIVQc9fv9qKhMCgCjEwK+G6LDrrVs9y0EiYp0qif9uVA4FSUx4uPjdTodadJN03R3d/fY2NiZM2f27dvn8Xja29uxoRWZ4iKRqKSk5Otf//qiRYsyMjLwwgSt/v7+l156Cet/NBQhIKEM28jIiNfrhfOUNBKCs2ru3Llr1qyRyWSZmZnEjRsIBOBxh7VNuq2hBju+FSqSJ0veC+sNlUoFH3wgEEDnOTQEgybjrqsmOY23FiQqglMwGAQ/cf9lGCYmJiYmJgYamLrUBBoZGenv729qanr33XcHBwdbW1uhgaVS6cKFCx966KHy8nLkeVMRkBISEjZu3Hj8+PEtW7aYTKZgMDg8POxwOOBlEAgEMTExhYWFa9euXbx4sVarjcojBzw+nw9JtX6/H3VaSHF8rMnAefCngHU8Ho/T6UQ1A6vVWl1d3dPTw+PxkpOT586dm5iY2NvbKxQKUQqWaxNOcg5vuQcXLiL4VyjOli6apj0eDz5wlUqlUCggx0gFIDgU8vLyCgsLL1y4sH379s7OzqGhIZvNVl1dbTKZ2tvbURWKpHehd9HcuXONRuO2bdv6+/udTidupVQq8/PzFy9evHLlyoyMDKxzues5fEwulwudYeDqJY0LiPwk7UDoSEkPsmaXy+WhUOjYsWNOp3PhwoUorVxXV6dSqdRqNWrxcptWTJ5uB0hgbQDA7SGD7qterxe1heAKQyE0VNegaVogEBQWFs6YMWP9+vUmk6m6upoUj/zlL3/53nvvfetb36qsrCTOJJfL1dHR0dnZiegGmsmvXr16xYoV06ZNgxXOsixEKPRHKBSy2WyoTwmvHSw3bvMHbs8Wkh4DpQuEoO3efffdxYsXW63WXbt2wQiaM2dOVVXVypUrGYbx+XxIuLhWnG65uCNEfKNQ47CC0HoVwhBrQHxu8HxTFBUbGysUCsFnEBE+n6+1tXXPnj2ffPJJc3Ozy+WaNm3aXXfd1dbWJhaLk5KStm3b1tfXl5SUNH369A0bNqxcuRJ+cdzc6XQGg8GhoSHS7JRhGGKP4BFRLXXw0ZC+hXgdMJDX63U6nTD8KIo6cODApk2b9u/fHwgERCLR4ODghg0bamtr+Xx+QUGBxWJBU2g4tCZvPty+HAfIPbxqMBjELJBm06R+HflCcdxoNIZCISywIBVFIlFRUVFBQcH69evfeeedjz/+uLu7+ze/+Q2pm6/X61euXPnYY48tWbJELpcHg0FnhGw2G3Qh+AOLKkwWGRtZZhHJdrl2R9y1IKQ3jDqWZRE3qaysxD3haOYyUPhaOmvf7kQUEsVgOXWyiJdTLBbDKwPjmKzewQFWq1UsFms0GphP2dnZL774YmVl5dtvv71v3z7UQ87NzX300Ue/8Y1vGAwG1BBAG3mYlEKhUKlUgm8IBiSvCAPjAkNfpuUidakjkc/nu91uRPQtFotMJtuwYYNKpdq+fXtycrLL5UpNTXW73cS/R7TyJCdtarKF8FXiK4OrhuCEbxPSCUegNiAbfT4fGh0gA0KhUMyfPz8xMVEoFL7zzjs6ne6pp57asGEDdPjw8DCWOOgbC2zgNyLOAjJZXFSocRkAE74C4TyRSDQ8PAzj+7PPPsvPz1er1bGxsenp6du3by8rK0tJSenp6UGvOCZCX3SQCBEZAt4i+yZhpwEqACkQCAKBAD5/n883MjICeSiVSpOSku6///5QKGQwGJYuXYqyOEhu8fv9UqmU254L00S8ovxx/WExpEk6BehIpphIJDKZTLNnz66urkbqmc1mQ8Xx3Nxcq9VKRZq4TbgYv8pTbpvhMEkCSORfLksRpwtZ3gsEAp1Op9frUXWSYRiFQuFwONCelBfpWAyQyCqSMAFxel6fSw2D8fl8brcbtjss+6GhocHBQYqiDAaDVqsViUSwLORyOYkTXlO/vS8cSFwiog+mBFkXAyd4BVmWjYmJiY+Ph5/J6XRevHjRarXCxIengNjQxASY0BC4juERfwqcXsgVwP5DpA7gCL4VspIl1sokH/QFymAdT2TlSyQhPD3cVQtqqvF4PFgKJpMJhSHhZCMeILDOjfDNhMMjNY1gymPDDIq3IBYMJ4UoQsSgv6YBfKFBIsSNw5IlC2EIp9Npt9tpmvb7/SSJh3y2RA/dLGy4BPWGO8MegQscfE/MeiyNuSblNT3lywESiL6UKE5MxOv1ku4H8FJzu+Je65d7TUSsQTrSqR5DYiP5rZBsGMb1jeTLBBKI5jTAFQgEMC7ARhRFEYcb5MytRghEXHkkvxp6lOGkN5Pkr+u4/5cPJIpTNJ/IQOgqiqKwYoX0v47IzXWPB7zCRopEUONKUVA3kObwpQSJ4vhtqci6kmwOhMPpRvZklQAAAFZJREFUOvTzjQ/pFj3uC22CX5VIdg5JzYFgudU5VreZvqycBKI5+fJR3p1/GoSoLzsngVhOVjfxYE7xmG4q/TOA9E9PX4jtmF/RlekrkL4E9BVIXwL6fyOryvrAalfOAAAAAElFTkSuQmCC\\\" alt=\\\"\\\" />    \\r\\n                                                    </td>\\r\\n                                                    <td style=\\\"text-align: center;\\\">\\r\\n                                                        <h2>\\r\\n                                                            <strong>\\r\\n                                                                INSTITUTO LUX, A.C.\\r\\n                                                            </strong>            \\r\\n                                                        </h2>\\r\\n                                                        <h5 style=\\\"margin-top: 10px !important;\\\">\\r\\n                                                            www.institutolux.edu.mx\\r\\n                                                        </h5>\\r\\n                                                        <h6>\\r\\n                                                            Blvd. Jorge Vértiz Campero No. 1618, Col. Predio Urbano el Crespo, León, Gto. C.P. 37280 Tel. 441-6200\\r\\n                                                        </h6>\\r\\n                                                        <br/>\\r\\n                                                        <h4>\\r\\n                                                            <strong>\\r\\n                                                                RECIBO DE INSCRIPCIÓN\\r\\n                                                            </strong>\\r\\n                                                        </h4>\\r\\n                                                    </td>\\r\\n                                                </tr>                                            \\r\\n                                            </table>\\r\\n\\r\\n                                            <!--CIENCIAS -->\\r\\n                                            <table style=\\\"width: 100%\\\" *ngIf=\\\"escuela==2\\\">\\r\\n                                                <tr>\\r\\n                                                    <td style=\\\"width: 10%\\\">\\r\\n                                                        <img style=\\\"width: 140px; height: 142px;\\\" src=\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAAsTAAALEwEAmpwYAAABNmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarY6xSsNQFEDPi6LiUCsEcXB4kygotupgxqQtRRCs1SHJ1qShSmkSXl7VfoSjWwcXd7/AyVFwUPwC/0Bx6uAQIYODCJ7p3MPlcsGo2HWnYZRhEGvVbjrS9Xw5+8QMUwDQCbPUbrUOAOIkjvjB5ysC4HnTrjsN/sZ8mCoNTIDtbpSFICpA/0KnGsQYMIN+qkHcAaY6addAPAClXu4vQCnI/Q0oKdfzQXwAZs/1fDDmADPIfQUwdXSpAWpJOlJnvVMtq5ZlSbubBJE8HmU6GmRyPw4TlSaqo6MukP8HwGK+2G46cq1qWXvr/DOu58vc3o8QgFh6LFpBOFTn3yqMnd/n4sZ4GQ5vYXpStN0ruNmAheuirVahvAX34y/Axk/96FpPYgAAOjNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE3LTAxLTIzVDEyOjIxOjU2LTA2OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNy0wMS0yM1QxMjoyMTo1Ni0wNjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTctMDEtMjNUMTI6MjE6NTYtMDY6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjA4YWQyZGJkLWI1MjEtZjc0Zi04YTFlLWI2OWIxNmJmM2JmYzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM0ZWJlODhjLWUxOTgtMTFlNi04ODIyLTkwZTUxNzFmMDZmZTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQ1ODhhYzkyLTVmMjYtZTc0OC05YzBlLTUyYzk5MjUwZTM5YzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkNTg4YWM5Mi01ZjI2LWU3NDgtOWMwZS01MmM5OTI1MGUzOWM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTctMDEtMjNUMTI6MjE6NTYtMDY6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MDhhZDJkYmQtYjUyMS1mNzRmLThhMWUtYjY5YjE2YmYzYmZjPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTAxLTIzVDEyOjIxOjU2LTA2OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPkFkb2JlIFJHQiAoMTk5OCk8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+ODA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+ODA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pkd+eEIAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOgAAFIIAAEVWAAAOpcAABdv11ofkAAAZGBJREFUeAEAUGSvmwH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgi8tAAgEAwAKBQMA/v//AAAAAAAMAwIA0vX3AOb5/AAeBwYAEAX8AAEAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAPr+AQDe+QAA+v//AOz3+gAcBAQA/QACAPcA/Qnd7u9dPBQQtQcJCeXo9/oA8fv8APoCAgALBAMAKAYEAAMB/wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAgEA9P7/AOX5+wDv/P0ABQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAtNrbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD/AAAB+f8A7+j2AN7w+l0tWluZ6hAZddTe7QD18PwB//z/AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAEAAAAEAgEAAAMBAObt+i3rB/5+HjIGsBQnFJluanAAIj8xbB01AvglMwut5Pv8VvL/AAAEBAIAAQAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYCAQDn/v8V4ez1cmZkIGxIRBoMBQD5ANvd9wDl3d8AOysHAyU4KgMUHBxRTtLnUYmF13rb8v5+JxYLsgz9/gD7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAD6AQEA/wD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAICAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgIBAM77/R0E4PPLmPf+Fyg2FAAGHwsADvH8AOAA+gDy/gQABfn/ABkT9gDyBAEAHfEDAJrf+S+lAP6xuAcBgR8GBoD4/P4AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAIAAAAZCQUABAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wACAAAAAgAGAPz+AQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA7AICAOvq75OB9fwXNQAFAMtZyADpXhIAFkgKAPAHQQAoKi0A8AvwALvYzAAGt8YADpXrADAABwBvAAIA3ef1edAaAqonAgPW+/7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEBAPL9/QAE+vsAGQgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAgIA7Pn9AMr0+QAEAgEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6gMAKGjw+0jeBgQAnwgDAITy5QDd7iQA4wdwADotMQASCfcADCU3AOQFiwDtxpIAJgCjAJ0KGAD2AQQATPQABusFACkqCwXW9fz+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACwQDANDw9AD1/P4AAgAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAgEA8Pv7AO/7+QAUBwQA7/z9AP4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA7v8AFAL/AAc5/AMAtvLoAIMgKABbfpcALDUsAPny8wD29/cACwYCAFE5NADsNJ4AnAkMAOaclwB4AhsA0gMCAPf/Af/9/wEA/P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAgIA7/v+ANX1+gAnCwcAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAA/gAAABoHBAAcBwUAEQsIAAgCAAD4/v8AAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAA+AMBxLP597El5vBPUwAJAAiVkQA0NSwAwcDCAN/h4gAJBwcA+fv6AAsJCABCS0oAapaRAMXK0wDZ0skApxYb7CAHB8wE/gEACQADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAFAwDW9fYA8f3/AA0DAwACAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEAAPr+/wDc9foA5vn9APz/AQAIAgIA/QABAP8AAQD/AAEA/wABAP8AAQD/AAEACv0AAPwOB1BfBfWWrWJWACApJQB/foEAt7a4AAH//wD9/vsACAYGAN7e4ACAdnkA28vOAON5bABbDwnKJBoKIS0EBOL//gEACAECAAgBAgAIAQIACAECAAgBAgAKAQIABgECAOf5/ADh9/oA9f39AAUBAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAEAAAANBAIA6/v9APT+/gA2DwcAEQIDAPv//wAAAAAAAAAAAAAAAAAAAAAAAAAAAEUEAAAJJCDc/AcIALm1twBAPz4AOz07AAYGBgCTk5QAMTAwAFZXVQDU09QAw8LEAOz49gA7Kyz17+7s9OL7+gACAQAAAAAAAAAAAAAAAAAAAAAAAP7/AAAFAgEAEAL+APD5/AACAQAABgEBAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAACwMCAPD8+wD7/QcAFgUFAPb9/gD//wAAAAAAAAAAAAAAAAAAAQAAAPDs7AA0VVpWfY2NAOLh4gDU1dUAjYyOAOrp6gDa2tsAoZ+iADs8OgBMTEwAEhMSAFhGVwC/JihBh2dlRiIQD7r8AQEAAAAAAAAAAAAAAAAAAQD/AAQBAQDk+f0A9vv3ADUKCwAC+wEA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAkCAgDq+v0A6/z4AAD//wABAQEA+///AAIAAAAAAAAAAP//AO75/ABbMDIGxsrNAIR+fgDa2toAFhcXAC8vLwAcHBsA9/b1ANHQ0ADm5ecA4uHhALy7vABIVVQASx4aCCn8+AD1AwQAAAAAAAAAAAABAAAAAAAAAA0EAgDN8fgAv/f+AAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBAAD/AP8A6fj7AN/1+gDx/PwACQIBAP8AAAD+/wAA/f7/AAMDBAANDQwCxcXGAOXm5gAhISEAExISAAgICQD+/v4ABQUGABAQEQAaGhkACwwNAM/Q0QD9+/wABQ8PAOr7+wDv//8A8gAAAPMAAADt/v4Ax/T2AOL7/gDs/f0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAA/v8BAPP8AAAG/f4AIwkCAPH7/wAOBQIA////AOwB/gDx8fD7ERIUAAIBAgDs6+sADA0NAPz8/AABAQIA/v//APb29gDs6+sA9vb1ACIgHwD8/P4A5u3vAAsCBQAA/wEA+v7/AOv7/gAQBQIA/P4AAAD/AAADAQEAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAgEAAAQBAAAFAQEAAgAAAOX5+wDx/wIAFAYDAPP//gDBvb3iYXt9NVxcWwD29/YA+fn5AO3t7QDw8O8A7u3uAC0wLQBLSUoA8vLyADQ8OgDFvsDo2uPkxvUUFAD6+fkA6vn7ABIEBAASBQcABQIBAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAPf9/gDS8PkAMQ0IADIaGgDYv72GmgsNUzAyNAAAAgIAOjs6AB4dHACfnqAARERDADU4NwDU0dMA+/z7AKerrQDkrKmaRRUS7OgCAADE8PcAAgEBABsHBgABAQAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAgAAAANAQAACAEAAP8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAcCAQABAAAA+/3+ABUHBQAS//3O69nYxj5HRQA3NzYAwsLCALa2uAAMDAwA9/j4ALa0tQDs7u0ATVNTAP/w7/z2392qCwwMAA8EAgD2/v4ACAICAAIAAAADAQAAAgAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAgEBAAD/AAAGAP8ADgIAAAUBAAD8AAAA/gAAAP4AAAD/AAAAAAAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v8AAAYCAQAOBAMA9/3+AP3//wAFAgEAAwEBBdDr713m6u4S7fb07vb8+7wbExTiFBARAPz9/gACAAEA/P7+APv+AAAGAgEA/QAAAPsBABX+BAEq3//+H6Tx9AboAQIGA93eIOzm5QASExMAYGFiAN3d3gDy8fAABQYGACIhIQAhIiIA9/r6AN/f3gS+9Ppr3tXpyQgCAAfs+PrnAA8A3RMMCN3+AQH5AwAAAAIA/wAAAAAA/wAAAAYCAQAJAQAA7OvsAOfv8C3rBwU63gYIFAgQD7MLCgnS/v39AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwICAOv6+wDj+voACgIDABAFAwAUAAQA4+bnWkp3ep1OR0UAx8HBANjLzP3Qx8fL4NzcohsPDKAFGxr3DwUDAAwDAh3O8vaywfX3F/z9AAoS/QAPB/T6AAr7AAAx8u4A4CkoAAEGBgB3dXQAhIWFADw8OwDz8/MA/v7+AAMEBADp6ukADg4PAAAFDAA7NQppNzcdac7X8QAbAAEA7N30/t/V7OfSGAcOGgoEiTEODIUCAQIABP39ANXe4CHc+fxoGCwsUktZOyImMjICCRgZAKaCflYs6OUvERYXAOr5+ADr+fsA5vr6AAwEBwAVBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwMCANbz9QDQ9fcAOA8OANv2+QCn3dIADSAiTZNmZAAXEA8AOi8uAAAAAAPq7u44qaqsOKWUlX651tRhUSciuPoKCTvZ7O8wfPYDAD77AQAHAAAAJP4BABoA9wCMAP0AN29rAM3LzADX1tgAubm6AAwNDgAEBAQA/v7+ANLR0QAREhIAMDEUAFZbYAC8ndAAcVcOAA0nLgAA5/UA8+T3AvR71Bts0OcAuRoPW0/9/oXo7OgA2O3zkkVPUG2KZWMAR0JBAAoGBgAAAAAAAAAAAN7Ixi61g4EyMQgJzhYJCAAIAgIA/v//AAEAAAAIAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkDMxANP19ADX+PkAPQ8PAMDZ2hvPAgauvr+9Njw3NgD+/v4AAgICAAAAAAAAAAAAAAAAAPL4+QB3eXsAxpaTiuoEAyURCRJRyO8BAA7+/gD4AAMA9wD0AH4B9wDYV1EABPn6AP3w8ACHjIsA09LTANva2wA0NTUA5+fmAObm5wBPT04AFhYXABIUEgCrr74Ao5F2AIhlEgA3PCQAAAH/AAABAwCugNUAV63bACv98X0KICEycI2PUVZRTQAAAAAAAAAAAAAAAAAAAAAAAAAAAPn/AABVTVHux7WwaWgrJqrvAQQA2PT2AA8FBwAZCAgAlNLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AjzIwAGIoJQBCHx0AOAICPj81OOnT2tz//////7Ozs/9WVVj/09LU////////////////////////////q7K0/w0hJf8YAAD/tgAD//oAFP/rABP/WRkk/5nAvf+eqKr/UEpP/+Hi4//z9fX/6uvt/8nJy//Fx8n/xMTG/97g4P/h5OL/1tfY/9jY2v//////zdXk/z8+SP+/l0D//+pm///ZWf+Rcyj/AAAA/0VOVf/g5uf/////////////////9PT0/9fX1//29/f/urm5//Du7v//////a3Fz/ykCAoZmHhwASiUjAFEkJwBrLS8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AljUzAGolIQAQAABIUE1Q/+329////////////3BvcP8AAAD/aGdp/83Nzf/q6ur//////////////////////+/v7/+EiYr/NS40/1EACf9MAAD/CBIR/2pydP+5t7r/9fb4//39/v/x8fP/8fL0//r7/P/4+vv/+/v9//T29v/w8/H/9PX2//n5/P/Excb/c3R4/xoTJP9SJwb/fV0e/z0uHP8+PkT/r7Cy/////////////////////////////////5mZmf95eXr/JSMm/7a1t////////////5Cbnf8lBQWQOw8NAFcoKwBqLS8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgC0sALrb3GQlW12boZ2bAAAAAAAAAAAAAAAAAJqamwCwrrAAHyAgAN7g3wA2NTUADg0NAFFSUAAkJCQAAAAAAAAAAAAAAAAA8fz7ALbLywDVy8sA4cbLAMLEwwAVFhUAHh4fAPz9/QANDQ0ADA0MAA4NDgD+/v4AAAAAAAIBAgDx8vIA9PTzAPr7+wDS0NAA3d3fADQuLQAvLzYADx4lAENCPgBFQTQAAwEAAAAAAAAAAAAAAAAAAAAAAACzs7QAwMDBAPXy9AABAgEAPkA9ADY2NgAjIyMAAAAAAAAAAACxubsAaFFSrjUPDlUnGRn+i87MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASg8MGB9aYdyXl5MLw8LDAKempwAzNDUAQkNAACEhIQD29vcA8/PyAODg4ADIxsoAi4mKAGNmYgAyMzIANzc4ABgYFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4eIA0dDQAOfp6ADu7e4A+vn6APLy8gD19fYAAAD/AAsMDAAODQ4ABwcGABEREAAkJSUAMjMyABAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu7u4A9/f4AO3t7QB2dXcA8O/wAJGTkQA3NzUAAAAAAAAA/wDJyMoAvb2+AAoICQBwc3AAvsXGAHtTVIUV//58sunoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AURQRca+7vf+1trf/AAAA/11bXv+Zl5v/tbO1/+Li4v/m6Oj/////////////////0dHS/3t5fP8nJSj/j46Q//39/f///////v7+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9jY2P9dXF7/SkhM/x4cIP+NjY3/6Onp///////5+fr/7O3v/+Pk5P+enJ3/gX+C/wUEB/9DQUX/9f3//1tKS+ZNDwtD////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AUxgZcZ+nqv9BQUP/bWtu////////////gICC/wwECf8AAAD/fXx//////////////////+Tl5f93dnj/SkpM/11dX/+FhYf/0NDQ//j4+P/09PX//////8rJyv+3trb/6urq////////////////////////////////////////////////////////////////////////////zs7O/+Dg4P/a2tr/mJeZ/+jo6P9QTlL/HRse/2hmaP/r6+v//////9zb3P8rJir/CAAC/zk1Of/JyMr//////9ra2/8KCAv/kJib/3pnaOZiFhFE////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQkIKWeUltXu9PUBMCsrAOjq6AD19PUAZWZlAFJNUADw7e4AgpCOAKSjpAAgHh0AeHVzAAAAAAAAAAAAyMjJALOxswC1tLQAoqSiAJaVlwBBQ0IAISEfAFVTWAAXFhUAZWZkAC0vLQDn5+gABgUFAA8PDwALCwsAAwQDAPn6+gAZGBkA+/v6AO3t7gD7+vsA9PT0APHx8QAaGhkA5ufnAJ6cnwAA//8A6eroAJaZlwDq6OsA/v/9AE9PTgDs7u8Af4CCAEBERADb0tEAiYSFAKSqqABHSUkAjYuMAGJiYQCbm5sAHCMlAL+gn6LgxcJuwfX28QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgUD2eDZ2ug1REQZ1tXXAC4xLQA/Pz8AHR0fAK6zsADw9fYAfHl7+tuUkV30DwzruSkntUdMTAkAAAAAODg3ACwsKwBtb20A9PPyAB8gHgBGRkUAnZycADo7OQAYFxgA09PUALe4uQAXFxcA4+PjACgnJwDv8PAA8PDwAOPi5ACFhoMAz8/PAJ+eoAAcGxsAKCooAO/u7wAMDAwAeHl2AMPCwwA0NTUANDMxAB0eHQA3NjYAAAAAAAAAAACUenms0pmZgtW4uZOHrqw/enx6AAAAAABHREcA7vDuAE5PTQAMCw0AFxsZAOfY1s4jDw7xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZSEeANoGCqGWuble1crJAAQDBQAUFRQABwcGADc3NwBqcHUArJGMT5c8NrLy7u0CcuLq3H6mpCFxTU4AAAAAAAAAAAAAAAAAAAAAAAAAAAD+//4A2tnbABcWFgD9/v0A7+7vAOrq6gDs7ewADA4OABIQEQDr7OwA9vX1AOrp6gBGRkUArK2sAPf2+AAyMjAAGRgaAAgJBwAODw8AHBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFycgDZkJCJezgyeODj4wCs/AXLsdXTNB4REACoqKkAKCkpALm4uABcYF8AsbCxAJhra0AvIiDBo9vcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjDYxAMDX2kYVW2K5n5iTALOxswDu7u0AX2FgAM7c3gB8RkSwMgUAUfEGCgK5+fq07+HkSTwCAwD2VFEACxAPAAcCAgAMDw0AHyAhACMkJAAeHBwANCEhAAcBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1+PsAztHdAOjo6ADb2dkA6OfpAO747wAGFw0A5M/TAOGysgDgFBQAMhENgVUQDoDc3NxBB2huvo+GhADT0tMAsrGyAGJkYwD3BAQAXTo8wzH58z4NERAAh9HVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhjQ0AAb//QCu291sGklMk29xbwAEAQEAAwoLAIV4efUXy8MoDB0dGI/o7a4f9f0dsPQHACH99wCOAOsA+AAAAPYAAAD2AAAA/QADAPAABQDwDA0ACjItABIwLAAcISAAHh4fAA8KCwAJ9vcA//38AA8QEAACAgIAAAAAAPX19gD6+PcACBIRAPMFBADu7O0A5ObkAODU2wD05twA+fnhABH59wAMDQAACwcBAPrB5wDq7fkAMQAEAG4AFgCZCAAAdgz/ABkOCKxTBP9Vyu/3bHegoJMiIiAA+fHyAOjv8ACBcHLWKe7oPSseHO7z+/wAh9HUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhTMyAAACAgDq+PUA0uHlKOf9/l35FRdDAfz8/DT993PyDRIkwd3gpFj++QB9AAIAEAD/AO0AAQAXAAEABAAAAPwAAAD9AP8A+wD+APwAAAD1AAAAzgAAANYAAADuAAAA8AAAAPYKDAAMUFMA+QD9ANHLzAD+/v8AAAEAABIREgAfKigABeHhAPTAvgAPAAAADgAAABAAAAA0AAAARoIsAAhNHAAA+f8AAA8HAADW9QD7c9EA8ODsAPcAAAATAAAAwgACAIkA/gDSDhHQLQwJUfj//14XKCtP1drb8vHl4rMuFROZQR0b9fj9/QD+//8Ah9HUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhTMyAP4AAADh+PcABP8AAOT29gC86uwASxYSACcODQCm6/Hcdz1GI2kgKQD59/QA8AL/AAP/AwD/Af4AAAAAAAAAAAABAAAAAAAAAAIAAQAD//4AC/8AAAT/AgD///4A/O/wAAEqJQAEfG4AAAAAAIyLjQDz9PQAAQAAAExNSwA0NDQA/+fiAPyDlAAC+f8AAwgHAAADBAD48PoA+yAIAAxhHgABBQMA/vf8AAIXBwD96PoA8JrfAP3z/QACCAIAFP7/AAAMDwBlyL8Aq9LIvjMJCkMc/gAAuPT0ACMNCgATCAoALg0IAAEAAAD9//8Ah9HUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAA+/3/APL+/wAJCQoAMRUTAAH6+gAE/P0CNH1zAAAtLAAHAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAAAAAAAAAAAAAAAAAAcHBwDu8O8ABwUHAAUEBQAAAAAAARkeAAWWigAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAgAAAAAAAAADDgAAE4wAAAAAAAAAAAAAAAAAAAAAAAApjwUA9sC2EPsfDgAGCgoAB/z8APwAAQD+//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA8/38ABEFBQBXGAsACAECAPIAAgADAgEApqWmANwuLQDz8/QA/v/+AAEBAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAQAA//4AAAEBAAD//wAA/wAADxAPALOztAA5OTkA7e3sAJ6dnwA1NjQA9fX1AAAAAgD/AP8AAQD/AAAAAQAAAAAA/wAAAAAA/wAAAAEAAQD/AAAAAQAAAAAA/wEAAAD/AAAAAAAAAQAAABESEQDIycoAGgwP4wAAAADd+PkAEQUEAAEAAAD///8AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAMCAPsA/wAMBAIABwAEACMMCQAFAQEA+P7+AAwGAgD++vwA5uXoAPQjIwDz9PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP8AAAAAAAAAAAAAAAAAAAABAAAA/gAAAAEA8fLzAE9QUAA6OjoA8PDuAM3LzQDn5+oAAgMCAAAA/wAAAAEAAAD/AAAAAAAAAAAAAAAAAAAAAAABAAAA/wAAAAAAAAAAAP8AAAAAAP8AAAABAAEAAAABAAUGBgDq6eoA+/79/gADAQD0/vwACwYEAP38/QABAAAAAAAAAAMAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Pf5APv//wD3//8ADQQDANv3+QD+AP8AAgEAAP/+/wD9AgL///37APj39wD4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/AAAAAQAAAP8AAP4AAOzr6gDy8/EA7+/xAPDz8gAICAgAAfsAAAEAAAD/AAAAAAAAAAAAAAAAAAEAAAD/AAAAAAABAAEA/wD/AAAA/wAAAAEAAAAAAAAAAAAB/wAAAAECAPf19gD7/v0ADAQE4hQDBQD4Af4AAAAAAP4DBAAGAgIA3fn8AAIAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAte3vAAAAAAACAQAA//8AAAAAAAAAAAAAAAAAAAEA/wDu9PP/Ew4OADY4NwDr6+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAP8AAAAA/v4AExMTAIuLiwD29/cA8/LzABsaGgA+PTsA8fLzAAAAAAAAAQEAAAAAAAD//wAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAMEAAcGBgAArgMADgEB3h0IBQD1/f4AAAAAAAEAAAD8//8A+///AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADl+vfkFxoaIzc2NQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBBQQDo6OoAFhYWAEtNSwAwMC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMkpYAAv/8+DALCADv/P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoDAgDsFBW/2K2zPwDq+QDt9/UA/QEAAP///wAAAAAAAf8AAAAAAAD/AQAAAf8BAP8AAAAAAf8AAQABAAAAAAD/AAAA//b1AAQUEQAThXoAAQ4NAPr4+QAAAAAA/f38AP38/AAAAAAA+dDWAO+MlQABAQIAAP4EAA1TGgAKSBYA/Ob3AAH7/gACEAYA9LfpAPOo5AADFwcAAQgDAAD9/wD98/wAGU0cAPJEDgDh3tMAIAoQ/uX5/gDz/f4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgkHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAwDpFhbl39zXAN3SyQACAAAA+QAAAAAAAAD/AAAAAQABAAAA/wD/AAEAAgABAAMA/gD9AAEA/gAAAAEA/wAAAAIA/AD+AAYRFgAReHAAAw4NAAAAAAAAAP8A/wECAAABAQAAAAAA+tLbAO6llgACAAAA/wAAAPGmBAAXeC0AD2AdAPzr+AD76f4ACBT+APLw1wDqu+cAAwAAAAIAAAD/AAAABa4DAOFDHAD59/0A4gID3Kvr7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvPD1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBAQDj/v0AAAoOAPf3DQAV//8A/AAAAAAA/gAAAAMAAQABAAAA/wABAAEAAAD7APUQDgAD9/sACfn3AP4ABAAAAP4AAQDxAAMGEAABBQIAAAAAAAAAAAAAAAAAAP8AAAAA/wAAAAAAAxgNAAEACwACAAYAAgANAAEA9ADriM8A+tbzABV3JwAAAgcA/Q0JABqnHgAIitwA65rVAAIABAADAAcABf78AM+79QD9GQrhSRcPwQX/AAD9//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+f79APn+/QD5/v0A+f79APn+/QD5/v0A+f79APT9/AAQAQDH9wUA/+QCAAAGAAEAAQABAAEAAwAAAP8A/wD+AP8A/wABAPgA+AD7AO6cjQD4ZVMA/ADpAAEAAgAAAAEAAQAAAAD/AAD//wEAAAAAAAAAAAAAAAEAAQAAAAD//wAAAAAACj8VABViJwD+AAAAAQDqAPQA8ADmL0QA3Q5RANjQLQDr/hcAA/TuAP/s9wATeiYAGIEyAP8BAAD6APgACQAEAOQIBQDyAwD8+fz8//b+/AD3/v0A9/79APf+/QD3/v0A9/79APf+/QD3/v0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBcPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAQD6AP/VkOjv3tgD/CNA/QAA/wABAAIB/wAA/wAA/wAAAAAAAAABAAIA/QD2AA4NCgAJBQcAAAAAAP4A/gABAAEAAAABAAAA/wABAQAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAP39ABN5JwAJEAMA2ZnoAASflQD6HhcA6crRAOcVJwAJ8/MAIu+dACQa+gD/5QMAEF8fAAQbCQDocM4A+PT2AOMFCQABA//QzvL1APv//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyvL3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAQEA9wEA6t8FACMB+gEAAQD/AP7/AQAAAAAAAQAAAAAAAAAAAAAAAQADAP34+gD/AQAAAAAAAAIAAgAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAABAAAAAAAA//b9AAHq+QD+TQUAAk2DACpATQD2qq4ACAUBAPbbywD3DhQA5x5tAA37rAAZC+IA/OL9AAxCFAAkozcA6HHTAMnj8QA2HBK3TQ0LAO/8/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBAEAJ/4FpcoD/DnwAP8ABQAAAPoA/wABAAAA/wAAAAEAAQAAAAIAAAD+AAb9/QAD+/4A/wAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAkDAAAG9QDn8jgAGj1ZAPz8/wASCgwADjEwAPfz8gAA9vcAGzw5AN7B/wD+zIoAGz8DAPvj+AAFMREA9oorAO1mygAR9PrpyAAAAPn+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5vj7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsAgEA+vv97ecHAgDjAv8AH/7/APsBAAAA/wEAAQAAAAAAAAAAAP4A/wADAPkDAwAEBAIAAwAAAAEAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAA+MnvAPzO5QAKUlcADwsGAAL5+QAHODEAAgQGABAXFQARDg0AAAAAABAeLADhUuUAEmTvAAlpKgAAAAAAwOD1APn8/90yDwe0/gIAAP8AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAHgkGqqb99YfMBP4gLvoAAO7/AQACAAAAAQD+AAAAAwAAAAIAAQD9AAH8/AD/+voAAgAAAP4AAAAAAP8AAAAAAAABAQD/AAAAAAAAAAAAAAABAQAAAAAAAAABAAAAAAAA++T2AOx11AD88LQA84RdABMHBwAR+QgACAcGAAAAAQD5+vkABwYHAPPb1gD/7uAA5YoAABP1BgARhisAyNPvAAb4/9QAAAEA/Pz/AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABwEA/gYHA9bGBvwgYfoBAAQAAAD/AAEAAAAEAAMA9QAEAP4AAgAHAPwFAwD8AwIABwACAAYA+QD8AAAA/QACAAH//wAAAAAAAAAAAAAAAAD///8A/wEAAAD/AQAAAAAABBIHAP0ACQD3ha4A2gKKACSCegALDg0ABv//AAAAAQD9AQAA6fD6APBygwAVAPgA/QAUAPWV2AD85vkAxd/vABETCLHl+v4A9f3+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwMBABUBA6zHBQBK5gACAAwA/wDyAf8AA//5AO4HAwAD+vgACP/2AAf+AQAJ/wYAAgD+AOYH+QAL/wYACvr8AP4BAAAAAP8AAAAAAAAAAAD+//8AAgD/AAABAAAAAAAA/wD/AP4ACgASAAEABIN7AOjDrAASoIkACx9FAPby7wDr6rQA7pycABXVwgD8ABcAAAADABIAAQCxr98A5hQH90cWDMEF/f8ABwQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEAADMHBrStCfnuwvT9Elb7BAD1//cA+ADsAA2crAAAGRIA7ERKAAHq7AAG8OgA7wcTABTPxwD7pakA+oV9AAr/AAAAAAIAAAAAAAAAAAAGBQYA//7+AAD//wAAAAAA/vX+AAIA9wDtAAIAAUhVAALKyADsUnIACcnTAPzgrQAB2agAF15YAPgNFAD/g8IA/vn8AAQACACyCQUACg0G00cNCd76//4A/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBAAkBAevA+fm6sAb2WFr7+AD/BwwA6zM3ADZaUQDxzdIA1RIZACYvKAAB+fcA8LvFADEkIgDvXlgA0ZWgACYFAgAC/PwAAAAAAAAAAQAQERAA8e/wAAAAAQAAAAAACiUMAPsA9gDhYG4AQJ+RAOzAxwDXREoAF8/WAPTx2gD5D00AJyppAMgFLQAhGPgAEX7RAN7m+ADGCgYAEgL/mrzw9AD2/v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzvP2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0DAgAlBAOvwQgCWNf1/AAS+fQACmVaAPcCAgAMCwkALK6jACM2NQD4NDQABCUkAP3s7AADJiQAFGJWAPiWmwAAAAAAAAAAAAABAAACAQEAAAAAAAAA/wAAAAAAAzINAB6NMwDw4wMAAgAAAAsTDQAObmwADywmAPTOPgAVFhcA8fUAAALZ1gAXPBIABaU6ALtw0QDk2/DnYBcHqgD//wAGAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB/wA8CQiqxwv5gKf1ACl9+OYA6re6AOBEPQAnIR0A/vz7APny9AD17u0AAx4cAPgQDgDd1tYAC7e5AAX4+AD+BAUAAwAAAAAAAAD///8AAAAAAP8AAAAAAAAA/uz9AAxKIQAHwu4A0KCiAD1gXgDvYgMA8eHcAAsdNgAPFhYA4dXBAAL84QAF8gYAAB8DAKocBgAf2gOwIQcF8/T9/gD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAwIAMQkGmqcI+Y9k+AAADRcbAA8cHQDy3N0A5UJOAPgoJQD85uoA9QoHAA7NvwAcJSUA6xEYAP8A2AAAAP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCAADr9AADGScAGS47ANe9xgDnzc8AIW9jANOtsgDf/gIAL1ZPAPjn2wAAEuIAvcDtAMS25gByKheZFQcDAAf8AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6Pr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtAgEANQYHoccL93mp8AAWbOXrAA4AAADuHBwAEBsXAAnFugD9AAAACVVgAAwHCQANAAAA5+TlAAMABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AQAAAAAAAPb7AAAMAQAc/eIA+gcPAAQuFADuw7IA9ufoAPfO1gAPPDUA9wYFAAyXwQAAAsEAj/0OABkKCKkaDAjR5/r9AP8AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7fz7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAEAMC7yMIBqKmCBF0U7CzAPLHzAAALSoAC1ZPAP3SyAD+AAUAB1BEAPP/AAD0sLIAAuLRAAQUJAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAB/wAAAAAA9b7sAPyn1gD7jG8A6efEAAbguwASTkoAEiAgABZCOgDeXWsA9ra6ACJANQCqdq4Atgr2AFogF5Pv+P8A9f0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wABAP8A9v79ADkHBZLXDQjzqv/5AAXP0QDc1tYA+ispAPwAAQD9DBgA9BsdANjJywDs2tgABQAAAP4CAwABAAEAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAA/wUBAO2z4QDdZbwA+u3KAAEWDQD29AAA7vwAABI6QAAWSkwA+sLOAN/HzgCLEBEAHhILpygGBsX7/f0ABQD/AAUA/wAFAP8ABQD/AAUA/wAFAP8ABQD/AAUA/wAFAP8ABQD/AAUA/wAFAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgMIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAABEDAuMzDv+OlPb6f0qEkgAbFxYA9AoIAAgGGwD/Cg8A+nyPAATu7AAE5eoACQAGAP4AAAD/AAEAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwgDAP4AEAASwrYA8WffAAmZWgAmIbUA6bmwAAQjOwAZeyAAA3fhAJ2xuwDMEvwAbRERiwkEAgD9AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYCAQBUEQqLgPn6XJno4COa59sA4AAAAP0BEgAA6+wACercABEAAgD/AAkA+QAHAAIA/QABAP8AAAAAAAAAAAAAAAAAAAAAAP8AAQAAAAAAAf7+AP8A/wAGABUAGN7lAAhhlAD+kjUAGzAKAP3aoQADHhEA903yAJu39wArCA+VMgwGz/L8/QAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwP+AAcD/gAHA/4ABwP+AAcD/gAHA/4ABwP+AAcD/gAHA/4ABwP+AAcD/gAHA/4ABwP+AAEB/QAUBQH1SgwHdJsRCwCzBhEAGwASAP3/AAD//wIA/gASAPwAEQD9AAkAAQD/AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAA/fv/AP0A+AD/AP8A/QAOAPHk/ADiXc4A9Lb1AAMsIwAACBIAd870AOEGBetPEwyD8P7+APcAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8/v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0+/0APAwJsMv5+plr+vhnyvsEABP//gDsAAEABAH+AP//AQABAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAP8BAAAAAAAACz8VAA86HgDxxucABQAFAAQACQD89fgA42zKACn2NAC7EwEAk5zcAEoaEHMaCgbp7fv9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgD/AAIA/wACAP8AAgD/AAIA/wACAP8AAgD/AAIA/wACAP8AAgD/AAIA/wACAP8AAgD/AAIA/wABAP8A/P//AFwOC3/nDgXlcAz8ABIAAAAIAAAA/gACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAAAAhEEABmZMQATTiIA/AD4AP0A/AABAAgAGQAAANyAzwBXdM4AHxQJlkIZDaPs+vwA/v//AP7//wD+//8A/v//AP7//wD+//8A/v//AP7//wD+//8A/v//AP7//wD+//8A/v//AP7//wD+//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+//+AB8IBOlPCwlTqfr8yDn7AQBv+P8A3AABAP8AAAAAAP8AAAD/AAABAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8BAAAAAAAA/u38AP73/AAXkC8ABBkOAOiZ1QARAP0ACAEIAGH8+gD7CQTWaRsTdAj+AQAAAQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO77/gAxCQjJ7f7+enD+9YYj/QEASvsAAN0AAAAAAP8A/wAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AQAAAAAAAQ8DAAD+AAD85vYAEXcmAAwhCgAHhtkAZvT4AMQVA/NyFBBRIgYG9+37/AALAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAP0AAQANBAIAVA4MhyUNCZBXD/8AzAMAACAAAQAAAAAAAAAAAP//AAAB/wAAAAAAAAAAAAAAAAEAAAD/AAEB/gAAAAAA+tbyAP3q+AABDgUAAer4AAdoIgCOURYAm/76ADgICE0MAgLa8fz+AAAAAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD2/v4A8P3+AEcICHEOCwilTxD+ANAD/wAfAAEA/wAAAAEB/wD/AQEAAAAAAAAAAAAAAP8AAAABAAAAAQAAAAAA+NDxAORczAD72fUAAScNAJ6N1QBzreEASyISbEUMB8EDAP0A9f76APf/+wD4//sA+P/7APj/+wD4//sA+P/7APj/+wD4//sA+P/7APj/+wD4//sA+P/7APj/+wD4//sA+P/7APj/+wD4//sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEA/AD+APf+/wA5BANcvgsFEU8B+0qw7gIAMP4BAOIAAQD/AP8AAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAhMHAADy8AAIa80Amk3qAGet4ABKDwxyVxgLlfX8/QD2/v8A9//8AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP3//wD3/v4AOQUES/oMBrROEf4AywD/ACT+AQADAAEAAAAAAAAAAAAAAAEAAAH/AAAA/wAAAAAADQIDACMADACB6vUAZ53YAEsRDXhXIBGP7Pr+APL9/gD9/wAAAwABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA+P//ADoEBU0FDQehQgL+ALAHAQABAQIAAAAAAAAAAAAAAP8AAP7/AAEAAQAAAAAAAAkHAGsA/QCAEAUAUCgYblUYDYns+f0A/P//AAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f8AAPf+/gBGBwhgJhwXi1Hs5QCXp6YAAAAAAAsKCwAAAAAAAgQDAAwMDQAAAAAATpaSAJYJ/e8yEAxAMggGk/j+AAD8//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAP0A/wDw/v4AWRYRds0FAvVqb2yA3OfnABEKCgAnKCYA7uwJALq+vQBVXl8A1svI5WUrKz3h+Pnf7Pz8ABMHAwABAQAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQD8//8A+f3+ADgSD4H4/B6poY2Lue0ABR6JhYEAz9PUAKijoAAaCQmYUSclaxUFA/7T9P0AAQAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/f//AOn4+gAcDQvYECEdH9fy9oyIholzBQD/700fIGUcDgqt2vb3APb9/gACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIBAQD2+/wA/wECACUQDIDz6vDyJgwMzRwPC7X6/f0A/f7/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAP//lKKeTdkhgnQAAAAASUVORK5CYII=\\\" alt=\\\"\\\" />    \\r\\n                                                    </td>\\r\\n                                                    <td style=\\\"text-align: center;\\\">\\r\\n                                                        <h2>\\r\\n                                                            <strong>\\r\\n                                                                INSTITUTO DE CIENCIAS, A.C.\\r\\n                                                            </strong>            \\r\\n                                                        </h2>\\r\\n                                                        <h5 style=\\\"margin-top: 10px !important;\\\">\\r\\n                                                            www.idec.edu.mx\\r\\n                                                        </h5>                                                        \\r\\n                                                        <h6>\\r\\n                                                            Av. Manuel Ávila Camacho 2935 Zapopan, Jalisco, Méx\\r\\n                                                        </h6>\\r\\n                                                        <br/>\\r\\n                                                        <h4>\\r\\n                                                            <strong>\\r\\n                                                                RECIBO DE INSCRIPCIÓN\\r\\n                                                            </strong>\\r\\n                                                        </h4>\\r\\n                                                    </td>\\r\\n                                                </tr>                                            \\r\\n                                            </table>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                                            <table>\\r\\n                                                <tr>\\r\\n                                                    <td>\\r\\n                                                        <strong>Matrícula: </strong>\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        {{datosimpresion.matricula}}\\r\\n                                                    </td>\\r\\n                                                </tr>\\r\\n                                                <tr>\\r\\n                                                    <td>\\r\\n                                                        <strong>Nombre: </strong>\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        {{datosimpresion.primernombre}} {{datosimpresion.segundonombre}} {{datosimpresion.apellidopaterno}} {{datosimpresion.apellidomaterno}}\\r\\n                                                    </td>\\r\\n                                                </tr>\\r\\n                                            </table>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                                            <table style=\\\"width: 100%\\\">\\r\\n                                                <tr>\\r\\n                                                    <td>\\r\\n                                                        <strong>Ciclo escolar: </strong>\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        <strong>Sección: </strong>\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        <strong>Grado y grupo: </strong>\\r\\n                                                    </td>\\r\\n                                                </tr>\\r\\n                                                <tr>\\r\\n                                                    <td>\\r\\n                                                        {{datosimpresion.ciclo}}\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        {{datosimpresion.nivel}}\\r\\n                                                    </td>\\r\\n                                                    <td>\\r\\n                                                        {{datosimpresion.grado}} {{datosimpresion.grupo}}\\r\\n                                                    </td>\\r\\n                                                </tr>\\r\\n                                            </table>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                                            <table class=\\\"table table-hover\\\">\\r\\n                                                <thead>\\r\\n                                                    <tr>\\r\\n                                                        <th>Concepto</th>\\r\\n                                                        <th>Documento</th>                    \\r\\n                                                        <th>Vencimiento</th>\\r\\n                                                        <th>\\r\\n                                                            <p class=\\\"pull-right\\\">\\r\\n                                                                Importe\\r\\n                                                            </p>\\r\\n                                                        </th>\\r\\n                                                    </tr>\\r\\n                                                </thead>\\r\\n                                                <tbody *ngFor=\\\"let c of datosimpresion.pagos\\\">\\r\\n                                                    <tr>\\r\\n                                                        <td>{{c.concepto}}</td>\\r\\n                                                        <td>{{c.documento}}</td>\\r\\n                                                        <td>{{c.vencimiento}}</td>\\r\\n                                                        <td>\\r\\n                                                            <p class=\\\"pull-right\\\">\\r\\n                                                                {{c.importe | currency:'USD':true:'1.2-2'}}\\r\\n                                                            </p>\\r\\n                                                        </td>\\r\\n                                                    </tr>               \\r\\n                                                </tbody>\\r\\n                                                <tfoot>\\r\\n                                                    <tr>\\r\\n                                                        <td colspan=\\\"3\\\" class=\\\"total-leyend\\\">                    \\r\\n                                                            <h4 class=\\\"pull-right\\\">                                             \\r\\n                                                                <strong> Total a pagar </strong>    \\r\\n                                                            </h4>\\r\\n                                                        </td>\\r\\n                                                        <td>\\r\\n                                                            <h4  class=\\\"pull-right\\\">\\r\\n                                                                <strong>{{datosimpresion.total | currency:'USD':true:'1.2-2'}}</strong>    \\r\\n                                                            </h4>\\r\\n                                                        </td>\\r\\n                                                    </tr>               \\r\\n                                                </tfoot>\\r\\n                                            </table>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"col-sm-12\\\">\\r\\n                                            <div class=\\\"col-sm-12\\\">\\r\\n                                                <p style=\\\"font-size: 12px !important;\\\"><strong>Favor de pagar en cualquier sucursal de: </strong></p>\\r\\n                                            </div> \\r\\n                                            <div class=\\\"col-sm-12\\\" style=\\\"text-align: center;\\\">\\r\\n                                                <h5>\\r\\n                                                    {{banco}} {{datosimpresion.referencia}}\\r\\n                                                </h5>       \\r\\n                                            </div>\\r\\n                                        </div>        \\r\\n                                    </div>\\r\\n\\r\\n                                </div>      \\r\\n                            </div>\\r\\n                        </section>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrar()\\\">Cerrar</button>\\r\\n                <button class=\\\"btn principal\\\" type=\\\"button\\\" (click)=\\\"imprimir()\\\">Imprimir</button>                    \\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/reciboinscripcion/reciboinscripcion.component.html\n// module id = 1388\n// module chunks = 3","module.exports = \"<div *ngIf=\\\"config.visible\\\">\\r\\n    <ngx-chartjs [data]=\\\"config.chart.data\\\" [options]=\\\"config.chart.options\\\" type=\\\"{{config.chart.type}}\\\" [width]=\\\"config.width\\\" [height]=\\\"config.height\\\"></ngx-chartjs>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/componenetesgenerales/tablero/tablero.component.html\n// module id = 1389\n// module chunks = 3","module.exports = \"<div [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\" #modalFoto=\\\"bs-modal\\\" class=\\\"modal fade\\\"  role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal  style=\\\"background: rgba(0,0,0,0.5);\\\" >\\r\\n    <div class=\\\"modal-dialog modal-lg\\\">\\r\\n      <div class=\\\"modal-content modal-lg\\\">\\r\\n  \\r\\n        <div class=\\\"modal-header\\\">\\r\\n          <h4 class=\\\"modal-title\\\">\\r\\n            <strong>Historial de fotografías</strong>\\r\\n          </h4>\\r\\n        </div>\\r\\n  \\r\\n        <div class=\\\"row hidden-lg-up\\\">\\r\\n          <div class=\\\"col-sm-12\\\">\\r\\n            <div style=\\\"height: 15px\\\"></div>\\r\\n          </div>\\r\\n        </div>\\r\\n  \\r\\n        <div class=\\\"modal-body\\\" style=\\\"padding: 0px !important;\\\">\\r\\n          <form id=\\\"formaPT\\\" >\\r\\n  \\r\\n            <div class=\\\"container\\\">\\r\\n                <div class=\\\"my-flipster\\\">\\r\\n                    <ul>\\r\\n                        <li  class=\\\"text-center\\\" data-flip-title=\\\"Item 1 Title\\\" data-flip-category=\\\"Category 1\\\" \\r\\n                                *ngFor=\\\"let foto of fotosalumnos; let i = index\\\" id=\\\"img{{i}}\\\">\\r\\n                            <img style=\\\"max-width: 400px\\\" src=\\\"{{foto.foto}}\\\" alt=\\\"\\\">\\r\\n                            <h4 style=\\\"font-weight: bold;\\\">{{foto.ciclo}}</h4> \\r\\n                            <p>{{foto.nivel}} - {{foto.grado}}</p>\\r\\n                        </li>\\r\\n                    </ul>\\r\\n                </div>\\r\\n            </div>\\r\\n  \\r\\n  \\r\\n            <div class=\\\"modal-footer\\\">\\r\\n              <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrarModalFoto()\\\">CERRAR</button>\\r\\n            </div>\\r\\n          </form>\\r\\n        </div>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/fotosalumno/fotosalumno.component.html\n// module id = 1390\n// module chunks = 3","module.exports = \"<div class=\\\"col-sm-12\\\">\\r\\n  <p><b>SOLICITUDES DE ADMISIÓN</b></p>\\r\\n</div>\\r\\n<div class=\\\"col-sm-12\\\">\\r\\n  <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n    <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n      <thead>\\r\\n        <tr style=\\\"color: white;\\\">\\r\\n          <th class=\\\"text-center headerTable-top-left\\\">\\r\\n            Ciclo\\r\\n          </th>\\r\\n          <th class=\\\"text-center headerTable\\\">\\r\\n            Nivel\\r\\n          </th>\\r\\n          <th class=\\\"text-center headerTable\\\">\\r\\n            Grado\\r\\n          </th>\\r\\n          <th class=\\\"text-center headerTable\\\">\\r\\n            Folio\\r\\n          </th>\\r\\n          <th class=\\\"text-center headerTable\\\">\\r\\n            Clave\\r\\n          </th>\\r\\n          <th class=\\\"text-center headerTable\\\">\\r\\n            Estatus\\r\\n          </th>\\r\\n          <th class=\\\"text-center headerTable-top-right\\\">\\r\\n            Acciones\\r\\n          </th>\\r\\n        </tr>\\r\\n      </thead>\\r\\n      <tbody>\\r\\n        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytabla\\\">\\r\\n          <td class=\\\"text-center\\\">\\r\\n            <p>{{c.ciclo}}</p>\\r\\n          </td>\\r\\n          <td class=\\\"text-center\\\">\\r\\n            <p>{{c.nivel}}</p>\\r\\n          </td>\\r\\n          <td class=\\\"text-center\\\">\\r\\n            <p>{{c.grado}}</p>\\r\\n          </td>\\r\\n          <td class=\\\"text-center\\\">\\r\\n            <p>{{c.folio}}</p>\\r\\n          </td>\\r\\n          <td class=\\\"text-center\\\">\\r\\n            <p>{{c.clavesolicitud}}</p>\\r\\n          </td>\\r\\n          <td class=\\\"text-center\\\">\\r\\n            <p>{{c.estatus}}</p>\\r\\n          </td>\\r\\n          <td class=\\\"text-center\\\">\\r\\n            <a (click)=\\\"openFicha(c)\\\">\\r\\n              <li class=\\\"fa fa-eye\\\"></li>\\r\\n            </a>\\r\\n          </td>\\r\\n        </tr>\\r\\n      </tbody>\\r\\n    </table>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div #modalFicha=\\\"bs-modal\\\" class=\\\"modal fade\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\"\\r\\n  bsModal style=\\\"background: rgba(0,0,0,0.5);\\\" [config]=\\\"{'backdrop':false, 'keyboard': false}\\\">\\r\\n  <div class=\\\"modal-dialog modal-lg\\\">\\r\\n    <div class=\\\"modal-content modal-lg\\\">\\r\\n\\r\\n      <div class=\\\"modal-header\\\">\\r\\n        <h4 class=\\\"modal-title\\\">\\r\\n          <strong>Ficha General</strong>\\r\\n        </h4>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"row hidden-lg-up\\\">\\r\\n        <div class=\\\"col-sm-12\\\">\\r\\n          <div style=\\\"height: 15px\\\"></div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"modal-body\\\" style=\\\"padding: 0px !important;\\\">\\r\\n        <form id=\\\"formaPT\\\">\\r\\n\\r\\n          <div class=\\\"container\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n              <div class=\\\"col-lg-12\\\">\\r\\n                <section class=\\\"widget\\\">\\r\\n                  <div class=\\\"widget-body\\\">\\r\\n                    <div class=\\\"clearfix\\\">\\r\\n                        <ul class=\\\"nav nav-tabs float-left\\\" role=\\\"tablist\\\">\\r\\n                            <li class=\\\"nav-item\\\" (click)=\\\"contentView(1)\\\">\\r\\n                                <a id=\\\"ficha\\\" class=\\\"nav-link active\\\" data-toggle=\\\"tab\\\"  role=\\\"tab\\\" aria-controls=\\\"basic\\\" aria-expanded=\\\"true\\\">Ficha</a>\\r\\n                            </li>\\r\\n                            <li class=\\\"nav-item\\\" (click)=\\\"contentView(2)\\\">\\r\\n                                <a id=\\\"dictamen\\\" class=\\\"nav-link\\\" data-toggle=\\\"tab\\\"   role=\\\"tab\\\" aria-controls=\\\"basic\\\" aria-expanded=\\\"true\\\">Dictamen</a>\\r\\n                            </li>\\r\\n                        </ul>\\r\\n                    </div>\\r\\n                    <div class=\\\"tab-content mb-n-md\\\">\\r\\n                        <div #containerFicha></div>       \\r\\n                    </div>\\r\\n    \\r\\n                </div>\\r\\n                </section>\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n\\r\\n          <div class=\\\"modal-footer\\\">\\r\\n            <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrarFicha()\\\">CERRAR</button>\\r\\n          </div>\\r\\n        </form>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div #modalGenerica></div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/admisiones/admisiones.component.html\n// module id = 1391\n// module chunks = 3","module.exports = \"<h3>Área médica Pereyra</h3>\\r\\n<br>\\r\\n<legend></legend>\\r\\n<br>\\r\\n<div class=\\\"col-sm-12\\\">\\r\\n    <h5>Datos médicos</h5>\\r\\n    <br>\\r\\n    <!-- <p>Contactos de emergencia</p> -->\\r\\n    <br>\\r\\n    <div class=\\\"col-sm-12\\\"  [ngClass]=\\\"nuevo && this.seguridad.accesos.Areamedicaeditar ? '' : 'soloLectura'\\\">\\r\\n        <form [formGroup]=\\\"Formareamedica\\\" (ngSubmit)=\\\"guardarConsulta()\\\">\\r\\n            <!-- <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-4 col-md-4 col-sm-12\\\">\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input type=\\\"text\\\" required formControlName=\\\"contactoemergencianombre\\\"> <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                            <small [hidden]=\\\"Formareamedica.controls.contactoemergencianombre.valid || (Formareamedica.controls.contactoemergencianombre.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Ingrese un nombre\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-4 col-md-4 col-sm-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-md-4 col-sm-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input required formControlName=\\\"ladacontacto\\\" lada> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                <small [hidden]=\\\"Formareamedica.controls.ladacontacto.valid || (Formareamedica.controls.ladacontacto.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese una lada valida\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-md-8 col-sm-8 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input [(ngModel)]=\\\"telefonocontacto\\\" formControlName=\\\"telefonocontacto\\\" required [phonenumber]=\\\"{lada: ladacontacto}\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Télefono</label>\\r\\n                                <small [hidden]=\\\"Formareamedica.controls.telefonocontacto.valid || (Formareamedica.controls.telefonocontacto.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese un télefono valido\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div> -->\\r\\n            <p style=\\\"height: 25px;\\\"></p>\\r\\n\\r\\n            <div class=\\\"col-sm-12\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                        <!--Enfermedad-->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <p>¿Padece alguna enfermedad o condición que requiera cuidados especiales?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"enfermedadcronica\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                (selectedOptionChange)=\\\"setPadece($event)\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"nombre\\\"\\r\\n                                                #selectenfermedad>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectenfermedad.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedica.controls.enfermedadcronica.valid || (Formareamedica.controls.enfermedadcronica.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                                    <div class=\\\"row\\\" *ngIf=\\\"padecedis\\\" style=\\\"margin-top:25px;\\\">\\r\\n                                        <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                                            <div class=\\\"group\\\">\\r\\n                                                <input type=\\\"text\\\" formControlName=\\\"padece\\\"> <span\\r\\n                                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                                    class=\\\"MaterialLabel\\\">padece</label>\\r\\n                                                <small [hidden]=\\\"Formareamedica.controls.padece.valid || (Formareamedica.controls.padece.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                                    Introduzca una descripción\\r\\n                                                </small>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>                                \\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 25px;\\\"></p>\\r\\n                        <!--Alergico-->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <p>¿Su hijo(a) es alérgico a: ?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"alergia\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                (selectedOptionChange)=\\\"loadAlergia($event)\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #selectalergia>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectalergia.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedica.controls.alergia.valid || (Formareamedica.controls.alergia.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                                    <div class=\\\"row\\\" *ngIf=\\\"alergicodes\\\" style=\\\"margin-top:25px;\\\">\\r\\n                                        <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                                            <div class=\\\"group\\\">\\r\\n                                                <input type=\\\"text\\\" formControlName=\\\"alergico\\\"> <span\\r\\n                                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                                    class=\\\"MaterialLabel\\\">alergico</label>\\r\\n                                                <small [hidden]=\\\"Formareamedica.controls.alergico.valid || (Formareamedica.controls.alergico.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                                    Introduzca una descripción\\r\\n                                                </small>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 35px;\\\"></p>\\r\\n                        <!--Medicamentos frecuentes-->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <p>¿Toma medicamentos de manera frecuente?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"medicamentoregularidad\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                (selectedOptionChange)=\\\"setMedicamento($event)\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #selectmedicamentos>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectmedicamentos.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedica.controls.medicamentoregularidad.valid || (Formareamedica.controls.medicamentoregularidad.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\" *ngIf=\\\"antecedentedes\\\" style=\\\"margin-top:25px;\\\">\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input type=\\\"text\\\" formControlName=\\\"antecedentefamiliar\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Descripción</label>\\r\\n                                        <small [hidden]=\\\"Formareamedica.controls.antecedentefamiliar.valid || (Formareamedica.controls.antecedentefamiliar.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Introduzca una descripción\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 35px;\\\"></p>\\r\\n                        <!--Peso-->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <p>¿Peso?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"group\\\" style=\\\"margin-left:15px;\\\">\\r\\n                                            <input formControlName=\\\"peso\\\" type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\">\\r\\n                                            <span class=\\\"highlight\\\">\\r\\n                                            </span> <span class=\\\"bar\\\"></span>\\r\\n                                            <label class=\\\"MaterialLabel\\\"></label>\\r\\n                                        </div>\\r\\n                                        <p>Kgs</p>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"Formareamedica.controls.peso.valid || (Formareamedica.controls.peso.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese un peso\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 35px;\\\"></p>\\r\\n                        <!-- Estatura -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <p>¿Estatura?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"group\\\" style=\\\"margin-left:15px;\\\">\\r\\n                                            <input formControlName=\\\"talla\\\" type=\\\"text\\\" [textMask]=\\\"{mask: numberMask}\\\">\\r\\n                                            <span class=\\\"highlight\\\">\\r\\n                                            </span> <span class=\\\"bar\\\"></span>\\r\\n                                            <label class=\\\"MaterialLabel\\\"></label>\\r\\n                                        </div>\\r\\n                                        <p>Cms</p>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"Formareamedica.controls.talla.valid || (Formareamedica.controls.talla.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese una estatura\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </form>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicaidec/areamedicaidec.component.html\n// module id = 1392\n// module chunks = 3","module.exports = \"<h3>Área médica LUX</h3>\\r\\n<br>\\r\\n<legend></legend>\\r\\n<br>\\r\\n<div class=\\\"col-12\\\"  [ngClass]=\\\"nuevo && this.seguridad.accesos.Areamedicaeditar ? '' : 'soloLectura'\\\">\\r\\n    <!-- <h5>Contacto de emergencia</h5>\\r\\n    <br> -->\\r\\n    <div class=\\\"col-12\\\">\\r\\n        <form [formGroup]=\\\"Formareamedia\\\" > \\r\\n            <p style=\\\"height: 25px;\\\"></p>\\r\\n            <!-- <div formGroupName=\\\"otrocontacto\\\">\\r\\n                <areamedicaluxcomponent *ngFor=\\\"let item of Formareamedia.controls.otrocontacto.controls; let i=index; trackBy: trackById;\\\"\\r\\n                    [Formareamedia]=\\\"item\\\"\\r\\n                    [i]=\\\"i\\\"\\r\\n                    [selectParentesco]=\\\"selectParentesco\\\"\\r\\n                    [submitted]=\\\"submitted\\\"\\r\\n                    [currencyMask]=\\\"currencyMask\\\"\\r\\n                    [datocambiado]=\\\"datocambiado\\\"\\r\\n                    (output)=\\\"respuesta($event)\\\"\\r\\n                    (eliminarcontacto)=\\\"eliminarcontacto($event)\\\">\\r\\n            </areamedicaluxcomponent>  \\r\\n\\r\\n\\r\\n        </div>\\r\\n        <div class=\\\"row\\\" style=\\\"text-align: center\\\"> \\r\\n            <button  class=\\\"btn btn-default\\\"  (click)=\\\"addareamedica();\\\">\\r\\n                <span class=\\\"fa fa-plus\\\"></span>\\r\\n                <span style=\\\"margin-left: 5px\\\"> Agregar otro contacto </span>\\r\\n            </button>\\r\\n        </div> -->\\r\\n            <p style=\\\"height: 25px;\\\"></p>\\r\\n        <div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                    <!--Enfermedad-->\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-3 col-md-12 col-sm-12 form-group\\\">\\r\\n                            <p>¿Padece alguna enfermedad o condición que requiera cuidados especiales?</p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-3 col-md-6 col-sm-12 form-group\\\">\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                        formControlName=\\\"enfermedad\\\"\\r\\n                                        placeholder=\\\"Seleccione\\\"\\r\\n                                        [options]=\\\"selectOpciones\\\"\\r\\n                                        (selectedOptionChange)=\\\"loadEnfermedad($event)\\\"\\r\\n                                        labelField=\\\"nombre\\\"\\r\\n                                        valueField=\\\"id\\\"\\r\\n                                        #selectenfermedad>\\r\\n                                <sui-select-option *ngFor=\\\"let option of selectenfermedad.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small [hidden]=\\\"Formareamedia.controls.enfermedad.valid || (Formareamedia.controls.enfermedad.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Debe seleccionar una opción\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-3 col-md-6 col-sm-12\\\" *ngIf=\\\"enfermedad\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" formControlName=\\\"personaatiende\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Nombre de quien atiende</label>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.personaatiende.valid || (Formareamedia.controls.personaatiende.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese un nombre\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-3 col-md-6 col-sm-12\\\" *ngIf=\\\"enfermedad\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-4 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input formControlName=\\\"lada\\\" lada> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                        <small [hidden]=\\\"Formareamedia.controls.lada.valid || (Formareamedia.controls.lada.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Ingrese una lada valida\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-8 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input [(ngModel)]=\\\"telefono\\\" formControlName=\\\"telefono\\\" required [phonenumber]=\\\"{lada: lada1}\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Télefono</label>\\r\\n                                        <small [hidden]=\\\"Formareamedia.controls.telefono.valid || (Formareamedia.controls.telefono.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Ingrese un télefono valido\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-sm-12\\\" style=\\\"margin-top:30px;\\\" *ngIf=\\\"enfermedad\\\">\\r\\n                            <div class=\\\"group\\\" >\\r\\n                                <textarea style=\\\"border-bottom: solid 1px #ccc;\\\" type=\\\"text\\\" placeholder=\\\"Especificar\\\" rows=\\\"3\\\"  formControlName=\\\"padece\\\"></textarea>\\r\\n                            </div>\\r\\n                            <small [hidden]=\\\"Formareamedia.controls.padece.valid || (Formareamedia.controls.padece.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Ingrese una descripción\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <p style=\\\"height: 25px;\\\"></p>\\r\\n\\r\\n                </div>\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                        <!--Alergico-->\\r\\n                        <div class=\\\"col-sm-12\\\" id=\\\"alergia\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Su hijo(a) es alérgico a: ?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-multi-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                      formControlName=\\\"alergiaid\\\"\\r\\n                                                      placeholder=\\\"Seleccione\\\"\\r\\n                                                      [options]=\\\"selectAlergias\\\"\\r\\n                                                      (selectedOptionsChange)=\\\"loadAlergia($event)\\\"\\r\\n                                                      labelField=\\\"descripcion\\\"\\r\\n                                                      valueField=\\\"alergiaid\\\"\\r\\n                                                      #selectalergia>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectalergia.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-multi-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.alergiaid.valid || (Formareamedia.controls.alergiaid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"row\\\" *ngIf=\\\"alergicodes\\\" style=\\\"margin-top:15px;\\\">\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-sm-12\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input type=\\\"text\\\" required formControlName=\\\"alergico\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">alérgico</label>\\r\\n                                        <small [hidden]=\\\"Formareamedia.controls.alergico.valid || (Formareamedia.controls.alergico.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Introduzca una alergia\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 35px;\\\"></p>\\r\\n                        <!--antihistamínico -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                                    <p>Autorizo que se le administre algún antihistamínico de acuerdo a su peso y talla en caso de alguna URGENCIA por alergia</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\" style=\\\"margin-top:15px;\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"autorizoantihistaminico\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #selectanti>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectanti.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.autorizoantihistaminico.valid || (Formareamedia.controls.autorizoantihistaminico.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!--examen auditivo -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Le han practicado algún examen auditivo?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"examenauditivo\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #selectauditivo>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectauditivo.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.examenauditivo.valid || (Formareamedia.controls.examenauditivo.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!--examen ortopédico -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Le han practicado algún examen ortopédico?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"examenortopedicos\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #selectortopedico>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectortopedico.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.examenortopedicos.valid || (Formareamedia.controls.examenortopedicos.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!--examen vista -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Le han practicado algún examen de la vista?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"examenvista\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #selectvista>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectvista.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.examenvista.valid || (Formareamedia.controls.examenvista.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!--examen vista -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Estatura?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\" >\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"group\\\" style=\\\"margin-left:15px;\\\">\\r\\n                                            <input formControlName=\\\"talla\\\" type=\\\"text\\\" [textMask]=\\\"{mask: currencyMask, guide: false}\\\">\\r\\n                                                   <span class=\\\"highlight\\\">\\r\\n                                            </span> <span class=\\\"bar\\\"></span>\\r\\n                                            <label class=\\\"MaterialLabel\\\"></label>\\r\\n                                        </div>\\r\\n                                        <p>Cms</p>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.talla.valid || (Formareamedia.controls.talla.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese una estatura\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!--tiposangre -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Tipo de sangre?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"tiposangineo\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectTiposangre\\\"\\r\\n                                                labelField=\\\"descripcion\\\"\\r\\n                                                valueField=\\\"tiposanguineoid\\\"\\r\\n                                                #selecttiposangre>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selecttiposangre.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.tiposangineo.valid || (Formareamedia.controls.tiposangineo.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-lg-6 col-md-6 col-sm-12\\\">\\r\\n                        <!-- Antecedente -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>Existe un antecedente familiar importante:</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-multi-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                      formControlName=\\\"antecedentefamiliarimportanteid\\\"\\r\\n                                                      placeholder=\\\"Seleccione\\\"\\r\\n                                                      [options]=\\\"selectAntecedentes\\\"\\r\\n                                                      labelField=\\\"descripcion\\\"\\r\\n                                                      valueField=\\\"antecedentefamiliarimportanteid\\\"\\r\\n                                                      #selectantecedente>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of selectantecedente.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-multi-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.antecedentefamiliarimportanteid.valid || (Formareamedia.controls.antecedentefamiliarimportanteid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!-- Autoriza -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>Nombre del padre, madre o tutor que autoriza</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input type=\\\"text\\\" formControlName=\\\"nombreautoriza\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                                        <small [hidden]=\\\"Formareamedia.controls.nombreautoriza.valid || (Formareamedia.controls.nombreautoriza.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                            Ingrese un nombre\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 90px;\\\"></p>\\r\\n                        <!-- Aparatos auditivos -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Utiliza aparatos auditivos?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"aparatoauditivo\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #select2auditivo>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of select2auditivo.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.aparatoauditivo.valid || (Formareamedia.controls.aparatoauditivo.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!-- Aditamientos ortopedicos -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Utiliza zapatos o aditamentos ortopédicos?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"aditamentoortopedico\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #select2ortopedia>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of select2ortopedia.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.aditamentoortopedico.valid || (Formareamedia.controls.aditamentoortopedico.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!-- Aditamientos lentes -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Utiliza lentes?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                                                formControlName=\\\"lentes\\\"\\r\\n                                                placeholder=\\\"Seleccione\\\"\\r\\n                                                [options]=\\\"selectOpciones\\\"\\r\\n                                                labelField=\\\"nombre\\\"\\r\\n                                                valueField=\\\"id\\\"\\r\\n                                                #select2lentes>\\r\\n                                        <sui-select-option *ngFor=\\\"let option of select2lentes.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                                    </sui-select>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.lentes.valid || (Formareamedia.controls.lentes.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Debe seleccionar una opción\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <p style=\\\"height: 55px;\\\"></p>\\r\\n                        <!-- peso -->\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\">\\r\\n                                    <p>¿Peso?</p>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12\\\" >\\r\\n                                    <div class=\\\"row\\\">\\r\\n                                        <div class=\\\"group\\\" style=\\\"margin-left:15px;\\\">\\r\\n                                            <input formControlName=\\\"peso\\\" type=\\\"text\\\" [textMask]=\\\"{mask: currencyMask, guide: false}\\\">\\r\\n                                                   <span class=\\\"highlight\\\">\\r\\n                                            </span> <span class=\\\"bar\\\"></span>\\r\\n                                            <label class=\\\"MaterialLabel\\\"></label>\\r\\n                                        </div>\\r\\n                                        <p>Kgs</p>\\r\\n                                    </div>\\r\\n                                    <small [hidden]=\\\"Formareamedia.controls.peso.valid || (Formareamedia.controls.peso.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                        Ingrese un peso\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n\\r\\n    </form>\\r\\n</div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicalux.component.html\n// module id = 1393\n// module chunks = 3","module.exports = \"<div class=\\\"col-12\\\">\\r\\n    <form [formGroup]=\\\"Formareamedia\\\"> \\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-4 col-md-6 col-sm-12 form-group\\\">\\r\\n                <div class=\\\"group\\\">\\r\\n                    <input type=\\\"text\\\" required formControlName=\\\"nombre\\\"> <span\\r\\n                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                        class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                    <small [hidden]=\\\"Formareamedia.controls.nombre.valid || (Formareamedia.controls.nombre.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                        Ingrese un nombre\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-md-6 col-sm-12 form-group\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-4 col-md-6 form-group\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input required formControlName=\\\"lada\\\"  lada #lada1> <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                            <small [hidden]=\\\"Formareamedia.controls.lada.valid || (Formareamedia.controls.lada.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Ingrese una lada valida\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-8 col-md-6 form-group\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input  [phonenumber]=\\\"{lada: lada1.value}\\\" formControlName=\\\"telefono\\\" required > <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                class=\\\"MaterialLabel\\\">Télefono</label>\\r\\n                            <small [hidden]=\\\"Formareamedia.controls.telefono.valid || (Formareamedia.controls.telefono.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                Ingrese un télefono valido\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-md-6 col-sm-12 form-group\\\">\\r\\n                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                            formControlName=\\\"parentescoid\\\"\\r\\n                            placeholder=\\\"Seleccione\\\"\\r\\n                            [options]=\\\"selectParentesco\\\"\\r\\n                            labelField=\\\"descripcion\\\"\\r\\n                            valueField=\\\"parentescoid\\\"\\r\\n                            #selectparentesco>\\r\\n                    <sui-select-option *ngFor=\\\"let option of selectparentesco.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                </sui-select>\\r\\n                <small [hidden]=\\\"Formareamedia.controls.parentescoid.valid || (Formareamedia.controls.parentescoid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                    Debe seleccionar una opción\\r\\n                </small>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-4 col-md-6 col-sm-12 form-group\\\">\\r\\n                <div class=\\\"group\\\">\\r\\n                    <input type=\\\"text\\\" required formControlName=\\\"email\\\"> <span\\r\\n                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                        class=\\\"MaterialLabel\\\">Email</label>\\r\\n                    <small [hidden]=\\\"Formareamedia.controls.email.valid || (Formareamedia.controls.email.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                        Ingrese un email\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n\\r\\n        <button align=\\\"center\\\" class=\\\"btn btn-default\\\"  (click)=\\\"eliminar();\\\">\\r\\n            <span class=\\\"fa fa-plus\\\"></span>\\r\\n            <span style=\\\"margin-left: 5px\\\"> Eliminar </span>\\r\\n        </button>\\r\\n        <p style=\\\"height: 25px;\\\"></p>\\r\\n    </form>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/areamedicalux/areamedicaluxcomponent/areamedicaluxcomponent.component.html\n// module id = 1394\n// module chunks = 3","module.exports = \"                                    <div class=\\\"col-sm-12\\\">\\r\\n                                        <p><b>HISTÓRICO DE BECAS</b></p>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-sm-12\\\">\\r\\n                                        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                                          <table  class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n                                                <thead>\\r\\n                                                <tr style=\\\"color: white;\\\">\\r\\n                                                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                        Ciclo\\r\\n                                                    </th>\\r\\n                                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                                        Tipo de beca\\r\\n                                                    </th>\\r\\n                                                    <th class=\\\"text-center headerTable \\\">\\r\\n                                                        % de beca\\r\\n                                                    </th>\\r\\n                                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                                        Nivel\\r\\n                                                    </th>\\r\\n                                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                                        Grado\\r\\n                                                    </th>\\r\\n                                                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                        Estatus de la solicitud\\r\\n                                                    </th>\\r\\n                                                </tr>\\r\\n                                                </thead>\\r\\n                                                <tbody>\\r\\n                                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of datosBecas\\\">\\r\\n                                                    <td class=\\\"text-center\\\">\\r\\n                                                        <p>{{c.ciclo}}</p>\\r\\n                                                    </td>\\r\\n                                                    <td class=\\\"text-center\\\">\\r\\n                                                        <p>{{c.tipobeca}}</p>\\r\\n                                                    </td>\\r\\n                                                    <td class=\\\"text-center\\\">\\r\\n                                                        <p>{{c.porcentaje}}%</p>\\r\\n                                                    </td>  \\r\\n                                                    <td class=\\\"text-center\\\">\\r\\n                                                        <p>{{c.nivel}}</p>\\r\\n                                                    </td>  \\r\\n                                                    <td class=\\\"text-center\\\">\\r\\n                                                        <p>{{c.grado}}</p>\\r\\n                                                    </td>  \\r\\n                                                    <td class=\\\"text-center\\\">\\r\\n                                                        <p>{{c.estatus}}</p>\\r\\n                                                    </td>                          \\r\\n                                                </tr>\\r\\n                                                </tbody>\\r\\n                                            </table>\\r\\n                                        </div>                                        \\r\\n                                </div> \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/becas/becas.component.html\n// module id = 1395\n// module chunks = 3","module.exports = \"<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <section class=\\\"widget\\\">\\r\\n            <div class=\\\"widget-body\\\">\\r\\n                <fieldset>\\r\\n                    <legend></legend>\\r\\n                    <div class=\\\"md-chip white\\\" (click)=\\\"modal.show(); accion=false;\\\" style=\\\"margin-top: 10px;\\\" \\r\\n                            [hidden]=\\\"!nuevo\\\" *ngIf=\\\"seguridad.accesos.Certificacionesagregar\\\">\\r\\n                        <a> <span class=\\\"md-chip-text\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa fa-plus\\\"></i>\\r\\n                            </span>\\r\\n                            <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n                        </a>\\r\\n                    </div>\\r\\n                </fieldset>\\r\\n                <fieldset>\\r\\n                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                        style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                        <table datatable [dtOptions]=\\\"dtOptions\\\" [dtTrigger]=\\\"dtTrigger\\\" class=\\\"table table-hover\\\"\\r\\n                            id=\\\"tabla\\\">\\r\\n                            <thead>\\r\\n                                <tr style=\\\"color: #fff;\\\">\\r\\n                                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                        Idioma/Tema\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Certificación\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Vigencia\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\">\\r\\n                                        Puntaje / Calif.\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable\\\" [ngClass]=\\\"!nuevo? 'headerTable-top-right' : '' \\\">\\r\\n                                        Fecha de Certificación\\r\\n                                    </th>\\r\\n                                    <th class=\\\"text-center headerTable-top-right\\\" [hidden]=\\\"!nuevo\\\">\\r\\n                                        Acciones\\r\\n                                    </th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody>\\r\\n                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayentidad\\\">\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p>{{c.certificacionid.idiomaid.nombre}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p>{{c.certificacionid.nombre}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p>{{c.vigencia}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p>{{c.calificacion}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p>{{c.fecha}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\" [hidden]=\\\"!nuevo \\\">\\r\\n                                        <a (click)=\\\"editar(c)\\\"  *ngIf=\\\"seguridad.accesos.Certificacioneseditar\\\">\\r\\n                                            <i class=\\\"fa fa-pencil fa-lg\\\" aria-hidden=\\\"true\\\"></i></a>\\r\\n                                        &nbsp;\\r\\n                                        <a (click)=\\\"eliminar(c.certificacionporalumnoid)\\\" *ngIf=\\\"seguridad.accesos.Certificacioneseliminar\\\">\\r\\n                                            <i class=\\\"fa fa-trash-o fa-lg\\\"\\r\\n                                                aria-hidden=\\\"true\\\"></i></a>\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </fieldset>\\r\\n            </div>\\r\\n\\r\\n        </section>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #modal=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-md\\\">\\r\\n        <div class=\\\"modal-content modal-md\\\">\\r\\n            <form [formGroup]=\\\"FormGuardar\\\" novalidate (ngSubmit)=\\\"guardar()\\\">\\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>{{accion ? \\\"Editar\\\" : \\\"Agregar\\\"}} Certificación</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                            <small>Idioma/Tema</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"idiomaid\\\"\\r\\n                                placeholder=\\\"Idioma\\\" [options]=\\\"select.SelectIdioma\\\" labelField=\\\"nombre\\\"\\r\\n                                valueField=\\\"idiomaid\\\" (selectedOptionChange)=\\\"loadCertificacion($event)\\\"\\r\\n                                #idioma2select>\\r\\n                                <sui-select-option *ngFor=\\\"let option of idioma2select.filteredOptions\\\"\\r\\n                                    [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormGuardar.controls.idiomaid.valid || (FormGuardar.controls.idiomaid.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione una opción\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                            <small>Certificación</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"certificacionid\\\"\\r\\n                                placeholder=\\\"Idioma\\\" [options]=\\\"SelectIdiomaCertificacion\\\" labelField=\\\"nombre\\\"\\r\\n                                valueField=\\\"certificacionid\\\"\\r\\n                                #certificacion2select>\\r\\n                                <sui-select-option *ngFor=\\\"let option of certificacion2select.filteredOptions\\\"\\r\\n                                    [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormGuardar.controls.certificacionid.valid || (FormGuardar.controls.certificacionid.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione una opción\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\" style=\\\"margin-top: 20px\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"calificacion\\\" maxlength=\\\"40\\\" [textMask]=\\\"{mask: numberMask}\\\">\\r\\n                                <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Calificación</label>\\r\\n                            </div>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormGuardar.controls.calificacion.valid || (FormGuardar.controls.calificacion.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introduzca una calificación\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\" style=\\\"margin-top: 20px\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"vigencia\\\" maxlength=\\\"40\\\">\\r\\n                                <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Vigencia</label>\\r\\n                            </div>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormGuardar.controls.vigencia.valid || (FormGuardar.controls.vigencia.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introduzca una vigencia\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-6 col-md-6 col-sm-12 col-12 form-group\\\">\\r\\n                            <small>Fecha de certificado</small>\\r\\n                            <my-date-picker formControlName=\\\"fechacertificado\\\" [placeholder]=\\\"\\\"></my-date-picker>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormGuardar.controls.fechacertificado.valid || (FormGuardar.controls.fechacertificado.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introduzca una fecha\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cancelar()\\\">Cancelar</button>\\r\\n                    <button class=\\\"btn principal\\\" type=\\\"submit\\\">Guardar</button>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/certificaciones/certificaciones.component.html\n// module id = 1396\n// module chunks = 3","module.exports = \"<div class=\\\"col-sm-12\\\">\\r\\n    <p><b>Contactos de emergencia</b></p>\\r\\n</div>\\r\\n<div class=\\\"col-sm-12\\\">\\r\\n    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n        <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n            <thead>\\r\\n                <tr style=\\\"color: white;\\\">\\r\\n                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                        Nombre completo\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Teléfono\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                        Parentesco\\r\\n                    </th>\\r\\n                </tr>\\r\\n            </thead>\\r\\n            <tbody>\\r\\n                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of contactos\\\">\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.nombre}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.telefono}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.parentescoid.descripcion}}</p>\\r\\n                    </td>\\r\\n                </tr>\\r\\n            </tbody>\\r\\n        </table>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"col-sm-12\\\" [hidden]=\\\"!nuevo\\\">\\r\\n    <form [formGroup]=\\\"Formareamedia\\\">\\r\\n        <div formGroupName=\\\"otrocontacto\\\">\\r\\n            <areamedicaluxcomponent\\r\\n                *ngFor=\\\"let item of Formareamedia.controls.otrocontacto.controls; let i=index; trackBy: trackById;\\\"\\r\\n                [Formareamedia]=\\\"item\\\" [i]=\\\"i\\\" [selectParentesco]=\\\"selectParentesco\\\" [submitted]=\\\"submitted\\\"\\r\\n                [currencyMask]=\\\"currencyMask\\\" \\r\\n                (eliminarcontacto)=\\\"eliminarcontacto($event)\\\">\\r\\n            </areamedicaluxcomponent>\\r\\n    \\r\\n    \\r\\n        </div>\\r\\n        <div  *ngIf=\\\"nuevo\\\">\\r\\n            <button class=\\\"btn btn-default\\\" (click)=\\\"addareamedica();\\\" *ngIf=\\\"seguridad.accesos.Contactoagregar\\\">\\r\\n                <span class=\\\"fa fa-plus\\\"></span>\\r\\n                <span style=\\\"margin-left: 5px\\\"> Agregar otro contacto </span>\\r\\n            </button>\\r\\n        </div>\\r\\n    </form>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/contactosemergencia/contactosemergencia.component.html\n// module id = 1397\n// module chunks = 3","module.exports = \"<div class=\\\"row\\\" [ngClass]=\\\"nuevo && seguridad.accesos.Custodiaagregar? '' : 'soloLectura'\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <section class=\\\"widget\\\">\\r\\n            <div class=\\\"widget-body\\\">\\r\\n                <fieldset>\\r\\n                    <legend></legend>\\r\\n                    <form [formGroup]=\\\"FormGuardar\\\" novalidate (ngSubmit)=\\\"guardar()\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-sm-12 col-md-4 col-lg-4 form-group\\\">\\r\\n                            <small>Custodia</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"custodia\\\"\\r\\n                                placeholder=\\\"Custodia\\\" [options]=\\\"select.BooleanSelect\\\" labelField=\\\"nombre\\\"\\r\\n                                (selectedOptionChange)=\\\"IsCustodia($event)\\\"\\r\\n                                valueField=\\\"id\\\" #custodiaselect>\\r\\n                                <sui-select-option *ngFor=\\\"let option of custodiaselect.filteredOptions\\\"\\r\\n                                    [value]=\\\"option\\\">\\r\\n                                </sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.custodia.valid || (FormGuardar.controls.custodia.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Seleccione una opción\\r\\n                        </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-12 col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top: 20px;\\\" *ngIf=\\\"mostrarcustodia\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"custodiapersona\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Persona que tiene su custodia</label>\\r\\n                            </div>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormGuardar.controls.custodiapersona.valid || (FormGuardar.controls.custodiapersona.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introduzca una persona\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-12 col-md-4 col-lg-4 form-group\\\" style=\\\"margin-top: 20px;\\\" *ngIf=\\\"mostrarcustodia\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"custodiaoficio\\\" [textMask]=\\\"{mask: numberMask, guide: false}\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Número de oficio</label>\\r\\n                            </div>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormGuardar.controls.custodiaoficio.valid || (FormGuardar.controls.custodiaoficio.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introduzca un número de oficio\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    </form>\\r\\n                </fieldset>\\r\\n            </div>\\r\\n        </section>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/custodia/custodia.component.html\n// module id = 1398\n// module chunks = 3","module.exports = \"<div class=\\\"col-sm-12\\\">\\r\\n    <p><b>DATOS DEL ALUMNO</b></p>\\r\\n    <br>\\r\\n</div>\\r\\n<form [formGroup]=\\\"Formdatosalumno\\\" (ngSubmit)=\\\"Editar();\\\"\\r\\n    [ngClass]=\\\"nuevo && seguridad.accesos.Datosgeneraleseditar ? '' : 'soloLectura'\\\">\\r\\n    <div class=\\\"col-sm-12\\\" style=\\\"margin-top: 25px;\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-3 col-sm-6 col-md-6\\\">\\r\\n                <div style=\\\"padding-top: 25px\\\">\\r\\n                    <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" required formControlName=\\\"primernombre\\\"> <span class=\\\"highlight\\\"></span>\\r\\n                        <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                        <small\\r\\n                            [hidden]=\\\"Formdatosalumno.controls.primernombre.valid || (Formdatosalumno.controls.primernombre.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un nombre\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div style=\\\"padding-top: 25px\\\">\\r\\n                    <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" required formControlName=\\\"apellidopaterno\\\"> <span class=\\\"highlight\\\"></span>\\r\\n                        <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Apellido paterno</label>\\r\\n                        <small\\r\\n                            [hidden]=\\\"Formdatosalumno.controls.apellidopaterno.valid || (Formdatosalumno.controls.apellidopaterno.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un apellido paterno\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <br>\\r\\n                <div>\\r\\n                    <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" required formControlName=\\\"apellidomaterno\\\"> <span class=\\\"highlight\\\"></span>\\r\\n                        <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Apellido materno</label>\\r\\n                        <small\\r\\n                            [hidden]=\\\"Formdatosalumno.controls.apellidomaterno.valid || (Formdatosalumno.controls.apellidomaterno.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un apellido materno\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-sm-6 col-md-6\\\">\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <small>Fecha de nacimiento</small>\\r\\n                    <my-date-picker formControlName=\\\"fechanacimiento\\\" [placeholder]=\\\"\\\"></my-date-picker>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.fechanacimiento.valid || (Formdatosalumno.controls.fechanacimiento.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Ingrese una fecha de nacimiento\\r\\n                    </small>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <small>Edad actual</small>\\r\\n                    <p id=\\\"edadactual\\\">{{EdadActual}}</p>\\r\\n                </div>\\r\\n                <div class=\\\"form-group\\\">\\r\\n                    <div class=\\\"group\\\" style=\\\"margin-top:20px\\\">\\r\\n                        <input type=\\\"text\\\" required formControlName=\\\"curp\\\"> <span class=\\\"highlight\\\"></span> <span\\r\\n                            class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">CURP</label>\\r\\n                        <small\\r\\n                            [hidden]=\\\"Formdatosalumno.controls.curp.valid || (Formdatosalumno.controls.curp.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            CURP invalido\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-sm-6 col-md-6\\\">\\r\\n                <small>Nacionalidad</small>\\r\\n                <sui-multi-select class=\\\"selection\\\" style=\\\"width: 100%\\\" formControlName=\\\"nacionalidadid\\\"\\r\\n                    placeholder=\\\"Nacionalidad\\\" [options]=\\\"select.SelectNacionalidad\\\" labelField=\\\"nombre\\\"\\r\\n                    valueField=\\\"nacionalidadid\\\" #nacionalidadselect>\\r\\n                    <div class=\\\"ui icon search input\\\">\\r\\n                        <i class=\\\"search icon\\\"></i>\\r\\n                        <input suiSelectSearch type=\\\"text\\\">\\r\\n                    </div>\\r\\n                    <div class=\\\"divider\\\"></div>\\r\\n                    <sui-select-option *ngFor=\\\"let option of nacionalidadselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                    </sui-select-option>\\r\\n                </sui-multi-select>\\r\\n                <small\\r\\n                    [hidden]=\\\"Formdatosalumno.controls.nacionalidadid.valid || (Formdatosalumno.controls.nacionalidadid.pristine && !submitted)\\\"\\r\\n                    style=\\\"color: red\\\">\\r\\n                    Seleccione una nacionalidad\\r\\n                </small>\\r\\n\\r\\n                <p style=\\\"height: 15px;\\\"></p>\\r\\n\\r\\n                <small>Género</small>\\r\\n                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"sexo\\\" placeholder=\\\"Género\\\"\\r\\n                    [options]=\\\"select.GeneroSelect\\\" labelField=\\\"nombre\\\" valueField=\\\"id\\\" #generoselect>\\r\\n                    <sui-select-option *ngFor=\\\"let option of generoselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                    </sui-select-option>\\r\\n                </sui-select>\\r\\n                <small\\r\\n                    [hidden]=\\\"Formdatosalumno.controls.sexo.valid || (Formdatosalumno.controls.sexo.pristine && !submitted)\\\"\\r\\n                    style=\\\"color: red\\\">\\r\\n                    Seleccione un genero\\r\\n                </small>\\r\\n                <p style=\\\"height: 33px\\\"></p>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-sm-6 col-md-6\\\">\\r\\n                <div class=\\\"col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n\\r\\n                        <div>\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-sm-6 col-md-4 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input formControlName=\\\"lada\\\" lada #lada1> <span class=\\\"highlight\\\"></span>\\r\\n                                        <span class=\\\"bar\\\"></span> <label class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                        <small\\r\\n                                            [hidden]=\\\"Formdatosalumno.controls.lada.valid || (Formdatosalumno.controls.lada.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introduzca una lada valida\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                                <div class=\\\"col-sm-6 col-md-8 form-group\\\">\\r\\n                                    <div class=\\\"group\\\">\\r\\n                                        <input formControlName=\\\"celular\\\" [phonenumber]=\\\"{lada: lada1.value}\\\"> <span\\r\\n                                            class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                            class=\\\"MaterialLabel\\\">Télefono</label>\\r\\n                                        <small\\r\\n                                            [hidden]=\\\"Formdatosalumno.controls.celular.valid || (Formdatosalumno.controls.celular.pristine && !submitted)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introduzca un télefono valido\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"row\\\">\\r\\n                            <div class=\\\"col-sm-12 col-md-12  col-lg-12 form-group\\\">\\r\\n                                <div class=\\\"group\\\" style=\\\"margin-top: 27px\\\">\\r\\n                                    <input type=\\\"text\\\" formControlName=\\\"correoelectronicoper\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Correo electrónico personal</label>\\r\\n                                    <small\\r\\n                                        [hidden]=\\\"Formdatosalumno.controls.correoelectronicoper.valid || (Formdatosalumno.controls.correoelectronicoper.pristine && !submitted)\\\"\\r\\n                                        style=\\\"color: red\\\">\\r\\n                                        Correo invalido\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                            <div class=\\\"col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" formControlName=\\\"correoelectronicoint\\\"> <span\\r\\n                                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                        class=\\\"MaterialLabel\\\">Correo institucional</label>\\r\\n                                    <small\\r\\n                                        [hidden]=\\\"Formdatosalumno.controls.correoelectronicoint.valid || (Formdatosalumno.controls.correoelectronicoint.pristine && !submitted)\\\"\\r\\n                                        style=\\\"color: red\\\">\\r\\n                                        Correo invalido\\r\\n                                    </small>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n\\r\\n    <div class=\\\"col-sm-12 col-lg-12 col-md-12\\\" style=\\\"margin-top:25px;\\\">\\r\\n        <p><b>LUGAR DE NACIMIENTO</b></p>\\r\\n        <br>\\r\\n        <div>\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-lg-3 col-md-6 col-sm-12\\\">\\r\\n                    <small>País</small>\\r\\n                    <sui-select class=\\\"selection\\\" style=\\\"width: 100%\\\" formControlName=\\\"paisid\\\" placeholder=\\\"País\\\"\\r\\n                        [options]=\\\"select.SelectPaisFull\\\" (selectedOptionChange)=\\\"getEstado($event)\\\" labelField=\\\"nombre\\\"\\r\\n                        valueField=\\\"paisid\\\" #paisselectmodal>\\r\\n                        <div class=\\\"ui icon search input\\\">\\r\\n                            <i class=\\\"search icon\\\"></i>\\r\\n                            <input suiSelectSearch type=\\\"text\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"divider\\\"></div>\\r\\n                        <sui-select-option *ngFor=\\\"let option of paisselectmodal.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                        </sui-select-option>\\r\\n                    </sui-select>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.paisid.valid || (Formdatosalumno.controls.paisid.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione un país\\r\\n                    </small>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-3 col-md-6 col-sm-12\\\">\\r\\n                    <small>Estado</small>\\r\\n                    <sui-select class=\\\"selection\\\" style=\\\"width: 100%\\\" formControlName=\\\"estadoid\\\" placeholder=\\\"Estado\\\"\\r\\n                        [options]=\\\"SelectEstado\\\" (selectedOptionChange)=\\\"getCiudad($event)\\\" labelField=\\\"nombre\\\"\\r\\n                        valueField=\\\"estadoid\\\" #estado2select>\\r\\n                        <div class=\\\"ui icon search input\\\">\\r\\n                            <i class=\\\"search icon\\\"></i>\\r\\n                            <input suiSelectSearch type=\\\"text\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"divider\\\"></div>\\r\\n                        <sui-select-option *ngFor=\\\"let option of estado2select.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                        </sui-select-option>\\r\\n                    </sui-select>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.estadoid.valid || (Formdatosalumno.controls.estadoid.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione un estado\\r\\n                    </small>\\r\\n                </div>\\r\\n                <div class=\\\"col-lg-3 col-md-6 col-sm-12\\\">\\r\\n                    <small>Ciudad</small>\\r\\n                    <sui-select class=\\\"selection\\\" style=\\\"width: 100%\\\" formControlName=\\\"ciudadid\\\" placeholder=\\\"Ciudad\\\"\\r\\n                        [options]=\\\"SelectCiudad\\\" labelField=\\\"nombre\\\" valueField=\\\"municipioid\\\" #ciudad2select>\\r\\n                        <div class=\\\"ui icon search input\\\">\\r\\n                            <i class=\\\"search icon\\\"></i>\\r\\n                            <input suiSelectSearch type=\\\"text\\\">\\r\\n                        </div>\\r\\n                        <div class=\\\"divider\\\"></div>\\r\\n                        <sui-select-option *ngFor=\\\"let option of ciudad2select.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                        </sui-select-option>\\r\\n                    </sui-select>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.ciudadid.valid || (Formdatosalumno.controls.ciudadid.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione una ciudad\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <!-- <div class=\\\"col-sm-12\\\" style=\\\"margin-top: 35px;\\\">\\r\\n        <p><b>CONTACTO EMERGENCIA</b></p>\\r\\n        <br>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-lg-3 col-sm-6 col-md-6\\\"  style=\\\"padding-top: 27px\\\">\\r\\n                <div class=\\\"group\\\">\\r\\n                    <input type=\\\"text\\\" required formControlName=\\\"nombrecompleto\\\"> <span\\r\\n                        class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                        class=\\\"MaterialLabel\\\">Nombre completo</label>\\r\\n                    <small [hidden]=\\\"Formdatosalumno.controls.nombrecompleto.valid || (Formdatosalumno.controls.nombrecompleto.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                        Ingrese un nombre\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-sm-6 col-md-6\\\">\\r\\n\\r\\n                <div style=\\\"margin-top: 25px;\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-sm-6 col-md-4 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input   formControlName=\\\"lada2\\\"  lada> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Lada</label>\\r\\n                                <small [hidden]=\\\"Formdatosalumno.controls.lada2.valid || (Formdatosalumno.controls.lada2.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese una lada valida\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-6 col-md-8 form-group\\\" >\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input [(ngModel)]=\\\"telefono2\\\"  formControlName=\\\"celular2\\\" [phonenumber]=\\\"{ lada:lada2}\\\"> <span\\r\\n                                    class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                    class=\\\"MaterialLabel\\\">Télefono</label>\\r\\n                                <small [hidden]=\\\"Formdatosalumno.controls.celular2.valid || (Formdatosalumno.controls.celular2.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                                    Ingrese un télefono valido\\r\\n                                </small>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-sm-6 col-md-6\\\">\\r\\n                <small>Relación con el alumno</small>\\r\\n                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"\\r\\n                            id=\\\"relacionalumnoid\\\"\\r\\n                            formControlName=\\\"relacionalumnoid\\\"\\r\\n                            placeholder=\\\"Relación alumno\\\"\\r\\n                            [options]=\\\"select.SelectParentesco\\\"\\r\\n                            labelField=\\\"descripcion\\\"\\r\\n                            valueField=\\\"parentescoid\\\"\\r\\n                            #relacionalumnoselect>\\r\\n                    <sui-select-option *ngFor=\\\"let option of relacionalumnoselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>\\r\\n                </sui-select>\\r\\n                <small [hidden]=\\\"Formdatosalumno.controls.relacionalumnoid.valid || (Formdatosalumno.controls.relacionalumnoid.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                    Seleccione una relación con el alumno\\r\\n                </small>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div> -->\\r\\n    <p style=\\\"height: 15px\\\"></p>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <p><b>SITUACIÓN ACTUAL</b></p>\\r\\n        <br>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\">\\r\\n                <small>Estatus</small>\\r\\n                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"estatusid\\\" placeholder=\\\"Estatus\\\"\\r\\n                    [options]=\\\"select.SelectEstatus\\\" [isDisabled]=\\\"true\\\" labelField=\\\"nombre\\\"\\r\\n                    valueField=\\\"alumnoestatusid\\\" #estatus2select>\\r\\n                    <sui-select-option *ngFor=\\\"let option of estatus2select.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                    </sui-select-option>\\r\\n                </sui-select>\\r\\n                <small\\r\\n                    [hidden]=\\\"Formdatosalumno.controls.estatusid.valid || (Formdatosalumno.controls.estatusid.pristine && !submitted)\\\"\\r\\n                    style=\\\"color: red\\\">\\r\\n                    Seleccione un estatus\\r\\n                </small>\\r\\n                <br>\\r\\n                <br>\\r\\n                <small>Permite reingreso futuro</small>\\r\\n                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"reingresofuturo\\\"\\r\\n                    placeholder=\\\"Reingreso futuro\\\" [options]=\\\"select.BooleanSelect\\\" labelField=\\\"nombre\\\" valueField=\\\"id\\\"\\r\\n                    #reingreso1select>\\r\\n                    <sui-select-option *ngFor=\\\"let option of reingreso1select.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                    </sui-select-option>\\r\\n                </sui-select>\\r\\n                <small\\r\\n                    [hidden]=\\\"Formdatosalumno.controls.reingresofuturo.valid || (Formdatosalumno.controls.reingresofuturo.pristine && !submitted)\\\"\\r\\n                    style=\\\"color: red\\\">\\r\\n                    Seleccione una opción\\r\\n                </small>\\r\\n                <br>\\r\\n                <br>\\r\\n                <div class=\\\"form-group\\\" [hidden]=\\\"sistema == 1\\\">\\r\\n                    <p align=\\\"left\\\" style=\\\"margin-top: 10px;\\\">\\r\\n                        <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" id=\\\"hijopersonal\\\" formControlName=\\\"hijopersonal\\\" />\\r\\n                        <label class=\\\"checkLabel\\\" for=\\\"hijopersonal\\\" style=\\\"color: #757575;\\\">Hijo de personal</label>\\r\\n                    </p>\\r\\n                </div>\\r\\n                <div class=\\\"form-group \\\" style=\\\"margin-top: 15px;\\\" *ngIf=\\\"mostrarnumeronomina\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-sm-10\\\">\\r\\n                            <div class=\\\"form-group\\\">\\r\\n                                <div class=\\\"group\\\">\\r\\n                                    <input type=\\\"text\\\" required formControlName=\\\"nonomina\\\" (change)=\\\"buscarProfesor()\\\">\\r\\n                                    <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                    <label class=\\\"MaterialLabel\\\">No. Nomina</label>\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <b>{{nombreprofesor}}</b>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.nonomina.valid || (Formdatosalumno.controls.nonomina.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Introduzca un número de nomina.\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\" id=\\\"gruponolista\\\">\\r\\n                <small>Grupo</small>\\r\\n                <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"grupoid\\\" placeholder=\\\"Grupo\\\"\\r\\n                    [options]=\\\"select.SelectGrupo\\\" [isDisabled]=\\\"true\\\" labelField=\\\"nombre\\\" valueField=\\\"grupoid\\\"\\r\\n                    #gruposelect>\\r\\n                    <sui-select-option *ngFor=\\\"let option of gruposelect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                    </sui-select-option>\\r\\n                </sui-select>\\r\\n                <p style=\\\"height: 30px\\\"></p>\\r\\n                <small>Número de lista</small>\\r\\n                <p style=\\\"margin-top:5px;\\\">{{Formdatosalumno.controls.nolista.value}}</p>\\r\\n            </div>\\r\\n            <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\">\\r\\n                <small>Fecha de ingreso</small>\\r\\n                <my-date-picker formControlName=\\\"fechaingreso\\\" id=\\\"fechaingreso\\\" [placeholder]=\\\"\\\" [disabled]=\\\"true\\\">\\r\\n                </my-date-picker>\\r\\n                <small\\r\\n                    [hidden]=\\\"Formdatosalumno.controls.fechaingreso.valid || (Formdatosalumno.controls.fechaingreso.pristine && !submitted)\\\"\\r\\n                    style=\\\"color: red\\\">\\r\\n                    Ingrese una fecha de ingreso\\r\\n                </small>\\r\\n                <div\\r\\n                    [hidden]=\\\"estatus2select.selectedOption ? estatus2select.selectedOption.alumnoestatusid == 1 : false\\\">\\r\\n                    <small>Fecha de egreso</small>\\r\\n                    <my-date-picker formControlName=\\\"fechaegreso\\\" [disabled]=\\\"true\\\" [placeholder]=\\\"\\\"></my-date-picker>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.fechaegreso.valid || (Formdatosalumno.controls.fechaegreso.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Ingrese una fecha de egreso\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\"\\r\\n                [hidden]=\\\"estatus2select.selectedOption ? estatus2select.selectedOption.alumnoestatusid == 1 : false\\\">\\r\\n                <div>\\r\\n                    <small>Tipo de baja</small>\\r\\n                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"tipobajaid\\\"\\r\\n                        placeholder=\\\"Tipo baja\\\" [options]=\\\"select.SelectTipobaja\\\" [isDisabled]=\\\"true\\\"\\r\\n                        (selectedOptionChange)=\\\"getMotivobaja($event)\\\" labelField=\\\"nombre\\\" valueField=\\\"tipobajaid\\\"\\r\\n                        #tipobajaselect>\\r\\n                        <sui-select-option *ngFor=\\\"let option of tipobajaselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                        </sui-select-option>\\r\\n                    </sui-select>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.tipobajaid.valid || (Formdatosalumno.controls.tipobajaid.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione un tipo de baja\\r\\n                    </small>\\r\\n                </div>\\r\\n                <div>\\r\\n                    <small>Motivo de baja</small>\\r\\n                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"motivobajaid\\\"\\r\\n                        placeholder=\\\"Motivo baja\\\" [options]=\\\"SelectMotivobaja\\\" labelField=\\\"nombre\\\" [isDisabled]=\\\"true\\\"\\r\\n                        valueField=\\\"motivobajaid\\\" #motivobajaselect>\\r\\n                        <sui-select-option *ngFor=\\\"let option of motivobajaselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                        </sui-select-option>\\r\\n                    </sui-select>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.motivobajaid.valid || (Formdatosalumno.controls.motivobajaid.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione un motivo de baja\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n\\r\\n    <div class=\\\"col-sm-12\\\" style=\\\"margin-top: 15px\\\">\\r\\n        <p><b>INTERCAMBIO</b></p>\\r\\n        <br>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <div class=\\\"row\\\">\\r\\n            <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\">\\r\\n                <div style=\\\"margin-top:5px;\\\">\\r\\n                    <small>Intercambio</small>\\r\\n                    <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"intercambio\\\"\\r\\n                        placeholder=\\\"Intercambio\\\" (selectedOptionChange)=\\\"isIntercambio($event)\\\"\\r\\n                        [options]=\\\"select.BooleanSelect\\\" labelField=\\\"nombre\\\" valueField=\\\"id\\\" #idiomaselect>\\r\\n                        <sui-select-option *ngFor=\\\"let option of idiomaselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                        </sui-select-option>\\r\\n                    </sui-select>\\r\\n                    <small\\r\\n                        [hidden]=\\\"Formdatosalumno.controls.intercambio.valid || (Formdatosalumno.controls.intercambio.pristine && !submitted)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione una opción\\r\\n                    </small>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\" [hidden]=\\\"!intercambio\\\">\\r\\n                <small>Fecha inicio</small>\\r\\n                <my-date-picker formControlName=\\\"fechainicio\\\" [placeholder]=\\\"\\\"></my-date-picker>\\r\\n                <small\\r\\n                    [hidden]=\\\"Formdatosalumno.controls.fechainicio.valid || (Formdatosalumno.controls.fechainicio.pristine && !submitted)\\\"\\r\\n                    style=\\\"color: red\\\">\\r\\n                    Ingrese una fecha de inicio\\r\\n                </small>\\r\\n            </div>\\r\\n            <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\" [hidden]=\\\"!intercambio\\\">\\r\\n                <small>Fecha fin</small>\\r\\n                <my-date-picker formControlName=\\\"fechafin\\\" [placeholder]=\\\"\\\"></my-date-picker>\\r\\n                <small\\r\\n                    [hidden]=\\\"Formdatosalumno.controls.fechafin.valid || (Formdatosalumno.controls.fechafin.pristine && !submitted)\\\"\\r\\n                    style=\\\"color: red\\\">\\r\\n                    Ingrese una fecha fin\\r\\n                </small>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\" [hidden]=\\\"!intercambio\\\">\\r\\n        <b>Observaciones</b>\\r\\n        <div class=\\\"group inputResponsive\\\">\\r\\n            <textarea rows=\\\"5\\\" style=\\\"border: solid 1px #ccc;\\\" formControlName=\\\"observaciones\\\"></textarea>\\r\\n        </div>\\r\\n        <small\\r\\n            [hidden]=\\\"Formdatosalumno.controls.observaciones.valid || (Formdatosalumno.controls.observaciones.pristine && !submitted)\\\"\\r\\n            style=\\\"color: red\\\">\\r\\n            Introduzca las observaciones\\r\\n        </small>\\r\\n    </div>\\r\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/datosgenerales/datosgenerales.component.html\n// module id = 1399\n// module chunks = 3","module.exports = \"<div class=\\\"col-sm-12\\\">\\r\\n    <b>EXTRAORDINARIOS DEL ALUMNO POR CICLO</b>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"col-sm-12\\\">\\r\\n    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n        <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n            <thead>\\r\\n                <tr style=\\\"color: white;\\\">\\r\\n                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                        Ciclo\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Nivel\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Grado\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Grupo\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Profesor titular\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Estatus\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Tipo de baja\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Motivo de baja\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                        Detalle\\r\\n                    </th>\\r\\n                </tr>\\r\\n            </thead>\\r\\n            <tbody>\\r\\n                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytabla\\\">\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.ciclo}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.nivel}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.grado}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.grupo}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.profesor ? c.profesor : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.estatusalumnociclo? c.estatusalumnociclo : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.tipobaja? c.tipobaja : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.motivobaja? c.motivobaja : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\" (click)=\\\"getPeriodos(c)\\\">\\r\\n                        <a>\\r\\n                            <li class=\\\"fa fa-eye\\\"></li>\\r\\n                        </a>\\r\\n                    </td>\\r\\n                </tr>\\r\\n\\r\\n\\r\\n            </tbody>\\r\\n        </table>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #modalextraordinarios=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Detalle de extraordinarios</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-sm-12\\\">\\r\\n                        <div class=\\\"col-sm-12 form-group\\\">\\r\\n                            <form [formGroup]=\\\"FormAlumno\\\" (ngSubmit)=\\\"buscarExtraordinario()\\\">\\r\\n                                <div class=\\\"row\\\">\\r\\n                                    <div class=\\\"col-sm-12 col-md-6 col-lg-4\\\">\\r\\n                                        <small>Periodo de regularización</small>\\r\\n                                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"periodoregularizacionid\\\"\\r\\n                                            placeholder=\\\"Periodo de regularización\\\" [options]=\\\"selectPeriodo\\\" labelField=\\\"nombre\\\"\\r\\n                                            valueField=\\\"periodoregularizacionid\\\" #periodoselect>\\r\\n                                            <sui-select-option *ngFor=\\\"let option of periodoselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                                            </sui-select-option>\\r\\n                                        </sui-select>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-lg-12 col-sm-12 col-12\\\">\\r\\n                                        <button class=\\\"btn principal\\\" type=\\\"submit\\\" style=\\\"float: right;\\\">Consultar</button>\\r\\n                                        <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"limpiar()\\\"\\r\\n                                            style=\\\"float: right; margin-right: 10px;\\\">Limpiar</button>\\r\\n                        \\r\\n                                    </div>\\r\\n                                </div>\\r\\n                            </form>\\r\\n                        </div>\\r\\n                        <fieldset>\\r\\n                            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                                style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                                <table datatable [dtOptions]=\\\"dtOptions\\\" [dtTrigger]=\\\"dtTrigger\\\"\\r\\n                                    class=\\\"table table-hover\\\" id=\\\"tabla\\\">\\r\\n                                    <thead>\\r\\n                                        <tr style=\\\"color: #fff;\\\">\\r\\n                                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                Ciclo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Nivel\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Grado\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Materia\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Estatus\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Motivo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Faltas\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Calif ultimo parcial\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Promedio\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 1 Tipo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 1 Real\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 1 Definitiva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 2 Tipo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 2 Real\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 2 Definitiva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 3 Tipo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 3 Real\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Op 3 Definitiva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                               Calificación\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                Acciones\\r\\n                                            </th>\\r\\n                                        </tr>\\r\\n                                    </thead>\\r\\n                                    <tbody>\\r\\n                                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayentidad\\\">\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.ciclo}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.nivel}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.grado}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.materia}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.estatus? c.estatus : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.motivo? c.motivo : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.faltas}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.calificacionultimoparcial}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.promedio}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op1tipo? c.op1tipo : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op1real? c.op1real : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op1definitiva? c.op1definitiva : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op2tipo? c.op2tipo : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op2real? c.op2real : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op2definitiva? c.op2definitiva : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op3tipo? c.op3tipo : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op3real? c.op3real : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.op3definitiva? c.op3definitiva : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.calificaciondefinitiva}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p><a (click)=\\\"verAcuerdos(c)\\\"><i class=\\\"fa fa-eye fa-lg\\\"\\r\\n                                                            aria-hidden=\\\"true\\\"></i></a></p>\\r\\n                                            </td>\\r\\n                                        </tr>\\r\\n                                    </tbody>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </fieldset>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrarExtraordinarios()\\\">Cerrar</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<!-- MODAL ACUERDOS-->\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #acuerdos=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Detalle del registro</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <div>\\r\\n                    <p>{{matriculamodal}} {{alumnomodal}}</p>\\r\\n                </div>\\r\\n                <br>\\r\\n                <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px;\\\">\\r\\n                    <table datatable [dtOptions]=\\\"dtOptions2\\\" [dtTrigger]=\\\"dtTriggerAcuerdos\\\" class=\\\"table table-hover\\\"\\r\\n                        id=\\\"tablaAcuerdos\\\">\\r\\n                        <thead>\\r\\n                            <tr style=\\\"color: #fff;\\\">\\r\\n                                <th class=\\\"text-center headerTable-top-left\\\">Ciclo</th>\\r\\n                                <th class=\\\"text-center headerTable\\\">Nivel</th>\\r\\n                                <th class=\\\"text-center headerTable\\\">Grado</th>\\r\\n                                <th class=\\\"text-center headerTable\\\">Materia</th>\\r\\n                                <th class=\\\"text-center headerTable\\\">Oportunidad</th>\\r\\n                                <th class=\\\"text-center headerTable\\\">Estatus</th>\\r\\n                                <th class=\\\"text-center headerTable\\\">Tipo</th>\\r\\n                                <th class=\\\"text-center headerTable\\\">Periodo de regularización</th>\\r\\n                                <th class=\\\"text-center headerTable-top-right\\\">Acordado por</th>\\r\\n                            </tr>\\r\\n                        </thead>\\r\\n\\r\\n                        <tbody>\\r\\n                            <tr *ngFor=\\\"let a of acuerdosmodal\\\">\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{ciclomodal}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{nivelmodal}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{gradomodal}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{materiamodal}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{a.intento}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{a.estatusacuerdo}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{a.tipo}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{a.periodo}}</p>\\r\\n                                </td>\\r\\n                                <td class=\\\"text-center\\\">\\r\\n                                    <p>{{a.acordadopor}}</p>\\r\\n                                </td>\\r\\n                            </tr>\\r\\n                        </tbody>\\r\\n\\r\\n                    </table>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrar()\\\">Cerrar</button>\\r\\n\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/extraordinarios/extraordinarios.component.html\n// module id = 1400\n// module chunks = 3","module.exports = \"<div [hidden]=\\\"editarAlumno\\\">\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <p><b>PADRES Y/O TUTORES</b></p>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <div class=\\\"md-chip white\\\" (click)=\\\"openPadretutor({}); accion=false;\\\" style=\\\"margin-top: 10px;\\\"\\r\\n            [hidden]=\\\"!nuevo\\\" *ngIf=\\\"seguridad.accesos.Familiaagregar\\\">\\r\\n            <a> <span class=\\\"md-chip-text\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa fa-plus\\\"></i>\\r\\n                </span>\\r\\n                <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n            </a>\\r\\n        </div>\\r\\n        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n            <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n                <thead>\\r\\n                    <tr style=\\\"color: white;\\\">\\r\\n                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                            Nombre\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Ap. Paterno\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Ap. Materno\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Parentesco\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Celular\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Correo\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Miembro colegio jesuita\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Escuela jesuita\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Personal {{sistema == 2 ? 'PER' : 'LUX'}} \\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                            Acciones\\r\\n                        </th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytablafamilias\\\">\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.nombre}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.apellidopaterno}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.apellidomaterno}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.parentesco}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.celular ? c.celular : c.telefono}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.correo}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{miembrojesuita(c.exlux)}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.especificaralumno}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.especificaralumno}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <a (click)=\\\"openPadretutor(c)\\\">\\r\\n                                <li\\r\\n                                    [ngClass]=\\\"(nuevo && seguridad.accesos.Familiaeditar) ? 'fa fa-pencil' : 'fa fa-eye'\\\">\\r\\n                                </li>\\r\\n                            </a>\\r\\n                        </td>\\r\\n                    </tr>\\r\\n                </tbody>\\r\\n            </table>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <p><b>HERMANOS ALUMNOS</b></p>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n            <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n                <thead>\\r\\n                    <tr style=\\\"color: white;\\\">\\r\\n                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                            Matrícula\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Nombre\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Ap. Paterno\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Ap. Materno\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            CURP\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Edad\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Estatus\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Nivel\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Grado\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Hijo de personal\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                            Acciones\\r\\n                        </th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytablahermanos\\\">\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.matricula}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.primernombre}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.apellidopaterno}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.apellidomaterno}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.curp}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.fechanacimiento ? calculateAge(c.fechanacimiento): ''}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.estatus}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.nivel}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.grado}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.hijopersonal? \\\"SI\\\" : \\\"NO\\\"}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <a (click)=\\\"compoenete(c)\\\">\\r\\n                                <li\\r\\n                                    [ngClass]=\\\"(nuevo && seguridad.accesos.Familiaeditar) ? 'fa fa-pencil' : 'fa fa-eye'\\\">\\r\\n                                </li>\\r\\n                            </a>\\r\\n                        </td>\\r\\n                    </tr>\\r\\n                </tbody>\\r\\n            </table>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <p><b>DOMICILIO ACTUAL</b></p>\\r\\n        <p style=\\\"height: 30px\\\"></p>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <form [formGroup]=\\\"FormGuardar\\\">\\r\\n            <div class=\\\"row\\\">\\r\\n                <div class=\\\"col-sm-12 col-md-3\\\">\\r\\n                    <div class=\\\"col-lg-12 form-group\\\" style=\\\"padding-top: 25px;\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <label for=\\\"cp\\\" class=\\\"LabelMaterial \\\">Código postal</label>\\r\\n                            <input type=\\\"text\\\" required formControlName=\\\"cp\\\" [textMask]=\\\"{mask: maskCP, guide:false}\\\" #cp pattern=\\\"[0-9]{5}\\\" (focusout)=\\\"cambiarCP($event, true)\\\"> <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                        </div>\\r\\n                        <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.cp.valid || (FormGuardar.controls.cp.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un cp valido\\r\\n                        </small>\\r\\n                    </div>\\r\\n                    <br>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <label for=\\\"estadoid\\\" class=\\\"LabelMaterialSelect\\\">Colonia</label>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" id=\\\"colonia\\\" formControlName=\\\"colonia\\\"\\r\\n                                placeholder=\\\"Colonia\\\" [options]=\\\"SelectColonia\\\" labelField=\\\"nombre\\\" valueField=\\\"nombre\\\"\\r\\n                                #coloniaselect>\\r\\n                                <sui-select-option *ngFor=\\\"let option of coloniaselect.filteredOptions\\\"\\r\\n                                    [value]=\\\"option\\\">\\r\\n                                </sui-select-option>\\r\\n                            </sui-select>\\r\\n                        </div>\\r\\n                        <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.colonia.valid || (FormGuardar.controls.colonia.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Seleccione una colonia\\r\\n                        </small>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\" style=\\\"margin-top: 20px\\\" [hidden]=\\\"FormGuardar.controls.colonia.value != 'Otra'\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <label for=\\\"cp\\\" class=\\\"LabelMaterial \\\">Otra colonia</label>\\r\\n                            <input type=\\\"text\\\"  formControlName=\\\"otracolonia\\\"> <span class=\\\"highlight\\\"></span>\\r\\n                            <span class=\\\"bar\\\"></span>\\r\\n                        </div>\\r\\n                        <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.otracolonia.valid || (FormGuardar.controls.otracolonia.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca una colonia\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 col-md-3\\\">\\r\\n                    <div class=\\\"col-sm-12\\\">\\r\\n                        <label for=\\\"estadoid\\\" class=\\\"LabelMaterialSelect\\\">Estado</label>\\r\\n                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" id=\\\"estadoid\\\" formControlName=\\\"estadoid\\\"\\r\\n                            placeholder=\\\"Estado\\\" [options]=\\\"SelectEstado\\\" (selectedOptionChange)=\\\"getCiudad($event)\\\"\\r\\n                            labelField=\\\"nombre\\\" valueField=\\\"estadoid\\\" #estadoselect>\\r\\n                            <sui-select-option *ngFor=\\\"let option of estadoselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                            </sui-select-option>\\r\\n                        </sui-select>\\r\\n                        <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.estadoid.valid || (FormGuardar.controls.estadoid.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Seleccione un estado\\r\\n                        </small>\\r\\n                    </div>\\r\\n                    <br>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\" style=\\\"margin-top: 30px;\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <label for=\\\"calle\\\" class=\\\"LabelMaterial \\\">Calle</label>\\r\\n                            <input type=\\\"text\\\" required formControlName=\\\"calle\\\"> <span class=\\\"highlight\\\"></span> <span\\r\\n                                class=\\\"bar\\\"></span>\\r\\n                        </div>\\r\\n                        <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.calle.valid || (FormGuardar.controls.calle.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca una calle\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 col-md-3\\\">\\r\\n                    <div class=\\\"col-sm-12\\\">\\r\\n                        <label for=\\\"ciudadid\\\" class=\\\"LabelMaterialSelect\\\">Ciudad</label>\\r\\n                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" id=\\\"ciudadid\\\" formControlName=\\\"ciudadid\\\"\\r\\n                            placeholder=\\\"Ciudad\\\" [options]=\\\"SelectCiudad\\\" labelField=\\\"nombre\\\"\\r\\n                            (selectedOptionChange)=\\\"getColonia($event)\\\" valueField=\\\"municipioid\\\" #ciudadselect>\\r\\n                            <sui-select-option *ngFor=\\\"let option of ciudadselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                            </sui-select-option>\\r\\n                        </sui-select>\\r\\n                        <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.ciudadid.valid || (FormGuardar.controls.ciudadid.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Seleccione una ciudad\\r\\n                        </small>\\r\\n                    </div>\\r\\n                    <br>\\r\\n                    <div class=\\\"col-lg-12 form-group\\\" style=\\\"margin-top: 30px;\\\">\\r\\n                        <div class=\\\"group\\\" style=\\\"padding-top: 7px\\\">\\r\\n                            <label for=\\\"noexterior\\\" class=\\\"LabelMaterial \\\">Número exterior</label>\\r\\n                            <input type=\\\"text\\\" required formControlName=\\\"noexterior\\\"> <span class=\\\"highlight\\\"></span>\\r\\n                            <span class=\\\"bar\\\"></span>\\r\\n                        </div>\\r\\n                        <small\\r\\n                            [hidden]=\\\"FormGuardar.controls.noexterior.valid || (FormGuardar.controls.noexterior.pristine && !submitted)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un número exterior\\r\\n                        </small>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"col-sm-12 col-md-3\\\" style=\\\"margin-top: 30px;\\\">\\r\\n                    <div class=\\\"col-lg-12 form-group\\\" style=\\\"padding-top: 90px\\\" id=\\\"nointerior\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <label for=\\\"noexterior\\\" class=\\\"LabelMaterial \\\">Número interior</label>\\r\\n                            <input type=\\\"text\\\"  formControlName=\\\"nointerior\\\"> <span class=\\\"highlight\\\"></span>\\r\\n                            <span class=\\\"bar\\\"></span>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n        </form>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <p><b>PERSONAS AUTORIZADAS PARA RECOGER AL ALUMNO</b></p>\\r\\n    </div>\\r\\n    <div class=\\\"col-sm-12\\\">\\r\\n        <div class=\\\"md-chip white\\\" (click)=\\\"modalparentesco.show(); accion=false;\\\" style=\\\"margin-top: 10px;\\\"\\r\\n            [hidden]=\\\"!nuevo\\\" *ngIf=\\\"seguridad.accesos.Familiaagregar\\\">\\r\\n            <a> <span class=\\\"md-chip-text\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa fa-plus\\\"></i>\\r\\n                </span>\\r\\n                <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">Agregar</p>\\r\\n            </a>\\r\\n        </div>\\r\\n        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n            <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n                <thead>\\r\\n                    <tr style=\\\"color: white;\\\">\\r\\n                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                            Nombre\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable\\\">\\r\\n                            Parentesco\\r\\n                        </th>\\r\\n                        <th class=\\\"text-center headerTable headerTable-top-right\\\">\\r\\n                            Vigencia\\r\\n                        </th>\\r\\n                    </tr>\\r\\n                </thead>\\r\\n                <tbody>\\r\\n                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytablapersonas\\\">\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.personaautorizadarecogerid.nombre}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>{{c.personaautorizadarecogerid.parentescoid.descripcion}}</p>\\r\\n                        </td>\\r\\n                        <td class=\\\"text-center\\\">\\r\\n                            <p>Pendiente a definir</p>\\r\\n                        </td>\\r\\n                    </tr>\\r\\n                </tbody>\\r\\n            </table>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #modalparentesco=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-sm\\\">\\r\\n        <div class=\\\"modal-content modal-sm\\\">\\r\\n            <form [formGroup]=\\\"FormPersona\\\" novalidate (ngSubmit)=\\\"Savepersonarecoge()\\\">\\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Agrega persona autorizada a recoger</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <div class=\\\"group\\\">\\r\\n                                <input type=\\\"text\\\" required formControlName=\\\"nombre\\\">\\r\\n                                <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n                            </div>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormPersona.controls.nombre.valid || (FormPersona.controls.nombre.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Introduzca un nombre\\r\\n                            </small>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <small>Parentesco</small>\\r\\n                            <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" formControlName=\\\"parentescoid\\\"\\r\\n                                placeholder=\\\"Parentesco\\\" [options]=\\\"select.SelectParentesco\\\" labelField=\\\"descripcion\\\"\\r\\n                                valueField=\\\"parentescoid\\\" #parentesco2select>\\r\\n                                <sui-select-option *ngFor=\\\"let option of parentesco2select.filteredOptions\\\"\\r\\n                                    [value]=\\\"option\\\"></sui-select-option>\\r\\n                            </sui-select>\\r\\n                            <small\\r\\n                                [hidden]=\\\"FormPersona.controls.parentescoid.valid || (FormPersona.controls.parentescoid.pristine && !submitted)\\\"\\r\\n                                style=\\\"color: red\\\">\\r\\n                                Seleccione una opción\\r\\n                            </small>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cancelar()\\\">Cancelar</button>\\r\\n                    <button class=\\\"btn principal\\\" type=\\\"submit\\\">Guardar</button>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div #containerTutor></div>\\r\\n\\r\\n<div #container></div>\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    style=\\\"background: rgba(0,0,0,0.5);\\\" #modalHermano=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog\\\">\\r\\n        <div class=\\\"modal-content\\\">\\r\\n\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <h3 class=\\\"text-uppercase\\\">Hermanos</h3>\\r\\n                </h4>\\r\\n            </div>\\r\\n\\r\\n            <div class=\\\"modal-body\\\" style=\\\"padding: 0px !important;\\\">\\r\\n\\r\\n                <form id=\\\"hermanoForm\\\" [formGroup]=\\\"FormHermano\\\">\\r\\n                    <div class=\\\"form-group row\\\" style=\\\"margin-top: 30px; padding-left: 15px; padding-right: 15px;\\\">\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n\\r\\n                            <!-- Nombre -->\\r\\n                            <div class=\\\"row\\\">\\r\\n                                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n\\r\\n\\r\\n                                    <div class=\\\"group \\\">\\r\\n                                        <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" required formControlName=\\\"Nombre\\\"\\r\\n                                            name=\\\"nombreHermano\\\">\\r\\n\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Nombre</label>\\r\\n\\r\\n                                        <small\\r\\n                                            [hidden]=\\\"FormHermano.controls.Nombre.valid || (FormHermano.controls.Nombre.pristine && !summittedTutor)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introduzca un nombre\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"rowSeperador\\\"></div>\\r\\n\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <!-- Apellido paterno -->\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n\\r\\n\\r\\n                                    <div class=\\\"group \\\">\\r\\n                                        <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" required\\r\\n                                            formControlName=\\\"ApellidoPaterno\\\" name=\\\"apepaternoHermano\\\">\\r\\n\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Apellido Paterno</label>\\r\\n\\r\\n                                        <small\\r\\n                                            [hidden]=\\\"FormHermano.controls.ApellidoPaterno.valid || (FormHermano.controls.ApellidoPaterno.pristine && !summittedTutor)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introduzca un apellido\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"rowSeperador hidden-lg-up\\\"></div>\\r\\n\\r\\n                                <!-- Apellido materno -->\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n\\r\\n\\r\\n                                    <div class=\\\"group \\\">\\r\\n                                        <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" required\\r\\n                                            formControlName=\\\"ApellidoMaterno\\\" name=\\\"apepaternoMaterno\\\">\\r\\n\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Apellido Materno</label>\\r\\n\\r\\n                                        <small\\r\\n                                            [hidden]=\\\"FormHermano.controls.ApellidoMaterno.valid || (FormHermano.controls.ApellidoMaterno.pristine && !summittedTutor)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introduzca un apellido\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                            </div>\\r\\n\\r\\n                            <div class=\\\"rowSeperador\\\"></div>\\r\\n\\r\\n                            <!-- CURP y Edad -->\\r\\n                            <div class=\\\"row\\\">\\r\\n\\r\\n                                <!-- CURP-->\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12\\\" [hidden]=\\\"sistema == 2\\\">\\r\\n\\r\\n\\r\\n                                    <div class=\\\"group \\\">\\r\\n                                        <input class=\\\"\\\" type=\\\"text\\\" required formControlName=\\\"CURP\\\" uppercase\\r\\n                                            name=\\\"curp\\\"\\r\\n                                            pattern=\\\"([A-Z][AEIOUX][A-Z]{2}\\\\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\\\\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\\\\d])(\\\\d)\\\">\\r\\n\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">CURP</label>\\r\\n\\r\\n                                        <small\\r\\n                                            [hidden]=\\\"FormHermano.controls.ApellidoMaterno.valid || (FormHermano.controls.ApellidoMaterno.pristine && !summittedTutor)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introduzca un apellido\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n\\r\\n                                <div class=\\\"rowSeperador hidden-lg-up\\\" [hidden]=\\\"sistema == 2\\\"></div>\\r\\n\\r\\n                                <!-- Edad -->\\r\\n                                <div class=\\\"col-lg-6 col-md-12 col-sm-12 col-xs-12\\\">\\r\\n\\r\\n                                    <div class=\\\"group \\\">\\r\\n                                        <input class=\\\"textoMayuscula\\\" numbers pattern=\\\"[1-9]{1}[0-9]?[0-9]?\\\" required\\r\\n                                            formControlName=\\\"Edad\\\" name=\\\"edad\\\"\\r\\n                                            [textMask]=\\\"{mask:numberMaskNoComma, guide: false}\\\">\\r\\n\\r\\n                                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                                        <label class=\\\"MaterialLabel\\\">Edad</label>\\r\\n\\r\\n                                        <small\\r\\n                                            [hidden]=\\\"FormHermano.controls.Edad.valid || (FormHermano.controls.Edad.pristine && !summittedTutor)\\\"\\r\\n                                            style=\\\"color: red\\\">\\r\\n                                            Introduzca una edad\\r\\n                                        </small>\\r\\n                                    </div>\\r\\n\\r\\n                                </div>\\r\\n                            </div>\\r\\n                        </div>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n                </form>\\r\\n\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default btnBase\\\" type=\\\"button\\\" (click)=\\\"closeHermano()\\\"\\r\\n                    id=\\\"btnCerrarPAR\\\">Cancelar</button>\\r\\n                <button class=\\\"btn principal\\\" type=\\\"submit\\\" (click)=\\\"GuardarHermano()\\\">Guardar</button>\\r\\n            </div>\\r\\n\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/familia/familia.component.html\n// module id = 1401\n// module chunks = 3","module.exports = \"<div class=\\\"col-sm-12\\\">\\r\\n    <b>CICLOS EN LOS QUE HA ESTADO INSCRITO EL ALUMNO</b>\\r\\n    <span class=\\\"md-chip white\\\" style=\\\"margin-top: 10px;width: auto;\\\" [hidden]=\\\"true\\\">\\r\\n        <a> <span class=\\\"md-chip-text\\\"> <i style=\\\"color: #898989;\\\" class=\\\"fa fa-copy\\\"></i>\\r\\n            </span>\\r\\n            <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">HISTORIAL ACADÉMICO GENERAL</p>\\r\\n        </a>\\r\\n    </span>\\r\\n</div>\\r\\n<div class=\\\"col-sm-12\\\">\\r\\n    <div class=\\\"controls form-group\\\">\\r\\n        <button type=\\\"button\\\" class=\\\"btn btn-control old\\\" (click)=\\\"downloadCalificaciones()\\\"><i class=\\\"fa fa-download\\\"></i><span> Kardex</span></button>\\r\\n    </div>\\r\\n    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n        <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n            <thead>\\r\\n                <tr style=\\\"color: white;\\\">\\r\\n                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                        <input (change)=\\\"onCheckAll()\\\"\\r\\n                            [(ngModel)]=\\\"checkall\\\"\\r\\n                            class=\\\"labelCheckBox\\\"\\r\\n                            type=\\\"checkbox\\\"\\r\\n                            id=\\\"hiac_check_all\\\" />\\r\\n                        <label class=\\\"checkLabel\\\" for=\\\"hiac_check_all\\\" style=\\\"top: -0.5em !important\\\"></label>\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Ciclo\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Nivel\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Grado\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Grupo\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Profesor titular\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Estatus\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Tipo de baja\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Motivo de baja\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Calificaciones\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                        Reportes\\r\\n                    </th>\\r\\n                </tr>\\r\\n            </thead>\\r\\n            <tbody>\\r\\n                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytabla; let i=index\\\">\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>\\r\\n                            <input type=\\\"checkbox\\\" class=\\\"labelCheckBox\\\" [(ngModel)]=\\\"c.checked\\\" [id]=\\\"'hiac_check_'+i\\\">\\r\\n                            <label class=\\\"checkLabel\\\" [for]=\\\"'hiac_check_'+i\\\"></label>\\r\\n                        </p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.ciclo}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.nivel}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.grado}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.grupo}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.profesor ? c.profesor : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.estatusalumnociclo? c.estatusalumnociclo : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.tipobaja? c.tipobaja : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.motivobaja? c.motivobaja : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <a>\\r\\n                            <li class=\\\"fa fa-eye\\\" (click)=\\\"openCalificaciones(c)\\\"></li>\\r\\n                        </a>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\" (click)=\\\"openReportedisciplina(c)\\\">\\r\\n                        <a>\\r\\n                            <li class=\\\"fa fa-eye\\\"></li>\\r\\n                        </a>\\r\\n                    </td>\\r\\n                </tr>\\r\\n            </tbody>\\r\\n        </table>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #modalCalificacion=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Reporte de calificaciones</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-12\\\">\\r\\n                        <section class=\\\"widget\\\">\\r\\n                            <header>\\r\\n                                <h1> Calificaciones </h1>\\r\\n                            </header>\\r\\n                            <div class=\\\"widget-body\\\">\\r\\n                                <fieldset>\\r\\n                                    <div class=\\\"col-sm-12\\\">\\r\\n                                        <div style=\\\"float: right;\\\" *ngIf=\\\"alumno && datosalumno\\\">\\r\\n                                            <b style=\\\"float: right\\\"> {{datosalumno.ciclo? datosalumno.ciclo : ''}}</b>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <div class=\\\"col-sm-12\\\" *ngIf=\\\"alumno && datosalumno\\\">\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div style=\\\"float:left\\\" style=\\\"padding-top: 15px\\\">\\r\\n                                                <b\\r\\n                                                    style=\\\"float: left\\\">{{alumno.matricula + ' - ' + alumno.primernombre + ' ' + (alumno.apellidopaterno? alumno.apellidopaterno\\r\\n                                                    : \\\"\\\") + ' ' + (alumno.apellidomaterno? alumno.apellidomaterno : \\\"\\\")}}</b>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                        <div style=\\\"float: right;\\\" style=\\\"padding-top: 15px;\\\">\\r\\n                                            <b style=\\\"float: right\\\">\\r\\n                                                {{this.datosalumno.grado ? this.datosalumno.nivel + ' ' + this.datosalumno.grado : ''}}</b>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n                                    <br>\\r\\n                                    <button class=\\\"btn btn-default\\\" *ngIf=\\\"alumno\\\" type=\\\"button\\\"\\r\\n                                        (click)=\\\"imprimirboleta()\\\">Imprimir boleta</button>\\r\\n                                    <br>\\r\\n                                    <div class=\\\"col-sm-12\\\" [hidden]=\\\"!mostrar\\\">\\r\\n                                        <div class=\\\"row\\\">\\r\\n                                            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                                                style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                                                <table class=\\\"table table-hover\\\" id=\\\"tabla2\\\">\\r\\n                                                    <thead>\\r\\n                                                        <tr style=\\\"color: #fff;\\\">\\r\\n                                                            <th class=\\\"text-center headerTable-top-left\\\"\\r\\n                                                                style=\\\"margin-bottom: 5px;\\\">\\r\\n                                                                Materia\\r\\n                                                            </th>\\r\\n                                                            <th class=\\\"text-center headerTable\\\"\\r\\n                                                                *ngFor=\\\"let c of arraycolumnas; let i = index\\\">\\r\\n                                                                <p>{{c.nombre}}</p>\\r\\n                                                            </th>\\r\\n                                                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                                Bitacora\\r\\n                                                            </th>\\r\\n                                                        </tr>\\r\\n                                                    </thead>\\r\\n                                                    <tbody>\\r\\n                                                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraymateriasr\\\"\\r\\n                                                            [ngStyle]=\\\"{'font-weight': c.id == '_prop_' ? 'bold' : '' }\\\">\\r\\n                                                            <td class=\\\"text-center\\\" >\\r\\n                                                                <p>{{(!c.curricular && c.id != '_prop_' ? '* ' : '') + c.nombre}}</p>\\r\\n\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"text-center\\\" *ngFor=\\\"let x of arraycolumnas\\\">\\r\\n                                                                <p>\\r\\n                                                                    {{ getDataXY(c, x) }}\\r\\n                                                                </p>\\r\\n                                                            </td>\\r\\n                                                            <td class=\\\"text-center\\\">\\r\\n                                                                <button *ngIf=\\\"c.id != '_prop_'\\\" (click)=\\\"openBitacora(c.nombre, c.bitacora);\\\"><i class=\\\"fa fa-eye\\\"></i></button>\\r\\n\\r\\n                                                            </td>\\r\\n                                                        </tr>\\r\\n                                                    </tbody>\\r\\n                                                </table>\\r\\n                                            </div>\\r\\n                                        </div>\\r\\n                                    </div>\\r\\n\\r\\n                                </fieldset>\\r\\n                            </div>\\r\\n                        </section>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"modalCalificacion.hide()\\\">Cerrar</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #modalReporte=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Reporte de disciplina</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-sm-12\\\" id=\\\"alumnos\\\">\\r\\n                        <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                            style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                            <table datatable [dtOptions]=\\\"dtOptions3\\\" [dtTrigger]=\\\"dtTrigger2\\\" class=\\\"table table-hover\\\"\\r\\n                                id=\\\"tablaReportedis\\\">\\r\\n                                <thead>\\r\\n                                    <tr style=\\\"color: white;\\\">\\r\\n                                        <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                            Fecha\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Matrícula\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Alumno\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Tipo\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable\\\">\\r\\n                                            Observaciones\\r\\n                                        </th>\\r\\n                                        <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                            Registrado por\\r\\n                                        </th>\\r\\n                                    </tr>\\r\\n                                </thead>\\r\\n                                <tbody>\\r\\n                                    <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayentidad; let i = index\\\">\\r\\n                                        <td class=\\\"text-center\\\" style=\\\"width: 5%\\\">\\r\\n                                            <p style=\\\"display: none;\\\">{{c.fecha}}</p>\\r\\n                                            {{c.fechaformat}}\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.alumnoporcicloid.alumnoid.matricula}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{ (c.alumnoporcicloid.alumnoid.primernombre?c.alumnoporcicloid.alumnoid.primernombre : '') + ' ' +\\r\\n                                                  (c.alumnoporcicloid.alumnoid.apellidopaterno?c.alumnoporcicloid.alumnoid.apellidopaterno : '') + ' ' +\\r\\n                                                  (c.alumnoporcicloid.alumnoid.apellidomaterno?c.alumnoporcicloid.alumnoid.apellidomaterno : '') \\r\\n                                                 }}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.tiporeporteid.nombre}}</p>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p id=\\\"export{{c.observaciones}}\\\"\\r\\n                                                [innerHTML]=\\\"c.observaciones | slice:0:20\\\"></p>\\r\\n                                            <a (click)=\\\"expandir($event,c.observaciones)\\\" *ngIf=\\\"c.observaciones\\\"><i\\r\\n                                                    class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"></i></a>\\r\\n                                        </td>\\r\\n                                        <td class=\\\"text-center\\\">\\r\\n                                            <p>{{c.usuarioid.cuenta}}</p>\\r\\n                                        </td>\\r\\n                                    </tr>\\r\\n                                </tbody>\\r\\n                            </table>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"modal-footer\\\">\\r\\n                <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"modalReporte.hide()\\\">Cerrar</button>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #modalBitacora=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <form>\\r\\n                <div class=\\\"modal-header\\\">\\r\\n                    <h4 class=\\\"modal-title\\\">\\r\\n                        <strong>Materia / Submateria</strong>\\r\\n                    </h4>\\r\\n                </div>\\r\\n                <div class=\\\"modal-body\\\">\\r\\n                    <fieldset>\\r\\n                        <table>\\r\\n                            <thead>\\r\\n                                <tr>\\r\\n                                    <th>Ciclo</th>\\r\\n                                    <th>Alumno</th>\\r\\n                                    <th>Nivel</th>\\r\\n                                    <th>Grado</th>\\r\\n                                    <th>Grupo</th>\\r\\n                                    <th>Materia</th>\\r\\n                                </tr>\\r\\n                            </thead>\\r\\n                            <tbody *ngIf=\\\"datosalumno\\\">\\r\\n                                <tr>\\r\\n                                    <td width=\\\"10%\\\"><h5>{{datosalumno.ciclo}}</h5></td>\\r\\n                                    <td width=\\\"25%\\\"><h5>{{alumno.matricula + ' - ' + alumno.primernombre + ' ' + (alumno.apellidopaterno? alumno.apellidopaterno\\r\\n                                        : \\\"\\\") + ' ' + (alumno.apellidomaterno? alumno.apellidomaterno : \\\"\\\")}}</h5></td>\\r\\n                                    <td width=\\\"10%\\\"><h5>{{datosalumno.nivel}}</h5></td>\\r\\n                                    <td width=\\\"10%\\\"><h5>{{datosalumno.grado}}</h5></td>\\r\\n                                    <td width=\\\"10%\\\"><h5>{{datosalumno.grupo}}</h5></td>\\r\\n                                    <td width=\\\"15%\\\"><h5>{{materianombre}}</h5></td>\\r\\n                                    <td width=\\\"5%\\\"></td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                        <legend></legend>\\r\\n                    </fieldset>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-sm-12\\\">\\r\\n                            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                                style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                                <table datatable [dtOptions]=\\\"dtOptions\\\" [dtTrigger]=\\\"dtTriggertbitacoracal\\\"\\r\\n                                    class=\\\"table table-hover\\\" id=\\\"tablaBitacora\\\">\\r\\n                                    <thead>\\r\\n                                        <tr style=\\\"color: #fff;\\\">\\r\\n                                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                Criterio evaluación\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Núm de captura\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Captura anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Captura nueva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Calif periodo anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Calif periodo nueva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Calif final anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Calif final nueva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Opción anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Opción nueva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Opción promedio anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Opción promedio nueva\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Comentario anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Comentario nuevo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Usuario\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Fecha\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Hora\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                Folio edición extemporánea\\r\\n                                            </th>\\r\\n                                        </tr>\\r\\n                                    </thead>\\r\\n                                    <tbody>\\r\\n                                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraycalbitacora\\\">\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.criterioevaluacion}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.numerocaptura}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.capturaanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.capturanuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.calperiodoanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.calperiodonuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.calfinalanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.calfinalnuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.opcperiodoanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.opcperiodonuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.opcfinalanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.opcfinalnuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.comperiodoanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.comperiodonuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.nombreusuario}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.fechaformatted}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.hora}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.folioedicionextemporanea}}\\r\\n                                            </td>\\r\\n                                        </tr>\\r\\n                                    </tbody>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-12\\\" style=\\\"margin-top: 20px;\\\" [hidden]=\\\"!bitacoraalumno\\\">\\r\\n                            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                                style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                                <table datatable [dtOptions]=\\\"dtOptions3\\\" [dtTrigger]=\\\"dtTriggertbitacoracalAlumno\\\"\\r\\n                                    class=\\\"table table-hover\\\" id=\\\"tablaBitacoraAlumno\\\">\\r\\n                                    <thead>\\r\\n                                        <tr style=\\\"color: #fff;\\\">\\r\\n                                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                Ciclo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Alumno\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Nivel\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Grado\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Asistencia anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Asistencia nuevo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Comentario anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Comentario nuevo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Tarea solicitada anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Tarea solicitada nuevo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Tarea entregada anterior\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Tarea entregada nuevo\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Usuario\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Fecha\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                Hora\\r\\n                                            </th>\\r\\n                                        </tr>\\r\\n                                    </thead>\\r\\n                                    <tbody>\\r\\n                                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraycalbitacoraAlumno\\\">\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.ciclo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.alumno}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.nivel}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.grado}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.asistenciaanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.asistencianuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.comanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.comnuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.tareasolicitadaanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.tareasolicitadanuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.tareaentregadaanterior}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.tareaentregadanuevo}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.nombreusuario}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.fechaformatted}}\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                {{c.hora}}\\r\\n                                            </td>\\r\\n                                        </tr>\\r\\n                                    </tbody>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cerrarBitacora()\\\">Cerrar</button>\\r\\n                </div>\\r\\n            </form>\\r\\n        </div>\\r\\n    </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialacademico/historialacademico.component.html\n// module id = 1402\n// module chunks = 3","module.exports = \"<div class=\\\"col-sm-12\\\">\\r\\n  <b>ESTADO DE CUENTA</b>\\r\\n  <span  class=\\\"md-chip white\\\" (click)=\\\"estadocuenta();\\\"\\r\\n          style=\\\"margin-top: 10px;width: auto;\\\">\\r\\n      <a> <span class=\\\"md-chip-text\\\"> <i\\r\\n                  style=\\\"color: #898989;\\\" class=\\\"fa fa-copy\\\"></i>\\r\\n          </span>\\r\\n          <p style=\\\"margin-top: 5px; margin-left: 30px;\\\">IMPRIMIR</p>\\r\\n      </a>\\r\\n  </span>\\r\\n</div>\\r\\n<div class=\\\"col-sm-12\\\">\\r\\n  <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n      <table  class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n          <thead>\\r\\n          <tr style=\\\"color: white;\\\">\\r\\n              <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                  Concepto\\r\\n              </th>\\r\\n              <th class=\\\"text-center headerTable\\\">\\r\\n                  Fecha vencimiento\\r\\n              </th>\\r\\n              <th class=\\\"text-center headerTable \\\">\\r\\n                  Días de atraso\\r\\n              </th>\\r\\n              <th class=\\\"text-center headerTable\\\">\\r\\n                  Importe\\r\\n              </th>\\r\\n              <th class=\\\"text-center headerTable\\\">\\r\\n                Descuento\\r\\n            </th>\\r\\n              <th class=\\\"text-center headerTable\\\">\\r\\n                  Recargos\\r\\n              </th>\\r\\n              <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                  Por pagar\\r\\n              </th>\\r\\n          </tr>\\r\\n          </thead>\\r\\n          <tbody>\\r\\n          <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytabla\\\">\\r\\n              <td class=\\\"text-center\\\">\\r\\n                  <p>{{c.concepto}}</p>\\r\\n              </td>\\r\\n              <td class=\\\"text-center\\\">\\r\\n                  <p>{{c.fechavencimiento}}</p>\\r\\n              </td>\\r\\n              <td class=\\\"text-center\\\">\\r\\n                  <p>{{c.diasatraso}}</p>\\r\\n              </td>\\r\\n              <td class=\\\"text-center\\\">\\r\\n                  <p>{{c.importe | currency:'MXN':true}}</p>\\r\\n              </td>\\r\\n              <td class=\\\"text-center\\\">\\r\\n                <p>{{c.descuento | currency:'MXN':true}}</p>\\r\\n            </td>\\r\\n              <td class=\\\"text-center\\\">\\r\\n                  <p>{{c.recargo | currency:'MXN':true}}</p>\\r\\n              </td>\\r\\n              <td class=\\\"text-center\\\">\\r\\n                  <p>{{c.total | currency:'MXN':true}}</p>\\r\\n              </td>\\r\\n          </tr>\\r\\n          </tbody>\\r\\n      </table>\\r\\n  </div>\\r\\n</div>\\r\\n\\r\\n<div #containerAlumno></div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/historialfinanciero/historialfinanciero.component.html\n// module id = 1403\n// module chunks = 3","module.exports = \"<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-lg-12\\\">\\r\\n        <section class=\\\"widget\\\">\\r\\n            <div class=\\\"widget-body\\\">\\r\\n                <fieldset>\\r\\n                    <legend></legend>\\r\\n                    <div class=\\\"col-sm-12\\\">\\r\\n                        <h4><b>Horario ciclo actual</b></h4>\\r\\n                    </div>\\r\\n                </fieldset>\\r\\n                <fieldset>\\r\\n                    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                        style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                        <table class=\\\"table table-hover tabler-border\\\"\\r\\n                            id=\\\"tabla\\\">\\r\\n                            <tbody *ngFor=\\\"let c of datosBecas\\\">\\r\\n                                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let cc of c.horarios; let i = index\\\">\\r\\n                                    <td [attr.rowspan]=\\\"c.horarios.length\\\" style=\\\"vertical-align : middle;text-align:center;\\\" *ngIf=\\\"i == 0\\\" class=\\\"text-center\\\">\\r\\n                                        <p><b style=\\\"text-shadow: 0px 0px #000;\\\">{{c.dia}}</b></p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p><b style=\\\"text-shadow: 0px 0px #000;\\\">{{cc.hora}}</b></p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p><b style=\\\"text-shadow: 0px 0px #000;\\\">{{cc.materia}}</b></p>\\r\\n                                        <p>{{cc.salon}}</p>\\r\\n                                    </td>\\r\\n                                    <td class=\\\"text-center\\\">\\r\\n                                        <p><b style=\\\"text-shadow: 0px 0px #000;\\\">{{cc.profesor}}</b></p>\\r\\n                                        <p>{{cc.grupo}}</p>\\r\\n                                    </td>\\r\\n                                </tr>\\r\\n                            </tbody>\\r\\n                        </table>\\r\\n                    </div>\\r\\n                </fieldset>\\r\\n            </div>\\r\\n        </section>\\r\\n    </div>\\r\\n</div>\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/horario/horario.component.html\n// module id = 1404\n// module chunks = 3","module.exports = \"<style>\\r\\n.nav-tabs > .nav-item .nav-link{\\r\\n    min-height: 70px;\\r\\n}\\r\\n.nav-tabs-responsive { overflow-x: auto; overflow-y: hidden; }\\r\\n</style>\\r\\n<div class=\\\"row\\\">\\r\\n    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n        <div class=\\\"row\\\" *ngIf=\\\"alumno && !nuevo\\\">\\r\\n            <div class=\\\"col-lg-3 col-md-6 col-sm-6 col-12 form-group\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Matrícula</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p> {{alumno.matricula}}</p>\\r\\n                        </div>\\r\\n                    </div>   \\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"alumno.nivelid == 4\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Matrícula DGB</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p>{{alumno.matriculadgb}}</p>\\r\\n                        </div>\\r\\n                    </div>                      \\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Nombre</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p>{{alumno.primernombre  + \\\" \\\" + alumno.apellidopaterno + \\\" \\\" + alumno.apellidomaterno}}</p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Estatus</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p>{{alumno.estatus}}</p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-md-6 col-sm-6 col-12 form-group\\\">\\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Nivel</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p >{{alumno.nivel}}</p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Grado</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p >{{alumno.grado}}</p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Grupo</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-lg-8 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p >{{alumno.grupo}}</p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"alumno.motivobaja && alumno.alumnoestatusid == 2\\\">\\r\\n                        <div class=\\\"col-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Tipo de baja</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-6 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p >{{alumno.tipobaja}}</p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                    <div class=\\\"row\\\" *ngIf=\\\"alumno.motivobaja  && alumno.alumnoestatusid == 2\\\">\\r\\n                        <div class=\\\"ccol-lg-4 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p><b>Motivo de baja</b></p>\\r\\n                        </div>\\r\\n                        <div class=\\\"col-sm-6 col-sm-5 col-md-5 col-6 form-group\\\">\\r\\n                            <p >{{alumno.motivobaja}}</p>\\r\\n                        </div>\\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-2 col-md-6 col-sm-6 col-12 form-group\\\"  *ngIf=\\\"alumno\\\"> \\r\\n                <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\">\\r\\n                    <div class=\\\"row\\\">\\r\\n                        <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-12 form-group\\\">\\r\\n                            <img (click)=\\\"openAlumnofotos()\\\" src=\\\"{{alumno.foto}}\\\" width=\\\"120px\\\" height=\\\"120px\\\" style=\\\"cursor: pointer;\\\">\\r\\n                        </div>  \\r\\n                    </div>\\r\\n                </div>\\r\\n            </div>\\r\\n            <div class=\\\"col-lg-3 col-md-6 col-sm-6 col-12 form-group\\\" style=\\\"background: rgb(255, 221, 110); border: 1px solid rgb(255, 206, 70); padding-top: 30px; padding-left: 30px\\\" *ngIf=\\\"alumno.custodiapersona\\\">\\r\\n                <h4>Custodia</h4>\\r\\n                <div class=\\\"row\\\" *ngIf=\\\"!editarcustodia\\\">\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                        <p><b>Persona que tiene su custodia</b></p>\\r\\n                        <p>{{alumno.custodiapersona}}</p>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                        <p><b>Número de oficio</b></p>\\r\\n                        <p>{{alumno.custodiaoficio}}</p>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" [hidden]=\\\"!seguridad.accesos.edicionespecial\\\">\\r\\n                        <button class=\\\"btn btn-default\\\" (click)=\\\"editarCustodia();\\\">EDITAR CUSTODIA</button>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <form class=\\\"row\\\" [formGroup]=\\\"FormCustodia\\\" *ngIf=\\\"editarcustodia\\\">  \\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input type=\\\"text\\\" required formControlName=\\\"custodiapersona\\\"> <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                class=\\\"MaterialLabel\\\">Persona que tiene su custodia</label>\\r\\n                        </div> \\r\\n                        <small [hidden]=\\\"FormCustodia.controls.custodiapersona.valid || (FormCustodia.controls.custodiapersona.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                            Ingrese una persona\\r\\n                        </small>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input type=\\\"text\\\" required formControlName=\\\"custodiaoficio\\\"> <span\\r\\n                                class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span> <label\\r\\n                                class=\\\"MaterialLabel\\\">Número de oficio</label>\\r\\n                        </div> \\r\\n                        <small [hidden]=\\\"FormCustodia.controls.custodiaoficio.valid || (FormCustodia.controls.custodiaoficio.pristine && !submitted)\\\" style=\\\"color: red\\\">\\r\\n                            Ingrese un número de oficio\\r\\n                        </small>\\r\\n                    </div>\\r\\n                    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12\\\" style=\\\"align: right;\\\">\\r\\n                        <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"cancelarCustodia();\\\">Salir</button>\\r\\n                        <button class=\\\"btn principal\\\" type=\\\"button\\\" (click)=\\\"guardarCustodia();\\\">Guardar</button>\\r\\n                    </div> \\r\\n                </form>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\\r\\n    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" *ngIf=\\\"alumno && seguridad\\\">\\r\\n        <div class=\\\"col-sm-12 nav-tabs-responsive clearfix\\\">\\r\\n            <ul class=\\\"nav nav-tabs\\\" role=\\\"tablist\\\">\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Datosgeneralesconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"datosgeneral\\\"  (click)=\\\"Editar(1);\\\">Datos generales</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Familiaconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"familiar\\\"  (click)=\\\"Editar(2);\\\">Familia</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Contactoconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"datocontacto\\\"  (click)=\\\"Editar(3);\\\">Contactos de emergencia</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\"  *ngIf=\\\"sistema == 1 && seguridad.accesos.Areamedicaconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\" id=\\\"datomedicolux\\\"  (click)=\\\"Editar(4); \\\">Área médica</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"sistema == 2 && seguridad.accesos.Areamedicaconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"datomedicoidec\\\"  (click)=\\\" Editar(4);\\\">Área médica</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"alumno.estatus == 'ACTIVO' && seguridad.accesos.Horarioconsultar \\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"horario\\\"  (click)=\\\"Editar(5);\\\">Horario</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Historialacademicoconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"historialacademico\\\"  (click)=\\\"Editar(9);\\\">Historial académico</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Extraordinariosconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"extraordinarios\\\"  (click)=\\\"Editar(13);\\\">Extraordinarios</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Subgrupostalleresconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"subgrupos\\\"  (click)=\\\"Editar(10);\\\">Subgrupos / Talleres</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Certificacionesconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"certificaciones\\\"  (click)=\\\"Editar(12);\\\">Certificaciones</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Admisionesconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"admisiones\\\"  (click)=\\\"Editar(8);\\\">Admisiones</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Becasconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"becas\\\"  (click)=\\\"Editar(6);\\\">Becas</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Historialconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"historialfinanciero\\\"  (click)=\\\"Editar(11);\\\">Historial financiero</a>\\r\\n                </li>\\r\\n                <li class=\\\"nav-item\\\" *ngIf=\\\"seguridad.accesos.Custodiaconsultar\\\">\\r\\n                    <a style=\\\"font-size: 12px !important; padding: 12px 21px !important;\\\" class=\\\"nav-link\\\"  id=\\\"custodia\\\"  (click)=\\\"Editar(14);\\\">Custodia</a>\\r\\n                </li>\\r\\n            </ul>\\r\\n        </div>                            \\r\\n    </div>\\r\\n    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\">\\r\\n        <div #container></div>\\r\\n    </div>\\r\\n    <div class=\\\"col-12 col-sm-12 col-md-12 col-lg-12 form-group\\\" *ngIf=\\\"alumno \\\">\\r\\n        <button class=\\\"btn principal\\\" type=\\\"button\\\" *ngIf=\\\"agregar\\\" \\r\\n            [hidden]=\\\"!nuevo\\\" (click)=\\\"Editar();\\\" style=\\\"float: right;\\\">Guardar</button>\\r\\n        <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"output.next();\\\" style=\\\"float: right; margin-right: 10px;\\\">Salir</button>                        \\r\\n    </div> \\r\\n</div>\\r\\n<div #containerFotos></div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/modalalumno.component.html\n// module id = 1405\n// module chunks = 3","module.exports = \"<div #modalTutor=\\\"bs-modal\\\" class=\\\"modal fade\\\"  tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\"\\r\\n  bsModal style=\\\"background: rgba(0,0,0,0.5);\\\" [config]=\\\"{'backdrop':false, 'keyboard': false}\\\">\\r\\n  <div class=\\\"modal-dialog modal-lg\\\">\\r\\n    <div class=\\\"modal-content modal-lg\\\">\\r\\n\\r\\n      <div class=\\\"modal-header\\\">\\r\\n        <h4 class=\\\"modal-title\\\">\\r\\n          <strong>Padre o tutor</strong>\\r\\n        </h4>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"row hidden-lg-up\\\">\\r\\n        <div class=\\\"col-sm-12\\\">\\r\\n          <div style=\\\"height: 15px\\\"></div>\\r\\n        </div>\\r\\n      </div>\\r\\n\\r\\n      <div class=\\\"modal-body\\\" style=\\\"padding: 0px !important;\\\">\\r\\n        <form [formGroup]=\\\"FormDatos\\\" id=\\\"formaPT\\\">\\r\\n          <div [ngClass]=\\\"editar ? '' : 'soloLectura'\\\">\\r\\n            <div class=\\\"container\\\">\\r\\n              <div class=\\\"row\\\" style=\\\" padding-left: 15px; padding-right: 15px;\\\">\\r\\n                <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\" style=\\\"display: inline-block !important;\\\">\\r\\n\\r\\n                  <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n\\r\\n                  <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-sm-12\\\">\\r\\n                      <h5>Información básica</h5>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"margenSeparador\\\"></div>\\r\\n                  \\r\\n                  <div class=\\\"row\\\" *ngIf=\\\"!FormDatos.controls.PadresOTutoresId.value\\\">\\r\\n                    <div class=\\\"col-lg-4 col-md-6 col-sm-12 col-xs-12\\\" style=\\\"display: inline-block !important;\\\">\\r\\n                      <small>Familia</small>\\r\\n                      <sui-select style=\\\"width: 100%; \\\" class=\\\"selection\\\" name=\\\"familia\\\"\\r\\n                        placeholder=\\\"Familia\\\" [options]=\\\"familias\\\" [isDisabled]=\\\"lectura\\\" labelField=\\\"familia\\\"\\r\\n                        valueField=\\\"clavefamiliarid\\\" formControlName=\\\"ClaveFamiliarId\\\" #familiastutorselect>\\r\\n                        <div class=\\\"divider\\\" style=\\\"border-color: transparent\\\"></div>  \\r\\n                        <sui-select-option *ngFor=\\\"let option of familiastutorselect.filteredOptions\\\" [value]=\\\"option\\\"></sui-select-option>  \\r\\n                      </sui-select>\\r\\n  \\r\\n                      <small\\r\\n                        [hidden]=\\\"FormDatos.controls.ClaveFamiliarId.valid || (FormDatos.controls.ClaveFamiliarId.pristine && !summittedTutor)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione una familia\\r\\n                      </small>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"margenSeparador\\\" *ngIf=\\\"!FormDatos.controls.PadresOTutoresId.value\\\"></div>\\r\\n\\r\\n                  <div class=\\\"row\\\">\\r\\n\\r\\n                    <!-- Nombre -->\\r\\n                    <div class=\\\"col-lg-4 col-md-12 col-sm-12 col-xs-12\\\" style=\\\"display: inline-block !important;\\\">\\r\\n                      <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"nombreP\\\" [disabled]=\\\"lectura\\\" name=\\\"nombretutor\\\" required\\r\\n                          formControlName=\\\"Nombre\\\" maxlength=\\\"100\\\">\\r\\n                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                        <label class=\\\"MaterialLabel\\\"> Nombre</label>\\r\\n                        <small\\r\\n                          [hidden]=\\\"FormDatos.controls.Nombre.valid || (FormDatos.controls.Nombre.pristine && !summittedTutor)\\\"\\r\\n                          style=\\\"color: red\\\">\\r\\n                          Introduzca un nombre\\r\\n                        </small>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <!-- Apellido Paterno -->\\r\\n                    <div class=\\\"col-lg-4 col-md-12 col-sm-12 col-xs-12\\\" style=\\\"display: inline-block !important;\\\">\\r\\n                      <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"apellidoPaterno\\\" [disabled]=\\\"lectura\\\" name=\\\"nombretutor\\\" required\\r\\n                          formControlName=\\\"ApellidoPaterno\\\" maxlength=\\\"100\\\">\\r\\n                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                        <label class=\\\"MaterialLabel\\\"> Apellido Paterno</label> <small\\r\\n                            [hidden]=\\\"FormDatos.controls.ApellidoPaterno.valid || (FormDatos.controls.ApellidoPaterno.pristine && !summittedTutor)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un apellido\\r\\n                            </small>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <!-- Apellido Materno -->\\r\\n                    <div class=\\\"col-lg-4 col-md-12 col-sm-12 col-xs-12\\\" style=\\\"display: inline-block !important;\\\">\\r\\n                      <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"apellidoMate\\\" [disabled]=\\\"lectura\\\" name=\\\"apellidoMaternoTutor\\\" required\\r\\n                          formControlName=\\\"ApellidoMaterno\\\" maxlength=\\\"100\\\">\\r\\n                        <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                        <label class=\\\"MaterialLabel\\\"> Apellido Materno</label>\\r\\n                        <small\\r\\n                          [hidden]=\\\"FormDatos.controls.ApellidoMaterno.valid || (FormDatos.controls.ApellidoMaterno.pristine && !summittedTutor)\\\"\\r\\n                          style=\\\"color: red\\\">\\r\\n                          Introduzca un apellido\\r\\n                        </small>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                  </div>\\r\\n                  <div class=\\\"row\\\">\\r\\n\\r\\n                    <!-- Lada  -->\\r\\n                    <!--<div class=\\\"col-lg-2 col-md-4 col-sm-4 col-xs-4\\\"\\r\\n                      style=\\\"display: inline-block !important; margin-top: 25px;\\\">\\r\\n                      <div class=\\\"margenTopSelect hidden-md-down\\\"></div>\\r\\n                      <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"ladatutor\\\" lada #lada1 [disabled]=\\\"lectura\\\" maxlength=\\\"40\\\"\\r\\n                          name=\\\"ladaTutor\\\" required formControlName=\\\"Lada\\\"> <span class=\\\"highlight\\\"></span> <span\\r\\n                          class=\\\"bar\\\"></span>\\r\\n                        <label class=\\\"MaterialLabel\\\"> Lada</label>\\r\\n                        <small\\r\\n                          [hidden]=\\\"FormDatos.controls.Lada.valid || (FormDatos.controls.Lada.pristine && !summittedTutor)\\\"\\r\\n                          style=\\\"color: red\\\">\\r\\n                          Introduzca una lada\\r\\n                        </small>\\r\\n                      </div>\\r\\n                    </div> -->\\r\\n\\r\\n                    <!-- Teléfono  -->\\r\\n                    <div class=\\\"col-lg-2 col-md-8 col-sm-8 col-xs-8\\\"\\r\\n                      style=\\\"display: inline-block !important; margin-top: 25px;\\\">\\r\\n                      <div class=\\\"margenTopSelect hidden-md-down\\\"></div>\\r\\n                      <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" [phonenumber]=\\\"{lada: 0}\\\" id=\\\"telefonotutor\\\" [disabled]=\\\"lectura\\\"\\r\\n                          name=\\\"telefonoTutor\\\" maxlength=\\\"40\\\" required formControlName=\\\"Telefono\\\">\\r\\n                        <label class=\\\"MaterialLabel\\\"> Teléfono</label>\\r\\n\\r\\n                        <small\\r\\n                          [hidden]=\\\"FormDatos.controls.Telefono.valid || (FormDatos.controls.Telefono.pristine && !summittedTutor)\\\"\\r\\n                          style=\\\"color: red\\\">\\r\\n                          Introduzca un telefono\\r\\n                        </small>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-lg-2 col-md-8 col-sm-8 col-xs-8\\\"\\r\\n                    style=\\\"display: inline-block !important; margin-top: 25px;\\\">\\r\\n                    <div class=\\\"margenTopSelect hidden-md-down\\\"></div>\\r\\n                    <div class=\\\"group\\\">\\r\\n                      <input type=\\\"text\\\" [phonenumber]=\\\"{lada: 0}\\\" id=\\\"celulartutor\\\" [disabled]=\\\"lectura\\\"\\r\\n                        name=\\\"celularTutor\\\" maxlength=\\\"40\\\" required formControlName=\\\"Celular\\\">\\r\\n                      <label class=\\\"MaterialLabel\\\"> Celular</label>\\r\\n\\r\\n                      <small\\r\\n                        [hidden]=\\\"FormDatos.controls.Celular.valid || (FormDatos.controls.Celular.pristine && !summittedTutor)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Introduzca un celular\\r\\n                      </small>\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                    <!-- Correo  -->\\r\\n                    <div class=\\\"col-lg-4 col-md-12 col-sm-12 col-xs-12\\\"\\r\\n                      style=\\\"display: inline-block !important; margin-top: 25px;\\\">\\r\\n\\r\\n                      <div class=\\\"margenTopSelect hidden-md-down\\\"></div>\\r\\n                      <div class=\\\"group\\\">\\r\\n                        <input type=\\\"text\\\" id=\\\"correo\\\" name=\\\"correotutor\\\" [disabled]=\\\"lectura\\\" maxlength=\\\"40\\\" required\\r\\n                          formControlName=\\\"Correo\\\">\\r\\n                        <label class=\\\"MaterialLabel\\\"> Correo</label>\\r\\n\\r\\n                        <small\\r\\n                          [hidden]=\\\"FormDatos.controls.Correo.valid || (FormDatos.controls.Correo.pristine && !summittedTutor)\\\"\\r\\n                          style=\\\"color: red\\\">\\r\\n                          Introduzca un correo\\r\\n                        </small>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                    <!-- Parentesco  -->\\r\\n                    <div class=\\\"col-lg-4 col-md-12 col-sm-12 col-xs-12\\\" style=\\\"display: inline-block !important;\\\">\\r\\n                      <div class=\\\"margenTopSelect hidden-md-down\\\"></div>\\r\\n                      <div class=\\\"group\\\">\\r\\n                        <small>Parentesco</small>\\r\\n                        <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" required\\r\\n                          name=\\\"parentescotutor\\\" id=\\\"parentescoPT\\\" placeholder=\\\"Parentesco\\\" [options]=\\\"tutor\\\"\\r\\n                          [isDisabled]=\\\"lectura\\\" labelField=\\\"descripcion\\\" valueField=\\\"tutorid\\\" formControlName=\\\"TutorId\\\"\\r\\n                          #parentesPTcoselect>\\r\\n\\r\\n                          <sui-select-option *ngFor=\\\"let option of parentesPTcoselect.filteredOptions\\\" [value]=\\\"option\\\">\\r\\n                          </sui-select-option>\\r\\n\\r\\n                        </sui-select>\\r\\n\\r\\n                        <small\\r\\n                          [hidden]=\\\"FormDatos.controls.TutorId.valid || (FormDatos.controls.TutorId.pristine && !summittedTutor)\\\"\\r\\n                          style=\\\"color: red\\\">\\r\\n                          Seleccione un parentesco\\r\\n                        </small>\\r\\n                      </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                  </div>\\r\\n                  <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n\\r\\n                  <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-sm-12 col-md-12 col-lg-4\\\">\\r\\n\\r\\n                      <small>¿Ha sido miembro de algún colegio jesuita?</small>\\r\\n                      <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\"  name=\\\"instituto\\\" placeholder=\\\"\\\"\\r\\n                        [options]=\\\"respuestaSiNo\\\" [isDisabled]=\\\"lectura\\\" labelField=\\\"nombre\\\" valueField=\\\"valor\\\"\\r\\n                        formControlName=\\\"AlumnoInstituto\\\" #miembroColegioTutorSelect>\\r\\n\\r\\n                        <sui-select-option *ngFor=\\\"let option of miembroColegioTutorSelect.filteredOptions\\\"\\r\\n                          [value]=\\\"option\\\"></sui-select-option>\\r\\n                      </sui-select>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-sm-12 col-md-12 col-lg-8\\\"\\r\\n                      [hidden]=\\\"FormDatos.controls.AlumnoInstituto.value != '1'\\\">\\r\\n\\r\\n                      <div class=\\\"group inputResponsive\\\">\\r\\n                        <div style=\\\"margin-top: 30px\\\"></div>\\r\\n                        <label class=\\\"LabelMaterialpadre\\\">Especificar escuela jesuita</label>\\r\\n                        <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" [disabled]=\\\"lectura\\\" required\\r\\n                          name=\\\"escuelajesuitatutor\\\" formControlName=\\\"EspecificarAlumno\\\">\\r\\n\\r\\n                        <span class=\\\"highlight\\\"></span>\\r\\n                        <span class=\\\"bar\\\"></span>\\r\\n\\r\\n                        <small\\r\\n                          [hidden]=\\\"FormDatos.controls.EspecificarAlumno.valid || (FormDatos.controls.EspecificarAlumno.pristine && !summittedTutor)\\\"\\r\\n                          style=\\\"color: red\\\">\\r\\n                          Seleccione una opción\\r\\n                        </small>\\r\\n\\r\\n                      </div>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"margenSeparador\\\"></div>\\r\\n\\r\\n                  <!-- -------- información adicional padre/tutor --------- -->\\r\\n                  <legend></legend>\\r\\n\\r\\n                  <div class=\\\"margenSeparador\\\"></div>\\r\\n\\r\\n                  <h5>Información adicional</h5>\\r\\n\\r\\n                  <br>\\r\\n                  <div class=\\\"row\\\">\\r\\n\\r\\n                    <!-- Fecha de nacimiento -->\\r\\n                    <div class=\\\"col-sm-12 col-md-12 col-lg-6\\\">\\r\\n\\r\\n                      <small>Fecha de nacimiento</small>\\r\\n                      <my-date-picker name=\\\"fechanacimientotutor\\\" [disabled]=\\\"lectura\\\"\\r\\n                        [options]=\\\"opcionaesFehaNacimiento\\\" formControlName=\\\"FechaNacimiento\\\"></my-date-picker>\\r\\n                    </div>\\r\\n\\r\\n                    <!-- Tutor -->\\r\\n                    <div class=\\\"col-sm-6 col-md-6 col-lg-3 col-xs-6\\\">\\r\\n\\r\\n                      <div class=\\\"margenTopSelect\\\"></div>\\r\\n\\r\\n                      <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" [disabled]=\\\"lectura\\\" name=\\\"tutor\\\" id=\\\"tutorTutor\\\"\\r\\n                        formControlName=\\\"Tutor\\\" style=\\\"margin-left: 0px !important\\\" />\\r\\n\\r\\n                      <label class=\\\"checkLabel labelCheckBoxText\\\" for=\\\"tutorTutor\\\">\\r\\n                        Tutor\\r\\n                      </label>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <!-- Finado -->\\r\\n                    <div class=\\\"col-sm-6 col-md-6 col-lg-3 col-xs-6\\\">\\r\\n\\r\\n                      <div class=\\\"margenTopSelect\\\"></div>\\r\\n\\r\\n                      <input class=\\\"labelCheckBox\\\" type=\\\"checkbox\\\" [disabled]=\\\"lectura\\\" name=\\\"fiando\\\" id=\\\"tutorfinado\\\"\\r\\n                        formControlName=\\\"Vive\\\" style=\\\"margin-left: 0px !important\\\" />\\r\\n\\r\\n                      <label class=\\\"checkLabel labelCheckBoxText\\\" for=\\\"tutorfinado\\\">\\r\\n                        Vive\\r\\n                      </label>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n\\r\\n                  <div class=\\\"row\\\">\\r\\n\\r\\n                    <!-- Nacionalidad -->\\r\\n                    <div class=\\\"col-lg-4 col-xs-12 col-md-6 col-sm-12\\\">\\r\\n\\r\\n                      <small>Nacionalidad</small>\\r\\n                      <sui-multi-select style=\\\"width: 100%; \\\" class=\\\"selection\\\" name=\\\"nacionalidad\\\"\\r\\n                        placeholder=\\\"Nacionalidad\\\" [options]=\\\"nacionalidad\\\" [isDisabled]=\\\"lectura\\\" labelField=\\\"nombre\\\"\\r\\n                        valueField=\\\"nacionalidadid\\\" formControlName=\\\"Nacionalidad\\\" #nacionalidadtutorselect>\\r\\n\\r\\n                        <div class=\\\"divider\\\" style=\\\"border-color: transparent\\\"></div>\\r\\n\\r\\n                        <div class=\\\"ui icon search input\\\">\\r\\n                          <i class=\\\"search icon\\\"></i>\\r\\n                          <input suiSelectSearch type=\\\"text\\\">\\r\\n                        </div>\\r\\n\\r\\n                        <sui-select-option *ngFor=\\\"let option of nacionalidadtutorselect.filteredOptions\\\"\\r\\n                          [value]=\\\"option\\\" [hidden]=\\\"!option.activo\\\"></sui-select-option>\\r\\n\\r\\n                      </sui-multi-select>\\r\\n\\r\\n                      <small\\r\\n                        [hidden]=\\\"FormDatos.controls.Nacionalidad.valid || (FormDatos.controls.Nacionalidad.pristine && !summittedTutor)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione una nacionalidad\\r\\n                      </small>\\r\\n\\r\\n                    </div>\\r\\n\\r\\n\\r\\n\\r\\n                    <!-- Situación conyugal -->\\r\\n                    <div class=\\\"col-lg-4 col-xs-12 col-md-6 col-sm-12\\\">\\r\\n\\r\\n                      <small>Situación conyugal</small>\\r\\n                      <sui-select style=\\\"width: 100%; \\\" class=\\\"selection\\\" name=\\\"situacionconyugal\\\"\\r\\n                        id=\\\"situacionConyugalPT\\\" placeholder=\\\"Situación conyugal\\\" [options]=\\\"situacionConyugal\\\"\\r\\n                        [isDisabled]=\\\"lectura\\\" labelField=\\\"descripcion\\\" valueField=\\\"situacionconyugalid\\\"\\r\\n                        formControlName=\\\"SituacionConyugalId\\\" #situacionconyugalselect>\\r\\n                        <div class=\\\"divider\\\" style=\\\"border-color: transparent\\\"></div>\\r\\n                        <div class=\\\"ui icon search input\\\">\\r\\n                          <i class=\\\"search icon\\\"></i>\\r\\n                          <input suiSelectSearch type=\\\"text\\\">\\r\\n                        </div>\\r\\n\\r\\n                        <sui-select-option *ngFor=\\\"let option of situacionconyugalselect.filteredOptions\\\"\\r\\n                          [value]=\\\"option\\\"></sui-select-option>\\r\\n\\r\\n                      </sui-select>\\r\\n\\r\\n                      <small\\r\\n                        [hidden]=\\\"FormDatos.controls.SituacionConyugalId.valid || (FormDatos.controls.SituacionConyugalId.pristine && !summittedTutor)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione una situación\\r\\n                      </small>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                    <!-- Escolaridad -->\\r\\n                    <div class=\\\"col-lg-4 col-xs-12 col-md-6 col-sm-12\\\">\\r\\n\\r\\n                      <small>Escolaridad</small>\\r\\n                      <sui-select style=\\\"width: 100%; \\\" class=\\\"selection\\\" name=\\\"escolaridad\\\" id=\\\"escolaridadPT\\\"\\r\\n                        placeholder=\\\"Escolaridad\\\" [options]=\\\"escolaridad\\\" [isDisabled]=\\\"lectura\\\"\\r\\n                        labelField=\\\"descripcion\\\" valueField=\\\"escolaridadid\\\" formControlName=\\\"NivelEstudioId\\\"\\r\\n                        #escolaridadTutorSelect>\\r\\n\\r\\n                        <div class=\\\"divider\\\" style=\\\"border-color: transparent\\\"></div>\\r\\n\\r\\n                        <div class=\\\"ui icon search input\\\">\\r\\n                          <i class=\\\"search icon\\\"></i>\\r\\n                          <input suiSelectSearch type=\\\"text\\\">\\r\\n                        </div>\\r\\n\\r\\n                        <sui-select-option *ngFor=\\\"let option of escolaridadTutorSelect.filteredOptions\\\"\\r\\n                          [value]=\\\"option\\\"></sui-select-option>\\r\\n\\r\\n                      </sui-select>\\r\\n\\r\\n                      <small\\r\\n                        [hidden]=\\\"FormDatos.controls.NivelEstudioId.valid || (FormDatos.controls.NivelEstudioId.pristine && !summittedTutor)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Seleccione un nivel de estudio\\r\\n                      </small>\\r\\n\\r\\n\\r\\n                    </div>\\r\\n\\r\\n                  </div>\\r\\n                  <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n\\r\\n                  <div>\\r\\n                    <br>\\r\\n                    <div class=\\\"row\\\">\\r\\n\\r\\n                      <!-- Ocupación -->\\r\\n                      <div class=\\\"col-sm-12 col-md-12 col-lg-6\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                          <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" [disabled]=\\\"lectura\\\" required name=\\\"ocupacion\\\"\\r\\n                            formControlName=\\\"EspecificacionOcupacion\\\">\\r\\n                          <label class=\\\"MaterialLabel\\\"> Ocupación</label>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <!-- Ramo -->\\r\\n                      <div class=\\\"col-sm-12 col-md-12 col-lg-6\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                          <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" [disabled]=\\\"lectura\\\" required name=\\\"ramo\\\"\\r\\n                            formControlName=\\\"Ramo\\\">\\r\\n                          <label class=\\\"MaterialLabel\\\"> Ramo</label>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                    </div>\\r\\n                    <br>\\r\\n\\r\\n                    <div class=\\\"row\\\">\\r\\n                      <!-- Empresa -->\\r\\n                      <div class=\\\"col-sm-12 col-md-12 col-lg-6\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                            <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" [disabled]=\\\"lectura\\\" name=\\\"empresa\\\" required\\r\\n                            formControlName=\\\"Empresa\\\">\\r\\n                          <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                          <label class=\\\"MaterialLabel\\\"> Empresa</label>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <!-- Horario -->\\r\\n                      <div class=\\\"col-sm-12 col-md-12 col-lg-6\\\">\\r\\n                          <div class=\\\"group\\\">\\r\\n                              <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" [disabled]=\\\"lectura\\\" name=\\\"horario\\\" required\\r\\n                              formControlName=\\\"HorarioTrabajo\\\">\\r\\n                            <span class=\\\"highlight\\\"></span> <span class=\\\"bar\\\"></span>\\r\\n                            <label class=\\\"MaterialLabel\\\"> Horario de trabajo</label>\\r\\n                          </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n                    <br>\\r\\n\\r\\n                    <div class=\\\"row\\\">\\r\\n                      <!-- Lada -->\\r\\n                      <!--<div class=\\\"col-sm-12 col-md-3 col-lg-3\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                          <input type=\\\"text\\\" id=\\\"ladaEmpresa\\\" lada #lada2 [disabled]=\\\"lectura\\\" name=\\\"ladaempresa\\\"\\r\\n                            required formControlName=\\\"LadaEmpresa\\\">\\r\\n                          <label class=\\\"MaterialLabel\\\"> Lada</label>\\r\\n                          <small\\r\\n                            [hidden]=\\\"FormDatos.controls.LadaEmpresa.valid || (FormDatos.controls.LadaEmpresa.pristine && !summittedTutor)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca una lada\\r\\n                          </small>\\r\\n                        </div>\\r\\n                      </div> -->\\r\\n\\r\\n                      <!-- Teléfono -->\\r\\n                      <div class=\\\"col-sm-12 col-md-6 col-lg-6\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                          <input type=\\\"text\\\" id=\\\"telefonoEmpresa\\\" [phonenumber]=\\\"{lada: 0}\\\"\\r\\n                            [disabled]=\\\"lectura\\\" name=\\\"telefonoempresa\\\" required formControlName=\\\"TelefonoEmpresa\\\">\\r\\n                          <label class=\\\"MaterialLabel\\\"> Teléfono de la empresa</label>\\r\\n                          <small\\r\\n                            [hidden]=\\\"FormDatos.controls.TelefonoEmpresa.valid || (FormDatos.controls.TelefonoEmpresa.pristine && !summittedTutor)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un télefono\\r\\n                          </small>\\r\\n                        </div>\\r\\n                      </div>\\r\\n\\r\\n                      <!-- Extensión -->\\r\\n                      <div class=\\\"col-sm-12 col-md-3 col-lg-3\\\">\\r\\n                        <div class=\\\"group\\\">\\r\\n                          <input class=\\\"textoMayuscula\\\" type=\\\"text\\\" [disabled]=\\\"lectura\\\" numbers required\\r\\n                            name=\\\"extensionempresa\\\" formControlName=\\\"ExtensionEmpresa\\\">\\r\\n                          <label class=\\\"MaterialLabel\\\"> Extensión</label>\\r\\n                          <small\\r\\n                            [hidden]=\\\"FormDatos.controls.TelefonoEmpresa.valid || (FormDatos.controls.TelefonoEmpresa.pristine && !summittedTutor)\\\"\\r\\n                            style=\\\"color: red\\\">\\r\\n                            Introduzca un télefono\\r\\n                          </small>\\r\\n                        </div>\\r\\n                      </div>\\r\\n                    </div>\\r\\n\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"col-sm-12 divseparador\\\"></div>\\r\\n\\r\\n                  <div class=\\\"row\\\">\\r\\n\\r\\n                    <div class=\\\"col-sm-12 col-md-12 col-lg-6\\\">\\r\\n\\r\\n                      <small>¿Es ex-alumno de la Escuela Carlos Pereyra?</small>\\r\\n                      <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" name=\\\"exlux\\\" placeholder=\\\"\\\"\\r\\n                        [options]=\\\"respuestaSiNo\\\" labelField=\\\"nombre\\\" valueField=\\\"valor\\\" [isDisabled]=\\\"lectura\\\"\\r\\n                        formControlName=\\\"ExLux\\\" #miembroLuxTutorSelect>\\r\\n\\r\\n                        <sui-select-option *ngFor=\\\"let option of miembroLuxTutorSelect.filteredOptions\\\"\\r\\n                          [value]=\\\"option\\\"></sui-select-option>\\r\\n\\r\\n                      </sui-select>\\r\\n                    </div>\\r\\n\\r\\n                    <div class=\\\"col-sm-12 col-md-12 col-lg-6\\\" [hidden]=\\\"FormDatos.controls.ExLux.value != '1'\\\">\\r\\n\\r\\n                      <small>Último año cursado</small>\\r\\n                      <sui-select style=\\\"width: 100%;\\\" class=\\\"selection\\\" name=\\\"generacion\\\" placeholder=\\\"Año\\\"\\r\\n                        [options]=\\\"generacion\\\" labelField=\\\"nombre\\\" [isDisabled]=\\\"lectura\\\" valueField=\\\"generacionid\\\"\\r\\n                        formControlName=\\\"GeneracionId\\\" #generacionTutorSelect>\\r\\n\\r\\n                        <sui-select-option *ngFor=\\\"let option of generacionTutorSelect.filteredOptions\\\"\\r\\n                          [value]=\\\"option\\\"></sui-select-option>\\r\\n\\r\\n                      </sui-select>\\r\\n\\r\\n                      <small\\r\\n                        [hidden]=\\\"FormDatos.controls.GeneracionId.valid || (FormDatos.controls.GeneracionId.pristine && !summittedTutor)\\\"\\r\\n                        style=\\\"color: red\\\">\\r\\n                        Introduzca una generación\\r\\n                      </small>\\r\\n\\r\\n                    </div>\\r\\n                  </div>\\r\\n\\r\\n                  <div class=\\\"margenSeparador\\\"></div>\\r\\n                </div>\\r\\n\\r\\n              </div>\\r\\n            </div>\\r\\n          </div>\\r\\n\\r\\n\\r\\n          <div class=\\\"modal-footer\\\">\\r\\n            <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"CerrarPadreTutor()\\\">CERRAR</button>\\r\\n            <button class=\\\"btn principal\\\" type=\\\"submit\\\" [hidden]=\\\"!editar\\\"\\r\\n              (click)=\\\"EditarPadreoTutor()\\\">Guardar</button>\\r\\n          </div>\\r\\n        </form>\\r\\n      </div>\\r\\n    </div>\\r\\n  </div>\\r\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/padretutor/padretutor.component.html\n// module id = 1406\n// module chunks = 3","module.exports = \"<div class=\\\"col-sm-12\\\">\\r\\n    <b>SUBGRUPOS O TALLERES EN LOS QUE HA ESTADO INSCRITO EL ALUMNO</b>\\r\\n</div>\\r\\n<div class=\\\"col-sm-12\\\">\\r\\n    <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\" style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n        <table class=\\\"table table-hover\\\" id=\\\"tablaFormato\\\">\\r\\n            <thead>\\r\\n                <tr style=\\\"color: white;\\\">\\r\\n                    <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                        Ciclo\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Nivel\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Grado\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Grupo\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable \\\">\\r\\n                        Profesor titular\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Estatus\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Tipo de baja\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable\\\">\\r\\n                        Motivo de baja\\r\\n                    </th>\\r\\n                    <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                        Detalle\\r\\n                    </th>\\r\\n                </tr>\\r\\n            </thead>\\r\\n            <tbody>\\r\\n                <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arraytabla\\\">\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.ciclo}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.nivel}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.grado}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.grupo}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.profesor ? c.profesor : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.estatusalumnociclo? c.estatusalumnociclo : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.tipobaja? c.tipobaja : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <p>{{c.motivobaja? c.motivobaja : '-'}}</p>\\r\\n                    </td>\\r\\n                    <td class=\\\"text-center\\\">\\r\\n                        <a>\\r\\n                            <li class=\\\"fa fa-eye\\\" (click)=\\\"openGrupostalleresAlumno(c)\\\"></li>\\r\\n                        </a>\\r\\n                    </td>\\r\\n                </tr>\\r\\n            </tbody>\\r\\n        </table>\\r\\n    </div>\\r\\n</div>\\r\\n\\r\\n\\r\\n<div class=\\\"modal fade\\\" tabindex=\\\"-1\\\" role=\\\"dialog\\\" aria-labelledby=\\\"myLargeModalLabel\\\" aria-hidden=\\\"true\\\" bsModal\\r\\n    #modalSubgrupo=\\\"bs-modal\\\" [config]=\\\"{'backdrop':'static', 'keyboard': false}\\\">\\r\\n    <div class=\\\"modal-dialog modal-lg\\\">\\r\\n        <div class=\\\"modal-content modal-lg\\\">\\r\\n            <div class=\\\"modal-header\\\">\\r\\n                <h4 class=\\\"modal-title\\\">\\r\\n                    <strong>Subgrupos o talleres en los que esta inscrito el alumno</strong>\\r\\n                </h4>\\r\\n            </div>\\r\\n            <div class=\\\"modal-body\\\">\\r\\n                <div class=\\\"row\\\">\\r\\n                    <div class=\\\"col-lg-12 col-sm-12 col-12 form-group\\\">\\r\\n                        <fieldset>\\r\\n                            <div class=\\\"tabllePaddingLTE no-padding table-responsive\\\"\\r\\n                                style=\\\"margin-top: 20px; font-size: 13px;\\\">\\r\\n                                <table class=\\\"table table-hover\\\" id=\\\"tablaCiudad\\\">\\r\\n                                    <thead>\\r\\n                                        <tr style=\\\"color: #fff;\\\">\\r\\n                                            <th class=\\\"text-center headerTable-top-left\\\">\\r\\n                                                Subgrupo/Taller\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Profesor\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Materia\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable\\\">\\r\\n                                                Numero de lista\\r\\n                                            </th>\\r\\n                                            <th class=\\\"text-center headerTable-top-right\\\">\\r\\n                                                Nivel de idioma\\r\\n                                            </th>\\r\\n                                        </tr>\\r\\n                                    </thead>\\r\\n                                    <tbody>\\r\\n                                        <tr style=\\\"font-size: 13px;\\\" *ngFor=\\\"let c of arrayentidad\\\">\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.grupo? c.grupo : c.taller? c.taller : ''}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.profesor}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.materia}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.numerolista? c.numerolista : '-'}}</p>\\r\\n                                            </td>\\r\\n                                            <td class=\\\"text-center\\\">\\r\\n                                                <p>{{c.idiomanivel? c.idiomanivel: '-'}}</p>\\r\\n                                            </td>\\r\\n                                        </tr>\\r\\n                                    </tbody>\\r\\n                                </table>\\r\\n                            </div>\\r\\n                        </fieldset>\\r\\n                    </div>\\r\\n                </div>\\r\\n                <div class=\\\"modal-footer\\\">\\r\\n                    <button class=\\\"btn btn-default\\\" type=\\\"button\\\" (click)=\\\"modalSubgrupo.hide()\\\">Cerrar</button>\\r\\n                </div>\\r\\n            </div>\\r\\n        </div>\\r\\n    </div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/controlescolar/alumnos/componentesacademico/modalalumno/subgrupos/subgrupos.component.html\n// module id = 1407\n// module chunks = 3","\"use strict\";\r\n/**\r\n * An execution context and a data structure to order tasks and schedule their\r\n * execution. Provides a notion of (potentially virtual) time, through the\r\n * `now()` getter method.\r\n *\r\n * Each unit of work in a Scheduler is called an {@link Action}.\r\n *\r\n * ```ts\r\n * class Scheduler {\r\n *   now(): number;\r\n *   schedule(work, delay?, state?): Subscription;\r\n * }\r\n * ```\r\n *\r\n * @class Scheduler\r\n */\r\nvar Scheduler = (function () {\r\n    function Scheduler(SchedulerAction, now) {\r\n        if (now === void 0) { now = Scheduler.now; }\r\n        this.SchedulerAction = SchedulerAction;\r\n        this.now = now;\r\n    }\r\n    /**\r\n     * Schedules a function, `work`, for execution. May happen at some point in\r\n     * the future, according to the `delay` parameter, if specified. May be passed\r\n     * some context object, `state`, which will be passed to the `work` function.\r\n     *\r\n     * The given arguments will be processed an stored as an Action object in a\r\n     * queue of actions.\r\n     *\r\n     * @param {function(state: ?T): ?Subscription} work A function representing a\r\n     * task, or some unit of work to be executed by the Scheduler.\r\n     * @param {number} [delay] Time to wait before executing the work, where the\r\n     * time unit is implicit and defined by the Scheduler itself.\r\n     * @param {T} [state] Some contextual data that the `work` function uses when\r\n     * called by the Scheduler.\r\n     * @return {Subscription} A subscription in order to be able to unsubscribe\r\n     * the scheduled work.\r\n     */\r\n    Scheduler.prototype.schedule = function (work, delay, state) {\r\n        if (delay === void 0) { delay = 0; }\r\n        return new this.SchedulerAction(this, work).schedule(state, delay);\r\n    };\r\n    Scheduler.now = Date.now ? Date.now : function () { return +new Date(); };\r\n    return Scheduler;\r\n}());\r\nexports.Scheduler = Scheduler;\r\n//# sourceMappingURL=Scheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/Scheduler.js\n// module id = 1409\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar bindCallback_1 = require('../../observable/bindCallback');\r\nObservable_1.Observable.bindCallback = bindCallback_1.bindCallback;\r\n//# sourceMappingURL=bindCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/bindCallback.js\n// module id = 1410\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar bindNodeCallback_1 = require('../../observable/bindNodeCallback');\r\nObservable_1.Observable.bindNodeCallback = bindNodeCallback_1.bindNodeCallback;\r\n//# sourceMappingURL=bindNodeCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/bindNodeCallback.js\n// module id = 1411\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar combineLatest_1 = require('../../observable/combineLatest');\r\nObservable_1.Observable.combineLatest = combineLatest_1.combineLatest;\r\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/combineLatest.js\n// module id = 1412\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar concat_1 = require('../../observable/concat');\r\nObservable_1.Observable.concat = concat_1.concat;\r\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/concat.js\n// module id = 1413\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar defer_1 = require('../../observable/defer');\r\nObservable_1.Observable.defer = defer_1.defer;\r\n//# sourceMappingURL=defer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/defer.js\n// module id = 1414\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../../Observable');\r\nvar ajax_1 = require('../../../observable/dom/ajax');\r\nObservable_1.Observable.ajax = ajax_1.ajax;\r\n//# sourceMappingURL=ajax.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/dom/ajax.js\n// module id = 1415\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../../Observable');\r\nvar webSocket_1 = require('../../../observable/dom/webSocket');\r\nObservable_1.Observable.webSocket = webSocket_1.webSocket;\r\n//# sourceMappingURL=webSocket.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/dom/webSocket.js\n// module id = 1416\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar empty_1 = require('../../observable/empty');\r\nObservable_1.Observable.empty = empty_1.empty;\r\n//# sourceMappingURL=empty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/empty.js\n// module id = 1417\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar forkJoin_1 = require('../../observable/forkJoin');\r\nObservable_1.Observable.forkJoin = forkJoin_1.forkJoin;\r\n//# sourceMappingURL=forkJoin.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/forkJoin.js\n// module id = 1418\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar fromEventPattern_1 = require('../../observable/fromEventPattern');\r\nObservable_1.Observable.fromEventPattern = fromEventPattern_1.fromEventPattern;\r\n//# sourceMappingURL=fromEventPattern.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/fromEventPattern.js\n// module id = 1419\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar fromPromise_1 = require('../../observable/fromPromise');\r\nObservable_1.Observable.fromPromise = fromPromise_1.fromPromise;\r\n//# sourceMappingURL=fromPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/fromPromise.js\n// module id = 1420\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar GenerateObservable_1 = require('../../observable/GenerateObservable');\r\nObservable_1.Observable.generate = GenerateObservable_1.GenerateObservable.create;\r\n//# sourceMappingURL=generate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/generate.js\n// module id = 1421\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar if_1 = require('../../observable/if');\r\nObservable_1.Observable.if = if_1._if;\r\n//# sourceMappingURL=if.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/if.js\n// module id = 1422\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar interval_1 = require('../../observable/interval');\r\nObservable_1.Observable.interval = interval_1.interval;\r\n//# sourceMappingURL=interval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/interval.js\n// module id = 1423\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar merge_1 = require('../../observable/merge');\r\nObservable_1.Observable.merge = merge_1.merge;\r\n//# sourceMappingURL=merge.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/merge.js\n// module id = 1424\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar never_1 = require('../../observable/never');\r\nObservable_1.Observable.never = never_1.never;\r\n//# sourceMappingURL=never.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/never.js\n// module id = 1425\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar onErrorResumeNext_1 = require('../../operator/onErrorResumeNext');\r\nObservable_1.Observable.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNextStatic;\r\n//# sourceMappingURL=onErrorResumeNext.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/onErrorResumeNext.js\n// module id = 1426\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar pairs_1 = require('../../observable/pairs');\r\nObservable_1.Observable.pairs = pairs_1.pairs;\r\n//# sourceMappingURL=pairs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/pairs.js\n// module id = 1427\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar race_1 = require('../../operator/race');\r\nObservable_1.Observable.race = race_1.raceStatic;\r\n//# sourceMappingURL=race.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/race.js\n// module id = 1428\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar range_1 = require('../../observable/range');\r\nObservable_1.Observable.range = range_1.range;\r\n//# sourceMappingURL=range.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/range.js\n// module id = 1429\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar throw_1 = require('../../observable/throw');\r\nObservable_1.Observable.throw = throw_1._throw;\r\n//# sourceMappingURL=throw.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/throw.js\n// module id = 1430\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar timer_1 = require('../../observable/timer');\r\nObservable_1.Observable.timer = timer_1.timer;\r\n//# sourceMappingURL=timer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/timer.js\n// module id = 1431\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar using_1 = require('../../observable/using');\r\nObservable_1.Observable.using = using_1.using;\r\n//# sourceMappingURL=using.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/using.js\n// module id = 1432\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar zip_1 = require('../../observable/zip');\r\nObservable_1.Observable.zip = zip_1.zip;\r\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/observable/zip.js\n// module id = 1433\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar audit_1 = require('../../operator/audit');\r\nObservable_1.Observable.prototype.audit = audit_1.audit;\r\n//# sourceMappingURL=audit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/audit.js\n// module id = 1434\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar auditTime_1 = require('../../operator/auditTime');\r\nObservable_1.Observable.prototype.auditTime = auditTime_1.auditTime;\r\n//# sourceMappingURL=auditTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/auditTime.js\n// module id = 1435\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar buffer_1 = require('../../operator/buffer');\r\nObservable_1.Observable.prototype.buffer = buffer_1.buffer;\r\n//# sourceMappingURL=buffer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/buffer.js\n// module id = 1436\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar bufferCount_1 = require('../../operator/bufferCount');\r\nObservable_1.Observable.prototype.bufferCount = bufferCount_1.bufferCount;\r\n//# sourceMappingURL=bufferCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/bufferCount.js\n// module id = 1437\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar bufferTime_1 = require('../../operator/bufferTime');\r\nObservable_1.Observable.prototype.bufferTime = bufferTime_1.bufferTime;\r\n//# sourceMappingURL=bufferTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/bufferTime.js\n// module id = 1438\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar bufferToggle_1 = require('../../operator/bufferToggle');\r\nObservable_1.Observable.prototype.bufferToggle = bufferToggle_1.bufferToggle;\r\n//# sourceMappingURL=bufferToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/bufferToggle.js\n// module id = 1439\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar bufferWhen_1 = require('../../operator/bufferWhen');\r\nObservable_1.Observable.prototype.bufferWhen = bufferWhen_1.bufferWhen;\r\n//# sourceMappingURL=bufferWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/bufferWhen.js\n// module id = 1440\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar catch_1 = require('../../operator/catch');\r\nObservable_1.Observable.prototype.catch = catch_1._catch;\r\nObservable_1.Observable.prototype._catch = catch_1._catch;\r\n//# sourceMappingURL=catch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/catch.js\n// module id = 1441\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar combineAll_1 = require('../../operator/combineAll');\r\nObservable_1.Observable.prototype.combineAll = combineAll_1.combineAll;\r\n//# sourceMappingURL=combineAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/combineAll.js\n// module id = 1442\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar combineLatest_1 = require('../../operator/combineLatest');\r\nObservable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;\r\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/combineLatest.js\n// module id = 1443\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar concat_1 = require('../../operator/concat');\r\nObservable_1.Observable.prototype.concat = concat_1.concat;\r\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/concat.js\n// module id = 1444\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar concatAll_1 = require('../../operator/concatAll');\r\nObservable_1.Observable.prototype.concatAll = concatAll_1.concatAll;\r\n//# sourceMappingURL=concatAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/concatAll.js\n// module id = 1445\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar concatMap_1 = require('../../operator/concatMap');\r\nObservable_1.Observable.prototype.concatMap = concatMap_1.concatMap;\r\n//# sourceMappingURL=concatMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/concatMap.js\n// module id = 1446\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar concatMapTo_1 = require('../../operator/concatMapTo');\r\nObservable_1.Observable.prototype.concatMapTo = concatMapTo_1.concatMapTo;\r\n//# sourceMappingURL=concatMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/concatMapTo.js\n// module id = 1447\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar count_1 = require('../../operator/count');\r\nObservable_1.Observable.prototype.count = count_1.count;\r\n//# sourceMappingURL=count.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/count.js\n// module id = 1448\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar debounce_1 = require('../../operator/debounce');\r\nObservable_1.Observable.prototype.debounce = debounce_1.debounce;\r\n//# sourceMappingURL=debounce.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/debounce.js\n// module id = 1449\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar defaultIfEmpty_1 = require('../../operator/defaultIfEmpty');\r\nObservable_1.Observable.prototype.defaultIfEmpty = defaultIfEmpty_1.defaultIfEmpty;\r\n//# sourceMappingURL=defaultIfEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/defaultIfEmpty.js\n// module id = 1450\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar delay_1 = require('../../operator/delay');\r\nObservable_1.Observable.prototype.delay = delay_1.delay;\r\n//# sourceMappingURL=delay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/delay.js\n// module id = 1451\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar delayWhen_1 = require('../../operator/delayWhen');\r\nObservable_1.Observable.prototype.delayWhen = delayWhen_1.delayWhen;\r\n//# sourceMappingURL=delayWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/delayWhen.js\n// module id = 1452\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar dematerialize_1 = require('../../operator/dematerialize');\r\nObservable_1.Observable.prototype.dematerialize = dematerialize_1.dematerialize;\r\n//# sourceMappingURL=dematerialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/dematerialize.js\n// module id = 1453\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar distinct_1 = require('../../operator/distinct');\r\nObservable_1.Observable.prototype.distinct = distinct_1.distinct;\r\n//# sourceMappingURL=distinct.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/distinct.js\n// module id = 1454\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar distinctUntilChanged_1 = require('../../operator/distinctUntilChanged');\r\nObservable_1.Observable.prototype.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged;\r\n//# sourceMappingURL=distinctUntilChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/distinctUntilChanged.js\n// module id = 1455\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar distinctUntilKeyChanged_1 = require('../../operator/distinctUntilKeyChanged');\r\nObservable_1.Observable.prototype.distinctUntilKeyChanged = distinctUntilKeyChanged_1.distinctUntilKeyChanged;\r\n//# sourceMappingURL=distinctUntilKeyChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/distinctUntilKeyChanged.js\n// module id = 1456\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar do_1 = require('../../operator/do');\r\nObservable_1.Observable.prototype.do = do_1._do;\r\nObservable_1.Observable.prototype._do = do_1._do;\r\n//# sourceMappingURL=do.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/do.js\n// module id = 1457\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar elementAt_1 = require('../../operator/elementAt');\r\nObservable_1.Observable.prototype.elementAt = elementAt_1.elementAt;\r\n//# sourceMappingURL=elementAt.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/elementAt.js\n// module id = 1458\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar every_1 = require('../../operator/every');\r\nObservable_1.Observable.prototype.every = every_1.every;\r\n//# sourceMappingURL=every.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/every.js\n// module id = 1459\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar exhaust_1 = require('../../operator/exhaust');\r\nObservable_1.Observable.prototype.exhaust = exhaust_1.exhaust;\r\n//# sourceMappingURL=exhaust.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/exhaust.js\n// module id = 1460\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar exhaustMap_1 = require('../../operator/exhaustMap');\r\nObservable_1.Observable.prototype.exhaustMap = exhaustMap_1.exhaustMap;\r\n//# sourceMappingURL=exhaustMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/exhaustMap.js\n// module id = 1461\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar expand_1 = require('../../operator/expand');\r\nObservable_1.Observable.prototype.expand = expand_1.expand;\r\n//# sourceMappingURL=expand.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/expand.js\n// module id = 1462\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar finally_1 = require('../../operator/finally');\r\nObservable_1.Observable.prototype.finally = finally_1._finally;\r\nObservable_1.Observable.prototype._finally = finally_1._finally;\r\n//# sourceMappingURL=finally.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/finally.js\n// module id = 1463\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar find_1 = require('../../operator/find');\r\nObservable_1.Observable.prototype.find = find_1.find;\r\n//# sourceMappingURL=find.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/find.js\n// module id = 1464\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar findIndex_1 = require('../../operator/findIndex');\r\nObservable_1.Observable.prototype.findIndex = findIndex_1.findIndex;\r\n//# sourceMappingURL=findIndex.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/findIndex.js\n// module id = 1465\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar first_1 = require('../../operator/first');\r\nObservable_1.Observable.prototype.first = first_1.first;\r\n//# sourceMappingURL=first.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/first.js\n// module id = 1466\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar groupBy_1 = require('../../operator/groupBy');\r\nObservable_1.Observable.prototype.groupBy = groupBy_1.groupBy;\r\n//# sourceMappingURL=groupBy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/groupBy.js\n// module id = 1467\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar ignoreElements_1 = require('../../operator/ignoreElements');\r\nObservable_1.Observable.prototype.ignoreElements = ignoreElements_1.ignoreElements;\r\n//# sourceMappingURL=ignoreElements.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/ignoreElements.js\n// module id = 1468\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar isEmpty_1 = require('../../operator/isEmpty');\r\nObservable_1.Observable.prototype.isEmpty = isEmpty_1.isEmpty;\r\n//# sourceMappingURL=isEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/isEmpty.js\n// module id = 1469\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar last_1 = require('../../operator/last');\r\nObservable_1.Observable.prototype.last = last_1.last;\r\n//# sourceMappingURL=last.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/last.js\n// module id = 1470\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar let_1 = require('../../operator/let');\r\nObservable_1.Observable.prototype.let = let_1.letProto;\r\nObservable_1.Observable.prototype.letBind = let_1.letProto;\r\n//# sourceMappingURL=let.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/let.js\n// module id = 1471\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar mapTo_1 = require('../../operator/mapTo');\r\nObservable_1.Observable.prototype.mapTo = mapTo_1.mapTo;\r\n//# sourceMappingURL=mapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/mapTo.js\n// module id = 1472\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar materialize_1 = require('../../operator/materialize');\r\nObservable_1.Observable.prototype.materialize = materialize_1.materialize;\r\n//# sourceMappingURL=materialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/materialize.js\n// module id = 1473\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar max_1 = require('../../operator/max');\r\nObservable_1.Observable.prototype.max = max_1.max;\r\n//# sourceMappingURL=max.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/max.js\n// module id = 1474\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar merge_1 = require('../../operator/merge');\r\nObservable_1.Observable.prototype.merge = merge_1.merge;\r\n//# sourceMappingURL=merge.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/merge.js\n// module id = 1475\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar mergeAll_1 = require('../../operator/mergeAll');\r\nObservable_1.Observable.prototype.mergeAll = mergeAll_1.mergeAll;\r\n//# sourceMappingURL=mergeAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/mergeAll.js\n// module id = 1476\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar mergeMapTo_1 = require('../../operator/mergeMapTo');\r\nObservable_1.Observable.prototype.flatMapTo = mergeMapTo_1.mergeMapTo;\r\nObservable_1.Observable.prototype.mergeMapTo = mergeMapTo_1.mergeMapTo;\r\n//# sourceMappingURL=mergeMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/mergeMapTo.js\n// module id = 1477\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar mergeScan_1 = require('../../operator/mergeScan');\r\nObservable_1.Observable.prototype.mergeScan = mergeScan_1.mergeScan;\r\n//# sourceMappingURL=mergeScan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/mergeScan.js\n// module id = 1478\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar min_1 = require('../../operator/min');\r\nObservable_1.Observable.prototype.min = min_1.min;\r\n//# sourceMappingURL=min.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/min.js\n// module id = 1479\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar multicast_1 = require('../../operator/multicast');\r\nObservable_1.Observable.prototype.multicast = multicast_1.multicast;\r\n//# sourceMappingURL=multicast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/multicast.js\n// module id = 1480\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar observeOn_1 = require('../../operator/observeOn');\r\nObservable_1.Observable.prototype.observeOn = observeOn_1.observeOn;\r\n//# sourceMappingURL=observeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/observeOn.js\n// module id = 1481\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar onErrorResumeNext_1 = require('../../operator/onErrorResumeNext');\r\nObservable_1.Observable.prototype.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;\r\n//# sourceMappingURL=onErrorResumeNext.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/onErrorResumeNext.js\n// module id = 1482\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar pairwise_1 = require('../../operator/pairwise');\r\nObservable_1.Observable.prototype.pairwise = pairwise_1.pairwise;\r\n//# sourceMappingURL=pairwise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/pairwise.js\n// module id = 1483\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar partition_1 = require('../../operator/partition');\r\nObservable_1.Observable.prototype.partition = partition_1.partition;\r\n//# sourceMappingURL=partition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/partition.js\n// module id = 1484\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar pluck_1 = require('../../operator/pluck');\r\nObservable_1.Observable.prototype.pluck = pluck_1.pluck;\r\n//# sourceMappingURL=pluck.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/pluck.js\n// module id = 1485\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar publish_1 = require('../../operator/publish');\r\nObservable_1.Observable.prototype.publish = publish_1.publish;\r\n//# sourceMappingURL=publish.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/publish.js\n// module id = 1486\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar publishBehavior_1 = require('../../operator/publishBehavior');\r\nObservable_1.Observable.prototype.publishBehavior = publishBehavior_1.publishBehavior;\r\n//# sourceMappingURL=publishBehavior.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/publishBehavior.js\n// module id = 1487\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar publishLast_1 = require('../../operator/publishLast');\r\nObservable_1.Observable.prototype.publishLast = publishLast_1.publishLast;\r\n//# sourceMappingURL=publishLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/publishLast.js\n// module id = 1488\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar publishReplay_1 = require('../../operator/publishReplay');\r\nObservable_1.Observable.prototype.publishReplay = publishReplay_1.publishReplay;\r\n//# sourceMappingURL=publishReplay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/publishReplay.js\n// module id = 1489\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar race_1 = require('../../operator/race');\r\nObservable_1.Observable.prototype.race = race_1.race;\r\n//# sourceMappingURL=race.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/race.js\n// module id = 1490\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar reduce_1 = require('../../operator/reduce');\r\nObservable_1.Observable.prototype.reduce = reduce_1.reduce;\r\n//# sourceMappingURL=reduce.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/reduce.js\n// module id = 1491\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar repeat_1 = require('../../operator/repeat');\r\nObservable_1.Observable.prototype.repeat = repeat_1.repeat;\r\n//# sourceMappingURL=repeat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/repeat.js\n// module id = 1492\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar repeatWhen_1 = require('../../operator/repeatWhen');\r\nObservable_1.Observable.prototype.repeatWhen = repeatWhen_1.repeatWhen;\r\n//# sourceMappingURL=repeatWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/repeatWhen.js\n// module id = 1493\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar retry_1 = require('../../operator/retry');\r\nObservable_1.Observable.prototype.retry = retry_1.retry;\r\n//# sourceMappingURL=retry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/retry.js\n// module id = 1494\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar retryWhen_1 = require('../../operator/retryWhen');\r\nObservable_1.Observable.prototype.retryWhen = retryWhen_1.retryWhen;\r\n//# sourceMappingURL=retryWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/retryWhen.js\n// module id = 1495\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar sample_1 = require('../../operator/sample');\r\nObservable_1.Observable.prototype.sample = sample_1.sample;\r\n//# sourceMappingURL=sample.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/sample.js\n// module id = 1496\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar sampleTime_1 = require('../../operator/sampleTime');\r\nObservable_1.Observable.prototype.sampleTime = sampleTime_1.sampleTime;\r\n//# sourceMappingURL=sampleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/sampleTime.js\n// module id = 1497\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar scan_1 = require('../../operator/scan');\r\nObservable_1.Observable.prototype.scan = scan_1.scan;\r\n//# sourceMappingURL=scan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/scan.js\n// module id = 1498\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar sequenceEqual_1 = require('../../operator/sequenceEqual');\r\nObservable_1.Observable.prototype.sequenceEqual = sequenceEqual_1.sequenceEqual;\r\n//# sourceMappingURL=sequenceEqual.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/sequenceEqual.js\n// module id = 1499\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar share_1 = require('../../operator/share');\r\nObservable_1.Observable.prototype.share = share_1.share;\r\n//# sourceMappingURL=share.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/share.js\n// module id = 1500\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar single_1 = require('../../operator/single');\r\nObservable_1.Observable.prototype.single = single_1.single;\r\n//# sourceMappingURL=single.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/single.js\n// module id = 1501\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar skip_1 = require('../../operator/skip');\r\nObservable_1.Observable.prototype.skip = skip_1.skip;\r\n//# sourceMappingURL=skip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/skip.js\n// module id = 1502\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar skipUntil_1 = require('../../operator/skipUntil');\r\nObservable_1.Observable.prototype.skipUntil = skipUntil_1.skipUntil;\r\n//# sourceMappingURL=skipUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/skipUntil.js\n// module id = 1503\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar skipWhile_1 = require('../../operator/skipWhile');\r\nObservable_1.Observable.prototype.skipWhile = skipWhile_1.skipWhile;\r\n//# sourceMappingURL=skipWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/skipWhile.js\n// module id = 1504\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar startWith_1 = require('../../operator/startWith');\r\nObservable_1.Observable.prototype.startWith = startWith_1.startWith;\r\n//# sourceMappingURL=startWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/startWith.js\n// module id = 1505\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar subscribeOn_1 = require('../../operator/subscribeOn');\r\nObservable_1.Observable.prototype.subscribeOn = subscribeOn_1.subscribeOn;\r\n//# sourceMappingURL=subscribeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/subscribeOn.js\n// module id = 1506\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar switch_1 = require('../../operator/switch');\r\nObservable_1.Observable.prototype.switch = switch_1._switch;\r\nObservable_1.Observable.prototype._switch = switch_1._switch;\r\n//# sourceMappingURL=switch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/switch.js\n// module id = 1507\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar switchMap_1 = require('../../operator/switchMap');\r\nObservable_1.Observable.prototype.switchMap = switchMap_1.switchMap;\r\n//# sourceMappingURL=switchMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/switchMap.js\n// module id = 1508\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar switchMapTo_1 = require('../../operator/switchMapTo');\r\nObservable_1.Observable.prototype.switchMapTo = switchMapTo_1.switchMapTo;\r\n//# sourceMappingURL=switchMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/switchMapTo.js\n// module id = 1509\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar take_1 = require('../../operator/take');\r\nObservable_1.Observable.prototype.take = take_1.take;\r\n//# sourceMappingURL=take.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/take.js\n// module id = 1510\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar takeLast_1 = require('../../operator/takeLast');\r\nObservable_1.Observable.prototype.takeLast = takeLast_1.takeLast;\r\n//# sourceMappingURL=takeLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/takeLast.js\n// module id = 1511\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar takeUntil_1 = require('../../operator/takeUntil');\r\nObservable_1.Observable.prototype.takeUntil = takeUntil_1.takeUntil;\r\n//# sourceMappingURL=takeUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/takeUntil.js\n// module id = 1512\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar takeWhile_1 = require('../../operator/takeWhile');\r\nObservable_1.Observable.prototype.takeWhile = takeWhile_1.takeWhile;\r\n//# sourceMappingURL=takeWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/takeWhile.js\n// module id = 1513\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar throttle_1 = require('../../operator/throttle');\r\nObservable_1.Observable.prototype.throttle = throttle_1.throttle;\r\n//# sourceMappingURL=throttle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/throttle.js\n// module id = 1514\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar timeInterval_1 = require('../../operator/timeInterval');\r\nObservable_1.Observable.prototype.timeInterval = timeInterval_1.timeInterval;\r\n//# sourceMappingURL=timeInterval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/timeInterval.js\n// module id = 1515\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar timeout_1 = require('../../operator/timeout');\r\nObservable_1.Observable.prototype.timeout = timeout_1.timeout;\r\n//# sourceMappingURL=timeout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/timeout.js\n// module id = 1516\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar timeoutWith_1 = require('../../operator/timeoutWith');\r\nObservable_1.Observable.prototype.timeoutWith = timeoutWith_1.timeoutWith;\r\n//# sourceMappingURL=timeoutWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/timeoutWith.js\n// module id = 1517\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar timestamp_1 = require('../../operator/timestamp');\r\nObservable_1.Observable.prototype.timestamp = timestamp_1.timestamp;\r\n//# sourceMappingURL=timestamp.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/timestamp.js\n// module id = 1518\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar toPromise_1 = require('../../operator/toPromise');\r\nObservable_1.Observable.prototype.toPromise = toPromise_1.toPromise;\r\n//# sourceMappingURL=toPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/toPromise.js\n// module id = 1519\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar window_1 = require('../../operator/window');\r\nObservable_1.Observable.prototype.window = window_1.window;\r\n//# sourceMappingURL=window.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/window.js\n// module id = 1520\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar windowCount_1 = require('../../operator/windowCount');\r\nObservable_1.Observable.prototype.windowCount = windowCount_1.windowCount;\r\n//# sourceMappingURL=windowCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/windowCount.js\n// module id = 1521\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar windowTime_1 = require('../../operator/windowTime');\r\nObservable_1.Observable.prototype.windowTime = windowTime_1.windowTime;\r\n//# sourceMappingURL=windowTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/windowTime.js\n// module id = 1522\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar windowToggle_1 = require('../../operator/windowToggle');\r\nObservable_1.Observable.prototype.windowToggle = windowToggle_1.windowToggle;\r\n//# sourceMappingURL=windowToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/windowToggle.js\n// module id = 1523\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar windowWhen_1 = require('../../operator/windowWhen');\r\nObservable_1.Observable.prototype.windowWhen = windowWhen_1.windowWhen;\r\n//# sourceMappingURL=windowWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/windowWhen.js\n// module id = 1524\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar withLatestFrom_1 = require('../../operator/withLatestFrom');\r\nObservable_1.Observable.prototype.withLatestFrom = withLatestFrom_1.withLatestFrom;\r\n//# sourceMappingURL=withLatestFrom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/withLatestFrom.js\n// module id = 1525\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar zip_1 = require('../../operator/zip');\r\nObservable_1.Observable.prototype.zip = zip_1.zipProto;\r\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/zip.js\n// module id = 1526\n// module chunks = 3","\"use strict\";\r\nvar Observable_1 = require('../../Observable');\r\nvar zipAll_1 = require('../../operator/zipAll');\r\nObservable_1.Observable.prototype.zipAll = zipAll_1.zipAll;\r\n//# sourceMappingURL=zipAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/add/operator/zipAll.js\n// module id = 1527\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar AsyncSubject_1 = require('../AsyncSubject');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar BoundCallbackObservable = (function (_super) {\r\n    __extends(BoundCallbackObservable, _super);\r\n    function BoundCallbackObservable(callbackFunc, selector, args, scheduler) {\r\n        _super.call(this);\r\n        this.callbackFunc = callbackFunc;\r\n        this.selector = selector;\r\n        this.args = args;\r\n        this.scheduler = scheduler;\r\n    }\r\n    /* tslint:enable:max-line-length */\r\n    /**\r\n     * Converts a callback API to a function that returns an Observable.\r\n     *\r\n     * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\r\n     * it will return a function `g` that when called as `g(x)` will output an\r\n     * Observable.</span>\r\n     *\r\n     * `bindCallback` is not an operator because its input and output are not\r\n     * Observables. The input is a function `func` with some parameters, but the\r\n     * last parameter must be a callback function that `func` calls when it is\r\n     * done. The output of `bindCallback` is a function that takes the same\r\n     * parameters as `func`, except the last one (the callback). When the output\r\n     * function is called with arguments, it will return an Observable where the\r\n     * results will be delivered to.\r\n     *\r\n     * @example <caption>Convert jQuery's getJSON to an Observable API</caption>\r\n     * // Suppose we have jQuery.getJSON('/my/url', callback)\r\n     * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);\r\n     * var result = getJSONAsObservable('/my/url');\r\n     * result.subscribe(x => console.log(x), e => console.error(e));\r\n     *\r\n     * @see {@link bindNodeCallback}\r\n     * @see {@link from}\r\n     * @see {@link fromPromise}\r\n     *\r\n     * @param {function} func Function with a callback as the last parameter.\r\n     * @param {function} [selector] A function which takes the arguments from the\r\n     * callback and maps those a value to emit on the output Observable.\r\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\r\n     * callbacks.\r\n     * @return {function(...params: *): Observable} A function which returns the\r\n     * Observable that delivers the same values the callback would deliver.\r\n     * @static true\r\n     * @name bindCallback\r\n     * @owner Observable\r\n     */\r\n    BoundCallbackObservable.create = function (func, selector, scheduler) {\r\n        if (selector === void 0) { selector = undefined; }\r\n        return function () {\r\n            var args = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                args[_i - 0] = arguments[_i];\r\n            }\r\n            return new BoundCallbackObservable(func, selector, args, scheduler);\r\n        };\r\n    };\r\n    BoundCallbackObservable.prototype._subscribe = function (subscriber) {\r\n        var callbackFunc = this.callbackFunc;\r\n        var args = this.args;\r\n        var scheduler = this.scheduler;\r\n        var subject = this.subject;\r\n        if (!scheduler) {\r\n            if (!subject) {\r\n                subject = this.subject = new AsyncSubject_1.AsyncSubject();\r\n                var handler = function handlerFn() {\r\n                    var innerArgs = [];\r\n                    for (var _i = 0; _i < arguments.length; _i++) {\r\n                        innerArgs[_i - 0] = arguments[_i];\r\n                    }\r\n                    var source = handlerFn.source;\r\n                    var selector = source.selector, subject = source.subject;\r\n                    if (selector) {\r\n                        var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\r\n                        if (result_1 === errorObject_1.errorObject) {\r\n                            subject.error(errorObject_1.errorObject.e);\r\n                        }\r\n                        else {\r\n                            subject.next(result_1);\r\n                            subject.complete();\r\n                        }\r\n                    }\r\n                    else {\r\n                        subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);\r\n                        subject.complete();\r\n                    }\r\n                };\r\n                // use named function instance to avoid closure.\r\n                handler.source = this;\r\n                var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\r\n                if (result === errorObject_1.errorObject) {\r\n                    subject.error(errorObject_1.errorObject.e);\r\n                }\r\n            }\r\n            return subject.subscribe(subscriber);\r\n        }\r\n        else {\r\n            return scheduler.schedule(BoundCallbackObservable.dispatch, 0, { source: this, subscriber: subscriber });\r\n        }\r\n    };\r\n    BoundCallbackObservable.dispatch = function (state) {\r\n        var self = this;\r\n        var source = state.source, subscriber = state.subscriber;\r\n        var callbackFunc = source.callbackFunc, args = source.args, scheduler = source.scheduler;\r\n        var subject = source.subject;\r\n        if (!subject) {\r\n            subject = source.subject = new AsyncSubject_1.AsyncSubject();\r\n            var handler = function handlerFn() {\r\n                var innerArgs = [];\r\n                for (var _i = 0; _i < arguments.length; _i++) {\r\n                    innerArgs[_i - 0] = arguments[_i];\r\n                }\r\n                var source = handlerFn.source;\r\n                var selector = source.selector, subject = source.subject;\r\n                if (selector) {\r\n                    var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\r\n                    if (result_2 === errorObject_1.errorObject) {\r\n                        self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));\r\n                    }\r\n                    else {\r\n                        self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\r\n                    }\r\n                }\r\n                else {\r\n                    var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;\r\n                    self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\r\n                }\r\n            };\r\n            // use named function to pass values in without closure\r\n            handler.source = source;\r\n            var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\r\n            if (result === errorObject_1.errorObject) {\r\n                subject.error(errorObject_1.errorObject.e);\r\n            }\r\n        }\r\n        self.add(subject.subscribe(subscriber));\r\n    };\r\n    return BoundCallbackObservable;\r\n}(Observable_1.Observable));\r\nexports.BoundCallbackObservable = BoundCallbackObservable;\r\nfunction dispatchNext(arg) {\r\n    var value = arg.value, subject = arg.subject;\r\n    subject.next(value);\r\n    subject.complete();\r\n}\r\nfunction dispatchError(arg) {\r\n    var err = arg.err, subject = arg.subject;\r\n    subject.error(err);\r\n}\r\n//# sourceMappingURL=BoundCallbackObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/BoundCallbackObservable.js\n// module id = 1529\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar AsyncSubject_1 = require('../AsyncSubject');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar BoundNodeCallbackObservable = (function (_super) {\r\n    __extends(BoundNodeCallbackObservable, _super);\r\n    function BoundNodeCallbackObservable(callbackFunc, selector, args, scheduler) {\r\n        _super.call(this);\r\n        this.callbackFunc = callbackFunc;\r\n        this.selector = selector;\r\n        this.args = args;\r\n        this.scheduler = scheduler;\r\n    }\r\n    /* tslint:enable:max-line-length */\r\n    /**\r\n     * Converts a Node.js-style callback API to a function that returns an\r\n     * Observable.\r\n     *\r\n     * <span class=\"informal\">It's just like {@link bindCallback}, but the\r\n     * callback is expected to be of type `callback(error, result)`.</span>\r\n     *\r\n     * `bindNodeCallback` is not an operator because its input and output are not\r\n     * Observables. The input is a function `func` with some parameters, but the\r\n     * last parameter must be a callback function that `func` calls when it is\r\n     * done. The callback function is expected to follow Node.js conventions,\r\n     * where the first argument to the callback is an error, while remaining\r\n     * arguments are the callback result. The output of `bindNodeCallback` is a\r\n     * function that takes the same parameters as `func`, except the last one (the\r\n     * callback). When the output function is called with arguments, it will\r\n     * return an Observable where the results will be delivered to.\r\n     *\r\n     * @example <caption>Read a file from the filesystem and get the data as an Observable</caption>\r\n     * import * as fs from 'fs';\r\n     * var readFileAsObservable = Rx.Observable.bindNodeCallback(fs.readFile);\r\n     * var result = readFileAsObservable('./roadNames.txt', 'utf8');\r\n     * result.subscribe(x => console.log(x), e => console.error(e));\r\n     *\r\n     * @see {@link bindCallback}\r\n     * @see {@link from}\r\n     * @see {@link fromPromise}\r\n     *\r\n     * @param {function} func Function with a callback as the last parameter.\r\n     * @param {function} [selector] A function which takes the arguments from the\r\n     * callback and maps those a value to emit on the output Observable.\r\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\r\n     * callbacks.\r\n     * @return {function(...params: *): Observable} A function which returns the\r\n     * Observable that delivers the same values the Node.js callback would\r\n     * deliver.\r\n     * @static true\r\n     * @name bindNodeCallback\r\n     * @owner Observable\r\n     */\r\n    BoundNodeCallbackObservable.create = function (func, selector, scheduler) {\r\n        if (selector === void 0) { selector = undefined; }\r\n        return function () {\r\n            var args = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                args[_i - 0] = arguments[_i];\r\n            }\r\n            return new BoundNodeCallbackObservable(func, selector, args, scheduler);\r\n        };\r\n    };\r\n    BoundNodeCallbackObservable.prototype._subscribe = function (subscriber) {\r\n        var callbackFunc = this.callbackFunc;\r\n        var args = this.args;\r\n        var scheduler = this.scheduler;\r\n        var subject = this.subject;\r\n        if (!scheduler) {\r\n            if (!subject) {\r\n                subject = this.subject = new AsyncSubject_1.AsyncSubject();\r\n                var handler = function handlerFn() {\r\n                    var innerArgs = [];\r\n                    for (var _i = 0; _i < arguments.length; _i++) {\r\n                        innerArgs[_i - 0] = arguments[_i];\r\n                    }\r\n                    var source = handlerFn.source;\r\n                    var selector = source.selector, subject = source.subject;\r\n                    var err = innerArgs.shift();\r\n                    if (err) {\r\n                        subject.error(err);\r\n                    }\r\n                    else if (selector) {\r\n                        var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\r\n                        if (result_1 === errorObject_1.errorObject) {\r\n                            subject.error(errorObject_1.errorObject.e);\r\n                        }\r\n                        else {\r\n                            subject.next(result_1);\r\n                            subject.complete();\r\n                        }\r\n                    }\r\n                    else {\r\n                        subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);\r\n                        subject.complete();\r\n                    }\r\n                };\r\n                // use named function instance to avoid closure.\r\n                handler.source = this;\r\n                var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\r\n                if (result === errorObject_1.errorObject) {\r\n                    subject.error(errorObject_1.errorObject.e);\r\n                }\r\n            }\r\n            return subject.subscribe(subscriber);\r\n        }\r\n        else {\r\n            return scheduler.schedule(dispatch, 0, { source: this, subscriber: subscriber });\r\n        }\r\n    };\r\n    return BoundNodeCallbackObservable;\r\n}(Observable_1.Observable));\r\nexports.BoundNodeCallbackObservable = BoundNodeCallbackObservable;\r\nfunction dispatch(state) {\r\n    var self = this;\r\n    var source = state.source, subscriber = state.subscriber;\r\n    // XXX: cast to `any` to access to the private field in `source`.\r\n    var _a = source, callbackFunc = _a.callbackFunc, args = _a.args, scheduler = _a.scheduler;\r\n    var subject = source.subject;\r\n    if (!subject) {\r\n        subject = source.subject = new AsyncSubject_1.AsyncSubject();\r\n        var handler = function handlerFn() {\r\n            var innerArgs = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                innerArgs[_i - 0] = arguments[_i];\r\n            }\r\n            var source = handlerFn.source;\r\n            var selector = source.selector, subject = source.subject;\r\n            var err = innerArgs.shift();\r\n            if (err) {\r\n                subject.error(err);\r\n            }\r\n            else if (selector) {\r\n                var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\r\n                if (result_2 === errorObject_1.errorObject) {\r\n                    self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));\r\n                }\r\n                else {\r\n                    self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\r\n                }\r\n            }\r\n            else {\r\n                var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;\r\n                self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\r\n            }\r\n        };\r\n        // use named function to pass values in without closure\r\n        handler.source = source;\r\n        var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));\r\n        if (result === errorObject_1.errorObject) {\r\n            subject.error(errorObject_1.errorObject.e);\r\n        }\r\n    }\r\n    self.add(subject.subscribe(subscriber));\r\n}\r\nfunction dispatchNext(arg) {\r\n    var value = arg.value, subject = arg.subject;\r\n    subject.next(value);\r\n    subject.complete();\r\n}\r\nfunction dispatchError(arg) {\r\n    var err = arg.err, subject = arg.subject;\r\n    subject.error(err);\r\n}\r\n//# sourceMappingURL=BoundNodeCallbackObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/BoundNodeCallbackObservable.js\n// module id = 1530\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar DeferObservable = (function (_super) {\r\n    __extends(DeferObservable, _super);\r\n    function DeferObservable(observableFactory) {\r\n        _super.call(this);\r\n        this.observableFactory = observableFactory;\r\n    }\r\n    /**\r\n     * Creates an Observable that, on subscribe, calls an Observable factory to\r\n     * make an Observable for each new Observer.\r\n     *\r\n     * <span class=\"informal\">Creates the Observable lazily, that is, only when it\r\n     * is subscribed.\r\n     * </span>\r\n     *\r\n     * <img src=\"./img/defer.png\" width=\"100%\">\r\n     *\r\n     * `defer` allows you to create the Observable only when the Observer\r\n     * subscribes, and create a fresh Observable for each Observer. It waits until\r\n     * an Observer subscribes to it, and then it generates an Observable,\r\n     * typically with an Observable factory function. It does this afresh for each\r\n     * subscriber, so although each subscriber may think it is subscribing to the\r\n     * same Observable, in fact each subscriber gets its own individual\r\n     * Observable.\r\n     *\r\n     * @example <caption>Subscribe to either an Observable of clicks or an Observable of interval, at random</caption>\r\n     * var clicksOrInterval = Rx.Observable.defer(function () {\r\n     *   if (Math.random() > 0.5) {\r\n     *     return Rx.Observable.fromEvent(document, 'click');\r\n     *   } else {\r\n     *     return Rx.Observable.interval(1000);\r\n     *   }\r\n     * });\r\n     * clicksOrInterval.subscribe(x => console.log(x));\r\n     *\r\n     * // Results in the following behavior:\r\n     * // If the result of Math.random() is greater than 0.5 it will listen\r\n     * // for clicks anywhere on the \"document\"; when document is clicked it\r\n     * // will log a MouseEvent object to the console. If the result is less\r\n     * // than 0.5 it will emit ascending numbers, one every second(1000ms).\r\n     *\r\n     * @see {@link create}\r\n     *\r\n     * @param {function(): Observable|Promise} observableFactory The Observable\r\n     * factory function to invoke for each Observer that subscribes to the output\r\n     * Observable. May also return a Promise, which will be converted on the fly\r\n     * to an Observable.\r\n     * @return {Observable} An Observable whose Observers' subscriptions trigger\r\n     * an invocation of the given Observable factory function.\r\n     * @static true\r\n     * @name defer\r\n     * @owner Observable\r\n     */\r\n    DeferObservable.create = function (observableFactory) {\r\n        return new DeferObservable(observableFactory);\r\n    };\r\n    DeferObservable.prototype._subscribe = function (subscriber) {\r\n        return new DeferSubscriber(subscriber, this.observableFactory);\r\n    };\r\n    return DeferObservable;\r\n}(Observable_1.Observable));\r\nexports.DeferObservable = DeferObservable;\r\nvar DeferSubscriber = (function (_super) {\r\n    __extends(DeferSubscriber, _super);\r\n    function DeferSubscriber(destination, factory) {\r\n        _super.call(this, destination);\r\n        this.factory = factory;\r\n        this.tryDefer();\r\n    }\r\n    DeferSubscriber.prototype.tryDefer = function () {\r\n        try {\r\n            this._callFactory();\r\n        }\r\n        catch (err) {\r\n            this._error(err);\r\n        }\r\n    };\r\n    DeferSubscriber.prototype._callFactory = function () {\r\n        var result = this.factory();\r\n        if (result) {\r\n            this.add(subscribeToResult_1.subscribeToResult(this, result));\r\n        }\r\n    };\r\n    return DeferSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=DeferObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/DeferObservable.js\n// module id = 1531\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar ErrorObservable = (function (_super) {\r\n    __extends(ErrorObservable, _super);\r\n    function ErrorObservable(error, scheduler) {\r\n        _super.call(this);\r\n        this.error = error;\r\n        this.scheduler = scheduler;\r\n    }\r\n    /**\r\n     * Creates an Observable that emits no items to the Observer and immediately\r\n     * emits an error notification.\r\n     *\r\n     * <span class=\"informal\">Just emits 'error', and nothing else.\r\n     * </span>\r\n     *\r\n     * <img src=\"./img/throw.png\" width=\"100%\">\r\n     *\r\n     * This static operator is useful for creating a simple Observable that only\r\n     * emits the error notification. It can be used for composing with other\r\n     * Observables, such as in a {@link mergeMap}.\r\n     *\r\n     * @example <caption>Emit the number 7, then emit an error.</caption>\r\n     * var result = Rx.Observable.throw(new Error('oops!')).startWith(7);\r\n     * result.subscribe(x => console.log(x), e => console.error(e));\r\n     *\r\n     * @example <caption>Map and flattens numbers to the sequence 'a', 'b', 'c', but throw an error for 13</caption>\r\n     * var interval = Rx.Observable.interval(1000);\r\n     * var result = interval.mergeMap(x =>\r\n     *   x === 13 ?\r\n     *     Rx.Observable.throw('Thirteens are bad') :\r\n     *     Rx.Observable.of('a', 'b', 'c')\r\n     * );\r\n     * result.subscribe(x => console.log(x), e => console.error(e));\r\n     *\r\n     * @see {@link create}\r\n     * @see {@link empty}\r\n     * @see {@link never}\r\n     * @see {@link of}\r\n     *\r\n     * @param {any} error The particular Error to pass to the error notification.\r\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\r\n     * the emission of the error notification.\r\n     * @return {Observable} An error Observable: emits only the error notification\r\n     * using the given error argument.\r\n     * @static true\r\n     * @name throw\r\n     * @owner Observable\r\n     */\r\n    ErrorObservable.create = function (error, scheduler) {\r\n        return new ErrorObservable(error, scheduler);\r\n    };\r\n    ErrorObservable.dispatch = function (arg) {\r\n        var error = arg.error, subscriber = arg.subscriber;\r\n        subscriber.error(error);\r\n    };\r\n    ErrorObservable.prototype._subscribe = function (subscriber) {\r\n        var error = this.error;\r\n        var scheduler = this.scheduler;\r\n        if (scheduler) {\r\n            return scheduler.schedule(ErrorObservable.dispatch, 0, {\r\n                error: error, subscriber: subscriber\r\n            });\r\n        }\r\n        else {\r\n            subscriber.error(error);\r\n        }\r\n    };\r\n    return ErrorObservable;\r\n}(Observable_1.Observable));\r\nexports.ErrorObservable = ErrorObservable;\r\n//# sourceMappingURL=ErrorObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/ErrorObservable.js\n// module id = 1532\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar isFunction_1 = require('../util/isFunction');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar Subscription_1 = require('../Subscription');\r\nvar toString = Object.prototype.toString;\r\nfunction isNodeStyleEventEmmitter(sourceObj) {\r\n    return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\r\n}\r\nfunction isJQueryStyleEventEmitter(sourceObj) {\r\n    return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\r\n}\r\nfunction isNodeList(sourceObj) {\r\n    return !!sourceObj && toString.call(sourceObj) === '[object NodeList]';\r\n}\r\nfunction isHTMLCollection(sourceObj) {\r\n    return !!sourceObj && toString.call(sourceObj) === '[object HTMLCollection]';\r\n}\r\nfunction isEventTarget(sourceObj) {\r\n    return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\r\n}\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar FromEventObservable = (function (_super) {\r\n    __extends(FromEventObservable, _super);\r\n    function FromEventObservable(sourceObj, eventName, selector, options) {\r\n        _super.call(this);\r\n        this.sourceObj = sourceObj;\r\n        this.eventName = eventName;\r\n        this.selector = selector;\r\n        this.options = options;\r\n    }\r\n    /* tslint:enable:max-line-length */\r\n    /**\r\n     * Creates an Observable that emits events of a specific type coming from the\r\n     * given event target.\r\n     *\r\n     * <span class=\"informal\">Creates an Observable from DOM events, or Node\r\n     * EventEmitter events or others.</span>\r\n     *\r\n     * <img src=\"./img/fromEvent.png\" width=\"100%\">\r\n     *\r\n     * Creates an Observable by attaching an event listener to an \"event target\",\r\n     * which may be an object with `addEventListener` and `removeEventListener`,\r\n     * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the\r\n     * DOM, or an HTMLCollection from the DOM. The event handler is attached when\r\n     * the output Observable is subscribed, and removed when the Subscription is\r\n     * unsubscribed.\r\n     *\r\n     * @example <caption>Emits clicks happening on the DOM document</caption>\r\n     * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n     * clicks.subscribe(x => console.log(x));\r\n     *\r\n     * // Results in:\r\n     * // MouseEvent object logged to console everytime a click\r\n     * // occurs on the document.\r\n     *\r\n     * @see {@link from}\r\n     * @see {@link fromEventPattern}\r\n     *\r\n     * @param {EventTargetLike} target The DOMElement, event target, Node.js\r\n     * EventEmitter, NodeList or HTMLCollection to attach the event handler to.\r\n     * @param {string} eventName The event name of interest, being emitted by the\r\n     * `target`.\r\n     * @param {EventListenerOptions} [options] Options to pass through to addEventListener\r\n     * @param {SelectorMethodSignature<T>} [selector] An optional function to\r\n     * post-process results. It takes the arguments from the event handler and\r\n     * should return a single value.\r\n     * @return {Observable<T>}\r\n     * @static true\r\n     * @name fromEvent\r\n     * @owner Observable\r\n     */\r\n    FromEventObservable.create = function (target, eventName, options, selector) {\r\n        if (isFunction_1.isFunction(options)) {\r\n            selector = options;\r\n            options = undefined;\r\n        }\r\n        return new FromEventObservable(target, eventName, selector, options);\r\n    };\r\n    FromEventObservable.setupSubscription = function (sourceObj, eventName, handler, subscriber, options) {\r\n        var unsubscribe;\r\n        if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {\r\n            for (var i = 0, len = sourceObj.length; i < len; i++) {\r\n                FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\r\n            }\r\n        }\r\n        else if (isEventTarget(sourceObj)) {\r\n            var source_1 = sourceObj;\r\n            sourceObj.addEventListener(eventName, handler, options);\r\n            unsubscribe = function () { return source_1.removeEventListener(eventName, handler); };\r\n        }\r\n        else if (isJQueryStyleEventEmitter(sourceObj)) {\r\n            var source_2 = sourceObj;\r\n            sourceObj.on(eventName, handler);\r\n            unsubscribe = function () { return source_2.off(eventName, handler); };\r\n        }\r\n        else if (isNodeStyleEventEmmitter(sourceObj)) {\r\n            var source_3 = sourceObj;\r\n            sourceObj.addListener(eventName, handler);\r\n            unsubscribe = function () { return source_3.removeListener(eventName, handler); };\r\n        }\r\n        else {\r\n            throw new TypeError('Invalid event target');\r\n        }\r\n        subscriber.add(new Subscription_1.Subscription(unsubscribe));\r\n    };\r\n    FromEventObservable.prototype._subscribe = function (subscriber) {\r\n        var sourceObj = this.sourceObj;\r\n        var eventName = this.eventName;\r\n        var options = this.options;\r\n        var selector = this.selector;\r\n        var handler = selector ? function () {\r\n            var args = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                args[_i - 0] = arguments[_i];\r\n            }\r\n            var result = tryCatch_1.tryCatch(selector).apply(void 0, args);\r\n            if (result === errorObject_1.errorObject) {\r\n                subscriber.error(errorObject_1.errorObject.e);\r\n            }\r\n            else {\r\n                subscriber.next(result);\r\n            }\r\n        } : function (e) { return subscriber.next(e); };\r\n        FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options);\r\n    };\r\n    return FromEventObservable;\r\n}(Observable_1.Observable));\r\nexports.FromEventObservable = FromEventObservable;\r\n//# sourceMappingURL=FromEventObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/FromEventObservable.js\n// module id = 1534\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar Subscription_1 = require('../Subscription');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar FromEventPatternObservable = (function (_super) {\r\n    __extends(FromEventPatternObservable, _super);\r\n    function FromEventPatternObservable(addHandler, removeHandler, selector) {\r\n        _super.call(this);\r\n        this.addHandler = addHandler;\r\n        this.removeHandler = removeHandler;\r\n        this.selector = selector;\r\n    }\r\n    /**\r\n     * Creates an Observable from an API based on addHandler/removeHandler\r\n     * functions.\r\n     *\r\n     * <span class=\"informal\">Converts any addHandler/removeHandler API to an\r\n     * Observable.</span>\r\n     *\r\n     * <img src=\"./img/fromEventPattern.png\" width=\"100%\">\r\n     *\r\n     * Creates an Observable by using the `addHandler` and `removeHandler`\r\n     * functions to add and remove the handlers, with an optional selector\r\n     * function to project the event arguments to a result. The `addHandler` is\r\n     * called when the output Observable is subscribed, and `removeHandler` is\r\n     * called when the Subscription is unsubscribed.\r\n     *\r\n     * @example <caption>Emits clicks happening on the DOM document</caption>\r\n     * function addClickHandler(handler) {\r\n     *   document.addEventListener('click', handler);\r\n     * }\r\n     *\r\n     * function removeClickHandler(handler) {\r\n     *   document.removeEventListener('click', handler);\r\n     * }\r\n     *\r\n     * var clicks = Rx.Observable.fromEventPattern(\r\n     *   addClickHandler,\r\n     *   removeClickHandler\r\n     * );\r\n     * clicks.subscribe(x => console.log(x));\r\n     *\r\n     * @see {@link from}\r\n     * @see {@link fromEvent}\r\n     *\r\n     * @param {function(handler: Function): any} addHandler A function that takes\r\n     * a `handler` function as argument and attaches it somehow to the actual\r\n     * source of events.\r\n     * @param {function(handler: Function): void} removeHandler A function that\r\n     * takes a `handler` function as argument and removes it in case it was\r\n     * previously attached using `addHandler`.\r\n     * @param {function(...args: any): T} [selector] An optional function to\r\n     * post-process results. It takes the arguments from the event handler and\r\n     * should return a single value.\r\n     * @return {Observable<T>}\r\n     * @static true\r\n     * @name fromEventPattern\r\n     * @owner Observable\r\n     */\r\n    FromEventPatternObservable.create = function (addHandler, removeHandler, selector) {\r\n        return new FromEventPatternObservable(addHandler, removeHandler, selector);\r\n    };\r\n    FromEventPatternObservable.prototype._subscribe = function (subscriber) {\r\n        var _this = this;\r\n        var removeHandler = this.removeHandler;\r\n        var handler = !!this.selector ? function () {\r\n            var args = [];\r\n            for (var _i = 0; _i < arguments.length; _i++) {\r\n                args[_i - 0] = arguments[_i];\r\n            }\r\n            _this._callSelector(subscriber, args);\r\n        } : function (e) { subscriber.next(e); };\r\n        this._callAddHandler(handler, subscriber);\r\n        subscriber.add(new Subscription_1.Subscription(function () {\r\n            //TODO: determine whether or not to forward to error handler\r\n            removeHandler(handler);\r\n        }));\r\n    };\r\n    FromEventPatternObservable.prototype._callSelector = function (subscriber, args) {\r\n        try {\r\n            var result = this.selector.apply(this, args);\r\n            subscriber.next(result);\r\n        }\r\n        catch (e) {\r\n            subscriber.error(e);\r\n        }\r\n    };\r\n    FromEventPatternObservable.prototype._callAddHandler = function (handler, errorSubscriber) {\r\n        try {\r\n            this.addHandler(handler);\r\n        }\r\n        catch (e) {\r\n            errorSubscriber.error(e);\r\n        }\r\n    };\r\n    return FromEventPatternObservable;\r\n}(Observable_1.Observable));\r\nexports.FromEventPatternObservable = FromEventPatternObservable;\r\n//# sourceMappingURL=FromEventPatternObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/FromEventPatternObservable.js\n// module id = 1535\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar isScheduler_1 = require('../util/isScheduler');\r\nvar selfSelector = function (value) { return value; };\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar GenerateObservable = (function (_super) {\r\n    __extends(GenerateObservable, _super);\r\n    function GenerateObservable(initialState, condition, iterate, resultSelector, scheduler) {\r\n        _super.call(this);\r\n        this.initialState = initialState;\r\n        this.condition = condition;\r\n        this.iterate = iterate;\r\n        this.resultSelector = resultSelector;\r\n        this.scheduler = scheduler;\r\n    }\r\n    GenerateObservable.create = function (initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\r\n        if (arguments.length == 1) {\r\n            return new GenerateObservable(initialStateOrOptions.initialState, initialStateOrOptions.condition, initialStateOrOptions.iterate, initialStateOrOptions.resultSelector || selfSelector, initialStateOrOptions.scheduler);\r\n        }\r\n        if (resultSelectorOrObservable === undefined || isScheduler_1.isScheduler(resultSelectorOrObservable)) {\r\n            return new GenerateObservable(initialStateOrOptions, condition, iterate, selfSelector, resultSelectorOrObservable);\r\n        }\r\n        return new GenerateObservable(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler);\r\n    };\r\n    GenerateObservable.prototype._subscribe = function (subscriber) {\r\n        var state = this.initialState;\r\n        if (this.scheduler) {\r\n            return this.scheduler.schedule(GenerateObservable.dispatch, 0, {\r\n                subscriber: subscriber,\r\n                iterate: this.iterate,\r\n                condition: this.condition,\r\n                resultSelector: this.resultSelector,\r\n                state: state });\r\n        }\r\n        var _a = this, condition = _a.condition, resultSelector = _a.resultSelector, iterate = _a.iterate;\r\n        do {\r\n            if (condition) {\r\n                var conditionResult = void 0;\r\n                try {\r\n                    conditionResult = condition(state);\r\n                }\r\n                catch (err) {\r\n                    subscriber.error(err);\r\n                    return;\r\n                }\r\n                if (!conditionResult) {\r\n                    subscriber.complete();\r\n                    break;\r\n                }\r\n            }\r\n            var value = void 0;\r\n            try {\r\n                value = resultSelector(state);\r\n            }\r\n            catch (err) {\r\n                subscriber.error(err);\r\n                return;\r\n            }\r\n            subscriber.next(value);\r\n            if (subscriber.closed) {\r\n                break;\r\n            }\r\n            try {\r\n                state = iterate(state);\r\n            }\r\n            catch (err) {\r\n                subscriber.error(err);\r\n                return;\r\n            }\r\n        } while (true);\r\n    };\r\n    GenerateObservable.dispatch = function (state) {\r\n        var subscriber = state.subscriber, condition = state.condition;\r\n        if (subscriber.closed) {\r\n            return;\r\n        }\r\n        if (state.needIterate) {\r\n            try {\r\n                state.state = state.iterate(state.state);\r\n            }\r\n            catch (err) {\r\n                subscriber.error(err);\r\n                return;\r\n            }\r\n        }\r\n        else {\r\n            state.needIterate = true;\r\n        }\r\n        if (condition) {\r\n            var conditionResult = void 0;\r\n            try {\r\n                conditionResult = condition(state.state);\r\n            }\r\n            catch (err) {\r\n                subscriber.error(err);\r\n                return;\r\n            }\r\n            if (!conditionResult) {\r\n                subscriber.complete();\r\n                return;\r\n            }\r\n            if (subscriber.closed) {\r\n                return;\r\n            }\r\n        }\r\n        var value;\r\n        try {\r\n            value = state.resultSelector(state.state);\r\n        }\r\n        catch (err) {\r\n            subscriber.error(err);\r\n            return;\r\n        }\r\n        if (subscriber.closed) {\r\n            return;\r\n        }\r\n        subscriber.next(value);\r\n        if (subscriber.closed) {\r\n            return;\r\n        }\r\n        return this.schedule(state);\r\n    };\r\n    return GenerateObservable;\r\n}(Observable_1.Observable));\r\nexports.GenerateObservable = GenerateObservable;\r\n//# sourceMappingURL=GenerateObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/GenerateObservable.js\n// module id = 1536\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar IfObservable = (function (_super) {\r\n    __extends(IfObservable, _super);\r\n    function IfObservable(condition, thenSource, elseSource) {\r\n        _super.call(this);\r\n        this.condition = condition;\r\n        this.thenSource = thenSource;\r\n        this.elseSource = elseSource;\r\n    }\r\n    IfObservable.create = function (condition, thenSource, elseSource) {\r\n        return new IfObservable(condition, thenSource, elseSource);\r\n    };\r\n    IfObservable.prototype._subscribe = function (subscriber) {\r\n        var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\r\n        return new IfSubscriber(subscriber, condition, thenSource, elseSource);\r\n    };\r\n    return IfObservable;\r\n}(Observable_1.Observable));\r\nexports.IfObservable = IfObservable;\r\nvar IfSubscriber = (function (_super) {\r\n    __extends(IfSubscriber, _super);\r\n    function IfSubscriber(destination, condition, thenSource, elseSource) {\r\n        _super.call(this, destination);\r\n        this.condition = condition;\r\n        this.thenSource = thenSource;\r\n        this.elseSource = elseSource;\r\n        this.tryIf();\r\n    }\r\n    IfSubscriber.prototype.tryIf = function () {\r\n        var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\r\n        var result;\r\n        try {\r\n            result = condition();\r\n            var source = result ? thenSource : elseSource;\r\n            if (source) {\r\n                this.add(subscribeToResult_1.subscribeToResult(this, source));\r\n            }\r\n            else {\r\n                this._complete();\r\n            }\r\n        }\r\n        catch (err) {\r\n            this._error(err);\r\n        }\r\n    };\r\n    return IfSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=IfObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/IfObservable.js\n// module id = 1537\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar isNumeric_1 = require('../util/isNumeric');\r\nvar Observable_1 = require('../Observable');\r\nvar async_1 = require('../scheduler/async');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar IntervalObservable = (function (_super) {\r\n    __extends(IntervalObservable, _super);\r\n    function IntervalObservable(period, scheduler) {\r\n        if (period === void 0) { period = 0; }\r\n        if (scheduler === void 0) { scheduler = async_1.async; }\r\n        _super.call(this);\r\n        this.period = period;\r\n        this.scheduler = scheduler;\r\n        if (!isNumeric_1.isNumeric(period) || period < 0) {\r\n            this.period = 0;\r\n        }\r\n        if (!scheduler || typeof scheduler.schedule !== 'function') {\r\n            this.scheduler = async_1.async;\r\n        }\r\n    }\r\n    /**\r\n     * Creates an Observable that emits sequential numbers every specified\r\n     * interval of time, on a specified Scheduler.\r\n     *\r\n     * <span class=\"informal\">Emits incremental numbers periodically in time.\r\n     * </span>\r\n     *\r\n     * <img src=\"./img/interval.png\" width=\"100%\">\r\n     *\r\n     * `interval` returns an Observable that emits an infinite sequence of\r\n     * ascending integers, with a constant interval of time of your choosing\r\n     * between those emissions. The first emission is not sent immediately, but\r\n     * only after the first period has passed. By default, this operator uses the\r\n     * `async` Scheduler to provide a notion of time, but you may pass any\r\n     * Scheduler to it.\r\n     *\r\n     * @example <caption>Emits ascending numbers, one every second (1000ms)</caption>\r\n     * var numbers = Rx.Observable.interval(1000);\r\n     * numbers.subscribe(x => console.log(x));\r\n     *\r\n     * @see {@link timer}\r\n     * @see {@link delay}\r\n     *\r\n     * @param {number} [period=0] The interval size in milliseconds (by default)\r\n     * or the time unit determined by the scheduler's clock.\r\n     * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling\r\n     * the emission of values, and providing a notion of \"time\".\r\n     * @return {Observable} An Observable that emits a sequential number each time\r\n     * interval.\r\n     * @static true\r\n     * @name interval\r\n     * @owner Observable\r\n     */\r\n    IntervalObservable.create = function (period, scheduler) {\r\n        if (period === void 0) { period = 0; }\r\n        if (scheduler === void 0) { scheduler = async_1.async; }\r\n        return new IntervalObservable(period, scheduler);\r\n    };\r\n    IntervalObservable.dispatch = function (state) {\r\n        var index = state.index, subscriber = state.subscriber, period = state.period;\r\n        subscriber.next(index);\r\n        if (subscriber.closed) {\r\n            return;\r\n        }\r\n        state.index += 1;\r\n        this.schedule(state, period);\r\n    };\r\n    IntervalObservable.prototype._subscribe = function (subscriber) {\r\n        var index = 0;\r\n        var period = this.period;\r\n        var scheduler = this.scheduler;\r\n        subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {\r\n            index: index, subscriber: subscriber, period: period\r\n        }));\r\n    };\r\n    return IntervalObservable;\r\n}(Observable_1.Observable));\r\nexports.IntervalObservable = IntervalObservable;\r\n//# sourceMappingURL=IntervalObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/IntervalObservable.js\n// module id = 1538\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar noop_1 = require('../util/noop');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar NeverObservable = (function (_super) {\r\n    __extends(NeverObservable, _super);\r\n    function NeverObservable() {\r\n        _super.call(this);\r\n    }\r\n    /**\r\n     * Creates an Observable that emits no items to the Observer.\r\n     *\r\n     * <span class=\"informal\">An Observable that never emits anything.</span>\r\n     *\r\n     * <img src=\"./img/never.png\" width=\"100%\">\r\n     *\r\n     * This static operator is useful for creating a simple Observable that emits\r\n     * neither values nor errors nor the completion notification. It can be used\r\n     * for testing purposes or for composing with other Observables. Please not\r\n     * that by never emitting a complete notification, this Observable keeps the\r\n     * subscription from being disposed automatically. Subscriptions need to be\r\n     * manually disposed.\r\n     *\r\n     * @example <caption>Emit the number 7, then never emit anything else (not even complete).</caption>\r\n     * function info() {\r\n     *   console.log('Will not be called');\r\n     * }\r\n     * var result = Rx.Observable.never().startWith(7);\r\n     * result.subscribe(x => console.log(x), info, info);\r\n     *\r\n     * @see {@link create}\r\n     * @see {@link empty}\r\n     * @see {@link of}\r\n     * @see {@link throw}\r\n     *\r\n     * @return {Observable} A \"never\" Observable: never emits anything.\r\n     * @static true\r\n     * @name never\r\n     * @owner Observable\r\n     */\r\n    NeverObservable.create = function () {\r\n        return new NeverObservable();\r\n    };\r\n    NeverObservable.prototype._subscribe = function (subscriber) {\r\n        noop_1.noop();\r\n    };\r\n    return NeverObservable;\r\n}(Observable_1.Observable));\r\nexports.NeverObservable = NeverObservable;\r\n//# sourceMappingURL=NeverObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/NeverObservable.js\n// module id = 1540\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nfunction dispatch(state) {\r\n    var obj = state.obj, keys = state.keys, length = state.length, index = state.index, subscriber = state.subscriber;\r\n    if (index === length) {\r\n        subscriber.complete();\r\n        return;\r\n    }\r\n    var key = keys[index];\r\n    subscriber.next([key, obj[key]]);\r\n    state.index = index + 1;\r\n    this.schedule(state);\r\n}\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar PairsObservable = (function (_super) {\r\n    __extends(PairsObservable, _super);\r\n    function PairsObservable(obj, scheduler) {\r\n        _super.call(this);\r\n        this.obj = obj;\r\n        this.scheduler = scheduler;\r\n        this.keys = Object.keys(obj);\r\n    }\r\n    /**\r\n     * Convert an object into an observable sequence of [key, value] pairs\r\n     * using an optional Scheduler to enumerate the object.\r\n     *\r\n     * @example <caption>Converts a javascript object to an Observable</caption>\r\n     * var obj = {\r\n     *   foo: 42,\r\n     *   bar: 56,\r\n     *   baz: 78\r\n     * };\r\n     *\r\n     * var source = Rx.Observable.pairs(obj);\r\n     *\r\n     * var subscription = source.subscribe(\r\n     *   function (x) {\r\n     *     console.log('Next: %s', x);\r\n     *   },\r\n     *   function (err) {\r\n     *     console.log('Error: %s', err);\r\n     *   },\r\n     *   function () {\r\n     *     console.log('Completed');\r\n     *   });\r\n     *\r\n     * @param {Object} obj The object to inspect and turn into an\r\n     * Observable sequence.\r\n     * @param {Scheduler} [scheduler] An optional Scheduler to run the\r\n     * enumeration of the input sequence on.\r\n     * @returns {(Observable<Array<string | T>>)} An observable sequence of\r\n     * [key, value] pairs from the object.\r\n     */\r\n    PairsObservable.create = function (obj, scheduler) {\r\n        return new PairsObservable(obj, scheduler);\r\n    };\r\n    PairsObservable.prototype._subscribe = function (subscriber) {\r\n        var _a = this, keys = _a.keys, scheduler = _a.scheduler;\r\n        var length = keys.length;\r\n        if (scheduler) {\r\n            return scheduler.schedule(dispatch, 0, {\r\n                obj: this.obj, keys: keys, length: length, index: 0, subscriber: subscriber\r\n            });\r\n        }\r\n        else {\r\n            for (var idx = 0; idx < length; idx++) {\r\n                var key = keys[idx];\r\n                subscriber.next([key, this.obj[key]]);\r\n            }\r\n            subscriber.complete();\r\n        }\r\n    };\r\n    return PairsObservable;\r\n}(Observable_1.Observable));\r\nexports.PairsObservable = PairsObservable;\r\n//# sourceMappingURL=PairsObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/PairsObservable.js\n// module id = 1541\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar RangeObservable = (function (_super) {\r\n    __extends(RangeObservable, _super);\r\n    function RangeObservable(start, count, scheduler) {\r\n        _super.call(this);\r\n        this.start = start;\r\n        this._count = count;\r\n        this.scheduler = scheduler;\r\n    }\r\n    /**\r\n     * Creates an Observable that emits a sequence of numbers within a specified\r\n     * range.\r\n     *\r\n     * <span class=\"informal\">Emits a sequence of numbers in a range.</span>\r\n     *\r\n     * <img src=\"./img/range.png\" width=\"100%\">\r\n     *\r\n     * `range` operator emits a range of sequential integers, in order, where you\r\n     * select the `start` of the range and its `length`. By default, uses no\r\n     * Scheduler and just delivers the notifications synchronously, but may use\r\n     * an optional Scheduler to regulate those deliveries.\r\n     *\r\n     * @example <caption>Emits the numbers 1 to 10</caption>\r\n     * var numbers = Rx.Observable.range(1, 10);\r\n     * numbers.subscribe(x => console.log(x));\r\n     *\r\n     * @see {@link timer}\r\n     * @see {@link interval}\r\n     *\r\n     * @param {number} [start=0] The value of the first integer in the sequence.\r\n     * @param {number} [count=0] The number of sequential integers to generate.\r\n     * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling\r\n     * the emissions of the notifications.\r\n     * @return {Observable} An Observable of numbers that emits a finite range of\r\n     * sequential integers.\r\n     * @static true\r\n     * @name range\r\n     * @owner Observable\r\n     */\r\n    RangeObservable.create = function (start, count, scheduler) {\r\n        if (start === void 0) { start = 0; }\r\n        if (count === void 0) { count = 0; }\r\n        return new RangeObservable(start, count, scheduler);\r\n    };\r\n    RangeObservable.dispatch = function (state) {\r\n        var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\r\n        if (index >= count) {\r\n            subscriber.complete();\r\n            return;\r\n        }\r\n        subscriber.next(start);\r\n        if (subscriber.closed) {\r\n            return;\r\n        }\r\n        state.index = index + 1;\r\n        state.start = start + 1;\r\n        this.schedule(state);\r\n    };\r\n    RangeObservable.prototype._subscribe = function (subscriber) {\r\n        var index = 0;\r\n        var start = this.start;\r\n        var count = this._count;\r\n        var scheduler = this.scheduler;\r\n        if (scheduler) {\r\n            return scheduler.schedule(RangeObservable.dispatch, 0, {\r\n                index: index, count: count, start: start, subscriber: subscriber\r\n            });\r\n        }\r\n        else {\r\n            do {\r\n                if (index++ >= count) {\r\n                    subscriber.complete();\r\n                    break;\r\n                }\r\n                subscriber.next(start++);\r\n                if (subscriber.closed) {\r\n                    break;\r\n                }\r\n            } while (true);\r\n        }\r\n    };\r\n    return RangeObservable;\r\n}(Observable_1.Observable));\r\nexports.RangeObservable = RangeObservable;\r\n//# sourceMappingURL=RangeObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/RangeObservable.js\n// module id = 1542\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar asap_1 = require('../scheduler/asap');\r\nvar isNumeric_1 = require('../util/isNumeric');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar SubscribeOnObservable = (function (_super) {\r\n    __extends(SubscribeOnObservable, _super);\r\n    function SubscribeOnObservable(source, delayTime, scheduler) {\r\n        if (delayTime === void 0) { delayTime = 0; }\r\n        if (scheduler === void 0) { scheduler = asap_1.asap; }\r\n        _super.call(this);\r\n        this.source = source;\r\n        this.delayTime = delayTime;\r\n        this.scheduler = scheduler;\r\n        if (!isNumeric_1.isNumeric(delayTime) || delayTime < 0) {\r\n            this.delayTime = 0;\r\n        }\r\n        if (!scheduler || typeof scheduler.schedule !== 'function') {\r\n            this.scheduler = asap_1.asap;\r\n        }\r\n    }\r\n    SubscribeOnObservable.create = function (source, delay, scheduler) {\r\n        if (delay === void 0) { delay = 0; }\r\n        if (scheduler === void 0) { scheduler = asap_1.asap; }\r\n        return new SubscribeOnObservable(source, delay, scheduler);\r\n    };\r\n    SubscribeOnObservable.dispatch = function (arg) {\r\n        var source = arg.source, subscriber = arg.subscriber;\r\n        return this.add(source.subscribe(subscriber));\r\n    };\r\n    SubscribeOnObservable.prototype._subscribe = function (subscriber) {\r\n        var delay = this.delayTime;\r\n        var source = this.source;\r\n        var scheduler = this.scheduler;\r\n        return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\r\n            source: source, subscriber: subscriber\r\n        });\r\n    };\r\n    return SubscribeOnObservable;\r\n}(Observable_1.Observable));\r\nexports.SubscribeOnObservable = SubscribeOnObservable;\r\n//# sourceMappingURL=SubscribeOnObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/SubscribeOnObservable.js\n// module id = 1543\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar isNumeric_1 = require('../util/isNumeric');\r\nvar Observable_1 = require('../Observable');\r\nvar async_1 = require('../scheduler/async');\r\nvar isScheduler_1 = require('../util/isScheduler');\r\nvar isDate_1 = require('../util/isDate');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar TimerObservable = (function (_super) {\r\n    __extends(TimerObservable, _super);\r\n    function TimerObservable(dueTime, period, scheduler) {\r\n        if (dueTime === void 0) { dueTime = 0; }\r\n        _super.call(this);\r\n        this.period = -1;\r\n        this.dueTime = 0;\r\n        if (isNumeric_1.isNumeric(period)) {\r\n            this.period = Number(period) < 1 && 1 || Number(period);\r\n        }\r\n        else if (isScheduler_1.isScheduler(period)) {\r\n            scheduler = period;\r\n        }\r\n        if (!isScheduler_1.isScheduler(scheduler)) {\r\n            scheduler = async_1.async;\r\n        }\r\n        this.scheduler = scheduler;\r\n        this.dueTime = isDate_1.isDate(dueTime) ?\r\n            (+dueTime - this.scheduler.now()) :\r\n            dueTime;\r\n    }\r\n    /**\r\n     * Creates an Observable that starts emitting after an `initialDelay` and\r\n     * emits ever increasing numbers after each `period` of time thereafter.\r\n     *\r\n     * <span class=\"informal\">Its like {@link interval}, but you can specify when\r\n     * should the emissions start.</span>\r\n     *\r\n     * <img src=\"./img/timer.png\" width=\"100%\">\r\n     *\r\n     * `timer` returns an Observable that emits an infinite sequence of ascending\r\n     * integers, with a constant interval of time, `period` of your choosing\r\n     * between those emissions. The first emission happens after the specified\r\n     * `initialDelay`. The initial delay may be a {@link Date}. By default, this\r\n     * operator uses the `async` Scheduler to provide a notion of time, but you\r\n     * may pass any Scheduler to it. If `period` is not specified, the output\r\n     * Observable emits only one value, `0`. Otherwise, it emits an infinite\r\n     * sequence.\r\n     *\r\n     * @example <caption>Emits ascending numbers, one every second (1000ms), starting after 3 seconds</caption>\r\n     * var numbers = Rx.Observable.timer(3000, 1000);\r\n     * numbers.subscribe(x => console.log(x));\r\n     *\r\n     * @example <caption>Emits one number after five seconds</caption>\r\n     * var numbers = Rx.Observable.timer(5000);\r\n     * numbers.subscribe(x => console.log(x));\r\n     *\r\n     * @see {@link interval}\r\n     * @see {@link delay}\r\n     *\r\n     * @param {number|Date} initialDelay The initial delay time to wait before\r\n     * emitting the first value of `0`.\r\n     * @param {number} [period] The period of time between emissions of the\r\n     * subsequent numbers.\r\n     * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling\r\n     * the emission of values, and providing a notion of \"time\".\r\n     * @return {Observable} An Observable that emits a `0` after the\r\n     * `initialDelay` and ever increasing numbers after each `period` of time\r\n     * thereafter.\r\n     * @static true\r\n     * @name timer\r\n     * @owner Observable\r\n     */\r\n    TimerObservable.create = function (initialDelay, period, scheduler) {\r\n        if (initialDelay === void 0) { initialDelay = 0; }\r\n        return new TimerObservable(initialDelay, period, scheduler);\r\n    };\r\n    TimerObservable.dispatch = function (state) {\r\n        var index = state.index, period = state.period, subscriber = state.subscriber;\r\n        var action = this;\r\n        subscriber.next(index);\r\n        if (subscriber.closed) {\r\n            return;\r\n        }\r\n        else if (period === -1) {\r\n            return subscriber.complete();\r\n        }\r\n        state.index = index + 1;\r\n        action.schedule(state, period);\r\n    };\r\n    TimerObservable.prototype._subscribe = function (subscriber) {\r\n        var index = 0;\r\n        var _a = this, period = _a.period, dueTime = _a.dueTime, scheduler = _a.scheduler;\r\n        return scheduler.schedule(TimerObservable.dispatch, dueTime, {\r\n            index: index, period: period, subscriber: subscriber\r\n        });\r\n    };\r\n    return TimerObservable;\r\n}(Observable_1.Observable));\r\nexports.TimerObservable = TimerObservable;\r\n//# sourceMappingURL=TimerObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/TimerObservable.js\n// module id = 1544\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar UsingObservable = (function (_super) {\r\n    __extends(UsingObservable, _super);\r\n    function UsingObservable(resourceFactory, observableFactory) {\r\n        _super.call(this);\r\n        this.resourceFactory = resourceFactory;\r\n        this.observableFactory = observableFactory;\r\n    }\r\n    UsingObservable.create = function (resourceFactory, observableFactory) {\r\n        return new UsingObservable(resourceFactory, observableFactory);\r\n    };\r\n    UsingObservable.prototype._subscribe = function (subscriber) {\r\n        var _a = this, resourceFactory = _a.resourceFactory, observableFactory = _a.observableFactory;\r\n        var resource;\r\n        try {\r\n            resource = resourceFactory();\r\n            return new UsingSubscriber(subscriber, resource, observableFactory);\r\n        }\r\n        catch (err) {\r\n            subscriber.error(err);\r\n        }\r\n    };\r\n    return UsingObservable;\r\n}(Observable_1.Observable));\r\nexports.UsingObservable = UsingObservable;\r\nvar UsingSubscriber = (function (_super) {\r\n    __extends(UsingSubscriber, _super);\r\n    function UsingSubscriber(destination, resource, observableFactory) {\r\n        _super.call(this, destination);\r\n        this.resource = resource;\r\n        this.observableFactory = observableFactory;\r\n        destination.add(resource);\r\n        this.tryUse();\r\n    }\r\n    UsingSubscriber.prototype.tryUse = function () {\r\n        try {\r\n            var source = this.observableFactory.call(this, this.resource);\r\n            if (source) {\r\n                this.add(subscribeToResult_1.subscribeToResult(this, source));\r\n            }\r\n        }\r\n        catch (err) {\r\n            this._error(err);\r\n        }\r\n    };\r\n    return UsingSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=UsingObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/UsingObservable.js\n// module id = 1545\n// module chunks = 3","\"use strict\";\r\nvar BoundCallbackObservable_1 = require('./BoundCallbackObservable');\r\nexports.bindCallback = BoundCallbackObservable_1.BoundCallbackObservable.create;\r\n//# sourceMappingURL=bindCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/bindCallback.js\n// module id = 1546\n// module chunks = 3","\"use strict\";\r\nvar BoundNodeCallbackObservable_1 = require('./BoundNodeCallbackObservable');\r\nexports.bindNodeCallback = BoundNodeCallbackObservable_1.BoundNodeCallbackObservable.create;\r\n//# sourceMappingURL=bindNodeCallback.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/bindNodeCallback.js\n// module id = 1547\n// module chunks = 3","\"use strict\";\r\nvar isScheduler_1 = require('../util/isScheduler');\r\nvar isArray_1 = require('../util/isArray');\r\nvar ArrayObservable_1 = require('./ArrayObservable');\r\nvar combineLatest_1 = require('../operator/combineLatest');\r\n/* tslint:enable:max-line-length */\r\n/**\r\n * Combines multiple Observables to create an Observable whose values are\r\n * calculated from the latest values of each of its input Observables.\r\n *\r\n * <span class=\"informal\">Whenever any input Observable emits a value, it\r\n * computes a formula using the latest values from all the inputs, then emits\r\n * the output of that formula.</span>\r\n *\r\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\r\n *\r\n * `combineLatest` combines the values from all the Observables passed as\r\n * arguments. This is done by subscribing to each Observable, in order, and\r\n * collecting an array of each of the most recent values any time any of the\r\n * input Observables emits, then either taking that array and passing it as\r\n * arguments to an optional `project` function and emitting the return value of\r\n * that, or just emitting the array of recent values directly if there is no\r\n * `project` function.\r\n *\r\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\r\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\r\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\r\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\r\n * bmi.subscribe(x => console.log('BMI is ' + x));\r\n *\r\n * // With output to console:\r\n * // BMI is 24.212293388429753\r\n * // BMI is 23.93948099205209\r\n * // BMI is 23.671253629592222\r\n *\r\n * @see {@link combineAll}\r\n * @see {@link merge}\r\n * @see {@link withLatestFrom}\r\n *\r\n * @param {Observable} observable1 An input Observable to combine with the\r\n * source Observable.\r\n * @param {Observable} observable2 An input Observable to combine with the\r\n * source Observable. More than one input Observables may be given as argument.\r\n * @param {function} [project] An optional function to project the values from\r\n * the combined latest values into a new value on the output Observable.\r\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\r\n * each input Observable.\r\n * @return {Observable} An Observable of projected values from the most recent\r\n * values from each input Observable, or an array of the most recent values from\r\n * each input Observable.\r\n * @static true\r\n * @name combineLatest\r\n * @owner Observable\r\n */\r\nfunction combineLatest() {\r\n    var observables = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        observables[_i - 0] = arguments[_i];\r\n    }\r\n    var project = null;\r\n    var scheduler = null;\r\n    if (isScheduler_1.isScheduler(observables[observables.length - 1])) {\r\n        scheduler = observables.pop();\r\n    }\r\n    if (typeof observables[observables.length - 1] === 'function') {\r\n        project = observables.pop();\r\n    }\r\n    // if the first and only other argument besides the resultSelector is an array\r\n    // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\r\n    if (observables.length === 1 && isArray_1.isArray(observables[0])) {\r\n        observables = observables[0];\r\n    }\r\n    return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new combineLatest_1.CombineLatestOperator(project));\r\n}\r\nexports.combineLatest = combineLatest;\r\n//# sourceMappingURL=combineLatest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/combineLatest.js\n// module id = 1548\n// module chunks = 3","\"use strict\";\r\nvar concat_1 = require('../operator/concat');\r\nexports.concat = concat_1.concatStatic;\r\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/concat.js\n// module id = 1549\n// module chunks = 3","\"use strict\";\r\nvar DeferObservable_1 = require('./DeferObservable');\r\nexports.defer = DeferObservable_1.DeferObservable.create;\r\n//# sourceMappingURL=defer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/defer.js\n// module id = 1550\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../../Subject');\r\nvar Subscriber_1 = require('../../Subscriber');\r\nvar Observable_1 = require('../../Observable');\r\nvar Subscription_1 = require('../../Subscription');\r\nvar root_1 = require('../../util/root');\r\nvar ReplaySubject_1 = require('../../ReplaySubject');\r\nvar tryCatch_1 = require('../../util/tryCatch');\r\nvar errorObject_1 = require('../../util/errorObject');\r\nvar assign_1 = require('../../util/assign');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @extends {Ignored}\r\n * @hide true\r\n */\r\nvar WebSocketSubject = (function (_super) {\r\n    __extends(WebSocketSubject, _super);\r\n    function WebSocketSubject(urlConfigOrSource, destination) {\r\n        if (urlConfigOrSource instanceof Observable_1.Observable) {\r\n            _super.call(this, destination, urlConfigOrSource);\r\n        }\r\n        else {\r\n            _super.call(this);\r\n            this.WebSocketCtor = root_1.root.WebSocket;\r\n            this._output = new Subject_1.Subject();\r\n            if (typeof urlConfigOrSource === 'string') {\r\n                this.url = urlConfigOrSource;\r\n            }\r\n            else {\r\n                // WARNING: config object could override important members here.\r\n                assign_1.assign(this, urlConfigOrSource);\r\n            }\r\n            if (!this.WebSocketCtor) {\r\n                throw new Error('no WebSocket constructor can be found');\r\n            }\r\n            this.destination = new ReplaySubject_1.ReplaySubject();\r\n        }\r\n    }\r\n    WebSocketSubject.prototype.resultSelector = function (e) {\r\n        return JSON.parse(e.data);\r\n    };\r\n    /**\r\n     * @param urlConfigOrSource\r\n     * @return {WebSocketSubject}\r\n     * @static true\r\n     * @name webSocket\r\n     * @owner Observable\r\n     */\r\n    WebSocketSubject.create = function (urlConfigOrSource) {\r\n        return new WebSocketSubject(urlConfigOrSource);\r\n    };\r\n    WebSocketSubject.prototype.lift = function (operator) {\r\n        var sock = new WebSocketSubject(this, this.destination);\r\n        sock.operator = operator;\r\n        return sock;\r\n    };\r\n    WebSocketSubject.prototype._resetState = function () {\r\n        this.socket = null;\r\n        if (!this.source) {\r\n            this.destination = new ReplaySubject_1.ReplaySubject();\r\n        }\r\n        this._output = new Subject_1.Subject();\r\n    };\r\n    // TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures\r\n    WebSocketSubject.prototype.multiplex = function (subMsg, unsubMsg, messageFilter) {\r\n        var self = this;\r\n        return new Observable_1.Observable(function (observer) {\r\n            var result = tryCatch_1.tryCatch(subMsg)();\r\n            if (result === errorObject_1.errorObject) {\r\n                observer.error(errorObject_1.errorObject.e);\r\n            }\r\n            else {\r\n                self.next(result);\r\n            }\r\n            var subscription = self.subscribe(function (x) {\r\n                var result = tryCatch_1.tryCatch(messageFilter)(x);\r\n                if (result === errorObject_1.errorObject) {\r\n                    observer.error(errorObject_1.errorObject.e);\r\n                }\r\n                else if (result) {\r\n                    observer.next(x);\r\n                }\r\n            }, function (err) { return observer.error(err); }, function () { return observer.complete(); });\r\n            return function () {\r\n                var result = tryCatch_1.tryCatch(unsubMsg)();\r\n                if (result === errorObject_1.errorObject) {\r\n                    observer.error(errorObject_1.errorObject.e);\r\n                }\r\n                else {\r\n                    self.next(result);\r\n                }\r\n                subscription.unsubscribe();\r\n            };\r\n        });\r\n    };\r\n    WebSocketSubject.prototype._connectSocket = function () {\r\n        var _this = this;\r\n        var WebSocketCtor = this.WebSocketCtor;\r\n        var observer = this._output;\r\n        var socket = null;\r\n        try {\r\n            socket = this.protocol ?\r\n                new WebSocketCtor(this.url, this.protocol) :\r\n                new WebSocketCtor(this.url);\r\n            this.socket = socket;\r\n        }\r\n        catch (e) {\r\n            observer.error(e);\r\n            return;\r\n        }\r\n        var subscription = new Subscription_1.Subscription(function () {\r\n            _this.socket = null;\r\n            if (socket && socket.readyState === 1) {\r\n                socket.close();\r\n            }\r\n        });\r\n        socket.onopen = function (e) {\r\n            var openObserver = _this.openObserver;\r\n            if (openObserver) {\r\n                openObserver.next(e);\r\n            }\r\n            var queue = _this.destination;\r\n            _this.destination = Subscriber_1.Subscriber.create(function (x) { return socket.readyState === 1 && socket.send(x); }, function (e) {\r\n                var closingObserver = _this.closingObserver;\r\n                if (closingObserver) {\r\n                    closingObserver.next(undefined);\r\n                }\r\n                if (e && e.code) {\r\n                    socket.close(e.code, e.reason);\r\n                }\r\n                else {\r\n                    observer.error(new TypeError('WebSocketSubject.error must be called with an object with an error code, ' +\r\n                        'and an optional reason: { code: number, reason: string }'));\r\n                }\r\n                _this._resetState();\r\n            }, function () {\r\n                var closingObserver = _this.closingObserver;\r\n                if (closingObserver) {\r\n                    closingObserver.next(undefined);\r\n                }\r\n                socket.close();\r\n                _this._resetState();\r\n            });\r\n            if (queue && queue instanceof ReplaySubject_1.ReplaySubject) {\r\n                subscription.add(queue.subscribe(_this.destination));\r\n            }\r\n        };\r\n        socket.onerror = function (e) {\r\n            _this._resetState();\r\n            observer.error(e);\r\n        };\r\n        socket.onclose = function (e) {\r\n            _this._resetState();\r\n            var closeObserver = _this.closeObserver;\r\n            if (closeObserver) {\r\n                closeObserver.next(e);\r\n            }\r\n            if (e.wasClean) {\r\n                observer.complete();\r\n            }\r\n            else {\r\n                observer.error(e);\r\n            }\r\n        };\r\n        socket.onmessage = function (e) {\r\n            var result = tryCatch_1.tryCatch(_this.resultSelector)(e);\r\n            if (result === errorObject_1.errorObject) {\r\n                observer.error(errorObject_1.errorObject.e);\r\n            }\r\n            else {\r\n                observer.next(result);\r\n            }\r\n        };\r\n    };\r\n    WebSocketSubject.prototype._subscribe = function (subscriber) {\r\n        var _this = this;\r\n        var source = this.source;\r\n        if (source) {\r\n            return source.subscribe(subscriber);\r\n        }\r\n        if (!this.socket) {\r\n            this._connectSocket();\r\n        }\r\n        var subscription = new Subscription_1.Subscription();\r\n        subscription.add(this._output.subscribe(subscriber));\r\n        subscription.add(function () {\r\n            var socket = _this.socket;\r\n            if (_this._output.observers.length === 0) {\r\n                if (socket && socket.readyState === 1) {\r\n                    socket.close();\r\n                }\r\n                _this._resetState();\r\n            }\r\n        });\r\n        return subscription;\r\n    };\r\n    WebSocketSubject.prototype.unsubscribe = function () {\r\n        var _a = this, source = _a.source, socket = _a.socket;\r\n        if (socket && socket.readyState === 1) {\r\n            socket.close();\r\n            this._resetState();\r\n        }\r\n        _super.prototype.unsubscribe.call(this);\r\n        if (!source) {\r\n            this.destination = new ReplaySubject_1.ReplaySubject();\r\n        }\r\n    };\r\n    return WebSocketSubject;\r\n}(Subject_1.AnonymousSubject));\r\nexports.WebSocketSubject = WebSocketSubject;\r\n//# sourceMappingURL=WebSocketSubject.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/dom/WebSocketSubject.js\n// module id = 1551\n// module chunks = 3","\"use strict\";\r\nvar AjaxObservable_1 = require('./AjaxObservable');\r\nexports.ajax = AjaxObservable_1.AjaxObservable.create;\r\n//# sourceMappingURL=ajax.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/dom/ajax.js\n// module id = 1552\n// module chunks = 3","\"use strict\";\r\nvar WebSocketSubject_1 = require('./WebSocketSubject');\r\nexports.webSocket = WebSocketSubject_1.WebSocketSubject.create;\r\n//# sourceMappingURL=webSocket.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/dom/webSocket.js\n// module id = 1553\n// module chunks = 3","\"use strict\";\r\nvar EmptyObservable_1 = require('./EmptyObservable');\r\nexports.empty = EmptyObservable_1.EmptyObservable.create;\r\n//# sourceMappingURL=empty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/empty.js\n// module id = 1554\n// module chunks = 3","\"use strict\";\r\nvar FromEventObservable_1 = require('./FromEventObservable');\r\nexports.fromEvent = FromEventObservable_1.FromEventObservable.create;\r\n//# sourceMappingURL=fromEvent.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/fromEvent.js\n// module id = 1555\n// module chunks = 3","\"use strict\";\r\nvar FromEventPatternObservable_1 = require('./FromEventPatternObservable');\r\nexports.fromEventPattern = FromEventPatternObservable_1.FromEventPatternObservable.create;\r\n//# sourceMappingURL=fromEventPattern.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/fromEventPattern.js\n// module id = 1556\n// module chunks = 3","\"use strict\";\r\nvar IfObservable_1 = require('./IfObservable');\r\nexports._if = IfObservable_1.IfObservable.create;\r\n//# sourceMappingURL=if.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/if.js\n// module id = 1557\n// module chunks = 3","\"use strict\";\r\nvar IntervalObservable_1 = require('./IntervalObservable');\r\nexports.interval = IntervalObservable_1.IntervalObservable.create;\r\n//# sourceMappingURL=interval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/interval.js\n// module id = 1558\n// module chunks = 3","\"use strict\";\r\nvar NeverObservable_1 = require('./NeverObservable');\r\nexports.never = NeverObservable_1.NeverObservable.create;\r\n//# sourceMappingURL=never.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/never.js\n// module id = 1559\n// module chunks = 3","\"use strict\";\r\nvar PairsObservable_1 = require('./PairsObservable');\r\nexports.pairs = PairsObservable_1.PairsObservable.create;\r\n//# sourceMappingURL=pairs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/pairs.js\n// module id = 1560\n// module chunks = 3","\"use strict\";\r\nvar RangeObservable_1 = require('./RangeObservable');\r\nexports.range = RangeObservable_1.RangeObservable.create;\r\n//# sourceMappingURL=range.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/range.js\n// module id = 1561\n// module chunks = 3","\"use strict\";\r\nvar ErrorObservable_1 = require('./ErrorObservable');\r\nexports._throw = ErrorObservable_1.ErrorObservable.create;\r\n//# sourceMappingURL=throw.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/throw.js\n// module id = 1562\n// module chunks = 3","\"use strict\";\r\nvar TimerObservable_1 = require('./TimerObservable');\r\nexports.timer = TimerObservable_1.TimerObservable.create;\r\n//# sourceMappingURL=timer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/timer.js\n// module id = 1563\n// module chunks = 3","\"use strict\";\r\nvar UsingObservable_1 = require('./UsingObservable');\r\nexports.using = UsingObservable_1.UsingObservable.create;\r\n//# sourceMappingURL=using.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/using.js\n// module id = 1564\n// module chunks = 3","\"use strict\";\r\nvar zip_1 = require('../operator/zip');\r\nexports.zip = zip_1.zipStatic;\r\n//# sourceMappingURL=zip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/observable/zip.js\n// module id = 1565\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Ignores source values for a duration determined by another Observable, then\r\n * emits the most recent value from the source Observable, then repeats this\r\n * process.\r\n *\r\n * <span class=\"informal\">It's like {@link auditTime}, but the silencing\r\n * duration is determined by a second Observable.</span>\r\n *\r\n * <img src=\"./img/audit.png\" width=\"100%\">\r\n *\r\n * `audit` is similar to `throttle`, but emits the last value from the silenced\r\n * time window, instead of the first value. `audit` emits the most recent value\r\n * from the source Observable on the output Observable as soon as its internal\r\n * timer becomes disabled, and ignores source values while the timer is enabled.\r\n * Initially, the timer is disabled. As soon as the first source value arrives,\r\n * the timer is enabled by calling the `durationSelector` function with the\r\n * source value, which returns the \"duration\" Observable. When the duration\r\n * Observable emits a value or completes, the timer is disabled, then the most\r\n * recent source value is emitted on the output Observable, and this process\r\n * repeats for the next source value.\r\n *\r\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.audit(ev => Rx.Observable.interval(1000));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link auditTime}\r\n * @see {@link debounce}\r\n * @see {@link delayWhen}\r\n * @see {@link sample}\r\n * @see {@link throttle}\r\n *\r\n * @param {function(value: T): Observable|Promise} durationSelector A function\r\n * that receives a value from the source Observable, for computing the silencing\r\n * duration, returned as an Observable or a Promise.\r\n * @return {Observable<T>} An Observable that performs rate-limiting of\r\n * emissions from the source Observable.\r\n * @method audit\r\n * @owner Observable\r\n */\r\nfunction audit(durationSelector) {\r\n    return this.lift(new AuditOperator(durationSelector));\r\n}\r\nexports.audit = audit;\r\nvar AuditOperator = (function () {\r\n    function AuditOperator(durationSelector) {\r\n        this.durationSelector = durationSelector;\r\n    }\r\n    AuditOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector));\r\n    };\r\n    return AuditOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar AuditSubscriber = (function (_super) {\r\n    __extends(AuditSubscriber, _super);\r\n    function AuditSubscriber(destination, durationSelector) {\r\n        _super.call(this, destination);\r\n        this.durationSelector = durationSelector;\r\n        this.hasValue = false;\r\n    }\r\n    AuditSubscriber.prototype._next = function (value) {\r\n        this.value = value;\r\n        this.hasValue = true;\r\n        if (!this.throttled) {\r\n            var duration = tryCatch_1.tryCatch(this.durationSelector)(value);\r\n            if (duration === errorObject_1.errorObject) {\r\n                this.destination.error(errorObject_1.errorObject.e);\r\n            }\r\n            else {\r\n                this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));\r\n            }\r\n        }\r\n    };\r\n    AuditSubscriber.prototype.clearThrottle = function () {\r\n        var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\r\n        if (throttled) {\r\n            this.remove(throttled);\r\n            this.throttled = null;\r\n            throttled.unsubscribe();\r\n        }\r\n        if (hasValue) {\r\n            this.value = null;\r\n            this.hasValue = false;\r\n            this.destination.next(value);\r\n        }\r\n    };\r\n    AuditSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\r\n        this.clearThrottle();\r\n    };\r\n    AuditSubscriber.prototype.notifyComplete = function () {\r\n        this.clearThrottle();\r\n    };\r\n    return AuditSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=audit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/audit.js\n// module id = 1566\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar async_1 = require('../scheduler/async');\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Ignores source values for `duration` milliseconds, then emits the most recent\r\n * value from the source Observable, then repeats this process.\r\n *\r\n * <span class=\"informal\">When it sees a source values, it ignores that plus\r\n * the next ones for `duration` milliseconds, and then it emits the most recent\r\n * value from the source.</span>\r\n *\r\n * <img src=\"./img/auditTime.png\" width=\"100%\">\r\n *\r\n * `auditTime` is similar to `throttleTime`, but emits the last value from the\r\n * silenced time window, instead of the first value. `auditTime` emits the most\r\n * recent value from the source Observable on the output Observable as soon as\r\n * its internal timer becomes disabled, and ignores source values while the\r\n * timer is enabled. Initially, the timer is disabled. As soon as the first\r\n * source value arrives, the timer is enabled. After `duration` milliseconds (or\r\n * the time unit determined internally by the optional `scheduler`) has passed,\r\n * the timer is disabled, then the most recent source value is emitted on the\r\n * output Observable, and this process repeats for the next source value.\r\n * Optionally takes a {@link Scheduler} for managing timers.\r\n *\r\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.auditTime(1000);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link audit}\r\n * @see {@link debounceTime}\r\n * @see {@link delay}\r\n * @see {@link sampleTime}\r\n * @see {@link throttleTime}\r\n *\r\n * @param {number} duration Time to wait before emitting the most recent source\r\n * value, measured in milliseconds or the time unit determined internally\r\n * by the optional `scheduler`.\r\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\r\n * managing the timers that handle the rate-limiting behavior.\r\n * @return {Observable<T>} An Observable that performs rate-limiting of\r\n * emissions from the source Observable.\r\n * @method auditTime\r\n * @owner Observable\r\n */\r\nfunction auditTime(duration, scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    return this.lift(new AuditTimeOperator(duration, scheduler));\r\n}\r\nexports.auditTime = auditTime;\r\nvar AuditTimeOperator = (function () {\r\n    function AuditTimeOperator(duration, scheduler) {\r\n        this.duration = duration;\r\n        this.scheduler = scheduler;\r\n    }\r\n    AuditTimeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new AuditTimeSubscriber(subscriber, this.duration, this.scheduler));\r\n    };\r\n    return AuditTimeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar AuditTimeSubscriber = (function (_super) {\r\n    __extends(AuditTimeSubscriber, _super);\r\n    function AuditTimeSubscriber(destination, duration, scheduler) {\r\n        _super.call(this, destination);\r\n        this.duration = duration;\r\n        this.scheduler = scheduler;\r\n        this.hasValue = false;\r\n    }\r\n    AuditTimeSubscriber.prototype._next = function (value) {\r\n        this.value = value;\r\n        this.hasValue = true;\r\n        if (!this.throttled) {\r\n            this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, this));\r\n        }\r\n    };\r\n    AuditTimeSubscriber.prototype.clearThrottle = function () {\r\n        var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\r\n        if (throttled) {\r\n            this.remove(throttled);\r\n            this.throttled = null;\r\n            throttled.unsubscribe();\r\n        }\r\n        if (hasValue) {\r\n            this.value = null;\r\n            this.hasValue = false;\r\n            this.destination.next(value);\r\n        }\r\n    };\r\n    return AuditTimeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nfunction dispatchNext(subscriber) {\r\n    subscriber.clearThrottle();\r\n}\r\n//# sourceMappingURL=auditTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/auditTime.js\n// module id = 1567\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Buffers the source Observable values until `closingNotifier` emits.\r\n *\r\n * <span class=\"informal\">Collects values from the past as an array, and emits\r\n * that array only when another Observable emits.</span>\r\n *\r\n * <img src=\"./img/buffer.png\" width=\"100%\">\r\n *\r\n * Buffers the incoming Observable values until the given `closingNotifier`\r\n * Observable emits a value, at which point it emits the buffer on the output\r\n * Observable and starts a new buffer internally, awaiting the next time\r\n * `closingNotifier` emits.\r\n *\r\n * @example <caption>On every click, emit array of most recent interval events</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var interval = Rx.Observable.interval(1000);\r\n * var buffered = interval.buffer(clicks);\r\n * buffered.subscribe(x => console.log(x));\r\n *\r\n * @see {@link bufferCount}\r\n * @see {@link bufferTime}\r\n * @see {@link bufferToggle}\r\n * @see {@link bufferWhen}\r\n * @see {@link window}\r\n *\r\n * @param {Observable<any>} closingNotifier An Observable that signals the\r\n * buffer to be emitted on the output Observable.\r\n * @return {Observable<T[]>} An Observable of buffers, which are arrays of\r\n * values.\r\n * @method buffer\r\n * @owner Observable\r\n */\r\nfunction buffer(closingNotifier) {\r\n    return this.lift(new BufferOperator(closingNotifier));\r\n}\r\nexports.buffer = buffer;\r\nvar BufferOperator = (function () {\r\n    function BufferOperator(closingNotifier) {\r\n        this.closingNotifier = closingNotifier;\r\n    }\r\n    BufferOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\r\n    };\r\n    return BufferOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar BufferSubscriber = (function (_super) {\r\n    __extends(BufferSubscriber, _super);\r\n    function BufferSubscriber(destination, closingNotifier) {\r\n        _super.call(this, destination);\r\n        this.buffer = [];\r\n        this.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));\r\n    }\r\n    BufferSubscriber.prototype._next = function (value) {\r\n        this.buffer.push(value);\r\n    };\r\n    BufferSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var buffer = this.buffer;\r\n        this.buffer = [];\r\n        this.destination.next(buffer);\r\n    };\r\n    return BufferSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=buffer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/buffer.js\n// module id = 1568\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Buffers the source Observable values until the size hits the maximum\r\n * `bufferSize` given.\r\n *\r\n * <span class=\"informal\">Collects values from the past as an array, and emits\r\n * that array only when its size reaches `bufferSize`.</span>\r\n *\r\n * <img src=\"./img/bufferCount.png\" width=\"100%\">\r\n *\r\n * Buffers a number of values from the source Observable by `bufferSize` then\r\n * emits the buffer and clears it, and starts a new buffer each\r\n * `startBufferEvery` values. If `startBufferEvery` is not provided or is\r\n * `null`, then new buffers are started immediately at the start of the source\r\n * and when each buffer closes and is emitted.\r\n *\r\n * @example <caption>Emit the last two click events as an array</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var buffered = clicks.bufferCount(2);\r\n * buffered.subscribe(x => console.log(x));\r\n *\r\n * @example <caption>On every click, emit the last two click events as an array</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var buffered = clicks.bufferCount(2, 1);\r\n * buffered.subscribe(x => console.log(x));\r\n *\r\n * @see {@link buffer}\r\n * @see {@link bufferTime}\r\n * @see {@link bufferToggle}\r\n * @see {@link bufferWhen}\r\n * @see {@link pairwise}\r\n * @see {@link windowCount}\r\n *\r\n * @param {number} bufferSize The maximum size of the buffer emitted.\r\n * @param {number} [startBufferEvery] Interval at which to start a new buffer.\r\n * For example if `startBufferEvery` is `2`, then a new buffer will be started\r\n * on every other value from the source. A new buffer is started at the\r\n * beginning of the source by default.\r\n * @return {Observable<T[]>} An Observable of arrays of buffered values.\r\n * @method bufferCount\r\n * @owner Observable\r\n */\r\nfunction bufferCount(bufferSize, startBufferEvery) {\r\n    if (startBufferEvery === void 0) { startBufferEvery = null; }\r\n    return this.lift(new BufferCountOperator(bufferSize, startBufferEvery));\r\n}\r\nexports.bufferCount = bufferCount;\r\nvar BufferCountOperator = (function () {\r\n    function BufferCountOperator(bufferSize, startBufferEvery) {\r\n        this.bufferSize = bufferSize;\r\n        this.startBufferEvery = startBufferEvery;\r\n    }\r\n    BufferCountOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new BufferCountSubscriber(subscriber, this.bufferSize, this.startBufferEvery));\r\n    };\r\n    return BufferCountOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar BufferCountSubscriber = (function (_super) {\r\n    __extends(BufferCountSubscriber, _super);\r\n    function BufferCountSubscriber(destination, bufferSize, startBufferEvery) {\r\n        _super.call(this, destination);\r\n        this.bufferSize = bufferSize;\r\n        this.startBufferEvery = startBufferEvery;\r\n        this.buffers = [];\r\n        this.count = 0;\r\n    }\r\n    BufferCountSubscriber.prototype._next = function (value) {\r\n        var count = this.count++;\r\n        var _a = this, destination = _a.destination, bufferSize = _a.bufferSize, startBufferEvery = _a.startBufferEvery, buffers = _a.buffers;\r\n        var startOn = (startBufferEvery == null) ? bufferSize : startBufferEvery;\r\n        if (count % startOn === 0) {\r\n            buffers.push([]);\r\n        }\r\n        for (var i = buffers.length; i--;) {\r\n            var buffer = buffers[i];\r\n            buffer.push(value);\r\n            if (buffer.length === bufferSize) {\r\n                buffers.splice(i, 1);\r\n                destination.next(buffer);\r\n            }\r\n        }\r\n    };\r\n    BufferCountSubscriber.prototype._complete = function () {\r\n        var destination = this.destination;\r\n        var buffers = this.buffers;\r\n        while (buffers.length > 0) {\r\n            var buffer = buffers.shift();\r\n            if (buffer.length > 0) {\r\n                destination.next(buffer);\r\n            }\r\n        }\r\n        _super.prototype._complete.call(this);\r\n    };\r\n    return BufferCountSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=bufferCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/bufferCount.js\n// module id = 1569\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar async_1 = require('../scheduler/async');\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar isScheduler_1 = require('../util/isScheduler');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Buffers the source Observable values for a specific time period.\r\n *\r\n * <span class=\"informal\">Collects values from the past as an array, and emits\r\n * those arrays periodically in time.</span>\r\n *\r\n * <img src=\"./img/bufferTime.png\" width=\"100%\">\r\n *\r\n * Buffers values from the source for a specific time duration `bufferTimeSpan`.\r\n * Unless the optional argument `bufferCreationInterval` is given, it emits and\r\n * resets the buffer every `bufferTimeSpan` milliseconds. If\r\n * `bufferCreationInterval` is given, this operator opens the buffer every\r\n * `bufferCreationInterval` milliseconds and closes (emits and resets) the\r\n * buffer every `bufferTimeSpan` milliseconds. When the optional argument\r\n * `maxBufferSize` is specified, the buffer will be closed either after\r\n * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements.\r\n *\r\n * @example <caption>Every second, emit an array of the recent click events</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var buffered = clicks.bufferTime(1000);\r\n * buffered.subscribe(x => console.log(x));\r\n *\r\n * @example <caption>Every 5 seconds, emit the click events from the next 2 seconds</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var buffered = clicks.bufferTime(2000, 5000);\r\n * buffered.subscribe(x => console.log(x));\r\n *\r\n * @see {@link buffer}\r\n * @see {@link bufferCount}\r\n * @see {@link bufferToggle}\r\n * @see {@link bufferWhen}\r\n * @see {@link windowTime}\r\n *\r\n * @param {number} bufferTimeSpan The amount of time to fill each buffer array.\r\n * @param {number} [bufferCreationInterval] The interval at which to start new\r\n * buffers.\r\n * @param {number} [maxBufferSize] The maximum buffer size.\r\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\r\n * intervals that determine buffer boundaries.\r\n * @return {Observable<T[]>} An observable of arrays of buffered values.\r\n * @method bufferTime\r\n * @owner Observable\r\n */\r\nfunction bufferTime(bufferTimeSpan) {\r\n    var length = arguments.length;\r\n    var scheduler = async_1.async;\r\n    if (isScheduler_1.isScheduler(arguments[arguments.length - 1])) {\r\n        scheduler = arguments[arguments.length - 1];\r\n        length--;\r\n    }\r\n    var bufferCreationInterval = null;\r\n    if (length >= 2) {\r\n        bufferCreationInterval = arguments[1];\r\n    }\r\n    var maxBufferSize = Number.POSITIVE_INFINITY;\r\n    if (length >= 3) {\r\n        maxBufferSize = arguments[2];\r\n    }\r\n    return this.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\r\n}\r\nexports.bufferTime = bufferTime;\r\nvar BufferTimeOperator = (function () {\r\n    function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\r\n        this.bufferTimeSpan = bufferTimeSpan;\r\n        this.bufferCreationInterval = bufferCreationInterval;\r\n        this.maxBufferSize = maxBufferSize;\r\n        this.scheduler = scheduler;\r\n    }\r\n    BufferTimeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\r\n    };\r\n    return BufferTimeOperator;\r\n}());\r\nvar Context = (function () {\r\n    function Context() {\r\n        this.buffer = [];\r\n    }\r\n    return Context;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar BufferTimeSubscriber = (function (_super) {\r\n    __extends(BufferTimeSubscriber, _super);\r\n    function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\r\n        _super.call(this, destination);\r\n        this.bufferTimeSpan = bufferTimeSpan;\r\n        this.bufferCreationInterval = bufferCreationInterval;\r\n        this.maxBufferSize = maxBufferSize;\r\n        this.scheduler = scheduler;\r\n        this.contexts = [];\r\n        var context = this.openContext();\r\n        this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\r\n        if (this.timespanOnly) {\r\n            var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\r\n            this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\r\n        }\r\n        else {\r\n            var closeState = { subscriber: this, context: context };\r\n            var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: this, scheduler: scheduler };\r\n            this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\r\n            this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\r\n        }\r\n    }\r\n    BufferTimeSubscriber.prototype._next = function (value) {\r\n        var contexts = this.contexts;\r\n        var len = contexts.length;\r\n        var filledBufferContext;\r\n        for (var i = 0; i < len; i++) {\r\n            var context = contexts[i];\r\n            var buffer = context.buffer;\r\n            buffer.push(value);\r\n            if (buffer.length == this.maxBufferSize) {\r\n                filledBufferContext = context;\r\n            }\r\n        }\r\n        if (filledBufferContext) {\r\n            this.onBufferFull(filledBufferContext);\r\n        }\r\n    };\r\n    BufferTimeSubscriber.prototype._error = function (err) {\r\n        this.contexts.length = 0;\r\n        _super.prototype._error.call(this, err);\r\n    };\r\n    BufferTimeSubscriber.prototype._complete = function () {\r\n        var _a = this, contexts = _a.contexts, destination = _a.destination;\r\n        while (contexts.length > 0) {\r\n            var context = contexts.shift();\r\n            destination.next(context.buffer);\r\n        }\r\n        _super.prototype._complete.call(this);\r\n    };\r\n    BufferTimeSubscriber.prototype._unsubscribe = function () {\r\n        this.contexts = null;\r\n    };\r\n    BufferTimeSubscriber.prototype.onBufferFull = function (context) {\r\n        this.closeContext(context);\r\n        var closeAction = context.closeAction;\r\n        closeAction.unsubscribe();\r\n        this.remove(closeAction);\r\n        if (!this.closed && this.timespanOnly) {\r\n            context = this.openContext();\r\n            var bufferTimeSpan = this.bufferTimeSpan;\r\n            var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\r\n            this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\r\n        }\r\n    };\r\n    BufferTimeSubscriber.prototype.openContext = function () {\r\n        var context = new Context();\r\n        this.contexts.push(context);\r\n        return context;\r\n    };\r\n    BufferTimeSubscriber.prototype.closeContext = function (context) {\r\n        this.destination.next(context.buffer);\r\n        var contexts = this.contexts;\r\n        var spliceIndex = contexts ? contexts.indexOf(context) : -1;\r\n        if (spliceIndex >= 0) {\r\n            contexts.splice(contexts.indexOf(context), 1);\r\n        }\r\n    };\r\n    return BufferTimeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nfunction dispatchBufferTimeSpanOnly(state) {\r\n    var subscriber = state.subscriber;\r\n    var prevContext = state.context;\r\n    if (prevContext) {\r\n        subscriber.closeContext(prevContext);\r\n    }\r\n    if (!subscriber.closed) {\r\n        state.context = subscriber.openContext();\r\n        state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\r\n    }\r\n}\r\nfunction dispatchBufferCreation(state) {\r\n    var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\r\n    var context = subscriber.openContext();\r\n    var action = this;\r\n    if (!subscriber.closed) {\r\n        subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\r\n        action.schedule(state, bufferCreationInterval);\r\n    }\r\n}\r\nfunction dispatchBufferClose(arg) {\r\n    var subscriber = arg.subscriber, context = arg.context;\r\n    subscriber.closeContext(context);\r\n}\r\n//# sourceMappingURL=bufferTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/bufferTime.js\n// module id = 1570\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscription_1 = require('../Subscription');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\n/**\r\n * Buffers the source Observable values starting from an emission from\r\n * `openings` and ending when the output of `closingSelector` emits.\r\n *\r\n * <span class=\"informal\">Collects values from the past as an array. Starts\r\n * collecting only when `opening` emits, and calls the `closingSelector`\r\n * function to get an Observable that tells when to close the buffer.</span>\r\n *\r\n * <img src=\"./img/bufferToggle.png\" width=\"100%\">\r\n *\r\n * Buffers values from the source by opening the buffer via signals from an\r\n * Observable provided to `openings`, and closing and sending the buffers when\r\n * a Subscribable or Promise returned by the `closingSelector` function emits.\r\n *\r\n * @example <caption>Every other second, emit the click events from the next 500ms</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var openings = Rx.Observable.interval(1000);\r\n * var buffered = clicks.bufferToggle(openings, i =>\r\n *   i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\r\n * );\r\n * buffered.subscribe(x => console.log(x));\r\n *\r\n * @see {@link buffer}\r\n * @see {@link bufferCount}\r\n * @see {@link bufferTime}\r\n * @see {@link bufferWhen}\r\n * @see {@link windowToggle}\r\n *\r\n * @param {SubscribableOrPromise<O>} openings A Subscribable or Promise of notifications to start new\r\n * buffers.\r\n * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes\r\n * the value emitted by the `openings` observable and returns a Subscribable or Promise,\r\n * which, when it emits, signals that the associated buffer should be emitted\r\n * and cleared.\r\n * @return {Observable<T[]>} An observable of arrays of buffered values.\r\n * @method bufferToggle\r\n * @owner Observable\r\n */\r\nfunction bufferToggle(openings, closingSelector) {\r\n    return this.lift(new BufferToggleOperator(openings, closingSelector));\r\n}\r\nexports.bufferToggle = bufferToggle;\r\nvar BufferToggleOperator = (function () {\r\n    function BufferToggleOperator(openings, closingSelector) {\r\n        this.openings = openings;\r\n        this.closingSelector = closingSelector;\r\n    }\r\n    BufferToggleOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\r\n    };\r\n    return BufferToggleOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar BufferToggleSubscriber = (function (_super) {\r\n    __extends(BufferToggleSubscriber, _super);\r\n    function BufferToggleSubscriber(destination, openings, closingSelector) {\r\n        _super.call(this, destination);\r\n        this.openings = openings;\r\n        this.closingSelector = closingSelector;\r\n        this.contexts = [];\r\n        this.add(subscribeToResult_1.subscribeToResult(this, openings));\r\n    }\r\n    BufferToggleSubscriber.prototype._next = function (value) {\r\n        var contexts = this.contexts;\r\n        var len = contexts.length;\r\n        for (var i = 0; i < len; i++) {\r\n            contexts[i].buffer.push(value);\r\n        }\r\n    };\r\n    BufferToggleSubscriber.prototype._error = function (err) {\r\n        var contexts = this.contexts;\r\n        while (contexts.length > 0) {\r\n            var context = contexts.shift();\r\n            context.subscription.unsubscribe();\r\n            context.buffer = null;\r\n            context.subscription = null;\r\n        }\r\n        this.contexts = null;\r\n        _super.prototype._error.call(this, err);\r\n    };\r\n    BufferToggleSubscriber.prototype._complete = function () {\r\n        var contexts = this.contexts;\r\n        while (contexts.length > 0) {\r\n            var context = contexts.shift();\r\n            this.destination.next(context.buffer);\r\n            context.subscription.unsubscribe();\r\n            context.buffer = null;\r\n            context.subscription = null;\r\n        }\r\n        this.contexts = null;\r\n        _super.prototype._complete.call(this);\r\n    };\r\n    BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\r\n    };\r\n    BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this.closeBuffer(innerSub.context);\r\n    };\r\n    BufferToggleSubscriber.prototype.openBuffer = function (value) {\r\n        try {\r\n            var closingSelector = this.closingSelector;\r\n            var closingNotifier = closingSelector.call(this, value);\r\n            if (closingNotifier) {\r\n                this.trySubscribe(closingNotifier);\r\n            }\r\n        }\r\n        catch (err) {\r\n            this._error(err);\r\n        }\r\n    };\r\n    BufferToggleSubscriber.prototype.closeBuffer = function (context) {\r\n        var contexts = this.contexts;\r\n        if (contexts && context) {\r\n            var buffer = context.buffer, subscription = context.subscription;\r\n            this.destination.next(buffer);\r\n            contexts.splice(contexts.indexOf(context), 1);\r\n            this.remove(subscription);\r\n            subscription.unsubscribe();\r\n        }\r\n    };\r\n    BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\r\n        var contexts = this.contexts;\r\n        var buffer = [];\r\n        var subscription = new Subscription_1.Subscription();\r\n        var context = { buffer: buffer, subscription: subscription };\r\n        contexts.push(context);\r\n        var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);\r\n        if (!innerSubscription || innerSubscription.closed) {\r\n            this.closeBuffer(context);\r\n        }\r\n        else {\r\n            innerSubscription.context = context;\r\n            this.add(innerSubscription);\r\n            subscription.add(innerSubscription);\r\n        }\r\n    };\r\n    return BufferToggleSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=bufferToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/bufferToggle.js\n// module id = 1571\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscription_1 = require('../Subscription');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Buffers the source Observable values, using a factory function of closing\r\n * Observables to determine when to close, emit, and reset the buffer.\r\n *\r\n * <span class=\"informal\">Collects values from the past as an array. When it\r\n * starts collecting values, it calls a function that returns an Observable that\r\n * tells when to close the buffer and restart collecting.</span>\r\n *\r\n * <img src=\"./img/bufferWhen.png\" width=\"100%\">\r\n *\r\n * Opens a buffer immediately, then closes the buffer when the observable\r\n * returned by calling `closingSelector` function emits a value. When it closes\r\n * the buffer, it immediately opens a new buffer and repeats the process.\r\n *\r\n * @example <caption>Emit an array of the last clicks every [1-5] random seconds</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var buffered = clicks.bufferWhen(() =>\r\n *   Rx.Observable.interval(1000 + Math.random() * 4000)\r\n * );\r\n * buffered.subscribe(x => console.log(x));\r\n *\r\n * @see {@link buffer}\r\n * @see {@link bufferCount}\r\n * @see {@link bufferTime}\r\n * @see {@link bufferToggle}\r\n * @see {@link windowWhen}\r\n *\r\n * @param {function(): Observable} closingSelector A function that takes no\r\n * arguments and returns an Observable that signals buffer closure.\r\n * @return {Observable<T[]>} An observable of arrays of buffered values.\r\n * @method bufferWhen\r\n * @owner Observable\r\n */\r\nfunction bufferWhen(closingSelector) {\r\n    return this.lift(new BufferWhenOperator(closingSelector));\r\n}\r\nexports.bufferWhen = bufferWhen;\r\nvar BufferWhenOperator = (function () {\r\n    function BufferWhenOperator(closingSelector) {\r\n        this.closingSelector = closingSelector;\r\n    }\r\n    BufferWhenOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\r\n    };\r\n    return BufferWhenOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar BufferWhenSubscriber = (function (_super) {\r\n    __extends(BufferWhenSubscriber, _super);\r\n    function BufferWhenSubscriber(destination, closingSelector) {\r\n        _super.call(this, destination);\r\n        this.closingSelector = closingSelector;\r\n        this.subscribing = false;\r\n        this.openBuffer();\r\n    }\r\n    BufferWhenSubscriber.prototype._next = function (value) {\r\n        this.buffer.push(value);\r\n    };\r\n    BufferWhenSubscriber.prototype._complete = function () {\r\n        var buffer = this.buffer;\r\n        if (buffer) {\r\n            this.destination.next(buffer);\r\n        }\r\n        _super.prototype._complete.call(this);\r\n    };\r\n    BufferWhenSubscriber.prototype._unsubscribe = function () {\r\n        this.buffer = null;\r\n        this.subscribing = false;\r\n    };\r\n    BufferWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.openBuffer();\r\n    };\r\n    BufferWhenSubscriber.prototype.notifyComplete = function () {\r\n        if (this.subscribing) {\r\n            this.complete();\r\n        }\r\n        else {\r\n            this.openBuffer();\r\n        }\r\n    };\r\n    BufferWhenSubscriber.prototype.openBuffer = function () {\r\n        var closingSubscription = this.closingSubscription;\r\n        if (closingSubscription) {\r\n            this.remove(closingSubscription);\r\n            closingSubscription.unsubscribe();\r\n        }\r\n        var buffer = this.buffer;\r\n        if (this.buffer) {\r\n            this.destination.next(buffer);\r\n        }\r\n        this.buffer = [];\r\n        var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\r\n        if (closingNotifier === errorObject_1.errorObject) {\r\n            this.error(errorObject_1.errorObject.e);\r\n        }\r\n        else {\r\n            closingSubscription = new Subscription_1.Subscription();\r\n            this.closingSubscription = closingSubscription;\r\n            this.add(closingSubscription);\r\n            this.subscribing = true;\r\n            closingSubscription.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));\r\n            this.subscribing = false;\r\n        }\r\n    };\r\n    return BufferWhenSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=bufferWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/bufferWhen.js\n// module id = 1572\n// module chunks = 3","\"use strict\";\r\nvar combineLatest_1 = require('./combineLatest');\r\n/**\r\n * Converts a higher-order Observable into a first-order Observable by waiting\r\n * for the outer Observable to complete, then applying {@link combineLatest}.\r\n *\r\n * <span class=\"informal\">Flattens an Observable-of-Observables by applying\r\n * {@link combineLatest} when the Observable-of-Observables completes.</span>\r\n *\r\n * <img src=\"./img/combineAll.png\" width=\"100%\">\r\n *\r\n * Takes an Observable of Observables, and collects all Observables from it.\r\n * Once the outer Observable completes, it subscribes to all collected\r\n * Observables and combines their values using the {@link combineLatest}\r\n * strategy, such that:\r\n * - Every time an inner Observable emits, the output Observable emits.\r\n * - When the returned observable emits, it emits all of the latest values by:\r\n *   - If a `project` function is provided, it is called with each recent value\r\n *     from each inner Observable in whatever order they arrived, and the result\r\n *     of the `project` function is what is emitted by the output Observable.\r\n *   - If there is no `project` function, an array of all of the most recent\r\n *     values is emitted by the output Observable.\r\n *\r\n * @example <caption>Map two click events to a finite interval Observable, then apply combineAll</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var higherOrder = clicks.map(ev =>\r\n *   Rx.Observable.interval(Math.random()*2000).take(3)\r\n * ).take(2);\r\n * var result = higherOrder.combineAll();\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link combineLatest}\r\n * @see {@link mergeAll}\r\n *\r\n * @param {function} [project] An optional function to map the most recent\r\n * values from each inner Observable into a new result. Takes each of the most\r\n * recent values from each collected inner Observable as arguments, in order.\r\n * @return {Observable} An Observable of projected results or arrays of recent\r\n * values.\r\n * @method combineAll\r\n * @owner Observable\r\n */\r\nfunction combineAll(project) {\r\n    return this.lift(new combineLatest_1.CombineLatestOperator(project));\r\n}\r\nexports.combineAll = combineAll;\r\n//# sourceMappingURL=combineAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/combineAll.js\n// module id = 1573\n// module chunks = 3","\"use strict\";\r\nvar mergeMapTo_1 = require('./mergeMapTo');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Projects each source value to the same Observable which is merged multiple\r\n * times in a serialized fashion on the output Observable.\r\n *\r\n * <span class=\"informal\">It's like {@link concatMap}, but maps each value\r\n * always to the same inner Observable.</span>\r\n *\r\n * <img src=\"./img/concatMapTo.png\" width=\"100%\">\r\n *\r\n * Maps each source value to the given Observable `innerObservable` regardless\r\n * of the source value, and then flattens those resulting Observables into one\r\n * single Observable, which is the output Observable. Each new `innerObservable`\r\n * instance emitted on the output Observable is concatenated with the previous\r\n * `innerObservable` instance.\r\n *\r\n * __Warning:__ if source values arrive endlessly and faster than their\r\n * corresponding inner Observables can complete, it will result in memory issues\r\n * as inner Observables amass in an unbounded buffer waiting for their turn to\r\n * be subscribed to.\r\n *\r\n * Note: `concatMapTo` is equivalent to `mergeMapTo` with concurrency parameter\r\n * set to `1`.\r\n *\r\n * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.concatMapTo(Rx.Observable.interval(1000).take(4));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * // Results in the following:\r\n * // (results are not concurrent)\r\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\r\n * // on a 1000ms interval\r\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\r\n *\r\n * @see {@link concat}\r\n * @see {@link concatAll}\r\n * @see {@link concatMap}\r\n * @see {@link mergeMapTo}\r\n * @see {@link switchMapTo}\r\n *\r\n * @param {Observable} innerObservable An Observable to replace each value from\r\n * the source Observable.\r\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\r\n * A function to produce the value on the output Observable based on the values\r\n * and the indices of the source (outer) emission and the inner Observable\r\n * emission. The arguments passed to this function are:\r\n * - `outerValue`: the value that came from the source\r\n * - `innerValue`: the value that came from the projected Observable\r\n * - `outerIndex`: the \"index\" of the value that came from the source\r\n * - `innerIndex`: the \"index\" of the value from the projected Observable\r\n * @return {Observable} An observable of values merged together by joining the\r\n * passed observable with itself, one after the other, for each value emitted\r\n * from the source.\r\n * @method concatMapTo\r\n * @owner Observable\r\n */\r\nfunction concatMapTo(innerObservable, resultSelector) {\r\n    return this.lift(new mergeMapTo_1.MergeMapToOperator(innerObservable, resultSelector, 1));\r\n}\r\nexports.concatMapTo = concatMapTo;\r\n//# sourceMappingURL=concatMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/concatMapTo.js\n// module id = 1574\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Counts the number of emissions on the source and emits that number when the\r\n * source completes.\r\n *\r\n * <span class=\"informal\">Tells how many values were emitted, when the source\r\n * completes.</span>\r\n *\r\n * <img src=\"./img/count.png\" width=\"100%\">\r\n *\r\n * `count` transforms an Observable that emits values into an Observable that\r\n * emits a single value that represents the number of values emitted by the\r\n * source Observable. If the source Observable terminates with an error, `count`\r\n * will pass this error notification along without emitting an value first. If\r\n * the source Observable does not terminate at all, `count` will neither emit\r\n * a value nor terminate. This operator takes an optional `predicate` function\r\n * as argument, in which case the output emission will represent the number of\r\n * source values that matched `true` with the `predicate`.\r\n *\r\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\r\n * var seconds = Rx.Observable.interval(1000);\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var secondsBeforeClick = seconds.takeUntil(clicks);\r\n * var result = secondsBeforeClick.count();\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\r\n * var numbers = Rx.Observable.range(1, 7);\r\n * var result = numbers.count(i => i % 2 === 1);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * // Results in:\r\n * // 4\r\n *\r\n * @see {@link max}\r\n * @see {@link min}\r\n * @see {@link reduce}\r\n *\r\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\r\n * boolean function to select what values are to be counted. It is provided with\r\n * arguments of:\r\n * - `value`: the value from the source Observable.\r\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\r\n * - `source`: the source Observable instance itself.\r\n * @return {Observable} An Observable of one number that represents the count as\r\n * described above.\r\n * @method count\r\n * @owner Observable\r\n */\r\nfunction count(predicate) {\r\n    return this.lift(new CountOperator(predicate, this));\r\n}\r\nexports.count = count;\r\nvar CountOperator = (function () {\r\n    function CountOperator(predicate, source) {\r\n        this.predicate = predicate;\r\n        this.source = source;\r\n    }\r\n    CountOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\r\n    };\r\n    return CountOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar CountSubscriber = (function (_super) {\r\n    __extends(CountSubscriber, _super);\r\n    function CountSubscriber(destination, predicate, source) {\r\n        _super.call(this, destination);\r\n        this.predicate = predicate;\r\n        this.source = source;\r\n        this.count = 0;\r\n        this.index = 0;\r\n    }\r\n    CountSubscriber.prototype._next = function (value) {\r\n        if (this.predicate) {\r\n            this._tryPredicate(value);\r\n        }\r\n        else {\r\n            this.count++;\r\n        }\r\n    };\r\n    CountSubscriber.prototype._tryPredicate = function (value) {\r\n        var result;\r\n        try {\r\n            result = this.predicate(value, this.index++, this.source);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n            return;\r\n        }\r\n        if (result) {\r\n            this.count++;\r\n        }\r\n    };\r\n    CountSubscriber.prototype._complete = function () {\r\n        this.destination.next(this.count);\r\n        this.destination.complete();\r\n    };\r\n    return CountSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=count.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/count.js\n// module id = 1575\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Emits a value from the source Observable only after a particular time span\r\n * determined by another Observable has passed without another source emission.\r\n *\r\n * <span class=\"informal\">It's like {@link debounceTime}, but the time span of\r\n * emission silence is determined by a second Observable.</span>\r\n *\r\n * <img src=\"./img/debounce.png\" width=\"100%\">\r\n *\r\n * `debounce` delays values emitted by the source Observable, but drops previous\r\n * pending delayed emissions if a new value arrives on the source Observable.\r\n * This operator keeps track of the most recent value from the source\r\n * Observable, and spawns a duration Observable by calling the\r\n * `durationSelector` function. The value is emitted only when the duration\r\n * Observable emits a value or completes, and if no other value was emitted on\r\n * the source Observable since the duration Observable was spawned. If a new\r\n * value appears before the duration Observable emits, the previous value will\r\n * be dropped and will not be emitted on the output Observable.\r\n *\r\n * Like {@link debounceTime}, this is a rate-limiting operator, and also a\r\n * delay-like operator since output emissions do not necessarily occur at the\r\n * same time as they did on the source Observable.\r\n *\r\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.debounce(() => Rx.Observable.interval(1000));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link audit}\r\n * @see {@link debounceTime}\r\n * @see {@link delayWhen}\r\n * @see {@link throttle}\r\n *\r\n * @param {function(value: T): Observable|Promise} durationSelector A function\r\n * that receives a value from the source Observable, for computing the timeout\r\n * duration for each source value, returned as an Observable or a Promise.\r\n * @return {Observable} An Observable that delays the emissions of the source\r\n * Observable by the specified duration Observable returned by\r\n * `durationSelector`, and may drop some values if they occur too frequently.\r\n * @method debounce\r\n * @owner Observable\r\n */\r\nfunction debounce(durationSelector) {\r\n    return this.lift(new DebounceOperator(durationSelector));\r\n}\r\nexports.debounce = debounce;\r\nvar DebounceOperator = (function () {\r\n    function DebounceOperator(durationSelector) {\r\n        this.durationSelector = durationSelector;\r\n    }\r\n    DebounceOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\r\n    };\r\n    return DebounceOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DebounceSubscriber = (function (_super) {\r\n    __extends(DebounceSubscriber, _super);\r\n    function DebounceSubscriber(destination, durationSelector) {\r\n        _super.call(this, destination);\r\n        this.durationSelector = durationSelector;\r\n        this.hasValue = false;\r\n        this.durationSubscription = null;\r\n    }\r\n    DebounceSubscriber.prototype._next = function (value) {\r\n        try {\r\n            var result = this.durationSelector.call(this, value);\r\n            if (result) {\r\n                this._tryNext(value, result);\r\n            }\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n        }\r\n    };\r\n    DebounceSubscriber.prototype._complete = function () {\r\n        this.emitValue();\r\n        this.destination.complete();\r\n    };\r\n    DebounceSubscriber.prototype._tryNext = function (value, duration) {\r\n        var subscription = this.durationSubscription;\r\n        this.value = value;\r\n        this.hasValue = true;\r\n        if (subscription) {\r\n            subscription.unsubscribe();\r\n            this.remove(subscription);\r\n        }\r\n        subscription = subscribeToResult_1.subscribeToResult(this, duration);\r\n        if (!subscription.closed) {\r\n            this.add(this.durationSubscription = subscription);\r\n        }\r\n    };\r\n    DebounceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.emitValue();\r\n    };\r\n    DebounceSubscriber.prototype.notifyComplete = function () {\r\n        this.emitValue();\r\n    };\r\n    DebounceSubscriber.prototype.emitValue = function () {\r\n        if (this.hasValue) {\r\n            var value = this.value;\r\n            var subscription = this.durationSubscription;\r\n            if (subscription) {\r\n                this.durationSubscription = null;\r\n                subscription.unsubscribe();\r\n                this.remove(subscription);\r\n            }\r\n            this.value = null;\r\n            this.hasValue = false;\r\n            _super.prototype._next.call(this, value);\r\n        }\r\n    };\r\n    return DebounceSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=debounce.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/debounce.js\n// module id = 1576\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar async_1 = require('../scheduler/async');\r\n/**\r\n * Emits a value from the source Observable only after a particular time span\r\n * has passed without another source emission.\r\n *\r\n * <span class=\"informal\">It's like {@link delay}, but passes only the most\r\n * recent value from each burst of emissions.</span>\r\n *\r\n * <img src=\"./img/debounceTime.png\" width=\"100%\">\r\n *\r\n * `debounceTime` delays values emitted by the source Observable, but drops\r\n * previous pending delayed emissions if a new value arrives on the source\r\n * Observable. This operator keeps track of the most recent value from the\r\n * source Observable, and emits that only when `dueTime` enough time has passed\r\n * without any other value appearing on the source Observable. If a new value\r\n * appears before `dueTime` silence occurs, the previous value will be dropped\r\n * and will not be emitted on the output Observable.\r\n *\r\n * This is a rate-limiting operator, because it is impossible for more than one\r\n * value to be emitted in any time window of duration `dueTime`, but it is also\r\n * a delay-like operator since output emissions do not occur at the same time as\r\n * they did on the source Observable. Optionally takes a {@link Scheduler} for\r\n * managing timers.\r\n *\r\n * @example <caption>Emit the most recent click after a burst of clicks</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.debounceTime(1000);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link auditTime}\r\n * @see {@link debounce}\r\n * @see {@link delay}\r\n * @see {@link sampleTime}\r\n * @see {@link throttleTime}\r\n *\r\n * @param {number} dueTime The timeout duration in milliseconds (or the time\r\n * unit determined internally by the optional `scheduler`) for the window of\r\n * time required to wait for emission silence before emitting the most recent\r\n * source value.\r\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\r\n * managing the timers that handle the timeout for each value.\r\n * @return {Observable} An Observable that delays the emissions of the source\r\n * Observable by the specified `dueTime`, and may drop some values if they occur\r\n * too frequently.\r\n * @method debounceTime\r\n * @owner Observable\r\n */\r\nfunction debounceTime(dueTime, scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    return this.lift(new DebounceTimeOperator(dueTime, scheduler));\r\n}\r\nexports.debounceTime = debounceTime;\r\nvar DebounceTimeOperator = (function () {\r\n    function DebounceTimeOperator(dueTime, scheduler) {\r\n        this.dueTime = dueTime;\r\n        this.scheduler = scheduler;\r\n    }\r\n    DebounceTimeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\r\n    };\r\n    return DebounceTimeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DebounceTimeSubscriber = (function (_super) {\r\n    __extends(DebounceTimeSubscriber, _super);\r\n    function DebounceTimeSubscriber(destination, dueTime, scheduler) {\r\n        _super.call(this, destination);\r\n        this.dueTime = dueTime;\r\n        this.scheduler = scheduler;\r\n        this.debouncedSubscription = null;\r\n        this.lastValue = null;\r\n        this.hasValue = false;\r\n    }\r\n    DebounceTimeSubscriber.prototype._next = function (value) {\r\n        this.clearDebounce();\r\n        this.lastValue = value;\r\n        this.hasValue = true;\r\n        this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\r\n    };\r\n    DebounceTimeSubscriber.prototype._complete = function () {\r\n        this.debouncedNext();\r\n        this.destination.complete();\r\n    };\r\n    DebounceTimeSubscriber.prototype.debouncedNext = function () {\r\n        this.clearDebounce();\r\n        if (this.hasValue) {\r\n            this.destination.next(this.lastValue);\r\n            this.lastValue = null;\r\n            this.hasValue = false;\r\n        }\r\n    };\r\n    DebounceTimeSubscriber.prototype.clearDebounce = function () {\r\n        var debouncedSubscription = this.debouncedSubscription;\r\n        if (debouncedSubscription !== null) {\r\n            this.remove(debouncedSubscription);\r\n            debouncedSubscription.unsubscribe();\r\n            this.debouncedSubscription = null;\r\n        }\r\n    };\r\n    return DebounceTimeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nfunction dispatchNext(subscriber) {\r\n    subscriber.debouncedNext();\r\n}\r\n//# sourceMappingURL=debounceTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/debounceTime.js\n// module id = 1577\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Emits a given value if the source Observable completes without emitting any\r\n * `next` value, otherwise mirrors the source Observable.\r\n *\r\n * <span class=\"informal\">If the source Observable turns out to be empty, then\r\n * this operator will emit a default value.</span>\r\n *\r\n * <img src=\"./img/defaultIfEmpty.png\" width=\"100%\">\r\n *\r\n * `defaultIfEmpty` emits the values emitted by the source Observable or a\r\n * specified default value if the source Observable is empty (completes without\r\n * having emitted any `next` value).\r\n *\r\n * @example <caption>If no clicks happen in 5 seconds, then emit \"no clicks\"</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var clicksBeforeFive = clicks.takeUntil(Rx.Observable.interval(5000));\r\n * var result = clicksBeforeFive.defaultIfEmpty('no clicks');\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link empty}\r\n * @see {@link last}\r\n *\r\n * @param {any} [defaultValue=null] The default value used if the source\r\n * Observable is empty.\r\n * @return {Observable} An Observable that emits either the specified\r\n * `defaultValue` if the source Observable emits no items, or the values emitted\r\n * by the source Observable.\r\n * @method defaultIfEmpty\r\n * @owner Observable\r\n */\r\nfunction defaultIfEmpty(defaultValue) {\r\n    if (defaultValue === void 0) { defaultValue = null; }\r\n    return this.lift(new DefaultIfEmptyOperator(defaultValue));\r\n}\r\nexports.defaultIfEmpty = defaultIfEmpty;\r\nvar DefaultIfEmptyOperator = (function () {\r\n    function DefaultIfEmptyOperator(defaultValue) {\r\n        this.defaultValue = defaultValue;\r\n    }\r\n    DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\r\n    };\r\n    return DefaultIfEmptyOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DefaultIfEmptySubscriber = (function (_super) {\r\n    __extends(DefaultIfEmptySubscriber, _super);\r\n    function DefaultIfEmptySubscriber(destination, defaultValue) {\r\n        _super.call(this, destination);\r\n        this.defaultValue = defaultValue;\r\n        this.isEmpty = true;\r\n    }\r\n    DefaultIfEmptySubscriber.prototype._next = function (value) {\r\n        this.isEmpty = false;\r\n        this.destination.next(value);\r\n    };\r\n    DefaultIfEmptySubscriber.prototype._complete = function () {\r\n        if (this.isEmpty) {\r\n            this.destination.next(this.defaultValue);\r\n        }\r\n        this.destination.complete();\r\n    };\r\n    return DefaultIfEmptySubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=defaultIfEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/defaultIfEmpty.js\n// module id = 1578\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar async_1 = require('../scheduler/async');\r\nvar isDate_1 = require('../util/isDate');\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar Notification_1 = require('../Notification');\r\n/**\r\n * Delays the emission of items from the source Observable by a given timeout or\r\n * until a given Date.\r\n *\r\n * <span class=\"informal\">Time shifts each item by some specified amount of\r\n * milliseconds.</span>\r\n *\r\n * <img src=\"./img/delay.png\" width=\"100%\">\r\n *\r\n * If the delay argument is a Number, this operator time shifts the source\r\n * Observable by that amount of time expressed in milliseconds. The relative\r\n * time intervals between the values are preserved.\r\n *\r\n * If the delay argument is a Date, this operator time shifts the start of the\r\n * Observable execution until the given date occurs.\r\n *\r\n * @example <caption>Delay each click by one second</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\r\n * delayedClicks.subscribe(x => console.log(x));\r\n *\r\n * @example <caption>Delay all clicks until a future date happens</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\r\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\r\n * delayedClicks.subscribe(x => console.log(x));\r\n *\r\n * @see {@link debounceTime}\r\n * @see {@link delayWhen}\r\n *\r\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\r\n * a `Date` until which the emission of the source items is delayed.\r\n * @param {Scheduler} [scheduler=async] The Scheduler to use for\r\n * managing the timers that handle the time-shift for each item.\r\n * @return {Observable} An Observable that delays the emissions of the source\r\n * Observable by the specified timeout or Date.\r\n * @method delay\r\n * @owner Observable\r\n */\r\nfunction delay(delay, scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    var absoluteDelay = isDate_1.isDate(delay);\r\n    var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\r\n    return this.lift(new DelayOperator(delayFor, scheduler));\r\n}\r\nexports.delay = delay;\r\nvar DelayOperator = (function () {\r\n    function DelayOperator(delay, scheduler) {\r\n        this.delay = delay;\r\n        this.scheduler = scheduler;\r\n    }\r\n    DelayOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\r\n    };\r\n    return DelayOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DelaySubscriber = (function (_super) {\r\n    __extends(DelaySubscriber, _super);\r\n    function DelaySubscriber(destination, delay, scheduler) {\r\n        _super.call(this, destination);\r\n        this.delay = delay;\r\n        this.scheduler = scheduler;\r\n        this.queue = [];\r\n        this.active = false;\r\n        this.errored = false;\r\n    }\r\n    DelaySubscriber.dispatch = function (state) {\r\n        var source = state.source;\r\n        var queue = source.queue;\r\n        var scheduler = state.scheduler;\r\n        var destination = state.destination;\r\n        while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\r\n            queue.shift().notification.observe(destination);\r\n        }\r\n        if (queue.length > 0) {\r\n            var delay_1 = Math.max(0, queue[0].time - scheduler.now());\r\n            this.schedule(state, delay_1);\r\n        }\r\n        else {\r\n            source.active = false;\r\n        }\r\n    };\r\n    DelaySubscriber.prototype._schedule = function (scheduler) {\r\n        this.active = true;\r\n        this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\r\n            source: this, destination: this.destination, scheduler: scheduler\r\n        }));\r\n    };\r\n    DelaySubscriber.prototype.scheduleNotification = function (notification) {\r\n        if (this.errored === true) {\r\n            return;\r\n        }\r\n        var scheduler = this.scheduler;\r\n        var message = new DelayMessage(scheduler.now() + this.delay, notification);\r\n        this.queue.push(message);\r\n        if (this.active === false) {\r\n            this._schedule(scheduler);\r\n        }\r\n    };\r\n    DelaySubscriber.prototype._next = function (value) {\r\n        this.scheduleNotification(Notification_1.Notification.createNext(value));\r\n    };\r\n    DelaySubscriber.prototype._error = function (err) {\r\n        this.errored = true;\r\n        this.queue = [];\r\n        this.destination.error(err);\r\n    };\r\n    DelaySubscriber.prototype._complete = function () {\r\n        this.scheduleNotification(Notification_1.Notification.createComplete());\r\n    };\r\n    return DelaySubscriber;\r\n}(Subscriber_1.Subscriber));\r\nvar DelayMessage = (function () {\r\n    function DelayMessage(time, notification) {\r\n        this.time = time;\r\n        this.notification = notification;\r\n    }\r\n    return DelayMessage;\r\n}());\r\n//# sourceMappingURL=delay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/delay.js\n// module id = 1579\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar Observable_1 = require('../Observable');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Delays the emission of items from the source Observable by a given time span\r\n * determined by the emissions of another Observable.\r\n *\r\n * <span class=\"informal\">It's like {@link delay}, but the time span of the\r\n * delay duration is determined by a second Observable.</span>\r\n *\r\n * <img src=\"./img/delayWhen.png\" width=\"100%\">\r\n *\r\n * `delayWhen` time shifts each emitted value from the source Observable by a\r\n * time span determined by another Observable. When the source emits a value,\r\n * the `delayDurationSelector` function is called with the source value as\r\n * argument, and should return an Observable, called the \"duration\" Observable.\r\n * The source value is emitted on the output Observable only when the duration\r\n * Observable emits a value or completes.\r\n *\r\n * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which\r\n * is an Observable. When `subscriptionDelay` emits its first value or\r\n * completes, the source Observable is subscribed to and starts behaving like\r\n * described in the previous paragraph. If `subscriptionDelay` is not provided,\r\n * `delayWhen` will subscribe to the source Observable as soon as the output\r\n * Observable is subscribed.\r\n *\r\n * @example <caption>Delay each click by a random amount of time, between 0 and 5 seconds</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var delayedClicks = clicks.delayWhen(event =>\r\n *   Rx.Observable.interval(Math.random() * 5000)\r\n * );\r\n * delayedClicks.subscribe(x => console.log(x));\r\n *\r\n * @see {@link debounce}\r\n * @see {@link delay}\r\n *\r\n * @param {function(value: T): Observable} delayDurationSelector A function that\r\n * returns an Observable for each value emitted by the source Observable, which\r\n * is then used to delay the emission of that item on the output Observable\r\n * until the Observable returned from this function emits a value.\r\n * @param {Observable} subscriptionDelay An Observable that triggers the\r\n * subscription to the source Observable once it emits any value.\r\n * @return {Observable} An Observable that delays the emissions of the source\r\n * Observable by an amount of time specified by the Observable returned by\r\n * `delayDurationSelector`.\r\n * @method delayWhen\r\n * @owner Observable\r\n */\r\nfunction delayWhen(delayDurationSelector, subscriptionDelay) {\r\n    if (subscriptionDelay) {\r\n        return new SubscriptionDelayObservable(this, subscriptionDelay)\r\n            .lift(new DelayWhenOperator(delayDurationSelector));\r\n    }\r\n    return this.lift(new DelayWhenOperator(delayDurationSelector));\r\n}\r\nexports.delayWhen = delayWhen;\r\nvar DelayWhenOperator = (function () {\r\n    function DelayWhenOperator(delayDurationSelector) {\r\n        this.delayDurationSelector = delayDurationSelector;\r\n    }\r\n    DelayWhenOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\r\n    };\r\n    return DelayWhenOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DelayWhenSubscriber = (function (_super) {\r\n    __extends(DelayWhenSubscriber, _super);\r\n    function DelayWhenSubscriber(destination, delayDurationSelector) {\r\n        _super.call(this, destination);\r\n        this.delayDurationSelector = delayDurationSelector;\r\n        this.completed = false;\r\n        this.delayNotifierSubscriptions = [];\r\n        this.values = [];\r\n    }\r\n    DelayWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.destination.next(outerValue);\r\n        this.removeSubscription(innerSub);\r\n        this.tryComplete();\r\n    };\r\n    DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\r\n        this._error(error);\r\n    };\r\n    DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        var value = this.removeSubscription(innerSub);\r\n        if (value) {\r\n            this.destination.next(value);\r\n        }\r\n        this.tryComplete();\r\n    };\r\n    DelayWhenSubscriber.prototype._next = function (value) {\r\n        try {\r\n            var delayNotifier = this.delayDurationSelector(value);\r\n            if (delayNotifier) {\r\n                this.tryDelay(delayNotifier, value);\r\n            }\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n        }\r\n    };\r\n    DelayWhenSubscriber.prototype._complete = function () {\r\n        this.completed = true;\r\n        this.tryComplete();\r\n    };\r\n    DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\r\n        subscription.unsubscribe();\r\n        var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\r\n        var value = null;\r\n        if (subscriptionIdx !== -1) {\r\n            value = this.values[subscriptionIdx];\r\n            this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\r\n            this.values.splice(subscriptionIdx, 1);\r\n        }\r\n        return value;\r\n    };\r\n    DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\r\n        var notifierSubscription = subscribeToResult_1.subscribeToResult(this, delayNotifier, value);\r\n        this.add(notifierSubscription);\r\n        this.delayNotifierSubscriptions.push(notifierSubscription);\r\n        this.values.push(value);\r\n    };\r\n    DelayWhenSubscriber.prototype.tryComplete = function () {\r\n        if (this.completed && this.delayNotifierSubscriptions.length === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return DelayWhenSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SubscriptionDelayObservable = (function (_super) {\r\n    __extends(SubscriptionDelayObservable, _super);\r\n    function SubscriptionDelayObservable(source, subscriptionDelay) {\r\n        _super.call(this);\r\n        this.source = source;\r\n        this.subscriptionDelay = subscriptionDelay;\r\n    }\r\n    SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\r\n        this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\r\n    };\r\n    return SubscriptionDelayObservable;\r\n}(Observable_1.Observable));\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SubscriptionDelaySubscriber = (function (_super) {\r\n    __extends(SubscriptionDelaySubscriber, _super);\r\n    function SubscriptionDelaySubscriber(parent, source) {\r\n        _super.call(this);\r\n        this.parent = parent;\r\n        this.source = source;\r\n        this.sourceSubscribed = false;\r\n    }\r\n    SubscriptionDelaySubscriber.prototype._next = function (unused) {\r\n        this.subscribeToSource();\r\n    };\r\n    SubscriptionDelaySubscriber.prototype._error = function (err) {\r\n        this.unsubscribe();\r\n        this.parent.error(err);\r\n    };\r\n    SubscriptionDelaySubscriber.prototype._complete = function () {\r\n        this.subscribeToSource();\r\n    };\r\n    SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\r\n        if (!this.sourceSubscribed) {\r\n            this.sourceSubscribed = true;\r\n            this.unsubscribe();\r\n            this.source.subscribe(this.parent);\r\n        }\r\n    };\r\n    return SubscriptionDelaySubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=delayWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/delayWhen.js\n// module id = 1580\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Converts an Observable of {@link Notification} objects into the emissions\r\n * that they represent.\r\n *\r\n * <span class=\"informal\">Unwraps {@link Notification} objects as actual `next`,\r\n * `error` and `complete` emissions. The opposite of {@link materialize}.</span>\r\n *\r\n * <img src=\"./img/dematerialize.png\" width=\"100%\">\r\n *\r\n * `dematerialize` is assumed to operate an Observable that only emits\r\n * {@link Notification} objects as `next` emissions, and does not emit any\r\n * `error`. Such Observable is the output of a `materialize` operation. Those\r\n * notifications are then unwrapped using the metadata they contain, and emitted\r\n * as `next`, `error`, and `complete` on the output Observable.\r\n *\r\n * Use this operator in conjunction with {@link materialize}.\r\n *\r\n * @example <caption>Convert an Observable of Notifications to an actual Observable</caption>\r\n * var notifA = new Rx.Notification('N', 'A');\r\n * var notifB = new Rx.Notification('N', 'B');\r\n * var notifE = new Rx.Notification('E', void 0,\r\n *   new TypeError('x.toUpperCase is not a function')\r\n * );\r\n * var materialized = Rx.Observable.of(notifA, notifB, notifE);\r\n * var upperCase = materialized.dematerialize();\r\n * upperCase.subscribe(x => console.log(x), e => console.error(e));\r\n *\r\n * // Results in:\r\n * // A\r\n * // B\r\n * // TypeError: x.toUpperCase is not a function\r\n *\r\n * @see {@link Notification}\r\n * @see {@link materialize}\r\n *\r\n * @return {Observable} An Observable that emits items and notifications\r\n * embedded in Notification objects emitted by the source Observable.\r\n * @method dematerialize\r\n * @owner Observable\r\n */\r\nfunction dematerialize() {\r\n    return this.lift(new DeMaterializeOperator());\r\n}\r\nexports.dematerialize = dematerialize;\r\nvar DeMaterializeOperator = (function () {\r\n    function DeMaterializeOperator() {\r\n    }\r\n    DeMaterializeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DeMaterializeSubscriber(subscriber));\r\n    };\r\n    return DeMaterializeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DeMaterializeSubscriber = (function (_super) {\r\n    __extends(DeMaterializeSubscriber, _super);\r\n    function DeMaterializeSubscriber(destination) {\r\n        _super.call(this, destination);\r\n    }\r\n    DeMaterializeSubscriber.prototype._next = function (value) {\r\n        value.observe(this.destination);\r\n    };\r\n    return DeMaterializeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=dematerialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/dematerialize.js\n// module id = 1581\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar Set_1 = require('../util/Set');\r\n/**\r\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.\r\n * If a keySelector function is provided, then it will project each value from the source observable into a new value that it will\r\n * check for equality with previously projected values. If a keySelector function is not provided, it will use each value from the\r\n * source observable directly with an equality check against previous values.\r\n * In JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking.\r\n * In other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the\r\n * hood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct`\r\n * use might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so\r\n * that the internal `Set` can be \"flushed\", basically clearing it of values.\r\n * @param {function} [keySelector] optional function to select which value you want to check as distinct.\r\n * @param {Observable} [flushes] optional Observable for flushing the internal HashSet of the operator.\r\n * @return {Observable} an Observable that emits items from the source Observable with distinct values.\r\n * @method distinct\r\n * @owner Observable\r\n */\r\nfunction distinct(keySelector, flushes) {\r\n    return this.lift(new DistinctOperator(keySelector, flushes));\r\n}\r\nexports.distinct = distinct;\r\nvar DistinctOperator = (function () {\r\n    function DistinctOperator(keySelector, flushes) {\r\n        this.keySelector = keySelector;\r\n        this.flushes = flushes;\r\n    }\r\n    DistinctOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\r\n    };\r\n    return DistinctOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DistinctSubscriber = (function (_super) {\r\n    __extends(DistinctSubscriber, _super);\r\n    function DistinctSubscriber(destination, keySelector, flushes) {\r\n        _super.call(this, destination);\r\n        this.keySelector = keySelector;\r\n        this.values = new Set_1.Set();\r\n        if (flushes) {\r\n            this.add(subscribeToResult_1.subscribeToResult(this, flushes));\r\n        }\r\n    }\r\n    DistinctSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.values.clear();\r\n    };\r\n    DistinctSubscriber.prototype.notifyError = function (error, innerSub) {\r\n        this._error(error);\r\n    };\r\n    DistinctSubscriber.prototype._next = function (value) {\r\n        if (this.keySelector) {\r\n            this._useKeySelector(value);\r\n        }\r\n        else {\r\n            this._finalizeNext(value, value);\r\n        }\r\n    };\r\n    DistinctSubscriber.prototype._useKeySelector = function (value) {\r\n        var key;\r\n        var destination = this.destination;\r\n        try {\r\n            key = this.keySelector(value);\r\n        }\r\n        catch (err) {\r\n            destination.error(err);\r\n            return;\r\n        }\r\n        this._finalizeNext(key, value);\r\n    };\r\n    DistinctSubscriber.prototype._finalizeNext = function (key, value) {\r\n        var values = this.values;\r\n        if (!values.has(key)) {\r\n            values.add(key);\r\n            this.destination.next(value);\r\n        }\r\n    };\r\n    return DistinctSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\nexports.DistinctSubscriber = DistinctSubscriber;\r\n//# sourceMappingURL=distinct.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/distinct.js\n// module id = 1582\n// module chunks = 3","\"use strict\";\r\nvar distinctUntilChanged_1 = require('./distinctUntilChanged');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item,\r\n * using a property accessed by using the key provided to check if the two items are distinct.\r\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\r\n * If a comparator function is not provided, an equality check is used by default.\r\n * @param {string} key string key for object property lookup on each item.\r\n * @param {function} [compare] optional comparison function called to test if an item is distinct from the previous item in the source.\r\n * @return {Observable} an Observable that emits items from the source Observable with distinct values based on the key specified.\r\n * @method distinctUntilKeyChanged\r\n * @owner Observable\r\n */\r\nfunction distinctUntilKeyChanged(key, compare) {\r\n    return distinctUntilChanged_1.distinctUntilChanged.call(this, function (x, y) {\r\n        if (compare) {\r\n            return compare(x[key], y[key]);\r\n        }\r\n        return x[key] === y[key];\r\n    });\r\n}\r\nexports.distinctUntilKeyChanged = distinctUntilKeyChanged;\r\n//# sourceMappingURL=distinctUntilKeyChanged.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/distinctUntilKeyChanged.js\n// module id = 1583\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Perform a side effect for every emission on the source Observable, but return\r\n * an Observable that is identical to the source.\r\n *\r\n * <span class=\"informal\">Intercepts each emission on the source and runs a\r\n * function, but returns an output which is identical to the source.</span>\r\n *\r\n * <img src=\"./img/do.png\" width=\"100%\">\r\n *\r\n * Returns a mirrored Observable of the source Observable, but modified so that\r\n * the provided Observer is called to perform a side effect for every value,\r\n * error, and completion emitted by the source. Any errors that are thrown in\r\n * the aforementioned Observer or handlers are safely sent down the error path\r\n * of the output Observable.\r\n *\r\n * This operator is useful for debugging your Observables for the correct values\r\n * or performing other side effects.\r\n *\r\n * Note: this is different to a `subscribe` on the Observable. If the Observable\r\n * returned by `do` is not subscribed, the side effects specified by the\r\n * Observer will never happen. `do` therefore simply spies on existing\r\n * execution, it does not trigger an execution to happen like `subscribe` does.\r\n *\r\n * @example <caption>Map every every click to the clientX position of that click, while also logging the click event</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var positions = clicks\r\n *   .do(ev => console.log(ev))\r\n *   .map(ev => ev.clientX);\r\n * positions.subscribe(x => console.log(x));\r\n *\r\n * @see {@link map}\r\n * @see {@link subscribe}\r\n *\r\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\r\n * callback for `next`.\r\n * @param {function} [error] Callback for errors in the source.\r\n * @param {function} [complete] Callback for the completion of the source.\r\n * @return {Observable} An Observable identical to the source, but runs the\r\n * specified Observer or callback(s) for each item.\r\n * @method do\r\n * @name do\r\n * @owner Observable\r\n */\r\nfunction _do(nextOrObserver, error, complete) {\r\n    return this.lift(new DoOperator(nextOrObserver, error, complete));\r\n}\r\nexports._do = _do;\r\nvar DoOperator = (function () {\r\n    function DoOperator(nextOrObserver, error, complete) {\r\n        this.nextOrObserver = nextOrObserver;\r\n        this.error = error;\r\n        this.complete = complete;\r\n    }\r\n    DoOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\r\n    };\r\n    return DoOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar DoSubscriber = (function (_super) {\r\n    __extends(DoSubscriber, _super);\r\n    function DoSubscriber(destination, nextOrObserver, error, complete) {\r\n        _super.call(this, destination);\r\n        var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);\r\n        safeSubscriber.syncErrorThrowable = true;\r\n        this.add(safeSubscriber);\r\n        this.safeSubscriber = safeSubscriber;\r\n    }\r\n    DoSubscriber.prototype._next = function (value) {\r\n        var safeSubscriber = this.safeSubscriber;\r\n        safeSubscriber.next(value);\r\n        if (safeSubscriber.syncErrorThrown) {\r\n            this.destination.error(safeSubscriber.syncErrorValue);\r\n        }\r\n        else {\r\n            this.destination.next(value);\r\n        }\r\n    };\r\n    DoSubscriber.prototype._error = function (err) {\r\n        var safeSubscriber = this.safeSubscriber;\r\n        safeSubscriber.error(err);\r\n        if (safeSubscriber.syncErrorThrown) {\r\n            this.destination.error(safeSubscriber.syncErrorValue);\r\n        }\r\n        else {\r\n            this.destination.error(err);\r\n        }\r\n    };\r\n    DoSubscriber.prototype._complete = function () {\r\n        var safeSubscriber = this.safeSubscriber;\r\n        safeSubscriber.complete();\r\n        if (safeSubscriber.syncErrorThrown) {\r\n            this.destination.error(safeSubscriber.syncErrorValue);\r\n        }\r\n        else {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return DoSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=do.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/do.js\n// module id = 1584\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\r\n/**\r\n * Emits the single value at the specified `index` in a sequence of emissions\r\n * from the source Observable.\r\n *\r\n * <span class=\"informal\">Emits only the i-th value, then completes.</span>\r\n *\r\n * <img src=\"./img/elementAt.png\" width=\"100%\">\r\n *\r\n * `elementAt` returns an Observable that emits the item at the specified\r\n * `index` in the source Observable, or a default value if that `index` is out\r\n * of range and the `default` argument is provided. If the `default` argument is\r\n * not given and the `index` is out of range, the output Observable will emit an\r\n * `ArgumentOutOfRangeError` error.\r\n *\r\n * @example <caption>Emit only the third click event</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.elementAt(2);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * // Results in:\r\n * // click 1 = nothing\r\n * // click 2 = nothing\r\n * // click 3 = MouseEvent object logged to console\r\n *\r\n * @see {@link first}\r\n * @see {@link last}\r\n * @see {@link skip}\r\n * @see {@link single}\r\n * @see {@link take}\r\n *\r\n * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an\r\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the\r\n * Observable has completed before emitting the i-th `next` notification.\r\n *\r\n * @param {number} index Is the number `i` for the i-th source emission that has\r\n * happened since the subscription, starting from the number `0`.\r\n * @param {T} [defaultValue] The default value returned for missing indices.\r\n * @return {Observable} An Observable that emits a single item, if it is found.\r\n * Otherwise, will emit the default value if given. If not, then emits an error.\r\n * @method elementAt\r\n * @owner Observable\r\n */\r\nfunction elementAt(index, defaultValue) {\r\n    return this.lift(new ElementAtOperator(index, defaultValue));\r\n}\r\nexports.elementAt = elementAt;\r\nvar ElementAtOperator = (function () {\r\n    function ElementAtOperator(index, defaultValue) {\r\n        this.index = index;\r\n        this.defaultValue = defaultValue;\r\n        if (index < 0) {\r\n            throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\r\n        }\r\n    }\r\n    ElementAtOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new ElementAtSubscriber(subscriber, this.index, this.defaultValue));\r\n    };\r\n    return ElementAtOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ElementAtSubscriber = (function (_super) {\r\n    __extends(ElementAtSubscriber, _super);\r\n    function ElementAtSubscriber(destination, index, defaultValue) {\r\n        _super.call(this, destination);\r\n        this.index = index;\r\n        this.defaultValue = defaultValue;\r\n    }\r\n    ElementAtSubscriber.prototype._next = function (x) {\r\n        if (this.index-- === 0) {\r\n            this.destination.next(x);\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    ElementAtSubscriber.prototype._complete = function () {\r\n        var destination = this.destination;\r\n        if (this.index >= 0) {\r\n            if (typeof this.defaultValue !== 'undefined') {\r\n                destination.next(this.defaultValue);\r\n            }\r\n            else {\r\n                destination.error(new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError);\r\n            }\r\n        }\r\n        destination.complete();\r\n    };\r\n    return ElementAtSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=elementAt.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/elementAt.js\n// module id = 1585\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Converts a higher-order Observable into a first-order Observable by dropping\r\n * inner Observables while the previous inner Observable has not yet completed.\r\n *\r\n * <span class=\"informal\">Flattens an Observable-of-Observables by dropping the\r\n * next inner Observables while the current inner is still executing.</span>\r\n *\r\n * <img src=\"./img/exhaust.png\" width=\"100%\">\r\n *\r\n * `exhaust` subscribes to an Observable that emits Observables, also known as a\r\n * higher-order Observable. Each time it observes one of these emitted inner\r\n * Observables, the output Observable begins emitting the items emitted by that\r\n * inner Observable. So far, it behaves like {@link mergeAll}. However,\r\n * `exhaust` ignores every new inner Observable if the previous Observable has\r\n * not yet completed. Once that one completes, it will accept and flatten the\r\n * next inner Observable and repeat this process.\r\n *\r\n * @example <caption>Run a finite timer for each click, only if there is no currently active timer</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\r\n * var result = higherOrder.exhaust();\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link combineAll}\r\n * @see {@link concatAll}\r\n * @see {@link switch}\r\n * @see {@link mergeAll}\r\n * @see {@link exhaustMap}\r\n * @see {@link zipAll}\r\n *\r\n * @return {Observable} Returns an Observable that takes a source of Observables\r\n * and propagates the first observable exclusively until it completes before\r\n * subscribing to the next.\r\n * @method exhaust\r\n * @owner Observable\r\n */\r\nfunction exhaust() {\r\n    return this.lift(new SwitchFirstOperator());\r\n}\r\nexports.exhaust = exhaust;\r\nvar SwitchFirstOperator = (function () {\r\n    function SwitchFirstOperator() {\r\n    }\r\n    SwitchFirstOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SwitchFirstSubscriber(subscriber));\r\n    };\r\n    return SwitchFirstOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SwitchFirstSubscriber = (function (_super) {\r\n    __extends(SwitchFirstSubscriber, _super);\r\n    function SwitchFirstSubscriber(destination) {\r\n        _super.call(this, destination);\r\n        this.hasCompleted = false;\r\n        this.hasSubscription = false;\r\n    }\r\n    SwitchFirstSubscriber.prototype._next = function (value) {\r\n        if (!this.hasSubscription) {\r\n            this.hasSubscription = true;\r\n            this.add(subscribeToResult_1.subscribeToResult(this, value));\r\n        }\r\n    };\r\n    SwitchFirstSubscriber.prototype._complete = function () {\r\n        this.hasCompleted = true;\r\n        if (!this.hasSubscription) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    SwitchFirstSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this.remove(innerSub);\r\n        this.hasSubscription = false;\r\n        if (this.hasCompleted) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return SwitchFirstSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=exhaust.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/exhaust.js\n// module id = 1586\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Projects each source value to an Observable which is merged in the output\r\n * Observable only if the previous projected Observable has completed.\r\n *\r\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\r\n * these inner Observables using {@link exhaust}.</span>\r\n *\r\n * <img src=\"./img/exhaustMap.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits items based on applying a function that you\r\n * supply to each item emitted by the source Observable, where that function\r\n * returns an (so-called \"inner\") Observable. When it projects a source value to\r\n * an Observable, the output Observable begins emitting the items emitted by\r\n * that projected Observable. However, `exhaustMap` ignores every new projected\r\n * Observable if the previous projected Observable has not yet completed. Once\r\n * that one completes, it will accept and flatten the next projected Observable\r\n * and repeat this process.\r\n *\r\n * @example <caption>Run a finite timer for each click, only if there is no currently active timer</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.exhaustMap((ev) => Rx.Observable.interval(1000));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link concatMap}\r\n * @see {@link exhaust}\r\n * @see {@link mergeMap}\r\n * @see {@link switchMap}\r\n *\r\n * @param {function(value: T, ?index: number): Observable} project A function\r\n * that, when applied to an item emitted by the source Observable, returns an\r\n * Observable.\r\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\r\n * A function to produce the value on the output Observable based on the values\r\n * and the indices of the source (outer) emission and the inner Observable\r\n * emission. The arguments passed to this function are:\r\n * - `outerValue`: the value that came from the source\r\n * - `innerValue`: the value that came from the projected Observable\r\n * - `outerIndex`: the \"index\" of the value that came from the source\r\n * - `innerIndex`: the \"index\" of the value from the projected Observable\r\n * @return {Observable} An Observable containing projected Observables\r\n * of each item of the source, ignoring projected Observables that start before\r\n * their preceding Observable has completed.\r\n * @method exhaustMap\r\n * @owner Observable\r\n */\r\nfunction exhaustMap(project, resultSelector) {\r\n    return this.lift(new SwitchFirstMapOperator(project, resultSelector));\r\n}\r\nexports.exhaustMap = exhaustMap;\r\nvar SwitchFirstMapOperator = (function () {\r\n    function SwitchFirstMapOperator(project, resultSelector) {\r\n        this.project = project;\r\n        this.resultSelector = resultSelector;\r\n    }\r\n    SwitchFirstMapOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SwitchFirstMapSubscriber(subscriber, this.project, this.resultSelector));\r\n    };\r\n    return SwitchFirstMapOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SwitchFirstMapSubscriber = (function (_super) {\r\n    __extends(SwitchFirstMapSubscriber, _super);\r\n    function SwitchFirstMapSubscriber(destination, project, resultSelector) {\r\n        _super.call(this, destination);\r\n        this.project = project;\r\n        this.resultSelector = resultSelector;\r\n        this.hasSubscription = false;\r\n        this.hasCompleted = false;\r\n        this.index = 0;\r\n    }\r\n    SwitchFirstMapSubscriber.prototype._next = function (value) {\r\n        if (!this.hasSubscription) {\r\n            this.tryNext(value);\r\n        }\r\n    };\r\n    SwitchFirstMapSubscriber.prototype.tryNext = function (value) {\r\n        var index = this.index++;\r\n        var destination = this.destination;\r\n        try {\r\n            var result = this.project(value, index);\r\n            this.hasSubscription = true;\r\n            this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));\r\n        }\r\n        catch (err) {\r\n            destination.error(err);\r\n        }\r\n    };\r\n    SwitchFirstMapSubscriber.prototype._complete = function () {\r\n        this.hasCompleted = true;\r\n        if (!this.hasSubscription) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    SwitchFirstMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\r\n        if (resultSelector) {\r\n            this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\r\n        }\r\n        else {\r\n            destination.next(innerValue);\r\n        }\r\n    };\r\n    SwitchFirstMapSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\r\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\r\n        try {\r\n            var result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\r\n            destination.next(result);\r\n        }\r\n        catch (err) {\r\n            destination.error(err);\r\n        }\r\n    };\r\n    SwitchFirstMapSubscriber.prototype.notifyError = function (err) {\r\n        this.destination.error(err);\r\n    };\r\n    SwitchFirstMapSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this.remove(innerSub);\r\n        this.hasSubscription = false;\r\n        if (this.hasCompleted) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return SwitchFirstMapSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=exhaustMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/exhaustMap.js\n// module id = 1587\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Recursively projects each source value to an Observable which is merged in\r\n * the output Observable.\r\n *\r\n * <span class=\"informal\">It's similar to {@link mergeMap}, but applies the\r\n * projection function to every source value as well as every output value.\r\n * It's recursive.</span>\r\n *\r\n * <img src=\"./img/expand.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits items based on applying a function that you\r\n * supply to each item emitted by the source Observable, where that function\r\n * returns an Observable, and then merging those resulting Observables and\r\n * emitting the results of this merger. *Expand* will re-emit on the output\r\n * Observable every source value. Then, each output value is given to the\r\n * `project` function which returns an inner Observable to be merged on the\r\n * output Observable. Those output values resulting from the projection are also\r\n * given to the `project` function to produce new output values. This is how\r\n * *expand* behaves recursively.\r\n *\r\n * @example <caption>Start emitting the powers of two on every click, at most 10 of them</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var powersOfTwo = clicks\r\n *   .mapTo(1)\r\n *   .expand(x => Rx.Observable.of(2 * x).delay(1000))\r\n *   .take(10);\r\n * powersOfTwo.subscribe(x => console.log(x));\r\n *\r\n * @see {@link mergeMap}\r\n * @see {@link mergeScan}\r\n *\r\n * @param {function(value: T, index: number) => Observable} project A function\r\n * that, when applied to an item emitted by the source or the output Observable,\r\n * returns an Observable.\r\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\r\n * Observables being subscribed to concurrently.\r\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\r\n * each projected inner Observable.\r\n * @return {Observable} An Observable that emits the source values and also\r\n * result of applying the projection function to each value emitted on the\r\n * output Observable and and merging the results of the Observables obtained\r\n * from this transformation.\r\n * @method expand\r\n * @owner Observable\r\n */\r\nfunction expand(project, concurrent, scheduler) {\r\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\r\n    if (scheduler === void 0) { scheduler = undefined; }\r\n    concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\r\n    return this.lift(new ExpandOperator(project, concurrent, scheduler));\r\n}\r\nexports.expand = expand;\r\nvar ExpandOperator = (function () {\r\n    function ExpandOperator(project, concurrent, scheduler) {\r\n        this.project = project;\r\n        this.concurrent = concurrent;\r\n        this.scheduler = scheduler;\r\n    }\r\n    ExpandOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\r\n    };\r\n    return ExpandOperator;\r\n}());\r\nexports.ExpandOperator = ExpandOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ExpandSubscriber = (function (_super) {\r\n    __extends(ExpandSubscriber, _super);\r\n    function ExpandSubscriber(destination, project, concurrent, scheduler) {\r\n        _super.call(this, destination);\r\n        this.project = project;\r\n        this.concurrent = concurrent;\r\n        this.scheduler = scheduler;\r\n        this.index = 0;\r\n        this.active = 0;\r\n        this.hasCompleted = false;\r\n        if (concurrent < Number.POSITIVE_INFINITY) {\r\n            this.buffer = [];\r\n        }\r\n    }\r\n    ExpandSubscriber.dispatch = function (arg) {\r\n        var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\r\n        subscriber.subscribeToProjection(result, value, index);\r\n    };\r\n    ExpandSubscriber.prototype._next = function (value) {\r\n        var destination = this.destination;\r\n        if (destination.closed) {\r\n            this._complete();\r\n            return;\r\n        }\r\n        var index = this.index++;\r\n        if (this.active < this.concurrent) {\r\n            destination.next(value);\r\n            var result = tryCatch_1.tryCatch(this.project)(value, index);\r\n            if (result === errorObject_1.errorObject) {\r\n                destination.error(errorObject_1.errorObject.e);\r\n            }\r\n            else if (!this.scheduler) {\r\n                this.subscribeToProjection(result, value, index);\r\n            }\r\n            else {\r\n                var state = { subscriber: this, result: result, value: value, index: index };\r\n                this.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\r\n            }\r\n        }\r\n        else {\r\n            this.buffer.push(value);\r\n        }\r\n    };\r\n    ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\r\n        this.active++;\r\n        this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));\r\n    };\r\n    ExpandSubscriber.prototype._complete = function () {\r\n        this.hasCompleted = true;\r\n        if (this.hasCompleted && this.active === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    ExpandSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this._next(innerValue);\r\n    };\r\n    ExpandSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        var buffer = this.buffer;\r\n        this.remove(innerSub);\r\n        this.active--;\r\n        if (buffer && buffer.length > 0) {\r\n            this._next(buffer.shift());\r\n        }\r\n        if (this.hasCompleted && this.active === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return ExpandSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\nexports.ExpandSubscriber = ExpandSubscriber;\r\n//# sourceMappingURL=expand.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/expand.js\n// module id = 1588\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar Subscription_1 = require('../Subscription');\r\n/**\r\n * Returns an Observable that mirrors the source Observable, but will call a specified function when\r\n * the source terminates on complete or error.\r\n * @param {function} callback function to be called when source terminates.\r\n * @return {Observable} an Observable that mirrors the source, but will call the specified function on termination.\r\n * @method finally\r\n * @owner Observable\r\n */\r\nfunction _finally(callback) {\r\n    return this.lift(new FinallyOperator(callback));\r\n}\r\nexports._finally = _finally;\r\nvar FinallyOperator = (function () {\r\n    function FinallyOperator(callback) {\r\n        this.callback = callback;\r\n    }\r\n    FinallyOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new FinallySubscriber(subscriber, this.callback));\r\n    };\r\n    return FinallyOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar FinallySubscriber = (function (_super) {\r\n    __extends(FinallySubscriber, _super);\r\n    function FinallySubscriber(destination, callback) {\r\n        _super.call(this, destination);\r\n        this.add(new Subscription_1.Subscription(callback));\r\n    }\r\n    return FinallySubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=finally.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/finally.js\n// module id = 1589\n// module chunks = 3","\"use strict\";\r\nvar find_1 = require('./find');\r\n/**\r\n * Emits only the index of the first value emitted by the source Observable that\r\n * meets some condition.\r\n *\r\n * <span class=\"informal\">It's like {@link find}, but emits the index of the\r\n * found value, not the value itself.</span>\r\n *\r\n * <img src=\"./img/findIndex.png\" width=\"100%\">\r\n *\r\n * `findIndex` searches for the first item in the source Observable that matches\r\n * the specified condition embodied by the `predicate`, and returns the\r\n * (zero-based) index of the first occurrence in the source. Unlike\r\n * {@link first}, the `predicate` is required in `findIndex`, and does not emit\r\n * an error if a valid value is not found.\r\n *\r\n * @example <caption>Emit the index of first click that happens on a DIV element</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV');\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link filter}\r\n * @see {@link find}\r\n * @see {@link first}\r\n * @see {@link take}\r\n *\r\n * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate\r\n * A function called with each item to test for condition matching.\r\n * @param {any} [thisArg] An optional argument to determine the value of `this`\r\n * in the `predicate` function.\r\n * @return {Observable} An Observable of the index of the first item that\r\n * matches the condition.\r\n * @method find\r\n * @owner Observable\r\n */\r\nfunction findIndex(predicate, thisArg) {\r\n    return this.lift(new find_1.FindValueOperator(predicate, this, true, thisArg));\r\n}\r\nexports.findIndex = findIndex;\r\n//# sourceMappingURL=findIndex.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/findIndex.js\n// module id = 1590\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar Subscription_1 = require('../Subscription');\r\nvar Observable_1 = require('../Observable');\r\nvar Subject_1 = require('../Subject');\r\nvar Map_1 = require('../util/Map');\r\nvar FastMap_1 = require('../util/FastMap');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Groups the items emitted by an Observable according to a specified criterion,\r\n * and emits these grouped items as `GroupedObservables`, one\r\n * {@link GroupedObservable} per group.\r\n *\r\n * <img src=\"./img/groupBy.png\" width=\"100%\">\r\n *\r\n * @param {function(value: T): K} keySelector a function that extracts the key\r\n * for each item.\r\n * @param {function(value: T): R} [elementSelector] a function that extracts the\r\n * return element for each item.\r\n * @param {function(grouped: GroupedObservable<K,R>): Observable<any>} [durationSelector]\r\n * a function that returns an Observable to determine how long each group should\r\n * exist.\r\n * @return {Observable<GroupedObservable<K,R>>} an Observable that emits\r\n * GroupedObservables, each of which corresponds to a unique key value and each\r\n * of which emits those items from the source Observable that share that key\r\n * value.\r\n * @method groupBy\r\n * @owner Observable\r\n */\r\nfunction groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\r\n    return this.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\r\n}\r\nexports.groupBy = groupBy;\r\nvar GroupByOperator = (function () {\r\n    function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\r\n        this.keySelector = keySelector;\r\n        this.elementSelector = elementSelector;\r\n        this.durationSelector = durationSelector;\r\n        this.subjectSelector = subjectSelector;\r\n    }\r\n    GroupByOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\r\n    };\r\n    return GroupByOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar GroupBySubscriber = (function (_super) {\r\n    __extends(GroupBySubscriber, _super);\r\n    function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\r\n        _super.call(this, destination);\r\n        this.keySelector = keySelector;\r\n        this.elementSelector = elementSelector;\r\n        this.durationSelector = durationSelector;\r\n        this.subjectSelector = subjectSelector;\r\n        this.groups = null;\r\n        this.attemptedToUnsubscribe = false;\r\n        this.count = 0;\r\n    }\r\n    GroupBySubscriber.prototype._next = function (value) {\r\n        var key;\r\n        try {\r\n            key = this.keySelector(value);\r\n        }\r\n        catch (err) {\r\n            this.error(err);\r\n            return;\r\n        }\r\n        this._group(value, key);\r\n    };\r\n    GroupBySubscriber.prototype._group = function (value, key) {\r\n        var groups = this.groups;\r\n        if (!groups) {\r\n            groups = this.groups = typeof key === 'string' ? new FastMap_1.FastMap() : new Map_1.Map();\r\n        }\r\n        var group = groups.get(key);\r\n        var element;\r\n        if (this.elementSelector) {\r\n            try {\r\n                element = this.elementSelector(value);\r\n            }\r\n            catch (err) {\r\n                this.error(err);\r\n            }\r\n        }\r\n        else {\r\n            element = value;\r\n        }\r\n        if (!group) {\r\n            group = this.subjectSelector ? this.subjectSelector() : new Subject_1.Subject();\r\n            groups.set(key, group);\r\n            var groupedObservable = new GroupedObservable(key, group, this);\r\n            this.destination.next(groupedObservable);\r\n            if (this.durationSelector) {\r\n                var duration = void 0;\r\n                try {\r\n                    duration = this.durationSelector(new GroupedObservable(key, group));\r\n                }\r\n                catch (err) {\r\n                    this.error(err);\r\n                    return;\r\n                }\r\n                this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\r\n            }\r\n        }\r\n        if (!group.closed) {\r\n            group.next(element);\r\n        }\r\n    };\r\n    GroupBySubscriber.prototype._error = function (err) {\r\n        var groups = this.groups;\r\n        if (groups) {\r\n            groups.forEach(function (group, key) {\r\n                group.error(err);\r\n            });\r\n            groups.clear();\r\n        }\r\n        this.destination.error(err);\r\n    };\r\n    GroupBySubscriber.prototype._complete = function () {\r\n        var groups = this.groups;\r\n        if (groups) {\r\n            groups.forEach(function (group, key) {\r\n                group.complete();\r\n            });\r\n            groups.clear();\r\n        }\r\n        this.destination.complete();\r\n    };\r\n    GroupBySubscriber.prototype.removeGroup = function (key) {\r\n        this.groups.delete(key);\r\n    };\r\n    GroupBySubscriber.prototype.unsubscribe = function () {\r\n        if (!this.closed) {\r\n            this.attemptedToUnsubscribe = true;\r\n            if (this.count === 0) {\r\n                _super.prototype.unsubscribe.call(this);\r\n            }\r\n        }\r\n    };\r\n    return GroupBySubscriber;\r\n}(Subscriber_1.Subscriber));\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar GroupDurationSubscriber = (function (_super) {\r\n    __extends(GroupDurationSubscriber, _super);\r\n    function GroupDurationSubscriber(key, group, parent) {\r\n        _super.call(this);\r\n        this.key = key;\r\n        this.group = group;\r\n        this.parent = parent;\r\n    }\r\n    GroupDurationSubscriber.prototype._next = function (value) {\r\n        this._complete();\r\n    };\r\n    GroupDurationSubscriber.prototype._error = function (err) {\r\n        var group = this.group;\r\n        if (!group.closed) {\r\n            group.error(err);\r\n        }\r\n        this.parent.removeGroup(this.key);\r\n    };\r\n    GroupDurationSubscriber.prototype._complete = function () {\r\n        var group = this.group;\r\n        if (!group.closed) {\r\n            group.complete();\r\n        }\r\n        this.parent.removeGroup(this.key);\r\n    };\r\n    return GroupDurationSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n/**\r\n * An Observable representing values belonging to the same group represented by\r\n * a common key. The values emitted by a GroupedObservable come from the source\r\n * Observable. The common key is available as the field `key` on a\r\n * GroupedObservable instance.\r\n *\r\n * @class GroupedObservable<K, T>\r\n */\r\nvar GroupedObservable = (function (_super) {\r\n    __extends(GroupedObservable, _super);\r\n    function GroupedObservable(key, groupSubject, refCountSubscription) {\r\n        _super.call(this);\r\n        this.key = key;\r\n        this.groupSubject = groupSubject;\r\n        this.refCountSubscription = refCountSubscription;\r\n    }\r\n    GroupedObservable.prototype._subscribe = function (subscriber) {\r\n        var subscription = new Subscription_1.Subscription();\r\n        var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\r\n        if (refCountSubscription && !refCountSubscription.closed) {\r\n            subscription.add(new InnerRefCountSubscription(refCountSubscription));\r\n        }\r\n        subscription.add(groupSubject.subscribe(subscriber));\r\n        return subscription;\r\n    };\r\n    return GroupedObservable;\r\n}(Observable_1.Observable));\r\nexports.GroupedObservable = GroupedObservable;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar InnerRefCountSubscription = (function (_super) {\r\n    __extends(InnerRefCountSubscription, _super);\r\n    function InnerRefCountSubscription(parent) {\r\n        _super.call(this);\r\n        this.parent = parent;\r\n        parent.count++;\r\n    }\r\n    InnerRefCountSubscription.prototype.unsubscribe = function () {\r\n        var parent = this.parent;\r\n        if (!parent.closed && !this.closed) {\r\n            _super.prototype.unsubscribe.call(this);\r\n            parent.count -= 1;\r\n            if (parent.count === 0 && parent.attemptedToUnsubscribe) {\r\n                parent.unsubscribe();\r\n            }\r\n        }\r\n    };\r\n    return InnerRefCountSubscription;\r\n}(Subscription_1.Subscription));\r\n//# sourceMappingURL=groupBy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/groupBy.js\n// module id = 1591\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar noop_1 = require('../util/noop');\r\n/**\r\n * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.\r\n *\r\n * <img src=\"./img/ignoreElements.png\" width=\"100%\">\r\n *\r\n * @return {Observable} an empty Observable that only calls `complete`\r\n * or `error`, based on which one is called by the source Observable.\r\n * @method ignoreElements\r\n * @owner Observable\r\n */\r\nfunction ignoreElements() {\r\n    return this.lift(new IgnoreElementsOperator());\r\n}\r\nexports.ignoreElements = ignoreElements;\r\n;\r\nvar IgnoreElementsOperator = (function () {\r\n    function IgnoreElementsOperator() {\r\n    }\r\n    IgnoreElementsOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new IgnoreElementsSubscriber(subscriber));\r\n    };\r\n    return IgnoreElementsOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar IgnoreElementsSubscriber = (function (_super) {\r\n    __extends(IgnoreElementsSubscriber, _super);\r\n    function IgnoreElementsSubscriber() {\r\n        _super.apply(this, arguments);\r\n    }\r\n    IgnoreElementsSubscriber.prototype._next = function (unused) {\r\n        noop_1.noop();\r\n    };\r\n    return IgnoreElementsSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=ignoreElements.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/ignoreElements.js\n// module id = 1592\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * If the source Observable is empty it returns an Observable that emits true, otherwise it emits false.\r\n *\r\n * <img src=\"./img/isEmpty.png\" width=\"100%\">\r\n *\r\n * @return {Observable} an Observable that emits a Boolean.\r\n * @method isEmpty\r\n * @owner Observable\r\n */\r\nfunction isEmpty() {\r\n    return this.lift(new IsEmptyOperator());\r\n}\r\nexports.isEmpty = isEmpty;\r\nvar IsEmptyOperator = (function () {\r\n    function IsEmptyOperator() {\r\n    }\r\n    IsEmptyOperator.prototype.call = function (observer, source) {\r\n        return source.subscribe(new IsEmptySubscriber(observer));\r\n    };\r\n    return IsEmptyOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar IsEmptySubscriber = (function (_super) {\r\n    __extends(IsEmptySubscriber, _super);\r\n    function IsEmptySubscriber(destination) {\r\n        _super.call(this, destination);\r\n    }\r\n    IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\r\n        var destination = this.destination;\r\n        destination.next(isEmpty);\r\n        destination.complete();\r\n    };\r\n    IsEmptySubscriber.prototype._next = function (value) {\r\n        this.notifyComplete(false);\r\n    };\r\n    IsEmptySubscriber.prototype._complete = function () {\r\n        this.notifyComplete(true);\r\n    };\r\n    return IsEmptySubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=isEmpty.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/isEmpty.js\n// module id = 1593\n// module chunks = 3","\"use strict\";\r\n/**\r\n * @param func\r\n * @return {Observable<R>}\r\n * @method let\r\n * @owner Observable\r\n */\r\nfunction letProto(func) {\r\n    return func(this);\r\n}\r\nexports.letProto = letProto;\r\n//# sourceMappingURL=let.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/let.js\n// module id = 1594\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Emits the given constant value on the output Observable every time the source\r\n * Observable emits a value.\r\n *\r\n * <span class=\"informal\">Like {@link map}, but it maps every source value to\r\n * the same output value every time.</span>\r\n *\r\n * <img src=\"./img/mapTo.png\" width=\"100%\">\r\n *\r\n * Takes a constant `value` as argument, and emits that whenever the source\r\n * Observable emits a value. In other words, ignores the actual source value,\r\n * and simply uses the emission moment to know when to emit the given `value`.\r\n *\r\n * @example <caption>Map every every click to the string 'Hi'</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var greetings = clicks.mapTo('Hi');\r\n * greetings.subscribe(x => console.log(x));\r\n *\r\n * @see {@link map}\r\n *\r\n * @param {any} value The value to map each source value to.\r\n * @return {Observable} An Observable that emits the given `value` every time\r\n * the source Observable emits something.\r\n * @method mapTo\r\n * @owner Observable\r\n */\r\nfunction mapTo(value) {\r\n    return this.lift(new MapToOperator(value));\r\n}\r\nexports.mapTo = mapTo;\r\nvar MapToOperator = (function () {\r\n    function MapToOperator(value) {\r\n        this.value = value;\r\n    }\r\n    MapToOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new MapToSubscriber(subscriber, this.value));\r\n    };\r\n    return MapToOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar MapToSubscriber = (function (_super) {\r\n    __extends(MapToSubscriber, _super);\r\n    function MapToSubscriber(destination, value) {\r\n        _super.call(this, destination);\r\n        this.value = value;\r\n    }\r\n    MapToSubscriber.prototype._next = function (x) {\r\n        this.destination.next(this.value);\r\n    };\r\n    return MapToSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=mapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/mapTo.js\n// module id = 1595\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar Notification_1 = require('../Notification');\r\n/**\r\n * Represents all of the notifications from the source Observable as `next`\r\n * emissions marked with their original types within {@link Notification}\r\n * objects.\r\n *\r\n * <span class=\"informal\">Wraps `next`, `error` and `complete` emissions in\r\n * {@link Notification} objects, emitted as `next` on the output Observable.\r\n * </span>\r\n *\r\n * <img src=\"./img/materialize.png\" width=\"100%\">\r\n *\r\n * `materialize` returns an Observable that emits a `next` notification for each\r\n * `next`, `error`, or `complete` emission of the source Observable. When the\r\n * source Observable emits `complete`, the output Observable will emit `next` as\r\n * a Notification of type \"complete\", and then it will emit `complete` as well.\r\n * When the source Observable emits `error`, the output will emit `next` as a\r\n * Notification of type \"error\", and then `complete`.\r\n *\r\n * This operator is useful for producing metadata of the source Observable, to\r\n * be consumed as `next` emissions. Use it in conjunction with\r\n * {@link dematerialize}.\r\n *\r\n * @example <caption>Convert a faulty Observable to an Observable of Notifications</caption>\r\n * var letters = Rx.Observable.of('a', 'b', 13, 'd');\r\n * var upperCase = letters.map(x => x.toUpperCase());\r\n * var materialized = upperCase.materialize();\r\n * materialized.subscribe(x => console.log(x));\r\n *\r\n * // Results in the following:\r\n * // - Notification {kind: \"N\", value: \"A\", error: undefined, hasValue: true}\r\n * // - Notification {kind: \"N\", value: \"B\", error: undefined, hasValue: true}\r\n * // - Notification {kind: \"E\", value: undefined, error: TypeError:\r\n * //   x.toUpperCase is not a function at MapSubscriber.letters.map.x\r\n * //   [as project] (http://1…, hasValue: false}\r\n *\r\n * @see {@link Notification}\r\n * @see {@link dematerialize}\r\n *\r\n * @return {Observable<Notification<T>>} An Observable that emits\r\n * {@link Notification} objects that wrap the original emissions from the source\r\n * Observable with metadata.\r\n * @method materialize\r\n * @owner Observable\r\n */\r\nfunction materialize() {\r\n    return this.lift(new MaterializeOperator());\r\n}\r\nexports.materialize = materialize;\r\nvar MaterializeOperator = (function () {\r\n    function MaterializeOperator() {\r\n    }\r\n    MaterializeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new MaterializeSubscriber(subscriber));\r\n    };\r\n    return MaterializeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar MaterializeSubscriber = (function (_super) {\r\n    __extends(MaterializeSubscriber, _super);\r\n    function MaterializeSubscriber(destination) {\r\n        _super.call(this, destination);\r\n    }\r\n    MaterializeSubscriber.prototype._next = function (value) {\r\n        this.destination.next(Notification_1.Notification.createNext(value));\r\n    };\r\n    MaterializeSubscriber.prototype._error = function (err) {\r\n        var destination = this.destination;\r\n        destination.next(Notification_1.Notification.createError(err));\r\n        destination.complete();\r\n    };\r\n    MaterializeSubscriber.prototype._complete = function () {\r\n        var destination = this.destination;\r\n        destination.next(Notification_1.Notification.createComplete());\r\n        destination.complete();\r\n    };\r\n    return MaterializeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=materialize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/materialize.js\n// module id = 1596\n// module chunks = 3","\"use strict\";\r\nvar reduce_1 = require('./reduce');\r\n/**\r\n * The Max operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\r\n * and when source Observable completes it emits a single item: the item with the largest number.\r\n *\r\n * <img src=\"./img/max.png\" width=\"100%\">\r\n *\r\n * @param {Function} optional comparer function that it will use instead of its default to compare the value of two\r\n * items.\r\n * @return {Observable} an Observable that emits item with the largest number.\r\n * @method max\r\n * @owner Observable\r\n */\r\nfunction max(comparer) {\r\n    var max = (typeof comparer === 'function')\r\n        ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\r\n        : function (x, y) { return x > y ? x : y; };\r\n    return this.lift(new reduce_1.ReduceOperator(max));\r\n}\r\nexports.max = max;\r\n//# sourceMappingURL=max.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/max.js\n// module id = 1597\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\n/**\r\n * @param project\r\n * @param seed\r\n * @param concurrent\r\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\r\n * @method mergeScan\r\n * @owner Observable\r\n */\r\nfunction mergeScan(project, seed, concurrent) {\r\n    if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\r\n    return this.lift(new MergeScanOperator(project, seed, concurrent));\r\n}\r\nexports.mergeScan = mergeScan;\r\nvar MergeScanOperator = (function () {\r\n    function MergeScanOperator(project, seed, concurrent) {\r\n        this.project = project;\r\n        this.seed = seed;\r\n        this.concurrent = concurrent;\r\n    }\r\n    MergeScanOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new MergeScanSubscriber(subscriber, this.project, this.seed, this.concurrent));\r\n    };\r\n    return MergeScanOperator;\r\n}());\r\nexports.MergeScanOperator = MergeScanOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar MergeScanSubscriber = (function (_super) {\r\n    __extends(MergeScanSubscriber, _super);\r\n    function MergeScanSubscriber(destination, project, acc, concurrent) {\r\n        _super.call(this, destination);\r\n        this.project = project;\r\n        this.acc = acc;\r\n        this.concurrent = concurrent;\r\n        this.hasValue = false;\r\n        this.hasCompleted = false;\r\n        this.buffer = [];\r\n        this.active = 0;\r\n        this.index = 0;\r\n    }\r\n    MergeScanSubscriber.prototype._next = function (value) {\r\n        if (this.active < this.concurrent) {\r\n            var index = this.index++;\r\n            var ish = tryCatch_1.tryCatch(this.project)(this.acc, value);\r\n            var destination = this.destination;\r\n            if (ish === errorObject_1.errorObject) {\r\n                destination.error(errorObject_1.errorObject.e);\r\n            }\r\n            else {\r\n                this.active++;\r\n                this._innerSub(ish, value, index);\r\n            }\r\n        }\r\n        else {\r\n            this.buffer.push(value);\r\n        }\r\n    };\r\n    MergeScanSubscriber.prototype._innerSub = function (ish, value, index) {\r\n        this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\r\n    };\r\n    MergeScanSubscriber.prototype._complete = function () {\r\n        this.hasCompleted = true;\r\n        if (this.active === 0 && this.buffer.length === 0) {\r\n            if (this.hasValue === false) {\r\n                this.destination.next(this.acc);\r\n            }\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    MergeScanSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var destination = this.destination;\r\n        this.acc = innerValue;\r\n        this.hasValue = true;\r\n        destination.next(innerValue);\r\n    };\r\n    MergeScanSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        var buffer = this.buffer;\r\n        this.remove(innerSub);\r\n        this.active--;\r\n        if (buffer.length > 0) {\r\n            this._next(buffer.shift());\r\n        }\r\n        else if (this.active === 0 && this.hasCompleted) {\r\n            if (this.hasValue === false) {\r\n                this.destination.next(this.acc);\r\n            }\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return MergeScanSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\nexports.MergeScanSubscriber = MergeScanSubscriber;\r\n//# sourceMappingURL=mergeScan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/mergeScan.js\n// module id = 1598\n// module chunks = 3","\"use strict\";\r\nvar reduce_1 = require('./reduce');\r\n/**\r\n * The Min operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),\r\n * and when source Observable completes it emits a single item: the item with the smallest number.\r\n *\r\n * <img src=\"./img/min.png\" width=\"100%\">\r\n *\r\n * @param {Function} optional comparer function that it will use instead of its default to compare the value of two items.\r\n * @return {Observable<R>} an Observable that emits item with the smallest number.\r\n * @method min\r\n * @owner Observable\r\n */\r\nfunction min(comparer) {\r\n    var min = (typeof comparer === 'function')\r\n        ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\r\n        : function (x, y) { return x < y ? x : y; };\r\n    return this.lift(new reduce_1.ReduceOperator(min));\r\n}\r\nexports.min = min;\r\n//# sourceMappingURL=min.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/min.js\n// module id = 1599\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Groups pairs of consecutive emissions together and emits them as an array of\r\n * two values.\r\n *\r\n * <span class=\"informal\">Puts the current value and previous value together as\r\n * an array, and emits that.</span>\r\n *\r\n * <img src=\"./img/pairwise.png\" width=\"100%\">\r\n *\r\n * The Nth emission from the source Observable will cause the output Observable\r\n * to emit an array [(N-1)th, Nth] of the previous and the current value, as a\r\n * pair. For this reason, `pairwise` emits on the second and subsequent\r\n * emissions from the source Observable, but not on the first emission, because\r\n * there is no previous value in that case.\r\n *\r\n * @example <caption>On every click (starting from the second), emit the relative distance to the previous click</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var pairs = clicks.pairwise();\r\n * var distance = pairs.map(pair => {\r\n *   var x0 = pair[0].clientX;\r\n *   var y0 = pair[0].clientY;\r\n *   var x1 = pair[1].clientX;\r\n *   var y1 = pair[1].clientY;\r\n *   return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));\r\n * });\r\n * distance.subscribe(x => console.log(x));\r\n *\r\n * @see {@link buffer}\r\n * @see {@link bufferCount}\r\n *\r\n * @return {Observable<Array<T>>} An Observable of pairs (as arrays) of\r\n * consecutive values from the source Observable.\r\n * @method pairwise\r\n * @owner Observable\r\n */\r\nfunction pairwise() {\r\n    return this.lift(new PairwiseOperator());\r\n}\r\nexports.pairwise = pairwise;\r\nvar PairwiseOperator = (function () {\r\n    function PairwiseOperator() {\r\n    }\r\n    PairwiseOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new PairwiseSubscriber(subscriber));\r\n    };\r\n    return PairwiseOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar PairwiseSubscriber = (function (_super) {\r\n    __extends(PairwiseSubscriber, _super);\r\n    function PairwiseSubscriber(destination) {\r\n        _super.call(this, destination);\r\n        this.hasPrev = false;\r\n    }\r\n    PairwiseSubscriber.prototype._next = function (value) {\r\n        if (this.hasPrev) {\r\n            this.destination.next([this.prev, value]);\r\n        }\r\n        else {\r\n            this.hasPrev = true;\r\n        }\r\n        this.prev = value;\r\n    };\r\n    return PairwiseSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=pairwise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/pairwise.js\n// module id = 1600\n// module chunks = 3","\"use strict\";\r\nvar not_1 = require('../util/not');\r\nvar filter_1 = require('./filter');\r\n/**\r\n * Splits the source Observable into two, one with values that satisfy a\r\n * predicate, and another with values that don't satisfy the predicate.\r\n *\r\n * <span class=\"informal\">It's like {@link filter}, but returns two Observables:\r\n * one like the output of {@link filter}, and the other with values that did not\r\n * pass the condition.</span>\r\n *\r\n * <img src=\"./img/partition.png\" width=\"100%\">\r\n *\r\n * `partition` outputs an array with two Observables that partition the values\r\n * from the source Observable through the given `predicate` function. The first\r\n * Observable in that array emits source values for which the predicate argument\r\n * returns true. The second Observable emits source values for which the\r\n * predicate returns false. The first behaves like {@link filter} and the second\r\n * behaves like {@link filter} with the predicate negated.\r\n *\r\n * @example <caption>Partition click events into those on DIV elements and those elsewhere</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var parts = clicks.partition(ev => ev.target.tagName === 'DIV');\r\n * var clicksOnDivs = parts[0];\r\n * var clicksElsewhere = parts[1];\r\n * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));\r\n * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));\r\n *\r\n * @see {@link filter}\r\n *\r\n * @param {function(value: T, index: number): boolean} predicate A function that\r\n * evaluates each value emitted by the source Observable. If it returns `true`,\r\n * the value is emitted on the first Observable in the returned array, if\r\n * `false` the value is emitted on the second Observable in the array. The\r\n * `index` parameter is the number `i` for the i-th source emission that has\r\n * happened since the subscription, starting from the number `0`.\r\n * @param {any} [thisArg] An optional argument to determine the value of `this`\r\n * in the `predicate` function.\r\n * @return {[Observable<T>, Observable<T>]} An array with two Observables: one\r\n * with values that passed the predicate, and another with values that did not\r\n * pass the predicate.\r\n * @method partition\r\n * @owner Observable\r\n */\r\nfunction partition(predicate, thisArg) {\r\n    return [\r\n        filter_1.filter.call(this, predicate, thisArg),\r\n        filter_1.filter.call(this, not_1.not(predicate, thisArg))\r\n    ];\r\n}\r\nexports.partition = partition;\r\n//# sourceMappingURL=partition.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/partition.js\n// module id = 1601\n// module chunks = 3","\"use strict\";\r\nvar map_1 = require('./map');\r\n/**\r\n * Maps each source value (an object) to its specified nested property.\r\n *\r\n * <span class=\"informal\">Like {@link map}, but meant only for picking one of\r\n * the nested properties of every emitted object.</span>\r\n *\r\n * <img src=\"./img/pluck.png\" width=\"100%\">\r\n *\r\n * Given a list of strings describing a path to an object property, retrieves\r\n * the value of a specified nested property from all values in the source\r\n * Observable. If a property can't be resolved, it will return `undefined` for\r\n * that value.\r\n *\r\n * @example <caption>Map every every click to the tagName of the clicked target element</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var tagNames = clicks.pluck('target', 'tagName');\r\n * tagNames.subscribe(x => console.log(x));\r\n *\r\n * @see {@link map}\r\n *\r\n * @param {...string} properties The nested properties to pluck from each source\r\n * value (an object).\r\n * @return {Observable} Returns a new Observable of property values from the\r\n * source values.\r\n * @method pluck\r\n * @owner Observable\r\n */\r\nfunction pluck() {\r\n    var properties = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        properties[_i - 0] = arguments[_i];\r\n    }\r\n    var length = properties.length;\r\n    if (length === 0) {\r\n        throw new Error('list of properties cannot be empty.');\r\n    }\r\n    return map_1.map.call(this, plucker(properties, length));\r\n}\r\nexports.pluck = pluck;\r\nfunction plucker(props, length) {\r\n    var mapper = function (x) {\r\n        var currentProp = x;\r\n        for (var i = 0; i < length; i++) {\r\n            var p = currentProp[props[i]];\r\n            if (typeof p !== 'undefined') {\r\n                currentProp = p;\r\n            }\r\n            else {\r\n                return undefined;\r\n            }\r\n        }\r\n        return currentProp;\r\n    };\r\n    return mapper;\r\n}\r\n//# sourceMappingURL=pluck.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/pluck.js\n// module id = 1602\n// module chunks = 3","\"use strict\";\r\nvar Subject_1 = require('../Subject');\r\nvar multicast_1 = require('./multicast');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called\r\n * before it begins emitting items to those Observers that have subscribed to it.\r\n *\r\n * <img src=\"./img/publish.png\" width=\"100%\">\r\n *\r\n * @param {Function} Optional selector function which can use the multicasted source sequence as many times as needed,\r\n * without causing multiple subscriptions to the source sequence.\r\n * Subscribers to the given source will receive all notifications of the source from the time of the subscription on.\r\n * @return a ConnectableObservable that upon connection causes the source Observable to emit items to its Observers.\r\n * @method publish\r\n * @owner Observable\r\n */\r\nfunction publish(selector) {\r\n    return selector ? multicast_1.multicast.call(this, function () { return new Subject_1.Subject(); }, selector) :\r\n        multicast_1.multicast.call(this, new Subject_1.Subject());\r\n}\r\nexports.publish = publish;\r\n//# sourceMappingURL=publish.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/publish.js\n// module id = 1603\n// module chunks = 3","\"use strict\";\r\nvar BehaviorSubject_1 = require('../BehaviorSubject');\r\nvar multicast_1 = require('./multicast');\r\n/**\r\n * @param value\r\n * @return {ConnectableObservable<T>}\r\n * @method publishBehavior\r\n * @owner Observable\r\n */\r\nfunction publishBehavior(value) {\r\n    return multicast_1.multicast.call(this, new BehaviorSubject_1.BehaviorSubject(value));\r\n}\r\nexports.publishBehavior = publishBehavior;\r\n//# sourceMappingURL=publishBehavior.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/publishBehavior.js\n// module id = 1604\n// module chunks = 3","\"use strict\";\r\nvar AsyncSubject_1 = require('../AsyncSubject');\r\nvar multicast_1 = require('./multicast');\r\n/**\r\n * @return {ConnectableObservable<T>}\r\n * @method publishLast\r\n * @owner Observable\r\n */\r\nfunction publishLast() {\r\n    return multicast_1.multicast.call(this, new AsyncSubject_1.AsyncSubject());\r\n}\r\nexports.publishLast = publishLast;\r\n//# sourceMappingURL=publishLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/publishLast.js\n// module id = 1605\n// module chunks = 3","\"use strict\";\r\nvar ReplaySubject_1 = require('../ReplaySubject');\r\nvar multicast_1 = require('./multicast');\r\n/**\r\n * @param bufferSize\r\n * @param windowTime\r\n * @param scheduler\r\n * @return {ConnectableObservable<T>}\r\n * @method publishReplay\r\n * @owner Observable\r\n */\r\nfunction publishReplay(bufferSize, windowTime, scheduler) {\r\n    if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\r\n    if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\r\n    return multicast_1.multicast.call(this, new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler));\r\n}\r\nexports.publishReplay = publishReplay;\r\n//# sourceMappingURL=publishReplay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/publishReplay.js\n// module id = 1606\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\r\n/**\r\n * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times,\r\n * on a particular Scheduler.\r\n *\r\n * <img src=\"./img/repeat.png\" width=\"100%\">\r\n *\r\n * @param {Scheduler} [scheduler] the Scheduler to emit the items on.\r\n * @param {number} [count] the number of times the source Observable items are repeated, a count of 0 will yield\r\n * an empty Observable.\r\n * @return {Observable} an Observable that repeats the stream of items emitted by the source Observable at most\r\n * count times.\r\n * @method repeat\r\n * @owner Observable\r\n */\r\nfunction repeat(count) {\r\n    if (count === void 0) { count = -1; }\r\n    if (count === 0) {\r\n        return new EmptyObservable_1.EmptyObservable();\r\n    }\r\n    else if (count < 0) {\r\n        return this.lift(new RepeatOperator(-1, this));\r\n    }\r\n    else {\r\n        return this.lift(new RepeatOperator(count - 1, this));\r\n    }\r\n}\r\nexports.repeat = repeat;\r\nvar RepeatOperator = (function () {\r\n    function RepeatOperator(count, source) {\r\n        this.count = count;\r\n        this.source = source;\r\n    }\r\n    RepeatOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\r\n    };\r\n    return RepeatOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar RepeatSubscriber = (function (_super) {\r\n    __extends(RepeatSubscriber, _super);\r\n    function RepeatSubscriber(destination, count, source) {\r\n        _super.call(this, destination);\r\n        this.count = count;\r\n        this.source = source;\r\n    }\r\n    RepeatSubscriber.prototype.complete = function () {\r\n        if (!this.isStopped) {\r\n            var _a = this, source = _a.source, count = _a.count;\r\n            if (count === 0) {\r\n                return _super.prototype.complete.call(this);\r\n            }\r\n            else if (count > -1) {\r\n                this.count = count - 1;\r\n            }\r\n            this.unsubscribe();\r\n            this.isStopped = false;\r\n            this.closed = false;\r\n            source.subscribe(this);\r\n        }\r\n    };\r\n    return RepeatSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=repeat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/repeat.js\n// module id = 1607\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../Subject');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Returns an Observable that emits the same values as the source observable with the exception of a `complete`.\r\n * A `complete` will cause the emission of the Throwable that cause the complete to the Observable returned from\r\n * notificationHandler. If that Observable calls onComplete or `complete` then retry will call `complete` or `error`\r\n * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\r\n * Scheduler.\r\n *\r\n * <img src=\"./img/repeatWhen.png\" width=\"100%\">\r\n *\r\n * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,\r\n * aborting the retry.\r\n * @param {scheduler} the Scheduler on which to subscribe to the source Observable.\r\n * @return {Observable} the source Observable modified with retry logic.\r\n * @method repeatWhen\r\n * @owner Observable\r\n */\r\nfunction repeatWhen(notifier) {\r\n    return this.lift(new RepeatWhenOperator(notifier, this));\r\n}\r\nexports.repeatWhen = repeatWhen;\r\nvar RepeatWhenOperator = (function () {\r\n    function RepeatWhenOperator(notifier, source) {\r\n        this.notifier = notifier;\r\n        this.source = source;\r\n    }\r\n    RepeatWhenOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, this.source));\r\n    };\r\n    return RepeatWhenOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar RepeatWhenSubscriber = (function (_super) {\r\n    __extends(RepeatWhenSubscriber, _super);\r\n    function RepeatWhenSubscriber(destination, notifier, source) {\r\n        _super.call(this, destination);\r\n        this.notifier = notifier;\r\n        this.source = source;\r\n    }\r\n    RepeatWhenSubscriber.prototype.complete = function () {\r\n        if (!this.isStopped) {\r\n            var notifications = this.notifications;\r\n            var retries = this.retries;\r\n            var retriesSubscription = this.retriesSubscription;\r\n            if (!retries) {\r\n                notifications = new Subject_1.Subject();\r\n                retries = tryCatch_1.tryCatch(this.notifier)(notifications);\r\n                if (retries === errorObject_1.errorObject) {\r\n                    return _super.prototype.complete.call(this);\r\n                }\r\n                retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\r\n            }\r\n            else {\r\n                this.notifications = null;\r\n                this.retriesSubscription = null;\r\n            }\r\n            this.unsubscribe();\r\n            this.closed = false;\r\n            this.notifications = notifications;\r\n            this.retries = retries;\r\n            this.retriesSubscription = retriesSubscription;\r\n            notifications.next();\r\n        }\r\n    };\r\n    RepeatWhenSubscriber.prototype._unsubscribe = function () {\r\n        var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\r\n        if (notifications) {\r\n            notifications.unsubscribe();\r\n            this.notifications = null;\r\n        }\r\n        if (retriesSubscription) {\r\n            retriesSubscription.unsubscribe();\r\n            this.retriesSubscription = null;\r\n        }\r\n        this.retries = null;\r\n    };\r\n    RepeatWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var _a = this, notifications = _a.notifications, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\r\n        this.notifications = null;\r\n        this.retries = null;\r\n        this.retriesSubscription = null;\r\n        this.unsubscribe();\r\n        this.isStopped = false;\r\n        this.closed = false;\r\n        this.notifications = notifications;\r\n        this.retries = retries;\r\n        this.retriesSubscription = retriesSubscription;\r\n        this.source.subscribe(this);\r\n    };\r\n    return RepeatWhenSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=repeatWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/repeatWhen.js\n// module id = 1608\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Returns an Observable that mirrors the source Observable, resubscribing to it if it calls `error` and the\r\n * predicate returns true for that specific exception and retry count.\r\n * If the source Observable calls `error`, this method will resubscribe to the source Observable for a maximum of\r\n * count resubscriptions (given as a number parameter) rather than propagating the `error` call.\r\n *\r\n * <img src=\"./img/retry.png\" width=\"100%\">\r\n *\r\n * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted\r\n * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second\r\n * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications\r\n * would be: [1, 2, 1, 2, 3, 4, 5, `complete`].\r\n * @param {number} number of retry attempts before failing.\r\n * @return {Observable} the source Observable modified with the retry logic.\r\n * @method retry\r\n * @owner Observable\r\n */\r\nfunction retry(count) {\r\n    if (count === void 0) { count = -1; }\r\n    return this.lift(new RetryOperator(count, this));\r\n}\r\nexports.retry = retry;\r\nvar RetryOperator = (function () {\r\n    function RetryOperator(count, source) {\r\n        this.count = count;\r\n        this.source = source;\r\n    }\r\n    RetryOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new RetrySubscriber(subscriber, this.count, this.source));\r\n    };\r\n    return RetryOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar RetrySubscriber = (function (_super) {\r\n    __extends(RetrySubscriber, _super);\r\n    function RetrySubscriber(destination, count, source) {\r\n        _super.call(this, destination);\r\n        this.count = count;\r\n        this.source = source;\r\n    }\r\n    RetrySubscriber.prototype.error = function (err) {\r\n        if (!this.isStopped) {\r\n            var _a = this, source = _a.source, count = _a.count;\r\n            if (count === 0) {\r\n                return _super.prototype.error.call(this, err);\r\n            }\r\n            else if (count > -1) {\r\n                this.count = count - 1;\r\n            }\r\n            this.unsubscribe();\r\n            this.isStopped = false;\r\n            this.closed = false;\r\n            source.subscribe(this);\r\n        }\r\n    };\r\n    return RetrySubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=retry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/retry.js\n// module id = 1609\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../Subject');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Returns an Observable that emits the same values as the source observable with the exception of an `error`.\r\n * An `error` will cause the emission of the Throwable that cause the error to the Observable returned from\r\n * notificationHandler. If that Observable calls onComplete or `error` then retry will call `complete` or `error`\r\n * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular\r\n * Scheduler.\r\n *\r\n * <img src=\"./img/retryWhen.png\" width=\"100%\">\r\n *\r\n * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,\r\n * aborting the retry.\r\n * @param {scheduler} the Scheduler on which to subscribe to the source Observable.\r\n * @return {Observable} the source Observable modified with retry logic.\r\n * @method retryWhen\r\n * @owner Observable\r\n */\r\nfunction retryWhen(notifier) {\r\n    return this.lift(new RetryWhenOperator(notifier, this));\r\n}\r\nexports.retryWhen = retryWhen;\r\nvar RetryWhenOperator = (function () {\r\n    function RetryWhenOperator(notifier, source) {\r\n        this.notifier = notifier;\r\n        this.source = source;\r\n    }\r\n    RetryWhenOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\r\n    };\r\n    return RetryWhenOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar RetryWhenSubscriber = (function (_super) {\r\n    __extends(RetryWhenSubscriber, _super);\r\n    function RetryWhenSubscriber(destination, notifier, source) {\r\n        _super.call(this, destination);\r\n        this.notifier = notifier;\r\n        this.source = source;\r\n    }\r\n    RetryWhenSubscriber.prototype.error = function (err) {\r\n        if (!this.isStopped) {\r\n            var errors = this.errors;\r\n            var retries = this.retries;\r\n            var retriesSubscription = this.retriesSubscription;\r\n            if (!retries) {\r\n                errors = new Subject_1.Subject();\r\n                retries = tryCatch_1.tryCatch(this.notifier)(errors);\r\n                if (retries === errorObject_1.errorObject) {\r\n                    return _super.prototype.error.call(this, errorObject_1.errorObject.e);\r\n                }\r\n                retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\r\n            }\r\n            else {\r\n                this.errors = null;\r\n                this.retriesSubscription = null;\r\n            }\r\n            this.unsubscribe();\r\n            this.closed = false;\r\n            this.errors = errors;\r\n            this.retries = retries;\r\n            this.retriesSubscription = retriesSubscription;\r\n            errors.next(err);\r\n        }\r\n    };\r\n    RetryWhenSubscriber.prototype._unsubscribe = function () {\r\n        var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\r\n        if (errors) {\r\n            errors.unsubscribe();\r\n            this.errors = null;\r\n        }\r\n        if (retriesSubscription) {\r\n            retriesSubscription.unsubscribe();\r\n            this.retriesSubscription = null;\r\n        }\r\n        this.retries = null;\r\n    };\r\n    RetryWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var _a = this, errors = _a.errors, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\r\n        this.errors = null;\r\n        this.retries = null;\r\n        this.retriesSubscription = null;\r\n        this.unsubscribe();\r\n        this.isStopped = false;\r\n        this.closed = false;\r\n        this.errors = errors;\r\n        this.retries = retries;\r\n        this.retriesSubscription = retriesSubscription;\r\n        this.source.subscribe(this);\r\n    };\r\n    return RetryWhenSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=retryWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/retryWhen.js\n// module id = 1610\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Emits the most recently emitted value from the source Observable whenever\r\n * another Observable, the `notifier`, emits.\r\n *\r\n * <span class=\"informal\">It's like {@link sampleTime}, but samples whenever\r\n * the `notifier` Observable emits something.</span>\r\n *\r\n * <img src=\"./img/sample.png\" width=\"100%\">\r\n *\r\n * Whenever the `notifier` Observable emits a value or completes, `sample`\r\n * looks at the source Observable and emits whichever value it has most recently\r\n * emitted since the previous sampling, unless the source has not emitted\r\n * anything since the previous sampling. The `notifier` is subscribed to as soon\r\n * as the output Observable is subscribed.\r\n *\r\n * @example <caption>On every click, sample the most recent \"seconds\" timer</caption>\r\n * var seconds = Rx.Observable.interval(1000);\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = seconds.sample(clicks);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link audit}\r\n * @see {@link debounce}\r\n * @see {@link sampleTime}\r\n * @see {@link throttle}\r\n *\r\n * @param {Observable<any>} notifier The Observable to use for sampling the\r\n * source Observable.\r\n * @return {Observable<T>} An Observable that emits the results of sampling the\r\n * values emitted by the source Observable whenever the notifier Observable\r\n * emits value or completes.\r\n * @method sample\r\n * @owner Observable\r\n */\r\nfunction sample(notifier) {\r\n    return this.lift(new SampleOperator(notifier));\r\n}\r\nexports.sample = sample;\r\nvar SampleOperator = (function () {\r\n    function SampleOperator(notifier) {\r\n        this.notifier = notifier;\r\n    }\r\n    SampleOperator.prototype.call = function (subscriber, source) {\r\n        var sampleSubscriber = new SampleSubscriber(subscriber);\r\n        var subscription = source.subscribe(sampleSubscriber);\r\n        subscription.add(subscribeToResult_1.subscribeToResult(sampleSubscriber, this.notifier));\r\n        return subscription;\r\n    };\r\n    return SampleOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SampleSubscriber = (function (_super) {\r\n    __extends(SampleSubscriber, _super);\r\n    function SampleSubscriber() {\r\n        _super.apply(this, arguments);\r\n        this.hasValue = false;\r\n    }\r\n    SampleSubscriber.prototype._next = function (value) {\r\n        this.value = value;\r\n        this.hasValue = true;\r\n    };\r\n    SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.emitValue();\r\n    };\r\n    SampleSubscriber.prototype.notifyComplete = function () {\r\n        this.emitValue();\r\n    };\r\n    SampleSubscriber.prototype.emitValue = function () {\r\n        if (this.hasValue) {\r\n            this.hasValue = false;\r\n            this.destination.next(this.value);\r\n        }\r\n    };\r\n    return SampleSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=sample.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/sample.js\n// module id = 1611\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar async_1 = require('../scheduler/async');\r\n/**\r\n * Emits the most recently emitted value from the source Observable within\r\n * periodic time intervals.\r\n *\r\n * <span class=\"informal\">Samples the source Observable at periodic time\r\n * intervals, emitting what it samples.</span>\r\n *\r\n * <img src=\"./img/sampleTime.png\" width=\"100%\">\r\n *\r\n * `sampleTime` periodically looks at the source Observable and emits whichever\r\n * value it has most recently emitted since the previous sampling, unless the\r\n * source has not emitted anything since the previous sampling. The sampling\r\n * happens periodically in time every `period` milliseconds (or the time unit\r\n * defined by the optional `scheduler` argument). The sampling starts as soon as\r\n * the output Observable is subscribed.\r\n *\r\n * @example <caption>Every second, emit the most recent click at most once</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.sampleTime(1000);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link auditTime}\r\n * @see {@link debounceTime}\r\n * @see {@link delay}\r\n * @see {@link sample}\r\n * @see {@link throttleTime}\r\n *\r\n * @param {number} period The sampling period expressed in milliseconds or the\r\n * time unit determined internally by the optional `scheduler`.\r\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\r\n * managing the timers that handle the sampling.\r\n * @return {Observable<T>} An Observable that emits the results of sampling the\r\n * values emitted by the source Observable at the specified time interval.\r\n * @method sampleTime\r\n * @owner Observable\r\n */\r\nfunction sampleTime(period, scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    return this.lift(new SampleTimeOperator(period, scheduler));\r\n}\r\nexports.sampleTime = sampleTime;\r\nvar SampleTimeOperator = (function () {\r\n    function SampleTimeOperator(period, scheduler) {\r\n        this.period = period;\r\n        this.scheduler = scheduler;\r\n    }\r\n    SampleTimeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\r\n    };\r\n    return SampleTimeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SampleTimeSubscriber = (function (_super) {\r\n    __extends(SampleTimeSubscriber, _super);\r\n    function SampleTimeSubscriber(destination, period, scheduler) {\r\n        _super.call(this, destination);\r\n        this.period = period;\r\n        this.scheduler = scheduler;\r\n        this.hasValue = false;\r\n        this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period: period }));\r\n    }\r\n    SampleTimeSubscriber.prototype._next = function (value) {\r\n        this.lastValue = value;\r\n        this.hasValue = true;\r\n    };\r\n    SampleTimeSubscriber.prototype.notifyNext = function () {\r\n        if (this.hasValue) {\r\n            this.hasValue = false;\r\n            this.destination.next(this.lastValue);\r\n        }\r\n    };\r\n    return SampleTimeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nfunction dispatchNotification(state) {\r\n    var subscriber = state.subscriber, period = state.period;\r\n    subscriber.notifyNext();\r\n    this.schedule(state, period);\r\n}\r\n//# sourceMappingURL=sampleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/sampleTime.js\n// module id = 1612\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Applies an accumulator function over the source Observable, and returns each\r\n * intermediate result, with an optional seed value.\r\n *\r\n * <span class=\"informal\">It's like {@link reduce}, but emits the current\r\n * accumulation whenever the source emits a value.</span>\r\n *\r\n * <img src=\"./img/scan.png\" width=\"100%\">\r\n *\r\n * Combines together all values emitted on the source, using an accumulator\r\n * function that knows how to join a new source value into the accumulation from\r\n * the past. Is similar to {@link reduce}, but emits the intermediate\r\n * accumulations.\r\n *\r\n * Returns an Observable that applies a specified `accumulator` function to each\r\n * item emitted by the source Observable. If a `seed` value is specified, then\r\n * that value will be used as the initial value for the accumulator. If no seed\r\n * value is specified, the first item of the source is used as the seed.\r\n *\r\n * @example <caption>Count the number of click events</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var ones = clicks.mapTo(1);\r\n * var seed = 0;\r\n * var count = ones.scan((acc, one) => acc + one, seed);\r\n * count.subscribe(x => console.log(x));\r\n *\r\n * @see {@link expand}\r\n * @see {@link mergeScan}\r\n * @see {@link reduce}\r\n *\r\n * @param {function(acc: R, value: T, index: number): R} accumulator\r\n * The accumulator function called on each source value.\r\n * @param {T|R} [seed] The initial accumulation value.\r\n * @return {Observable<R>} An observable of the accumulated values.\r\n * @method scan\r\n * @owner Observable\r\n */\r\nfunction scan(accumulator, seed) {\r\n    var hasSeed = false;\r\n    // providing a seed of `undefined` *should* be valid and trigger\r\n    // hasSeed! so don't use `seed !== undefined` checks!\r\n    // For this reason, we have to check it here at the original call site\r\n    // otherwise inside Operator/Subscriber we won't know if `undefined`\r\n    // means they didn't provide anything or if they literally provided `undefined`\r\n    if (arguments.length >= 2) {\r\n        hasSeed = true;\r\n    }\r\n    return this.lift(new ScanOperator(accumulator, seed, hasSeed));\r\n}\r\nexports.scan = scan;\r\nvar ScanOperator = (function () {\r\n    function ScanOperator(accumulator, seed, hasSeed) {\r\n        if (hasSeed === void 0) { hasSeed = false; }\r\n        this.accumulator = accumulator;\r\n        this.seed = seed;\r\n        this.hasSeed = hasSeed;\r\n    }\r\n    ScanOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\r\n    };\r\n    return ScanOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ScanSubscriber = (function (_super) {\r\n    __extends(ScanSubscriber, _super);\r\n    function ScanSubscriber(destination, accumulator, _seed, hasSeed) {\r\n        _super.call(this, destination);\r\n        this.accumulator = accumulator;\r\n        this._seed = _seed;\r\n        this.hasSeed = hasSeed;\r\n        this.index = 0;\r\n    }\r\n    Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\r\n        get: function () {\r\n            return this._seed;\r\n        },\r\n        set: function (value) {\r\n            this.hasSeed = true;\r\n            this._seed = value;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    ScanSubscriber.prototype._next = function (value) {\r\n        if (!this.hasSeed) {\r\n            this.seed = value;\r\n            this.destination.next(value);\r\n        }\r\n        else {\r\n            return this._tryNext(value);\r\n        }\r\n    };\r\n    ScanSubscriber.prototype._tryNext = function (value) {\r\n        var index = this.index++;\r\n        var result;\r\n        try {\r\n            result = this.accumulator(this.seed, value, index);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n        }\r\n        this.seed = result;\r\n        this.destination.next(result);\r\n    };\r\n    return ScanSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=scan.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/scan.js\n// module id = 1613\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\n/**\r\n * Compares all values of two observables in sequence using an optional comparor function\r\n * and returns an observable of a single boolean value representing whether or not the two sequences\r\n * are equal.\r\n *\r\n * <span class=\"informal\">Checks to see of all values emitted by both observables are equal, in order.</span>\r\n *\r\n * <img src=\"./img/sequenceEqual.png\" width=\"100%\">\r\n *\r\n * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either\r\n * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom\r\n * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the\r\n * observables completes, the operator will wait for the other observable to complete; If the other\r\n * observable emits before completing, the returned observable will emit `false` and complete. If one observable never\r\n * completes or emits after the other complets, the returned observable will never complete.\r\n *\r\n * @example <caption>figure out if the Konami code matches</caption>\r\n * var code = Rx.Observable.from([\r\n *  \"ArrowUp\",\r\n *  \"ArrowUp\",\r\n *  \"ArrowDown\",\r\n *  \"ArrowDown\",\r\n *  \"ArrowLeft\",\r\n *  \"ArrowRight\",\r\n *  \"ArrowLeft\",\r\n *  \"ArrowRight\",\r\n *  \"KeyB\",\r\n *  \"KeyA\",\r\n *  \"Enter\" // no start key, clearly.\r\n * ]);\r\n *\r\n * var keys = Rx.Observable.fromEvent(document, 'keyup')\r\n *  .map(e => e.code);\r\n * var matches = keys.bufferCount(11, 1)\r\n *  .mergeMap(\r\n *    last11 =>\r\n *      Rx.Observable.from(last11)\r\n *        .sequenceEqual(code)\r\n *   );\r\n * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched));\r\n *\r\n * @see {@link combineLatest}\r\n * @see {@link zip}\r\n * @see {@link withLatestFrom}\r\n *\r\n * @param {Observable} compareTo the observable sequence to compare the source sequence to.\r\n * @param {function} [comparor] An optional function to compare each value pair\r\n * @return {Observable} An Observable of a single boolean value representing whether or not\r\n * the values emitted by both observables were equal in sequence\r\n * @method sequenceEqual\r\n * @owner Observable\r\n */\r\nfunction sequenceEqual(compareTo, comparor) {\r\n    return this.lift(new SequenceEqualOperator(compareTo, comparor));\r\n}\r\nexports.sequenceEqual = sequenceEqual;\r\nvar SequenceEqualOperator = (function () {\r\n    function SequenceEqualOperator(compareTo, comparor) {\r\n        this.compareTo = compareTo;\r\n        this.comparor = comparor;\r\n    }\r\n    SequenceEqualOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparor));\r\n    };\r\n    return SequenceEqualOperator;\r\n}());\r\nexports.SequenceEqualOperator = SequenceEqualOperator;\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SequenceEqualSubscriber = (function (_super) {\r\n    __extends(SequenceEqualSubscriber, _super);\r\n    function SequenceEqualSubscriber(destination, compareTo, comparor) {\r\n        _super.call(this, destination);\r\n        this.compareTo = compareTo;\r\n        this.comparor = comparor;\r\n        this._a = [];\r\n        this._b = [];\r\n        this._oneComplete = false;\r\n        this.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, this)));\r\n    }\r\n    SequenceEqualSubscriber.prototype._next = function (value) {\r\n        if (this._oneComplete && this._b.length === 0) {\r\n            this.emit(false);\r\n        }\r\n        else {\r\n            this._a.push(value);\r\n            this.checkValues();\r\n        }\r\n    };\r\n    SequenceEqualSubscriber.prototype._complete = function () {\r\n        if (this._oneComplete) {\r\n            this.emit(this._a.length === 0 && this._b.length === 0);\r\n        }\r\n        else {\r\n            this._oneComplete = true;\r\n        }\r\n    };\r\n    SequenceEqualSubscriber.prototype.checkValues = function () {\r\n        var _c = this, _a = _c._a, _b = _c._b, comparor = _c.comparor;\r\n        while (_a.length > 0 && _b.length > 0) {\r\n            var a = _a.shift();\r\n            var b = _b.shift();\r\n            var areEqual = false;\r\n            if (comparor) {\r\n                areEqual = tryCatch_1.tryCatch(comparor)(a, b);\r\n                if (areEqual === errorObject_1.errorObject) {\r\n                    this.destination.error(errorObject_1.errorObject.e);\r\n                }\r\n            }\r\n            else {\r\n                areEqual = a === b;\r\n            }\r\n            if (!areEqual) {\r\n                this.emit(false);\r\n            }\r\n        }\r\n    };\r\n    SequenceEqualSubscriber.prototype.emit = function (value) {\r\n        var destination = this.destination;\r\n        destination.next(value);\r\n        destination.complete();\r\n    };\r\n    SequenceEqualSubscriber.prototype.nextB = function (value) {\r\n        if (this._oneComplete && this._a.length === 0) {\r\n            this.emit(false);\r\n        }\r\n        else {\r\n            this._b.push(value);\r\n            this.checkValues();\r\n        }\r\n    };\r\n    return SequenceEqualSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nexports.SequenceEqualSubscriber = SequenceEqualSubscriber;\r\nvar SequenceEqualCompareToSubscriber = (function (_super) {\r\n    __extends(SequenceEqualCompareToSubscriber, _super);\r\n    function SequenceEqualCompareToSubscriber(destination, parent) {\r\n        _super.call(this, destination);\r\n        this.parent = parent;\r\n    }\r\n    SequenceEqualCompareToSubscriber.prototype._next = function (value) {\r\n        this.parent.nextB(value);\r\n    };\r\n    SequenceEqualCompareToSubscriber.prototype._error = function (err) {\r\n        this.parent.error(err);\r\n    };\r\n    SequenceEqualCompareToSubscriber.prototype._complete = function () {\r\n        this.parent._complete();\r\n    };\r\n    return SequenceEqualCompareToSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=sequenceEqual.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/sequenceEqual.js\n// module id = 1614\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar EmptyError_1 = require('../util/EmptyError');\r\n/**\r\n * Returns an Observable that emits the single item emitted by the source Observable that matches a specified\r\n * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no\r\n * such items, notify of an IllegalArgumentException or NoSuchElementException respectively.\r\n *\r\n * <img src=\"./img/single.png\" width=\"100%\">\r\n *\r\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\r\n * callback if the Observable completes before any `next` notification was sent.\r\n * @param {Function} a predicate function to evaluate items emitted by the source Observable.\r\n * @return {Observable<T>} an Observable that emits the single item emitted by the source Observable that matches\r\n * the predicate.\r\n .\r\n * @method single\r\n * @owner Observable\r\n */\r\nfunction single(predicate) {\r\n    return this.lift(new SingleOperator(predicate, this));\r\n}\r\nexports.single = single;\r\nvar SingleOperator = (function () {\r\n    function SingleOperator(predicate, source) {\r\n        this.predicate = predicate;\r\n        this.source = source;\r\n    }\r\n    SingleOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\r\n    };\r\n    return SingleOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SingleSubscriber = (function (_super) {\r\n    __extends(SingleSubscriber, _super);\r\n    function SingleSubscriber(destination, predicate, source) {\r\n        _super.call(this, destination);\r\n        this.predicate = predicate;\r\n        this.source = source;\r\n        this.seenValue = false;\r\n        this.index = 0;\r\n    }\r\n    SingleSubscriber.prototype.applySingleValue = function (value) {\r\n        if (this.seenValue) {\r\n            this.destination.error('Sequence contains more than one element');\r\n        }\r\n        else {\r\n            this.seenValue = true;\r\n            this.singleValue = value;\r\n        }\r\n    };\r\n    SingleSubscriber.prototype._next = function (value) {\r\n        var predicate = this.predicate;\r\n        this.index++;\r\n        if (predicate) {\r\n            this.tryNext(value);\r\n        }\r\n        else {\r\n            this.applySingleValue(value);\r\n        }\r\n    };\r\n    SingleSubscriber.prototype.tryNext = function (value) {\r\n        try {\r\n            var result = this.predicate(value, this.index, this.source);\r\n            if (result) {\r\n                this.applySingleValue(value);\r\n            }\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n        }\r\n    };\r\n    SingleSubscriber.prototype._complete = function () {\r\n        var destination = this.destination;\r\n        if (this.index > 0) {\r\n            destination.next(this.seenValue ? this.singleValue : undefined);\r\n            destination.complete();\r\n        }\r\n        else {\r\n            destination.error(new EmptyError_1.EmptyError);\r\n        }\r\n    };\r\n    return SingleSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=single.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/single.js\n// module id = 1615\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Returns an Observable that skips `n` items emitted by an Observable.\r\n *\r\n * <img src=\"./img/skip.png\" width=\"100%\">\r\n *\r\n * @param {Number} the `n` of times, items emitted by source Observable should be skipped.\r\n * @return {Observable} an Observable that skips values emitted by the source Observable.\r\n *\r\n * @method skip\r\n * @owner Observable\r\n */\r\nfunction skip(total) {\r\n    return this.lift(new SkipOperator(total));\r\n}\r\nexports.skip = skip;\r\nvar SkipOperator = (function () {\r\n    function SkipOperator(total) {\r\n        this.total = total;\r\n    }\r\n    SkipOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SkipSubscriber(subscriber, this.total));\r\n    };\r\n    return SkipOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SkipSubscriber = (function (_super) {\r\n    __extends(SkipSubscriber, _super);\r\n    function SkipSubscriber(destination, total) {\r\n        _super.call(this, destination);\r\n        this.total = total;\r\n        this.count = 0;\r\n    }\r\n    SkipSubscriber.prototype._next = function (x) {\r\n        if (++this.count > this.total) {\r\n            this.destination.next(x);\r\n        }\r\n    };\r\n    return SkipSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=skip.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/skip.js\n// module id = 1616\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item.\r\n *\r\n * <img src=\"./img/skipUntil.png\" width=\"100%\">\r\n *\r\n * @param {Observable} the second Observable that has to emit an item before the source Observable's elements begin to\r\n * be mirrored by the resulting Observable.\r\n * @return {Observable<T>} an Observable that skips items from the source Observable until the second Observable emits\r\n * an item, then emits the remaining items.\r\n * @method skipUntil\r\n * @owner Observable\r\n */\r\nfunction skipUntil(notifier) {\r\n    return this.lift(new SkipUntilOperator(notifier));\r\n}\r\nexports.skipUntil = skipUntil;\r\nvar SkipUntilOperator = (function () {\r\n    function SkipUntilOperator(notifier) {\r\n        this.notifier = notifier;\r\n    }\r\n    SkipUntilOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SkipUntilSubscriber(subscriber, this.notifier));\r\n    };\r\n    return SkipUntilOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SkipUntilSubscriber = (function (_super) {\r\n    __extends(SkipUntilSubscriber, _super);\r\n    function SkipUntilSubscriber(destination, notifier) {\r\n        _super.call(this, destination);\r\n        this.hasValue = false;\r\n        this.isInnerStopped = false;\r\n        this.add(subscribeToResult_1.subscribeToResult(this, notifier));\r\n    }\r\n    SkipUntilSubscriber.prototype._next = function (value) {\r\n        if (this.hasValue) {\r\n            _super.prototype._next.call(this, value);\r\n        }\r\n    };\r\n    SkipUntilSubscriber.prototype._complete = function () {\r\n        if (this.isInnerStopped) {\r\n            _super.prototype._complete.call(this);\r\n        }\r\n        else {\r\n            this.unsubscribe();\r\n        }\r\n    };\r\n    SkipUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.hasValue = true;\r\n    };\r\n    SkipUntilSubscriber.prototype.notifyComplete = function () {\r\n        this.isInnerStopped = true;\r\n        if (this.isStopped) {\r\n            _super.prototype._complete.call(this);\r\n        }\r\n    };\r\n    return SkipUntilSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=skipUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/skipUntil.js\n// module id = 1617\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds\r\n * true, but emits all further source items as soon as the condition becomes false.\r\n *\r\n * <img src=\"./img/skipWhile.png\" width=\"100%\">\r\n *\r\n * @param {Function} predicate - a function to test each item emitted from the source Observable.\r\n * @return {Observable<T>} an Observable that begins emitting items emitted by the source Observable when the\r\n * specified predicate becomes false.\r\n * @method skipWhile\r\n * @owner Observable\r\n */\r\nfunction skipWhile(predicate) {\r\n    return this.lift(new SkipWhileOperator(predicate));\r\n}\r\nexports.skipWhile = skipWhile;\r\nvar SkipWhileOperator = (function () {\r\n    function SkipWhileOperator(predicate) {\r\n        this.predicate = predicate;\r\n    }\r\n    SkipWhileOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\r\n    };\r\n    return SkipWhileOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SkipWhileSubscriber = (function (_super) {\r\n    __extends(SkipWhileSubscriber, _super);\r\n    function SkipWhileSubscriber(destination, predicate) {\r\n        _super.call(this, destination);\r\n        this.predicate = predicate;\r\n        this.skipping = true;\r\n        this.index = 0;\r\n    }\r\n    SkipWhileSubscriber.prototype._next = function (value) {\r\n        var destination = this.destination;\r\n        if (this.skipping) {\r\n            this.tryCallPredicate(value);\r\n        }\r\n        if (!this.skipping) {\r\n            destination.next(value);\r\n        }\r\n    };\r\n    SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\r\n        try {\r\n            var result = this.predicate(value, this.index++);\r\n            this.skipping = Boolean(result);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n        }\r\n    };\r\n    return SkipWhileSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=skipWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/skipWhile.js\n// module id = 1618\n// module chunks = 3","\"use strict\";\r\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\r\nvar ScalarObservable_1 = require('../observable/ScalarObservable');\r\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\r\nvar concat_1 = require('./concat');\r\nvar isScheduler_1 = require('../util/isScheduler');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Returns an Observable that emits the items in a specified Iterable before it begins to emit items emitted by the\r\n * source Observable.\r\n *\r\n * <img src=\"./img/startWith.png\" width=\"100%\">\r\n *\r\n * @param {Values} an Iterable that contains the items you want the modified Observable to emit first.\r\n * @return {Observable} an Observable that emits the items in the specified Iterable and then emits the items\r\n * emitted by the source Observable.\r\n * @method startWith\r\n * @owner Observable\r\n */\r\nfunction startWith() {\r\n    var array = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        array[_i - 0] = arguments[_i];\r\n    }\r\n    var scheduler = array[array.length - 1];\r\n    if (isScheduler_1.isScheduler(scheduler)) {\r\n        array.pop();\r\n    }\r\n    else {\r\n        scheduler = null;\r\n    }\r\n    var len = array.length;\r\n    if (len === 1) {\r\n        return concat_1.concatStatic(new ScalarObservable_1.ScalarObservable(array[0], scheduler), this);\r\n    }\r\n    else if (len > 1) {\r\n        return concat_1.concatStatic(new ArrayObservable_1.ArrayObservable(array, scheduler), this);\r\n    }\r\n    else {\r\n        return concat_1.concatStatic(new EmptyObservable_1.EmptyObservable(scheduler), this);\r\n    }\r\n}\r\nexports.startWith = startWith;\r\n//# sourceMappingURL=startWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/startWith.js\n// module id = 1619\n// module chunks = 3","\"use strict\";\r\nvar SubscribeOnObservable_1 = require('../observable/SubscribeOnObservable');\r\n/**\r\n * Asynchronously subscribes Observers to this Observable on the specified Scheduler.\r\n *\r\n * <img src=\"./img/subscribeOn.png\" width=\"100%\">\r\n *\r\n * @param {Scheduler} the Scheduler to perform subscription actions on.\r\n * @return {Observable<T>} the source Observable modified so that its subscriptions happen on the specified Scheduler\r\n .\r\n * @method subscribeOn\r\n * @owner Observable\r\n */\r\nfunction subscribeOn(scheduler, delay) {\r\n    if (delay === void 0) { delay = 0; }\r\n    return this.lift(new SubscribeOnOperator(scheduler, delay));\r\n}\r\nexports.subscribeOn = subscribeOn;\r\nvar SubscribeOnOperator = (function () {\r\n    function SubscribeOnOperator(scheduler, delay) {\r\n        this.scheduler = scheduler;\r\n        this.delay = delay;\r\n    }\r\n    SubscribeOnOperator.prototype.call = function (subscriber, source) {\r\n        return new SubscribeOnObservable_1.SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\r\n    };\r\n    return SubscribeOnOperator;\r\n}());\r\n//# sourceMappingURL=subscribeOn.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/subscribeOn.js\n// module id = 1620\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Converts a higher-order Observable into a first-order Observable by\r\n * subscribing to only the most recently emitted of those inner Observables.\r\n *\r\n * <span class=\"informal\">Flattens an Observable-of-Observables by dropping the\r\n * previous inner Observable once a new one appears.</span>\r\n *\r\n * <img src=\"./img/switch.png\" width=\"100%\">\r\n *\r\n * `switch` subscribes to an Observable that emits Observables, also known as a\r\n * higher-order Observable. Each time it observes one of these emitted inner\r\n * Observables, the output Observable subscribes to the inner Observable and\r\n * begins emitting the items emitted by that. So far, it behaves\r\n * like {@link mergeAll}. However, when a new inner Observable is emitted,\r\n * `switch` unsubscribes from the earlier-emitted inner Observable and\r\n * subscribes to the new inner Observable and begins emitting items from it. It\r\n * continues to behave like this for subsequent inner Observables.\r\n *\r\n * @example <caption>Rerun an interval Observable on every click event</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * // Each click event is mapped to an Observable that ticks every second\r\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\r\n * var switched = higherOrder.switch();\r\n * // The outcome is that `switched` is essentially a timer that restarts\r\n * // on every click. The interval Observables from older clicks do not merge\r\n * // with the current interval Observable.\r\n * switched.subscribe(x => console.log(x));\r\n *\r\n * @see {@link combineAll}\r\n * @see {@link concatAll}\r\n * @see {@link exhaust}\r\n * @see {@link mergeAll}\r\n * @see {@link switchMap}\r\n * @see {@link switchMapTo}\r\n * @see {@link zipAll}\r\n *\r\n * @return {Observable<T>} An Observable that emits the items emitted by the\r\n * Observable most recently emitted by the source Observable.\r\n * @method switch\r\n * @name switch\r\n * @owner Observable\r\n */\r\nfunction _switch() {\r\n    return this.lift(new SwitchOperator());\r\n}\r\nexports._switch = _switch;\r\nvar SwitchOperator = (function () {\r\n    function SwitchOperator() {\r\n    }\r\n    SwitchOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SwitchSubscriber(subscriber));\r\n    };\r\n    return SwitchOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SwitchSubscriber = (function (_super) {\r\n    __extends(SwitchSubscriber, _super);\r\n    function SwitchSubscriber(destination) {\r\n        _super.call(this, destination);\r\n        this.active = 0;\r\n        this.hasCompleted = false;\r\n    }\r\n    SwitchSubscriber.prototype._next = function (value) {\r\n        this.unsubscribeInner();\r\n        this.active++;\r\n        this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, value));\r\n    };\r\n    SwitchSubscriber.prototype._complete = function () {\r\n        this.hasCompleted = true;\r\n        if (this.active === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    SwitchSubscriber.prototype.unsubscribeInner = function () {\r\n        this.active = this.active > 0 ? this.active - 1 : 0;\r\n        var innerSubscription = this.innerSubscription;\r\n        if (innerSubscription) {\r\n            innerSubscription.unsubscribe();\r\n            this.remove(innerSubscription);\r\n        }\r\n    };\r\n    SwitchSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.destination.next(innerValue);\r\n    };\r\n    SwitchSubscriber.prototype.notifyError = function (err) {\r\n        this.destination.error(err);\r\n    };\r\n    SwitchSubscriber.prototype.notifyComplete = function () {\r\n        this.unsubscribeInner();\r\n        if (this.hasCompleted && this.active === 0) {\r\n            this.destination.complete();\r\n        }\r\n    };\r\n    return SwitchSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=switch.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/switch.js\n// module id = 1621\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Projects each source value to an Observable which is merged in the output\r\n * Observable, emitting values only from the most recently projected Observable.\r\n *\r\n * <span class=\"informal\">Maps each value to an Observable, then flattens all of\r\n * these inner Observables using {@link switch}.</span>\r\n *\r\n * <img src=\"./img/switchMap.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits items based on applying a function that you\r\n * supply to each item emitted by the source Observable, where that function\r\n * returns an (so-called \"inner\") Observable. Each time it observes one of these\r\n * inner Observables, the output Observable begins emitting the items emitted by\r\n * that inner Observable. When a new inner Observable is emitted, `switchMap`\r\n * stops emitting items from the earlier-emitted inner Observable and begins\r\n * emitting items from the new one. It continues to behave like this for\r\n * subsequent inner Observables.\r\n *\r\n * @example <caption>Rerun an interval Observable on every click event</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.switchMap((ev) => Rx.Observable.interval(1000));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link concatMap}\r\n * @see {@link exhaustMap}\r\n * @see {@link mergeMap}\r\n * @see {@link switch}\r\n * @see {@link switchMapTo}\r\n *\r\n * @param {function(value: T, ?index: number): Observable} project A function\r\n * that, when applied to an item emitted by the source Observable, returns an\r\n * Observable.\r\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\r\n * A function to produce the value on the output Observable based on the values\r\n * and the indices of the source (outer) emission and the inner Observable\r\n * emission. The arguments passed to this function are:\r\n * - `outerValue`: the value that came from the source\r\n * - `innerValue`: the value that came from the projected Observable\r\n * - `outerIndex`: the \"index\" of the value that came from the source\r\n * - `innerIndex`: the \"index\" of the value from the projected Observable\r\n * @return {Observable} An Observable that emits the result of applying the\r\n * projection function (and the optional `resultSelector`) to each item emitted\r\n * by the source Observable and taking only the values from the most recently\r\n * projected inner Observable.\r\n * @method switchMap\r\n * @owner Observable\r\n */\r\nfunction switchMap(project, resultSelector) {\r\n    return this.lift(new SwitchMapOperator(project, resultSelector));\r\n}\r\nexports.switchMap = switchMap;\r\nvar SwitchMapOperator = (function () {\r\n    function SwitchMapOperator(project, resultSelector) {\r\n        this.project = project;\r\n        this.resultSelector = resultSelector;\r\n    }\r\n    SwitchMapOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SwitchMapSubscriber(subscriber, this.project, this.resultSelector));\r\n    };\r\n    return SwitchMapOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SwitchMapSubscriber = (function (_super) {\r\n    __extends(SwitchMapSubscriber, _super);\r\n    function SwitchMapSubscriber(destination, project, resultSelector) {\r\n        _super.call(this, destination);\r\n        this.project = project;\r\n        this.resultSelector = resultSelector;\r\n        this.index = 0;\r\n    }\r\n    SwitchMapSubscriber.prototype._next = function (value) {\r\n        var result;\r\n        var index = this.index++;\r\n        try {\r\n            result = this.project(value, index);\r\n        }\r\n        catch (error) {\r\n            this.destination.error(error);\r\n            return;\r\n        }\r\n        this._innerSub(result, value, index);\r\n    };\r\n    SwitchMapSubscriber.prototype._innerSub = function (result, value, index) {\r\n        var innerSubscription = this.innerSubscription;\r\n        if (innerSubscription) {\r\n            innerSubscription.unsubscribe();\r\n        }\r\n        this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, result, value, index));\r\n    };\r\n    SwitchMapSubscriber.prototype._complete = function () {\r\n        var innerSubscription = this.innerSubscription;\r\n        if (!innerSubscription || innerSubscription.closed) {\r\n            _super.prototype._complete.call(this);\r\n        }\r\n    };\r\n    SwitchMapSubscriber.prototype._unsubscribe = function () {\r\n        this.innerSubscription = null;\r\n    };\r\n    SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this.remove(innerSub);\r\n        this.innerSubscription = null;\r\n        if (this.isStopped) {\r\n            _super.prototype._complete.call(this);\r\n        }\r\n    };\r\n    SwitchMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        if (this.resultSelector) {\r\n            this._tryNotifyNext(outerValue, innerValue, outerIndex, innerIndex);\r\n        }\r\n        else {\r\n            this.destination.next(innerValue);\r\n        }\r\n    };\r\n    SwitchMapSubscriber.prototype._tryNotifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\r\n        var result;\r\n        try {\r\n            result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n            return;\r\n        }\r\n        this.destination.next(result);\r\n    };\r\n    return SwitchMapSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=switchMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/switchMap.js\n// module id = 1622\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Projects each source value to the same Observable which is flattened multiple\r\n * times with {@link switch} in the output Observable.\r\n *\r\n * <span class=\"informal\">It's like {@link switchMap}, but maps each value\r\n * always to the same inner Observable.</span>\r\n *\r\n * <img src=\"./img/switchMapTo.png\" width=\"100%\">\r\n *\r\n * Maps each source value to the given Observable `innerObservable` regardless\r\n * of the source value, and then flattens those resulting Observables into one\r\n * single Observable, which is the output Observable. The output Observables\r\n * emits values only from the most recently emitted instance of\r\n * `innerObservable`.\r\n *\r\n * @example <caption>Rerun an interval Observable on every click event</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.switchMapTo(Rx.Observable.interval(1000));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link concatMapTo}\r\n * @see {@link switch}\r\n * @see {@link switchMap}\r\n * @see {@link mergeMapTo}\r\n *\r\n * @param {Observable} innerObservable An Observable to replace each value from\r\n * the source Observable.\r\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\r\n * A function to produce the value on the output Observable based on the values\r\n * and the indices of the source (outer) emission and the inner Observable\r\n * emission. The arguments passed to this function are:\r\n * - `outerValue`: the value that came from the source\r\n * - `innerValue`: the value that came from the projected Observable\r\n * - `outerIndex`: the \"index\" of the value that came from the source\r\n * - `innerIndex`: the \"index\" of the value from the projected Observable\r\n * @return {Observable} An Observable that emits items from the given\r\n * `innerObservable` every time a value is emitted on the source Observable.\r\n * @return {Observable} An Observable that emits items from the given\r\n * `innerObservable` (and optionally transformed through `resultSelector`) every\r\n * time a value is emitted on the source Observable, and taking only the values\r\n * from the most recently projected inner Observable.\r\n * @method switchMapTo\r\n * @owner Observable\r\n */\r\nfunction switchMapTo(innerObservable, resultSelector) {\r\n    return this.lift(new SwitchMapToOperator(innerObservable, resultSelector));\r\n}\r\nexports.switchMapTo = switchMapTo;\r\nvar SwitchMapToOperator = (function () {\r\n    function SwitchMapToOperator(observable, resultSelector) {\r\n        this.observable = observable;\r\n        this.resultSelector = resultSelector;\r\n    }\r\n    SwitchMapToOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new SwitchMapToSubscriber(subscriber, this.observable, this.resultSelector));\r\n    };\r\n    return SwitchMapToOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar SwitchMapToSubscriber = (function (_super) {\r\n    __extends(SwitchMapToSubscriber, _super);\r\n    function SwitchMapToSubscriber(destination, inner, resultSelector) {\r\n        _super.call(this, destination);\r\n        this.inner = inner;\r\n        this.resultSelector = resultSelector;\r\n        this.index = 0;\r\n    }\r\n    SwitchMapToSubscriber.prototype._next = function (value) {\r\n        var innerSubscription = this.innerSubscription;\r\n        if (innerSubscription) {\r\n            innerSubscription.unsubscribe();\r\n        }\r\n        this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, this.inner, value, this.index++));\r\n    };\r\n    SwitchMapToSubscriber.prototype._complete = function () {\r\n        var innerSubscription = this.innerSubscription;\r\n        if (!innerSubscription || innerSubscription.closed) {\r\n            _super.prototype._complete.call(this);\r\n        }\r\n    };\r\n    SwitchMapToSubscriber.prototype._unsubscribe = function () {\r\n        this.innerSubscription = null;\r\n    };\r\n    SwitchMapToSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this.remove(innerSub);\r\n        this.innerSubscription = null;\r\n        if (this.isStopped) {\r\n            _super.prototype._complete.call(this);\r\n        }\r\n    };\r\n    SwitchMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\r\n        if (resultSelector) {\r\n            this.tryResultSelector(outerValue, innerValue, outerIndex, innerIndex);\r\n        }\r\n        else {\r\n            destination.next(innerValue);\r\n        }\r\n    };\r\n    SwitchMapToSubscriber.prototype.tryResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\r\n        var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\r\n        var result;\r\n        try {\r\n            result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\r\n        }\r\n        catch (err) {\r\n            destination.error(err);\r\n            return;\r\n        }\r\n        destination.next(result);\r\n    };\r\n    return SwitchMapToSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=switchMapTo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/switchMapTo.js\n// module id = 1623\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\r\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\r\n/**\r\n * Emits only the first `count` values emitted by the source Observable.\r\n *\r\n * <span class=\"informal\">Takes the first `count` values from the source, then\r\n * completes.</span>\r\n *\r\n * <img src=\"./img/take.png\" width=\"100%\">\r\n *\r\n * `take` returns an Observable that emits only the first `count` values emitted\r\n * by the source Observable. If the source emits fewer than `count` values then\r\n * all of its values are emitted. After that, it completes, regardless if the\r\n * source completes.\r\n *\r\n * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>\r\n * var interval = Rx.Observable.interval(1000);\r\n * var five = interval.take(5);\r\n * five.subscribe(x => console.log(x));\r\n *\r\n * @see {@link takeLast}\r\n * @see {@link takeUntil}\r\n * @see {@link takeWhile}\r\n * @see {@link skip}\r\n *\r\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\r\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\r\n *\r\n * @param {number} count The maximum number of `next` values to emit.\r\n * @return {Observable<T>} An Observable that emits only the first `count`\r\n * values emitted by the source Observable, or all of the values from the source\r\n * if the source emits fewer than `count` values.\r\n * @method take\r\n * @owner Observable\r\n */\r\nfunction take(count) {\r\n    if (count === 0) {\r\n        return new EmptyObservable_1.EmptyObservable();\r\n    }\r\n    else {\r\n        return this.lift(new TakeOperator(count));\r\n    }\r\n}\r\nexports.take = take;\r\nvar TakeOperator = (function () {\r\n    function TakeOperator(total) {\r\n        this.total = total;\r\n        if (this.total < 0) {\r\n            throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\r\n        }\r\n    }\r\n    TakeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new TakeSubscriber(subscriber, this.total));\r\n    };\r\n    return TakeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar TakeSubscriber = (function (_super) {\r\n    __extends(TakeSubscriber, _super);\r\n    function TakeSubscriber(destination, total) {\r\n        _super.call(this, destination);\r\n        this.total = total;\r\n        this.count = 0;\r\n    }\r\n    TakeSubscriber.prototype._next = function (value) {\r\n        var total = this.total;\r\n        var count = ++this.count;\r\n        if (count <= total) {\r\n            this.destination.next(value);\r\n            if (count === total) {\r\n                this.destination.complete();\r\n                this.unsubscribe();\r\n            }\r\n        }\r\n    };\r\n    return TakeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=take.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/take.js\n// module id = 1624\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\r\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\r\n/**\r\n * Emits only the last `count` values emitted by the source Observable.\r\n *\r\n * <span class=\"informal\">Remembers the latest `count` values, then emits those\r\n * only when the source completes.</span>\r\n *\r\n * <img src=\"./img/takeLast.png\" width=\"100%\">\r\n *\r\n * `takeLast` returns an Observable that emits at most the last `count` values\r\n * emitted by the source Observable. If the source emits fewer than `count`\r\n * values then all of its values are emitted. This operator must wait until the\r\n * `complete` notification emission from the source in order to emit the `next`\r\n * values on the output Observable, because otherwise it is impossible to know\r\n * whether or not more values will be emitted on the source. For this reason,\r\n * all values are emitted synchronously, followed by the complete notification.\r\n *\r\n * @example <caption>Take the last 3 values of an Observable with many values</caption>\r\n * var many = Rx.Observable.range(1, 100);\r\n * var lastThree = many.takeLast(3);\r\n * lastThree.subscribe(x => console.log(x));\r\n *\r\n * @see {@link take}\r\n * @see {@link takeUntil}\r\n * @see {@link takeWhile}\r\n * @see {@link skip}\r\n *\r\n * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an\r\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\r\n *\r\n * @param {number} count The maximum number of values to emit from the end of\r\n * the sequence of values emitted by the source Observable.\r\n * @return {Observable<T>} An Observable that emits at most the last count\r\n * values emitted by the source Observable.\r\n * @method takeLast\r\n * @owner Observable\r\n */\r\nfunction takeLast(count) {\r\n    if (count === 0) {\r\n        return new EmptyObservable_1.EmptyObservable();\r\n    }\r\n    else {\r\n        return this.lift(new TakeLastOperator(count));\r\n    }\r\n}\r\nexports.takeLast = takeLast;\r\nvar TakeLastOperator = (function () {\r\n    function TakeLastOperator(total) {\r\n        this.total = total;\r\n        if (this.total < 0) {\r\n            throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\r\n        }\r\n    }\r\n    TakeLastOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\r\n    };\r\n    return TakeLastOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar TakeLastSubscriber = (function (_super) {\r\n    __extends(TakeLastSubscriber, _super);\r\n    function TakeLastSubscriber(destination, total) {\r\n        _super.call(this, destination);\r\n        this.total = total;\r\n        this.ring = new Array();\r\n        this.count = 0;\r\n    }\r\n    TakeLastSubscriber.prototype._next = function (value) {\r\n        var ring = this.ring;\r\n        var total = this.total;\r\n        var count = this.count++;\r\n        if (ring.length < total) {\r\n            ring.push(value);\r\n        }\r\n        else {\r\n            var index = count % total;\r\n            ring[index] = value;\r\n        }\r\n    };\r\n    TakeLastSubscriber.prototype._complete = function () {\r\n        var destination = this.destination;\r\n        var count = this.count;\r\n        if (count > 0) {\r\n            var total = this.count >= this.total ? this.total : this.count;\r\n            var ring = this.ring;\r\n            for (var i = 0; i < total; i++) {\r\n                var idx = (count++) % total;\r\n                destination.next(ring[idx]);\r\n            }\r\n        }\r\n        destination.complete();\r\n    };\r\n    return TakeLastSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=takeLast.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/takeLast.js\n// module id = 1625\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Emits the values emitted by the source Observable until a `notifier`\r\n * Observable emits a value.\r\n *\r\n * <span class=\"informal\">Lets values pass until a second Observable,\r\n * `notifier`, emits something. Then, it completes.</span>\r\n *\r\n * <img src=\"./img/takeUntil.png\" width=\"100%\">\r\n *\r\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\r\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\r\n * emits a value or a complete notification, the output Observable stops\r\n * mirroring the source Observable and completes.\r\n *\r\n * @example <caption>Tick every second until the first click happens</caption>\r\n * var interval = Rx.Observable.interval(1000);\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = interval.takeUntil(clicks);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link take}\r\n * @see {@link takeLast}\r\n * @see {@link takeWhile}\r\n * @see {@link skip}\r\n *\r\n * @param {Observable} notifier The Observable whose first emitted value will\r\n * cause the output Observable of `takeUntil` to stop emitting values from the\r\n * source Observable.\r\n * @return {Observable<T>} An Observable that emits the values from the source\r\n * Observable until such time as `notifier` emits its first value.\r\n * @method takeUntil\r\n * @owner Observable\r\n */\r\nfunction takeUntil(notifier) {\r\n    return this.lift(new TakeUntilOperator(notifier));\r\n}\r\nexports.takeUntil = takeUntil;\r\nvar TakeUntilOperator = (function () {\r\n    function TakeUntilOperator(notifier) {\r\n        this.notifier = notifier;\r\n    }\r\n    TakeUntilOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new TakeUntilSubscriber(subscriber, this.notifier));\r\n    };\r\n    return TakeUntilOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar TakeUntilSubscriber = (function (_super) {\r\n    __extends(TakeUntilSubscriber, _super);\r\n    function TakeUntilSubscriber(destination, notifier) {\r\n        _super.call(this, destination);\r\n        this.notifier = notifier;\r\n        this.add(subscribeToResult_1.subscribeToResult(this, notifier));\r\n    }\r\n    TakeUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.complete();\r\n    };\r\n    TakeUntilSubscriber.prototype.notifyComplete = function () {\r\n        // noop\r\n    };\r\n    return TakeUntilSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=takeUntil.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/takeUntil.js\n// module id = 1626\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Emits values emitted by the source Observable so long as each value satisfies\r\n * the given `predicate`, and then completes as soon as this `predicate` is not\r\n * satisfied.\r\n *\r\n * <span class=\"informal\">Takes values from the source only while they pass the\r\n * condition given. When the first value does not satisfy, it completes.</span>\r\n *\r\n * <img src=\"./img/takeWhile.png\" width=\"100%\">\r\n *\r\n * `takeWhile` subscribes and begins mirroring the source Observable. Each value\r\n * emitted on the source is given to the `predicate` function which returns a\r\n * boolean, representing a condition to be satisfied by the source values. The\r\n * output Observable emits the source values until such time as the `predicate`\r\n * returns false, at which point `takeWhile` stops mirroring the source\r\n * Observable and completes the output Observable.\r\n *\r\n * @example <caption>Emit click events only while the clientX property is greater than 200</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.takeWhile(ev => ev.clientX > 200);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link take}\r\n * @see {@link takeLast}\r\n * @see {@link takeUntil}\r\n * @see {@link skip}\r\n *\r\n * @param {function(value: T, index: number): boolean} predicate A function that\r\n * evaluates a value emitted by the source Observable and returns a boolean.\r\n * Also takes the (zero-based) index as the second argument.\r\n * @return {Observable<T>} An Observable that emits the values from the source\r\n * Observable so long as each value satisfies the condition defined by the\r\n * `predicate`, then completes.\r\n * @method takeWhile\r\n * @owner Observable\r\n */\r\nfunction takeWhile(predicate) {\r\n    return this.lift(new TakeWhileOperator(predicate));\r\n}\r\nexports.takeWhile = takeWhile;\r\nvar TakeWhileOperator = (function () {\r\n    function TakeWhileOperator(predicate) {\r\n        this.predicate = predicate;\r\n    }\r\n    TakeWhileOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate));\r\n    };\r\n    return TakeWhileOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar TakeWhileSubscriber = (function (_super) {\r\n    __extends(TakeWhileSubscriber, _super);\r\n    function TakeWhileSubscriber(destination, predicate) {\r\n        _super.call(this, destination);\r\n        this.predicate = predicate;\r\n        this.index = 0;\r\n    }\r\n    TakeWhileSubscriber.prototype._next = function (value) {\r\n        var destination = this.destination;\r\n        var result;\r\n        try {\r\n            result = this.predicate(value, this.index++);\r\n        }\r\n        catch (err) {\r\n            destination.error(err);\r\n            return;\r\n        }\r\n        this.nextOrComplete(value, result);\r\n    };\r\n    TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\r\n        var destination = this.destination;\r\n        if (Boolean(predicateResult)) {\r\n            destination.next(value);\r\n        }\r\n        else {\r\n            destination.complete();\r\n        }\r\n    };\r\n    return TakeWhileSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=takeWhile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/takeWhile.js\n// module id = 1627\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Emits a value from the source Observable, then ignores subsequent source\r\n * values for a duration determined by another Observable, then repeats this\r\n * process.\r\n *\r\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\r\n * duration is determined by a second Observable.</span>\r\n *\r\n * <img src=\"./img/throttle.png\" width=\"100%\">\r\n *\r\n * `throttle` emits the source Observable values on the output Observable\r\n * when its internal timer is disabled, and ignores source values when the timer\r\n * is enabled. Initially, the timer is disabled. As soon as the first source\r\n * value arrives, it is forwarded to the output Observable, and then the timer\r\n * is enabled by calling the `durationSelector` function with the source value,\r\n * which returns the \"duration\" Observable. When the duration Observable emits a\r\n * value or completes, the timer is disabled, and this process repeats for the\r\n * next source value.\r\n *\r\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link audit}\r\n * @see {@link debounce}\r\n * @see {@link delayWhen}\r\n * @see {@link sample}\r\n * @see {@link throttleTime}\r\n *\r\n * @param {function(value: T): Observable|Promise} durationSelector A function\r\n * that receives a value from the source Observable, for computing the silencing\r\n * duration for each source value, returned as an Observable or a Promise.\r\n * @return {Observable<T>} An Observable that performs the throttle operation to\r\n * limit the rate of emissions from the source.\r\n * @method throttle\r\n * @owner Observable\r\n */\r\nfunction throttle(durationSelector) {\r\n    return this.lift(new ThrottleOperator(durationSelector));\r\n}\r\nexports.throttle = throttle;\r\nvar ThrottleOperator = (function () {\r\n    function ThrottleOperator(durationSelector) {\r\n        this.durationSelector = durationSelector;\r\n    }\r\n    ThrottleOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector));\r\n    };\r\n    return ThrottleOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ThrottleSubscriber = (function (_super) {\r\n    __extends(ThrottleSubscriber, _super);\r\n    function ThrottleSubscriber(destination, durationSelector) {\r\n        _super.call(this, destination);\r\n        this.destination = destination;\r\n        this.durationSelector = durationSelector;\r\n    }\r\n    ThrottleSubscriber.prototype._next = function (value) {\r\n        if (!this.throttled) {\r\n            this.tryDurationSelector(value);\r\n        }\r\n    };\r\n    ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\r\n        var duration = null;\r\n        try {\r\n            duration = this.durationSelector(value);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n            return;\r\n        }\r\n        this.emitAndThrottle(value, duration);\r\n    };\r\n    ThrottleSubscriber.prototype.emitAndThrottle = function (value, duration) {\r\n        this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));\r\n        this.destination.next(value);\r\n    };\r\n    ThrottleSubscriber.prototype._unsubscribe = function () {\r\n        var throttled = this.throttled;\r\n        if (throttled) {\r\n            this.remove(throttled);\r\n            this.throttled = null;\r\n            throttled.unsubscribe();\r\n        }\r\n    };\r\n    ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this._unsubscribe();\r\n    };\r\n    ThrottleSubscriber.prototype.notifyComplete = function () {\r\n        this._unsubscribe();\r\n    };\r\n    return ThrottleSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=throttle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/throttle.js\n// module id = 1628\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar async_1 = require('../scheduler/async');\r\n/**\r\n * Emits a value from the source Observable, then ignores subsequent source\r\n * values for `duration` milliseconds, then repeats this process.\r\n *\r\n * <span class=\"informal\">Lets a value pass, then ignores source values for the\r\n * next `duration` milliseconds.</span>\r\n *\r\n * <img src=\"./img/throttleTime.png\" width=\"100%\">\r\n *\r\n * `throttleTime` emits the source Observable values on the output Observable\r\n * when its internal timer is disabled, and ignores source values when the timer\r\n * is enabled. Initially, the timer is disabled. As soon as the first source\r\n * value arrives, it is forwarded to the output Observable, and then the timer\r\n * is enabled. After `duration` milliseconds (or the time unit determined\r\n * internally by the optional `scheduler`) has passed, the timer is disabled,\r\n * and this process repeats for the next source value. Optionally takes a\r\n * {@link Scheduler} for managing timers.\r\n *\r\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.throttleTime(1000);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link auditTime}\r\n * @see {@link debounceTime}\r\n * @see {@link delay}\r\n * @see {@link sampleTime}\r\n * @see {@link throttle}\r\n *\r\n * @param {number} duration Time to wait before emitting another value after\r\n * emitting the last value, measured in milliseconds or the time unit determined\r\n * internally by the optional `scheduler`.\r\n * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for\r\n * managing the timers that handle the sampling.\r\n * @return {Observable<T>} An Observable that performs the throttle operation to\r\n * limit the rate of emissions from the source.\r\n * @method throttleTime\r\n * @owner Observable\r\n */\r\nfunction throttleTime(duration, scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    return this.lift(new ThrottleTimeOperator(duration, scheduler));\r\n}\r\nexports.throttleTime = throttleTime;\r\nvar ThrottleTimeOperator = (function () {\r\n    function ThrottleTimeOperator(duration, scheduler) {\r\n        this.duration = duration;\r\n        this.scheduler = scheduler;\r\n    }\r\n    ThrottleTimeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler));\r\n    };\r\n    return ThrottleTimeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ThrottleTimeSubscriber = (function (_super) {\r\n    __extends(ThrottleTimeSubscriber, _super);\r\n    function ThrottleTimeSubscriber(destination, duration, scheduler) {\r\n        _super.call(this, destination);\r\n        this.duration = duration;\r\n        this.scheduler = scheduler;\r\n    }\r\n    ThrottleTimeSubscriber.prototype._next = function (value) {\r\n        if (!this.throttled) {\r\n            this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\r\n            this.destination.next(value);\r\n        }\r\n    };\r\n    ThrottleTimeSubscriber.prototype.clearThrottle = function () {\r\n        var throttled = this.throttled;\r\n        if (throttled) {\r\n            throttled.unsubscribe();\r\n            this.remove(throttled);\r\n            this.throttled = null;\r\n        }\r\n    };\r\n    return ThrottleTimeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nfunction dispatchNext(arg) {\r\n    var subscriber = arg.subscriber;\r\n    subscriber.clearThrottle();\r\n}\r\n//# sourceMappingURL=throttleTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/throttleTime.js\n// module id = 1629\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar async_1 = require('../scheduler/async');\r\nvar isDate_1 = require('../util/isDate');\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar TimeoutError_1 = require('../util/TimeoutError');\r\n/**\r\n * @param {number} due\r\n * @param {Scheduler} [scheduler]\r\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\r\n * @method timeout\r\n * @owner Observable\r\n */\r\nfunction timeout(due, scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    var absoluteTimeout = isDate_1.isDate(due);\r\n    var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\r\n    return this.lift(new TimeoutOperator(waitFor, absoluteTimeout, scheduler, new TimeoutError_1.TimeoutError()));\r\n}\r\nexports.timeout = timeout;\r\nvar TimeoutOperator = (function () {\r\n    function TimeoutOperator(waitFor, absoluteTimeout, scheduler, errorInstance) {\r\n        this.waitFor = waitFor;\r\n        this.absoluteTimeout = absoluteTimeout;\r\n        this.scheduler = scheduler;\r\n        this.errorInstance = errorInstance;\r\n    }\r\n    TimeoutOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.scheduler, this.errorInstance));\r\n    };\r\n    return TimeoutOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar TimeoutSubscriber = (function (_super) {\r\n    __extends(TimeoutSubscriber, _super);\r\n    function TimeoutSubscriber(destination, absoluteTimeout, waitFor, scheduler, errorInstance) {\r\n        _super.call(this, destination);\r\n        this.absoluteTimeout = absoluteTimeout;\r\n        this.waitFor = waitFor;\r\n        this.scheduler = scheduler;\r\n        this.errorInstance = errorInstance;\r\n        this.index = 0;\r\n        this._previousIndex = 0;\r\n        this._hasCompleted = false;\r\n        this.scheduleTimeout();\r\n    }\r\n    Object.defineProperty(TimeoutSubscriber.prototype, \"previousIndex\", {\r\n        get: function () {\r\n            return this._previousIndex;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TimeoutSubscriber.prototype, \"hasCompleted\", {\r\n        get: function () {\r\n            return this._hasCompleted;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    TimeoutSubscriber.dispatchTimeout = function (state) {\r\n        var source = state.subscriber;\r\n        var currentIndex = state.index;\r\n        if (!source.hasCompleted && source.previousIndex === currentIndex) {\r\n            source.notifyTimeout();\r\n        }\r\n    };\r\n    TimeoutSubscriber.prototype.scheduleTimeout = function () {\r\n        var currentIndex = this.index;\r\n        this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, { subscriber: this, index: currentIndex });\r\n        this.index++;\r\n        this._previousIndex = currentIndex;\r\n    };\r\n    TimeoutSubscriber.prototype._next = function (value) {\r\n        this.destination.next(value);\r\n        if (!this.absoluteTimeout) {\r\n            this.scheduleTimeout();\r\n        }\r\n    };\r\n    TimeoutSubscriber.prototype._error = function (err) {\r\n        this.destination.error(err);\r\n        this._hasCompleted = true;\r\n    };\r\n    TimeoutSubscriber.prototype._complete = function () {\r\n        this.destination.complete();\r\n        this._hasCompleted = true;\r\n    };\r\n    TimeoutSubscriber.prototype.notifyTimeout = function () {\r\n        this.error(this.errorInstance);\r\n    };\r\n    return TimeoutSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=timeout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/timeout.js\n// module id = 1630\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar async_1 = require('../scheduler/async');\r\nvar isDate_1 = require('../util/isDate');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * @param due\r\n * @param withObservable\r\n * @param scheduler\r\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\r\n * @method timeoutWith\r\n * @owner Observable\r\n */\r\nfunction timeoutWith(due, withObservable, scheduler) {\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    var absoluteTimeout = isDate_1.isDate(due);\r\n    var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\r\n    return this.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\r\n}\r\nexports.timeoutWith = timeoutWith;\r\nvar TimeoutWithOperator = (function () {\r\n    function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\r\n        this.waitFor = waitFor;\r\n        this.absoluteTimeout = absoluteTimeout;\r\n        this.withObservable = withObservable;\r\n        this.scheduler = scheduler;\r\n    }\r\n    TimeoutWithOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\r\n    };\r\n    return TimeoutWithOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar TimeoutWithSubscriber = (function (_super) {\r\n    __extends(TimeoutWithSubscriber, _super);\r\n    function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\r\n        _super.call(this);\r\n        this.destination = destination;\r\n        this.absoluteTimeout = absoluteTimeout;\r\n        this.waitFor = waitFor;\r\n        this.withObservable = withObservable;\r\n        this.scheduler = scheduler;\r\n        this.timeoutSubscription = undefined;\r\n        this.index = 0;\r\n        this._previousIndex = 0;\r\n        this._hasCompleted = false;\r\n        destination.add(this);\r\n        this.scheduleTimeout();\r\n    }\r\n    Object.defineProperty(TimeoutWithSubscriber.prototype, \"previousIndex\", {\r\n        get: function () {\r\n            return this._previousIndex;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    Object.defineProperty(TimeoutWithSubscriber.prototype, \"hasCompleted\", {\r\n        get: function () {\r\n            return this._hasCompleted;\r\n        },\r\n        enumerable: true,\r\n        configurable: true\r\n    });\r\n    TimeoutWithSubscriber.dispatchTimeout = function (state) {\r\n        var source = state.subscriber;\r\n        var currentIndex = state.index;\r\n        if (!source.hasCompleted && source.previousIndex === currentIndex) {\r\n            source.handleTimeout();\r\n        }\r\n    };\r\n    TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\r\n        var currentIndex = this.index;\r\n        var timeoutState = { subscriber: this, index: currentIndex };\r\n        this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, timeoutState);\r\n        this.index++;\r\n        this._previousIndex = currentIndex;\r\n    };\r\n    TimeoutWithSubscriber.prototype._next = function (value) {\r\n        this.destination.next(value);\r\n        if (!this.absoluteTimeout) {\r\n            this.scheduleTimeout();\r\n        }\r\n    };\r\n    TimeoutWithSubscriber.prototype._error = function (err) {\r\n        this.destination.error(err);\r\n        this._hasCompleted = true;\r\n    };\r\n    TimeoutWithSubscriber.prototype._complete = function () {\r\n        this.destination.complete();\r\n        this._hasCompleted = true;\r\n    };\r\n    TimeoutWithSubscriber.prototype.handleTimeout = function () {\r\n        if (!this.closed) {\r\n            var withObservable = this.withObservable;\r\n            this.unsubscribe();\r\n            this.destination.add(this.timeoutSubscription = subscribeToResult_1.subscribeToResult(this, withObservable));\r\n        }\r\n    };\r\n    return TimeoutWithSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=timeoutWith.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/timeoutWith.js\n// module id = 1631\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * @return {Observable<any[]>|WebSocketSubject<T>|Observable<T>}\r\n * @method toArray\r\n * @owner Observable\r\n */\r\nfunction toArray() {\r\n    return this.lift(new ToArrayOperator());\r\n}\r\nexports.toArray = toArray;\r\nvar ToArrayOperator = (function () {\r\n    function ToArrayOperator() {\r\n    }\r\n    ToArrayOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new ToArraySubscriber(subscriber));\r\n    };\r\n    return ToArrayOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ToArraySubscriber = (function (_super) {\r\n    __extends(ToArraySubscriber, _super);\r\n    function ToArraySubscriber(destination) {\r\n        _super.call(this, destination);\r\n        this.array = [];\r\n    }\r\n    ToArraySubscriber.prototype._next = function (x) {\r\n        this.array.push(x);\r\n    };\r\n    ToArraySubscriber.prototype._complete = function () {\r\n        this.destination.next(this.array);\r\n        this.destination.complete();\r\n    };\r\n    return ToArraySubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=toArray.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/toArray.js\n// module id = 1632\n// module chunks = 3","\"use strict\";\r\nvar root_1 = require('../util/root');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * @param PromiseCtor\r\n * @return {Promise<T>}\r\n * @method toPromise\r\n * @owner Observable\r\n */\r\nfunction toPromise(PromiseCtor) {\r\n    var _this = this;\r\n    if (!PromiseCtor) {\r\n        if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\r\n            PromiseCtor = root_1.root.Rx.config.Promise;\r\n        }\r\n        else if (root_1.root.Promise) {\r\n            PromiseCtor = root_1.root.Promise;\r\n        }\r\n    }\r\n    if (!PromiseCtor) {\r\n        throw new Error('no Promise impl found');\r\n    }\r\n    return new PromiseCtor(function (resolve, reject) {\r\n        var value;\r\n        _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\r\n    });\r\n}\r\nexports.toPromise = toPromise;\r\n//# sourceMappingURL=toPromise.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/toPromise.js\n// module id = 1633\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../Subject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Branch out the source Observable values as a nested Observable whenever\r\n * `windowBoundaries` emits.\r\n *\r\n * <span class=\"informal\">It's like {@link buffer}, but emits a nested Observable\r\n * instead of an array.</span>\r\n *\r\n * <img src=\"./img/window.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits windows of items it collects from the source\r\n * Observable. The output Observable emits connected, non-overlapping\r\n * windows. It emits the current window and opens a new one whenever the\r\n * Observable `windowBoundaries` emits an item. Because each window is an\r\n * Observable, the output is a higher-order Observable.\r\n *\r\n * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var interval = Rx.Observable.interval(1000);\r\n * var result = clicks.window(interval)\r\n *   .map(win => win.take(2)) // each window has at most 2 emissions\r\n *   .mergeAll(); // flatten the Observable-of-Observables\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link windowCount}\r\n * @see {@link windowTime}\r\n * @see {@link windowToggle}\r\n * @see {@link windowWhen}\r\n * @see {@link buffer}\r\n *\r\n * @param {Observable<any>} windowBoundaries An Observable that completes the\r\n * previous window and starts a new window.\r\n * @return {Observable<Observable<T>>} An Observable of windows, which are\r\n * Observables emitting values of the source Observable.\r\n * @method window\r\n * @owner Observable\r\n */\r\nfunction window(windowBoundaries) {\r\n    return this.lift(new WindowOperator(windowBoundaries));\r\n}\r\nexports.window = window;\r\nvar WindowOperator = (function () {\r\n    function WindowOperator(windowBoundaries) {\r\n        this.windowBoundaries = windowBoundaries;\r\n    }\r\n    WindowOperator.prototype.call = function (subscriber, source) {\r\n        var windowSubscriber = new WindowSubscriber(subscriber);\r\n        var sourceSubscription = source.subscribe(windowSubscriber);\r\n        if (!sourceSubscription.closed) {\r\n            windowSubscriber.add(subscribeToResult_1.subscribeToResult(windowSubscriber, this.windowBoundaries));\r\n        }\r\n        return sourceSubscription;\r\n    };\r\n    return WindowOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar WindowSubscriber = (function (_super) {\r\n    __extends(WindowSubscriber, _super);\r\n    function WindowSubscriber(destination) {\r\n        _super.call(this, destination);\r\n        this.window = new Subject_1.Subject();\r\n        destination.next(this.window);\r\n    }\r\n    WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.openWindow();\r\n    };\r\n    WindowSubscriber.prototype.notifyError = function (error, innerSub) {\r\n        this._error(error);\r\n    };\r\n    WindowSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this._complete();\r\n    };\r\n    WindowSubscriber.prototype._next = function (value) {\r\n        this.window.next(value);\r\n    };\r\n    WindowSubscriber.prototype._error = function (err) {\r\n        this.window.error(err);\r\n        this.destination.error(err);\r\n    };\r\n    WindowSubscriber.prototype._complete = function () {\r\n        this.window.complete();\r\n        this.destination.complete();\r\n    };\r\n    WindowSubscriber.prototype._unsubscribe = function () {\r\n        this.window = null;\r\n    };\r\n    WindowSubscriber.prototype.openWindow = function () {\r\n        var prevWindow = this.window;\r\n        if (prevWindow) {\r\n            prevWindow.complete();\r\n        }\r\n        var destination = this.destination;\r\n        var newWindow = this.window = new Subject_1.Subject();\r\n        destination.next(newWindow);\r\n    };\r\n    return WindowSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=window.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/window.js\n// module id = 1634\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscriber_1 = require('../Subscriber');\r\nvar Subject_1 = require('../Subject');\r\n/**\r\n * Branch out the source Observable values as a nested Observable with each\r\n * nested Observable emitting at most `windowSize` values.\r\n *\r\n * <span class=\"informal\">It's like {@link bufferCount}, but emits a nested\r\n * Observable instead of an array.</span>\r\n *\r\n * <img src=\"./img/windowCount.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits windows of items it collects from the source\r\n * Observable. The output Observable emits windows every `startWindowEvery`\r\n * items, each containing no more than `windowSize` items. When the source\r\n * Observable completes or encounters an error, the output Observable emits\r\n * the current window and propagates the notification from the source\r\n * Observable. If `startWindowEvery` is not provided, then new windows are\r\n * started immediately at the start of the source and when each window completes\r\n * with size `windowSize`.\r\n *\r\n * @example <caption>Ignore every 3rd click event, starting from the first one</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.windowCount(3)\r\n *   .map(win => win.skip(1)) // skip first of every 3 clicks\r\n *   .mergeAll(); // flatten the Observable-of-Observables\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @example <caption>Ignore every 3rd click event, starting from the third one</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.windowCount(2, 3)\r\n *   .mergeAll(); // flatten the Observable-of-Observables\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link window}\r\n * @see {@link windowTime}\r\n * @see {@link windowToggle}\r\n * @see {@link windowWhen}\r\n * @see {@link bufferCount}\r\n *\r\n * @param {number} windowSize The maximum number of values emitted by each\r\n * window.\r\n * @param {number} [startWindowEvery] Interval at which to start a new window.\r\n * For example if `startWindowEvery` is `2`, then a new window will be started\r\n * on every other value from the source. A new window is started at the\r\n * beginning of the source by default.\r\n * @return {Observable<Observable<T>>} An Observable of windows, which in turn\r\n * are Observable of values.\r\n * @method windowCount\r\n * @owner Observable\r\n */\r\nfunction windowCount(windowSize, startWindowEvery) {\r\n    if (startWindowEvery === void 0) { startWindowEvery = 0; }\r\n    return this.lift(new WindowCountOperator(windowSize, startWindowEvery));\r\n}\r\nexports.windowCount = windowCount;\r\nvar WindowCountOperator = (function () {\r\n    function WindowCountOperator(windowSize, startWindowEvery) {\r\n        this.windowSize = windowSize;\r\n        this.startWindowEvery = startWindowEvery;\r\n    }\r\n    WindowCountOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\r\n    };\r\n    return WindowCountOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar WindowCountSubscriber = (function (_super) {\r\n    __extends(WindowCountSubscriber, _super);\r\n    function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\r\n        _super.call(this, destination);\r\n        this.destination = destination;\r\n        this.windowSize = windowSize;\r\n        this.startWindowEvery = startWindowEvery;\r\n        this.windows = [new Subject_1.Subject()];\r\n        this.count = 0;\r\n        destination.next(this.windows[0]);\r\n    }\r\n    WindowCountSubscriber.prototype._next = function (value) {\r\n        var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\r\n        var destination = this.destination;\r\n        var windowSize = this.windowSize;\r\n        var windows = this.windows;\r\n        var len = windows.length;\r\n        for (var i = 0; i < len && !this.closed; i++) {\r\n            windows[i].next(value);\r\n        }\r\n        var c = this.count - windowSize + 1;\r\n        if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\r\n            windows.shift().complete();\r\n        }\r\n        if (++this.count % startWindowEvery === 0 && !this.closed) {\r\n            var window_1 = new Subject_1.Subject();\r\n            windows.push(window_1);\r\n            destination.next(window_1);\r\n        }\r\n    };\r\n    WindowCountSubscriber.prototype._error = function (err) {\r\n        var windows = this.windows;\r\n        if (windows) {\r\n            while (windows.length > 0 && !this.closed) {\r\n                windows.shift().error(err);\r\n            }\r\n        }\r\n        this.destination.error(err);\r\n    };\r\n    WindowCountSubscriber.prototype._complete = function () {\r\n        var windows = this.windows;\r\n        if (windows) {\r\n            while (windows.length > 0 && !this.closed) {\r\n                windows.shift().complete();\r\n            }\r\n        }\r\n        this.destination.complete();\r\n    };\r\n    WindowCountSubscriber.prototype._unsubscribe = function () {\r\n        this.count = 0;\r\n        this.windows = null;\r\n    };\r\n    return WindowCountSubscriber;\r\n}(Subscriber_1.Subscriber));\r\n//# sourceMappingURL=windowCount.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/windowCount.js\n// module id = 1635\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../Subject');\r\nvar async_1 = require('../scheduler/async');\r\nvar Subscriber_1 = require('../Subscriber');\r\n/**\r\n * Branch out the source Observable values as a nested Observable periodically\r\n * in time.\r\n *\r\n * <span class=\"informal\">It's like {@link bufferTime}, but emits a nested\r\n * Observable instead of an array.</span>\r\n *\r\n * <img src=\"./img/windowTime.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits windows of items it collects from the source\r\n * Observable. The output Observable starts a new window periodically, as\r\n * determined by the `windowCreationInterval` argument. It emits each window\r\n * after a fixed timespan, specified by the `windowTimeSpan` argument. When the\r\n * source Observable completes or encounters an error, the output Observable\r\n * emits the current window and propagates the notification from the source\r\n * Observable. If `windowCreationInterval` is not provided, the output\r\n * Observable starts a new window when the previous window of duration\r\n * `windowTimeSpan` completes.\r\n *\r\n * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.windowTime(1000)\r\n *   .map(win => win.take(2)) // each window has at most 2 emissions\r\n *   .mergeAll(); // flatten the Observable-of-Observables\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @example <caption>Every 5 seconds start a window 1 second long, and emit at most 2 click events per window</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks.windowTime(1000, 5000)\r\n *   .map(win => win.take(2)) // each window has at most 2 emissions\r\n *   .mergeAll(); // flatten the Observable-of-Observables\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link window}\r\n * @see {@link windowCount}\r\n * @see {@link windowToggle}\r\n * @see {@link windowWhen}\r\n * @see {@link bufferTime}\r\n *\r\n * @param {number} windowTimeSpan The amount of time to fill each window.\r\n * @param {number} [windowCreationInterval] The interval at which to start new\r\n * windows.\r\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\r\n * intervals that determine window boundaries.\r\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\r\n * are Observables.\r\n * @method windowTime\r\n * @owner Observable\r\n */\r\nfunction windowTime(windowTimeSpan, windowCreationInterval, scheduler) {\r\n    if (windowCreationInterval === void 0) { windowCreationInterval = null; }\r\n    if (scheduler === void 0) { scheduler = async_1.async; }\r\n    return this.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler));\r\n}\r\nexports.windowTime = windowTime;\r\nvar WindowTimeOperator = (function () {\r\n    function WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler) {\r\n        this.windowTimeSpan = windowTimeSpan;\r\n        this.windowCreationInterval = windowCreationInterval;\r\n        this.scheduler = scheduler;\r\n    }\r\n    WindowTimeOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.scheduler));\r\n    };\r\n    return WindowTimeOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar WindowTimeSubscriber = (function (_super) {\r\n    __extends(WindowTimeSubscriber, _super);\r\n    function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, scheduler) {\r\n        _super.call(this, destination);\r\n        this.destination = destination;\r\n        this.windowTimeSpan = windowTimeSpan;\r\n        this.windowCreationInterval = windowCreationInterval;\r\n        this.scheduler = scheduler;\r\n        this.windows = [];\r\n        if (windowCreationInterval !== null && windowCreationInterval >= 0) {\r\n            var window_1 = this.openWindow();\r\n            var closeState = { subscriber: this, window: window_1, context: null };\r\n            var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: this, scheduler: scheduler };\r\n            this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\r\n            this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\r\n        }\r\n        else {\r\n            var window_2 = this.openWindow();\r\n            var timeSpanOnlyState = { subscriber: this, window: window_2, windowTimeSpan: windowTimeSpan };\r\n            this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\r\n        }\r\n    }\r\n    WindowTimeSubscriber.prototype._next = function (value) {\r\n        var windows = this.windows;\r\n        var len = windows.length;\r\n        for (var i = 0; i < len; i++) {\r\n            var window_3 = windows[i];\r\n            if (!window_3.closed) {\r\n                window_3.next(value);\r\n            }\r\n        }\r\n    };\r\n    WindowTimeSubscriber.prototype._error = function (err) {\r\n        var windows = this.windows;\r\n        while (windows.length > 0) {\r\n            windows.shift().error(err);\r\n        }\r\n        this.destination.error(err);\r\n    };\r\n    WindowTimeSubscriber.prototype._complete = function () {\r\n        var windows = this.windows;\r\n        while (windows.length > 0) {\r\n            var window_4 = windows.shift();\r\n            if (!window_4.closed) {\r\n                window_4.complete();\r\n            }\r\n        }\r\n        this.destination.complete();\r\n    };\r\n    WindowTimeSubscriber.prototype.openWindow = function () {\r\n        var window = new Subject_1.Subject();\r\n        this.windows.push(window);\r\n        var destination = this.destination;\r\n        destination.next(window);\r\n        return window;\r\n    };\r\n    WindowTimeSubscriber.prototype.closeWindow = function (window) {\r\n        window.complete();\r\n        var windows = this.windows;\r\n        windows.splice(windows.indexOf(window), 1);\r\n    };\r\n    return WindowTimeSubscriber;\r\n}(Subscriber_1.Subscriber));\r\nfunction dispatchWindowTimeSpanOnly(state) {\r\n    var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\r\n    if (window) {\r\n        window.complete();\r\n    }\r\n    state.window = subscriber.openWindow();\r\n    this.schedule(state, windowTimeSpan);\r\n}\r\nfunction dispatchWindowCreation(state) {\r\n    var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\r\n    var window = subscriber.openWindow();\r\n    var action = this;\r\n    var context = { action: action, subscription: null };\r\n    var timeSpanState = { subscriber: subscriber, window: window, context: context };\r\n    context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\r\n    action.add(context.subscription);\r\n    action.schedule(state, windowCreationInterval);\r\n}\r\nfunction dispatchWindowClose(arg) {\r\n    var subscriber = arg.subscriber, window = arg.window, context = arg.context;\r\n    if (context && context.action && context.subscription) {\r\n        context.action.remove(context.subscription);\r\n    }\r\n    subscriber.closeWindow(window);\r\n}\r\n//# sourceMappingURL=windowTime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/windowTime.js\n// module id = 1636\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../Subject');\r\nvar Subscription_1 = require('../Subscription');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Branch out the source Observable values as a nested Observable starting from\r\n * an emission from `openings` and ending when the output of `closingSelector`\r\n * emits.\r\n *\r\n * <span class=\"informal\">It's like {@link bufferToggle}, but emits a nested\r\n * Observable instead of an array.</span>\r\n *\r\n * <img src=\"./img/windowToggle.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits windows of items it collects from the source\r\n * Observable. The output Observable emits windows that contain those items\r\n * emitted by the source Observable between the time when the `openings`\r\n * Observable emits an item and when the Observable returned by\r\n * `closingSelector` emits an item.\r\n *\r\n * @example <caption>Every other second, emit the click events from the next 500ms</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var openings = Rx.Observable.interval(1000);\r\n * var result = clicks.windowToggle(openings, i =>\r\n *   i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\r\n * ).mergeAll();\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link window}\r\n * @see {@link windowCount}\r\n * @see {@link windowTime}\r\n * @see {@link windowWhen}\r\n * @see {@link bufferToggle}\r\n *\r\n * @param {Observable<O>} openings An observable of notifications to start new\r\n * windows.\r\n * @param {function(value: O): Observable} closingSelector A function that takes\r\n * the value emitted by the `openings` observable and returns an Observable,\r\n * which, when it emits (either `next` or `complete`), signals that the\r\n * associated window should complete.\r\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\r\n * are Observables.\r\n * @method windowToggle\r\n * @owner Observable\r\n */\r\nfunction windowToggle(openings, closingSelector) {\r\n    return this.lift(new WindowToggleOperator(openings, closingSelector));\r\n}\r\nexports.windowToggle = windowToggle;\r\nvar WindowToggleOperator = (function () {\r\n    function WindowToggleOperator(openings, closingSelector) {\r\n        this.openings = openings;\r\n        this.closingSelector = closingSelector;\r\n    }\r\n    WindowToggleOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\r\n    };\r\n    return WindowToggleOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar WindowToggleSubscriber = (function (_super) {\r\n    __extends(WindowToggleSubscriber, _super);\r\n    function WindowToggleSubscriber(destination, openings, closingSelector) {\r\n        _super.call(this, destination);\r\n        this.openings = openings;\r\n        this.closingSelector = closingSelector;\r\n        this.contexts = [];\r\n        this.add(this.openSubscription = subscribeToResult_1.subscribeToResult(this, openings, openings));\r\n    }\r\n    WindowToggleSubscriber.prototype._next = function (value) {\r\n        var contexts = this.contexts;\r\n        if (contexts) {\r\n            var len = contexts.length;\r\n            for (var i = 0; i < len; i++) {\r\n                contexts[i].window.next(value);\r\n            }\r\n        }\r\n    };\r\n    WindowToggleSubscriber.prototype._error = function (err) {\r\n        var contexts = this.contexts;\r\n        this.contexts = null;\r\n        if (contexts) {\r\n            var len = contexts.length;\r\n            var index = -1;\r\n            while (++index < len) {\r\n                var context = contexts[index];\r\n                context.window.error(err);\r\n                context.subscription.unsubscribe();\r\n            }\r\n        }\r\n        _super.prototype._error.call(this, err);\r\n    };\r\n    WindowToggleSubscriber.prototype._complete = function () {\r\n        var contexts = this.contexts;\r\n        this.contexts = null;\r\n        if (contexts) {\r\n            var len = contexts.length;\r\n            var index = -1;\r\n            while (++index < len) {\r\n                var context = contexts[index];\r\n                context.window.complete();\r\n                context.subscription.unsubscribe();\r\n            }\r\n        }\r\n        _super.prototype._complete.call(this);\r\n    };\r\n    WindowToggleSubscriber.prototype._unsubscribe = function () {\r\n        var contexts = this.contexts;\r\n        this.contexts = null;\r\n        if (contexts) {\r\n            var len = contexts.length;\r\n            var index = -1;\r\n            while (++index < len) {\r\n                var context = contexts[index];\r\n                context.window.unsubscribe();\r\n                context.subscription.unsubscribe();\r\n            }\r\n        }\r\n    };\r\n    WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        if (outerValue === this.openings) {\r\n            var closingSelector = this.closingSelector;\r\n            var closingNotifier = tryCatch_1.tryCatch(closingSelector)(innerValue);\r\n            if (closingNotifier === errorObject_1.errorObject) {\r\n                return this.error(errorObject_1.errorObject.e);\r\n            }\r\n            else {\r\n                var window_1 = new Subject_1.Subject();\r\n                var subscription = new Subscription_1.Subscription();\r\n                var context = { window: window_1, subscription: subscription };\r\n                this.contexts.push(context);\r\n                var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);\r\n                if (innerSubscription.closed) {\r\n                    this.closeWindow(this.contexts.length - 1);\r\n                }\r\n                else {\r\n                    innerSubscription.context = context;\r\n                    subscription.add(innerSubscription);\r\n                }\r\n                this.destination.next(window_1);\r\n            }\r\n        }\r\n        else {\r\n            this.closeWindow(this.contexts.indexOf(outerValue));\r\n        }\r\n    };\r\n    WindowToggleSubscriber.prototype.notifyError = function (err) {\r\n        this.error(err);\r\n    };\r\n    WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\r\n        if (inner !== this.openSubscription) {\r\n            this.closeWindow(this.contexts.indexOf(inner.context));\r\n        }\r\n    };\r\n    WindowToggleSubscriber.prototype.closeWindow = function (index) {\r\n        if (index === -1) {\r\n            return;\r\n        }\r\n        var contexts = this.contexts;\r\n        var context = contexts[index];\r\n        var window = context.window, subscription = context.subscription;\r\n        contexts.splice(index, 1);\r\n        window.complete();\r\n        subscription.unsubscribe();\r\n    };\r\n    return WindowToggleSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=windowToggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/windowToggle.js\n// module id = 1637\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../Subject');\r\nvar tryCatch_1 = require('../util/tryCatch');\r\nvar errorObject_1 = require('../util/errorObject');\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/**\r\n * Branch out the source Observable values as a nested Observable using a\r\n * factory function of closing Observables to determine when to start a new\r\n * window.\r\n *\r\n * <span class=\"informal\">It's like {@link bufferWhen}, but emits a nested\r\n * Observable instead of an array.</span>\r\n *\r\n * <img src=\"./img/windowWhen.png\" width=\"100%\">\r\n *\r\n * Returns an Observable that emits windows of items it collects from the source\r\n * Observable. The output Observable emits connected, non-overlapping windows.\r\n * It emits the current window and opens a new one whenever the Observable\r\n * produced by the specified `closingSelector` function emits an item. The first\r\n * window is opened immediately when subscribing to the output Observable.\r\n *\r\n * @example <caption>Emit only the first two clicks events in every window of [1-5] random seconds</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var result = clicks\r\n *   .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000))\r\n *   .map(win => win.take(2)) // each window has at most 2 emissions\r\n *   .mergeAll(); // flatten the Observable-of-Observables\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link window}\r\n * @see {@link windowCount}\r\n * @see {@link windowTime}\r\n * @see {@link windowToggle}\r\n * @see {@link bufferWhen}\r\n *\r\n * @param {function(): Observable} closingSelector A function that takes no\r\n * arguments and returns an Observable that signals (on either `next` or\r\n * `complete`) when to close the previous window and start a new one.\r\n * @return {Observable<Observable<T>>} An observable of windows, which in turn\r\n * are Observables.\r\n * @method windowWhen\r\n * @owner Observable\r\n */\r\nfunction windowWhen(closingSelector) {\r\n    return this.lift(new WindowOperator(closingSelector));\r\n}\r\nexports.windowWhen = windowWhen;\r\nvar WindowOperator = (function () {\r\n    function WindowOperator(closingSelector) {\r\n        this.closingSelector = closingSelector;\r\n    }\r\n    WindowOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector));\r\n    };\r\n    return WindowOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar WindowSubscriber = (function (_super) {\r\n    __extends(WindowSubscriber, _super);\r\n    function WindowSubscriber(destination, closingSelector) {\r\n        _super.call(this, destination);\r\n        this.destination = destination;\r\n        this.closingSelector = closingSelector;\r\n        this.openWindow();\r\n    }\r\n    WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.openWindow(innerSub);\r\n    };\r\n    WindowSubscriber.prototype.notifyError = function (error, innerSub) {\r\n        this._error(error);\r\n    };\r\n    WindowSubscriber.prototype.notifyComplete = function (innerSub) {\r\n        this.openWindow(innerSub);\r\n    };\r\n    WindowSubscriber.prototype._next = function (value) {\r\n        this.window.next(value);\r\n    };\r\n    WindowSubscriber.prototype._error = function (err) {\r\n        this.window.error(err);\r\n        this.destination.error(err);\r\n        this.unsubscribeClosingNotification();\r\n    };\r\n    WindowSubscriber.prototype._complete = function () {\r\n        this.window.complete();\r\n        this.destination.complete();\r\n        this.unsubscribeClosingNotification();\r\n    };\r\n    WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\r\n        if (this.closingNotification) {\r\n            this.closingNotification.unsubscribe();\r\n        }\r\n    };\r\n    WindowSubscriber.prototype.openWindow = function (innerSub) {\r\n        if (innerSub === void 0) { innerSub = null; }\r\n        if (innerSub) {\r\n            this.remove(innerSub);\r\n            innerSub.unsubscribe();\r\n        }\r\n        var prevWindow = this.window;\r\n        if (prevWindow) {\r\n            prevWindow.complete();\r\n        }\r\n        var window = this.window = new Subject_1.Subject();\r\n        this.destination.next(window);\r\n        var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\r\n        if (closingNotifier === errorObject_1.errorObject) {\r\n            var err = errorObject_1.errorObject.e;\r\n            this.destination.error(err);\r\n            this.window.error(err);\r\n        }\r\n        else {\r\n            this.add(this.closingNotification = subscribeToResult_1.subscribeToResult(this, closingNotifier));\r\n        }\r\n    };\r\n    return WindowSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=windowWhen.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/windowWhen.js\n// module id = 1638\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar OuterSubscriber_1 = require('../OuterSubscriber');\r\nvar subscribeToResult_1 = require('../util/subscribeToResult');\r\n/* tslint:disable:max-line-length */\r\n/**\r\n * Combines the source Observable with other Observables to create an Observable\r\n * whose values are calculated from the latest values of each, only when the\r\n * source emits.\r\n *\r\n * <span class=\"informal\">Whenever the source Observable emits a value, it\r\n * computes a formula using that value plus the latest values from other input\r\n * Observables, then emits the output of that formula.</span>\r\n *\r\n * <img src=\"./img/withLatestFrom.png\" width=\"100%\">\r\n *\r\n * `withLatestFrom` combines each value from the source Observable (the\r\n * instance) with the latest values from the other input Observables only when\r\n * the source emits a value, optionally using a `project` function to determine\r\n * the value to be emitted on the output Observable. All input Observables must\r\n * emit at least one value before the output Observable will emit a value.\r\n *\r\n * @example <caption>On every click event, emit an array with the latest timer event plus the click event</caption>\r\n * var clicks = Rx.Observable.fromEvent(document, 'click');\r\n * var timer = Rx.Observable.interval(1000);\r\n * var result = clicks.withLatestFrom(timer);\r\n * result.subscribe(x => console.log(x));\r\n *\r\n * @see {@link combineLatest}\r\n *\r\n * @param {Observable} other An input Observable to combine with the source\r\n * Observable. More than one input Observables may be given as argument.\r\n * @param {Function} [project] Projection function for combining values\r\n * together. Receives all values in order of the Observables passed, where the\r\n * first parameter is a value from the source Observable. (e.g.\r\n * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not\r\n * passed, arrays will be emitted on the output Observable.\r\n * @return {Observable} An Observable of projected values from the most recent\r\n * values from each input Observable, or an array of the most recent values from\r\n * each input Observable.\r\n * @method withLatestFrom\r\n * @owner Observable\r\n */\r\nfunction withLatestFrom() {\r\n    var args = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        args[_i - 0] = arguments[_i];\r\n    }\r\n    var project;\r\n    if (typeof args[args.length - 1] === 'function') {\r\n        project = args.pop();\r\n    }\r\n    var observables = args;\r\n    return this.lift(new WithLatestFromOperator(observables, project));\r\n}\r\nexports.withLatestFrom = withLatestFrom;\r\nvar WithLatestFromOperator = (function () {\r\n    function WithLatestFromOperator(observables, project) {\r\n        this.observables = observables;\r\n        this.project = project;\r\n    }\r\n    WithLatestFromOperator.prototype.call = function (subscriber, source) {\r\n        return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\r\n    };\r\n    return WithLatestFromOperator;\r\n}());\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar WithLatestFromSubscriber = (function (_super) {\r\n    __extends(WithLatestFromSubscriber, _super);\r\n    function WithLatestFromSubscriber(destination, observables, project) {\r\n        _super.call(this, destination);\r\n        this.observables = observables;\r\n        this.project = project;\r\n        this.toRespond = [];\r\n        var len = observables.length;\r\n        this.values = new Array(len);\r\n        for (var i = 0; i < len; i++) {\r\n            this.toRespond.push(i);\r\n        }\r\n        for (var i = 0; i < len; i++) {\r\n            var observable = observables[i];\r\n            this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\r\n        }\r\n    }\r\n    WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\r\n        this.values[outerIndex] = innerValue;\r\n        var toRespond = this.toRespond;\r\n        if (toRespond.length > 0) {\r\n            var found = toRespond.indexOf(outerIndex);\r\n            if (found !== -1) {\r\n                toRespond.splice(found, 1);\r\n            }\r\n        }\r\n    };\r\n    WithLatestFromSubscriber.prototype.notifyComplete = function () {\r\n        // noop\r\n    };\r\n    WithLatestFromSubscriber.prototype._next = function (value) {\r\n        if (this.toRespond.length === 0) {\r\n            var args = [value].concat(this.values);\r\n            if (this.project) {\r\n                this._tryProject(args);\r\n            }\r\n            else {\r\n                this.destination.next(args);\r\n            }\r\n        }\r\n    };\r\n    WithLatestFromSubscriber.prototype._tryProject = function (args) {\r\n        var result;\r\n        try {\r\n            result = this.project.apply(this, args);\r\n        }\r\n        catch (err) {\r\n            this.destination.error(err);\r\n            return;\r\n        }\r\n        this.destination.next(result);\r\n    };\r\n    return WithLatestFromSubscriber;\r\n}(OuterSubscriber_1.OuterSubscriber));\r\n//# sourceMappingURL=withLatestFrom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/withLatestFrom.js\n// module id = 1639\n// module chunks = 3","\"use strict\";\r\nvar zip_1 = require('./zip');\r\n/**\r\n * @param project\r\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\r\n * @method zipAll\r\n * @owner Observable\r\n */\r\nfunction zipAll(project) {\r\n    return this.lift(new zip_1.ZipOperator(project));\r\n}\r\nexports.zipAll = zipAll;\r\n//# sourceMappingURL=zipAll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/operator/zipAll.js\n// module id = 1640\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subscription_1 = require('../Subscription');\r\n/**\r\n * A unit of work to be executed in a {@link Scheduler}. An action is typically\r\n * created from within a Scheduler and an RxJS user does not need to concern\r\n * themselves about creating and manipulating an Action.\r\n *\r\n * ```ts\r\n * class Action<T> extends Subscription {\r\n *   new (scheduler: Scheduler, work: (state?: T) => void);\r\n *   schedule(state?: T, delay: number = 0): Subscription;\r\n * }\r\n * ```\r\n *\r\n * @class Action<T>\r\n */\r\nvar Action = (function (_super) {\r\n    __extends(Action, _super);\r\n    function Action(scheduler, work) {\r\n        _super.call(this);\r\n    }\r\n    /**\r\n     * Schedules this action on its parent Scheduler for execution. May be passed\r\n     * some context object, `state`. May happen at some point in the future,\r\n     * according to the `delay` parameter, if specified.\r\n     * @param {T} [state] Some contextual data that the `work` function uses when\r\n     * called by the Scheduler.\r\n     * @param {number} [delay] Time to wait before executing the work, where the\r\n     * time unit is implicit and defined by the Scheduler.\r\n     * @return {void}\r\n     */\r\n    Action.prototype.schedule = function (state, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        return this;\r\n    };\r\n    return Action;\r\n}(Subscription_1.Subscription));\r\nexports.Action = Action;\r\n//# sourceMappingURL=Action.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/Action.js\n// module id = 1641\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar AsyncAction_1 = require('./AsyncAction');\r\nvar AnimationFrame_1 = require('../util/AnimationFrame');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar AnimationFrameAction = (function (_super) {\r\n    __extends(AnimationFrameAction, _super);\r\n    function AnimationFrameAction(scheduler, work) {\r\n        _super.call(this, scheduler, work);\r\n        this.scheduler = scheduler;\r\n        this.work = work;\r\n    }\r\n    AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        // If delay is greater than 0, request as an async action.\r\n        if (delay !== null && delay > 0) {\r\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\r\n        }\r\n        // Push the action to the end of the scheduler queue.\r\n        scheduler.actions.push(this);\r\n        // If an animation frame has already been requested, don't request another\r\n        // one. If an animation frame hasn't been requested yet, request one. Return\r\n        // the current animation frame request id.\r\n        return scheduler.scheduled || (scheduler.scheduled = AnimationFrame_1.AnimationFrame.requestAnimationFrame(scheduler.flush.bind(scheduler, null)));\r\n    };\r\n    AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        // If delay exists and is greater than 0, or if the delay is null (the\r\n        // action wasn't rescheduled) but was originally scheduled as an async\r\n        // action, then recycle as an async action.\r\n        if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\r\n            return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\r\n        }\r\n        // If the scheduler queue is empty, cancel the requested animation frame and\r\n        // set the scheduled flag to undefined so the next AnimationFrameAction will\r\n        // request its own.\r\n        if (scheduler.actions.length === 0) {\r\n            AnimationFrame_1.AnimationFrame.cancelAnimationFrame(id);\r\n            scheduler.scheduled = undefined;\r\n        }\r\n        // Return undefined so the action knows to request a new async id if it's rescheduled.\r\n        return undefined;\r\n    };\r\n    return AnimationFrameAction;\r\n}(AsyncAction_1.AsyncAction));\r\nexports.AnimationFrameAction = AnimationFrameAction;\r\n//# sourceMappingURL=AnimationFrameAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/AnimationFrameAction.js\n// module id = 1642\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar AsyncScheduler_1 = require('./AsyncScheduler');\r\nvar AnimationFrameScheduler = (function (_super) {\r\n    __extends(AnimationFrameScheduler, _super);\r\n    function AnimationFrameScheduler() {\r\n        _super.apply(this, arguments);\r\n    }\r\n    AnimationFrameScheduler.prototype.flush = function (action) {\r\n        this.active = true;\r\n        this.scheduled = undefined;\r\n        var actions = this.actions;\r\n        var error;\r\n        var index = -1;\r\n        var count = actions.length;\r\n        action = action || actions.shift();\r\n        do {\r\n            if (error = action.execute(action.state, action.delay)) {\r\n                break;\r\n            }\r\n        } while (++index < count && (action = actions.shift()));\r\n        this.active = false;\r\n        if (error) {\r\n            while (++index < count && (action = actions.shift())) {\r\n                action.unsubscribe();\r\n            }\r\n            throw error;\r\n        }\r\n    };\r\n    return AnimationFrameScheduler;\r\n}(AsyncScheduler_1.AsyncScheduler));\r\nexports.AnimationFrameScheduler = AnimationFrameScheduler;\r\n//# sourceMappingURL=AnimationFrameScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/AnimationFrameScheduler.js\n// module id = 1643\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Immediate_1 = require('../util/Immediate');\r\nvar AsyncAction_1 = require('./AsyncAction');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar AsapAction = (function (_super) {\r\n    __extends(AsapAction, _super);\r\n    function AsapAction(scheduler, work) {\r\n        _super.call(this, scheduler, work);\r\n        this.scheduler = scheduler;\r\n        this.work = work;\r\n    }\r\n    AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        // If delay is greater than 0, request as an async action.\r\n        if (delay !== null && delay > 0) {\r\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\r\n        }\r\n        // Push the action to the end of the scheduler queue.\r\n        scheduler.actions.push(this);\r\n        // If a microtask has already been scheduled, don't schedule another\r\n        // one. If a microtask hasn't been scheduled yet, schedule one now. Return\r\n        // the current scheduled microtask id.\r\n        return scheduler.scheduled || (scheduler.scheduled = Immediate_1.Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\r\n    };\r\n    AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        // If delay exists and is greater than 0, or if the delay is null (the\r\n        // action wasn't rescheduled) but was originally scheduled as an async\r\n        // action, then recycle as an async action.\r\n        if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\r\n            return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\r\n        }\r\n        // If the scheduler queue is empty, cancel the requested microtask and\r\n        // set the scheduled flag to undefined so the next AsapAction will schedule\r\n        // its own.\r\n        if (scheduler.actions.length === 0) {\r\n            Immediate_1.Immediate.clearImmediate(id);\r\n            scheduler.scheduled = undefined;\r\n        }\r\n        // Return undefined so the action knows to request a new async id if it's rescheduled.\r\n        return undefined;\r\n    };\r\n    return AsapAction;\r\n}(AsyncAction_1.AsyncAction));\r\nexports.AsapAction = AsapAction;\r\n//# sourceMappingURL=AsapAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/AsapAction.js\n// module id = 1644\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar AsyncScheduler_1 = require('./AsyncScheduler');\r\nvar AsapScheduler = (function (_super) {\r\n    __extends(AsapScheduler, _super);\r\n    function AsapScheduler() {\r\n        _super.apply(this, arguments);\r\n    }\r\n    AsapScheduler.prototype.flush = function (action) {\r\n        this.active = true;\r\n        this.scheduled = undefined;\r\n        var actions = this.actions;\r\n        var error;\r\n        var index = -1;\r\n        var count = actions.length;\r\n        action = action || actions.shift();\r\n        do {\r\n            if (error = action.execute(action.state, action.delay)) {\r\n                break;\r\n            }\r\n        } while (++index < count && (action = actions.shift()));\r\n        this.active = false;\r\n        if (error) {\r\n            while (++index < count && (action = actions.shift())) {\r\n                action.unsubscribe();\r\n            }\r\n            throw error;\r\n        }\r\n    };\r\n    return AsapScheduler;\r\n}(AsyncScheduler_1.AsyncScheduler));\r\nexports.AsapScheduler = AsapScheduler;\r\n//# sourceMappingURL=AsapScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/AsapScheduler.js\n// module id = 1645\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar AsyncAction_1 = require('./AsyncAction');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar QueueAction = (function (_super) {\r\n    __extends(QueueAction, _super);\r\n    function QueueAction(scheduler, work) {\r\n        _super.call(this, scheduler, work);\r\n        this.scheduler = scheduler;\r\n        this.work = work;\r\n    }\r\n    QueueAction.prototype.schedule = function (state, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        if (delay > 0) {\r\n            return _super.prototype.schedule.call(this, state, delay);\r\n        }\r\n        this.delay = delay;\r\n        this.state = state;\r\n        this.scheduler.flush(this);\r\n        return this;\r\n    };\r\n    QueueAction.prototype.execute = function (state, delay) {\r\n        return (delay > 0 || this.closed) ?\r\n            _super.prototype.execute.call(this, state, delay) :\r\n            this._execute(state, delay);\r\n    };\r\n    QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\r\n        if (delay === void 0) { delay = 0; }\r\n        // If delay exists and is greater than 0, or if the delay is null (the\r\n        // action wasn't rescheduled) but was originally scheduled as an async\r\n        // action, then recycle as an async action.\r\n        if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\r\n            return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\r\n        }\r\n        // Otherwise flush the scheduler starting with this action.\r\n        return scheduler.flush(this);\r\n    };\r\n    return QueueAction;\r\n}(AsyncAction_1.AsyncAction));\r\nexports.QueueAction = QueueAction;\r\n//# sourceMappingURL=QueueAction.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/QueueAction.js\n// module id = 1646\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar AsyncScheduler_1 = require('./AsyncScheduler');\r\nvar QueueScheduler = (function (_super) {\r\n    __extends(QueueScheduler, _super);\r\n    function QueueScheduler() {\r\n        _super.apply(this, arguments);\r\n    }\r\n    return QueueScheduler;\r\n}(AsyncScheduler_1.AsyncScheduler));\r\nexports.QueueScheduler = QueueScheduler;\r\n//# sourceMappingURL=QueueScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/QueueScheduler.js\n// module id = 1647\n// module chunks = 3","\"use strict\";\r\nvar AnimationFrameAction_1 = require('./AnimationFrameAction');\r\nvar AnimationFrameScheduler_1 = require('./AnimationFrameScheduler');\r\nexports.animationFrame = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);\r\n//# sourceMappingURL=animationFrame.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/scheduler/animationFrame.js\n// module id = 1648\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar Subscription_1 = require('../Subscription');\r\nvar SubscriptionLoggable_1 = require('./SubscriptionLoggable');\r\nvar applyMixins_1 = require('../util/applyMixins');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar ColdObservable = (function (_super) {\r\n    __extends(ColdObservable, _super);\r\n    function ColdObservable(messages, scheduler) {\r\n        _super.call(this, function (subscriber) {\r\n            var observable = this;\r\n            var index = observable.logSubscribedFrame();\r\n            subscriber.add(new Subscription_1.Subscription(function () {\r\n                observable.logUnsubscribedFrame(index);\r\n            }));\r\n            observable.scheduleMessages(subscriber);\r\n            return subscriber;\r\n        });\r\n        this.messages = messages;\r\n        this.subscriptions = [];\r\n        this.scheduler = scheduler;\r\n    }\r\n    ColdObservable.prototype.scheduleMessages = function (subscriber) {\r\n        var messagesLength = this.messages.length;\r\n        for (var i = 0; i < messagesLength; i++) {\r\n            var message = this.messages[i];\r\n            subscriber.add(this.scheduler.schedule(function (_a) {\r\n                var message = _a.message, subscriber = _a.subscriber;\r\n                message.notification.observe(subscriber);\r\n            }, message.frame, { message: message, subscriber: subscriber }));\r\n        }\r\n    };\r\n    return ColdObservable;\r\n}(Observable_1.Observable));\r\nexports.ColdObservable = ColdObservable;\r\napplyMixins_1.applyMixins(ColdObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);\r\n//# sourceMappingURL=ColdObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/testing/ColdObservable.js\n// module id = 1649\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Subject_1 = require('../Subject');\r\nvar Subscription_1 = require('../Subscription');\r\nvar SubscriptionLoggable_1 = require('./SubscriptionLoggable');\r\nvar applyMixins_1 = require('../util/applyMixins');\r\n/**\r\n * We need this JSDoc comment for affecting ESDoc.\r\n * @ignore\r\n * @extends {Ignored}\r\n */\r\nvar HotObservable = (function (_super) {\r\n    __extends(HotObservable, _super);\r\n    function HotObservable(messages, scheduler) {\r\n        _super.call(this);\r\n        this.messages = messages;\r\n        this.subscriptions = [];\r\n        this.scheduler = scheduler;\r\n    }\r\n    HotObservable.prototype._subscribe = function (subscriber) {\r\n        var subject = this;\r\n        var index = subject.logSubscribedFrame();\r\n        subscriber.add(new Subscription_1.Subscription(function () {\r\n            subject.logUnsubscribedFrame(index);\r\n        }));\r\n        return _super.prototype._subscribe.call(this, subscriber);\r\n    };\r\n    HotObservable.prototype.setup = function () {\r\n        var subject = this;\r\n        var messagesLength = subject.messages.length;\r\n        /* tslint:disable:no-var-keyword */\r\n        for (var i = 0; i < messagesLength; i++) {\r\n            (function () {\r\n                var message = subject.messages[i];\r\n                /* tslint:enable */\r\n                subject.scheduler.schedule(function () { message.notification.observe(subject); }, message.frame);\r\n            })();\r\n        }\r\n    };\r\n    return HotObservable;\r\n}(Subject_1.Subject));\r\nexports.HotObservable = HotObservable;\r\napplyMixins_1.applyMixins(HotObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);\r\n//# sourceMappingURL=HotObservable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/testing/HotObservable.js\n// module id = 1650\n// module chunks = 3","\"use strict\";\r\nvar __extends = (this && this.__extends) || function (d, b) {\r\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n};\r\nvar Observable_1 = require('../Observable');\r\nvar Notification_1 = require('../Notification');\r\nvar ColdObservable_1 = require('./ColdObservable');\r\nvar HotObservable_1 = require('./HotObservable');\r\nvar SubscriptionLog_1 = require('./SubscriptionLog');\r\nvar VirtualTimeScheduler_1 = require('../scheduler/VirtualTimeScheduler');\r\nvar defaultMaxFrame = 750;\r\nvar TestScheduler = (function (_super) {\r\n    __extends(TestScheduler, _super);\r\n    function TestScheduler(assertDeepEqual) {\r\n        _super.call(this, VirtualTimeScheduler_1.VirtualAction, defaultMaxFrame);\r\n        this.assertDeepEqual = assertDeepEqual;\r\n        this.hotObservables = [];\r\n        this.coldObservables = [];\r\n        this.flushTests = [];\r\n    }\r\n    TestScheduler.prototype.createTime = function (marbles) {\r\n        var indexOf = marbles.indexOf('|');\r\n        if (indexOf === -1) {\r\n            throw new Error('marble diagram for time should have a completion marker \"|\"');\r\n        }\r\n        return indexOf * TestScheduler.frameTimeFactor;\r\n    };\r\n    TestScheduler.prototype.createColdObservable = function (marbles, values, error) {\r\n        if (marbles.indexOf('^') !== -1) {\r\n            throw new Error('cold observable cannot have subscription offset \"^\"');\r\n        }\r\n        if (marbles.indexOf('!') !== -1) {\r\n            throw new Error('cold observable cannot have unsubscription marker \"!\"');\r\n        }\r\n        var messages = TestScheduler.parseMarbles(marbles, values, error);\r\n        var cold = new ColdObservable_1.ColdObservable(messages, this);\r\n        this.coldObservables.push(cold);\r\n        return cold;\r\n    };\r\n    TestScheduler.prototype.createHotObservable = function (marbles, values, error) {\r\n        if (marbles.indexOf('!') !== -1) {\r\n            throw new Error('hot observable cannot have unsubscription marker \"!\"');\r\n        }\r\n        var messages = TestScheduler.parseMarbles(marbles, values, error);\r\n        var subject = new HotObservable_1.HotObservable(messages, this);\r\n        this.hotObservables.push(subject);\r\n        return subject;\r\n    };\r\n    TestScheduler.prototype.materializeInnerObservable = function (observable, outerFrame) {\r\n        var _this = this;\r\n        var messages = [];\r\n        observable.subscribe(function (value) {\r\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createNext(value) });\r\n        }, function (err) {\r\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createError(err) });\r\n        }, function () {\r\n            messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createComplete() });\r\n        });\r\n        return messages;\r\n    };\r\n    TestScheduler.prototype.expectObservable = function (observable, unsubscriptionMarbles) {\r\n        var _this = this;\r\n        if (unsubscriptionMarbles === void 0) { unsubscriptionMarbles = null; }\r\n        var actual = [];\r\n        var flushTest = { actual: actual, ready: false };\r\n        var unsubscriptionFrame = TestScheduler\r\n            .parseMarblesAsSubscriptions(unsubscriptionMarbles).unsubscribedFrame;\r\n        var subscription;\r\n        this.schedule(function () {\r\n            subscription = observable.subscribe(function (x) {\r\n                var value = x;\r\n                // Support Observable-of-Observables\r\n                if (x instanceof Observable_1.Observable) {\r\n                    value = _this.materializeInnerObservable(value, _this.frame);\r\n                }\r\n                actual.push({ frame: _this.frame, notification: Notification_1.Notification.createNext(value) });\r\n            }, function (err) {\r\n                actual.push({ frame: _this.frame, notification: Notification_1.Notification.createError(err) });\r\n            }, function () {\r\n                actual.push({ frame: _this.frame, notification: Notification_1.Notification.createComplete() });\r\n            });\r\n        }, 0);\r\n        if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {\r\n            this.schedule(function () { return subscription.unsubscribe(); }, unsubscriptionFrame);\r\n        }\r\n        this.flushTests.push(flushTest);\r\n        return {\r\n            toBe: function (marbles, values, errorValue) {\r\n                flushTest.ready = true;\r\n                flushTest.expected = TestScheduler.parseMarbles(marbles, values, errorValue, true);\r\n            }\r\n        };\r\n    };\r\n    TestScheduler.prototype.expectSubscriptions = function (actualSubscriptionLogs) {\r\n        var flushTest = { actual: actualSubscriptionLogs, ready: false };\r\n        this.flushTests.push(flushTest);\r\n        return {\r\n            toBe: function (marbles) {\r\n                var marblesArray = (typeof marbles === 'string') ? [marbles] : marbles;\r\n                flushTest.ready = true;\r\n                flushTest.expected = marblesArray.map(function (marbles) {\r\n                    return TestScheduler.parseMarblesAsSubscriptions(marbles);\r\n                });\r\n            }\r\n        };\r\n    };\r\n    TestScheduler.prototype.flush = function () {\r\n        var hotObservables = this.hotObservables;\r\n        while (hotObservables.length > 0) {\r\n            hotObservables.shift().setup();\r\n        }\r\n        _super.prototype.flush.call(this);\r\n        var readyFlushTests = this.flushTests.filter(function (test) { return test.ready; });\r\n        while (readyFlushTests.length > 0) {\r\n            var test = readyFlushTests.shift();\r\n            this.assertDeepEqual(test.actual, test.expected);\r\n        }\r\n    };\r\n    TestScheduler.parseMarblesAsSubscriptions = function (marbles) {\r\n        if (typeof marbles !== 'string') {\r\n            return new SubscriptionLog_1.SubscriptionLog(Number.POSITIVE_INFINITY);\r\n        }\r\n        var len = marbles.length;\r\n        var groupStart = -1;\r\n        var subscriptionFrame = Number.POSITIVE_INFINITY;\r\n        var unsubscriptionFrame = Number.POSITIVE_INFINITY;\r\n        for (var i = 0; i < len; i++) {\r\n            var frame = i * this.frameTimeFactor;\r\n            var c = marbles[i];\r\n            switch (c) {\r\n                case '-':\r\n                case ' ':\r\n                    break;\r\n                case '(':\r\n                    groupStart = frame;\r\n                    break;\r\n                case ')':\r\n                    groupStart = -1;\r\n                    break;\r\n                case '^':\r\n                    if (subscriptionFrame !== Number.POSITIVE_INFINITY) {\r\n                        throw new Error('found a second subscription point \\'^\\' in a ' +\r\n                            'subscription marble diagram. There can only be one.');\r\n                    }\r\n                    subscriptionFrame = groupStart > -1 ? groupStart : frame;\r\n                    break;\r\n                case '!':\r\n                    if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {\r\n                        throw new Error('found a second subscription point \\'^\\' in a ' +\r\n                            'subscription marble diagram. There can only be one.');\r\n                    }\r\n                    unsubscriptionFrame = groupStart > -1 ? groupStart : frame;\r\n                    break;\r\n                default:\r\n                    throw new Error('there can only be \\'^\\' and \\'!\\' markers in a ' +\r\n                        'subscription marble diagram. Found instead \\'' + c + '\\'.');\r\n            }\r\n        }\r\n        if (unsubscriptionFrame < 0) {\r\n            return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame);\r\n        }\r\n        else {\r\n            return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame, unsubscriptionFrame);\r\n        }\r\n    };\r\n    TestScheduler.parseMarbles = function (marbles, values, errorValue, materializeInnerObservables) {\r\n        if (materializeInnerObservables === void 0) { materializeInnerObservables = false; }\r\n        if (marbles.indexOf('!') !== -1) {\r\n            throw new Error('conventional marble diagrams cannot have the ' +\r\n                'unsubscription marker \"!\"');\r\n        }\r\n        var len = marbles.length;\r\n        var testMessages = [];\r\n        var subIndex = marbles.indexOf('^');\r\n        var frameOffset = subIndex === -1 ? 0 : (subIndex * -this.frameTimeFactor);\r\n        var getValue = typeof values !== 'object' ?\r\n            function (x) { return x; } :\r\n            function (x) {\r\n                // Support Observable-of-Observables\r\n                if (materializeInnerObservables && values[x] instanceof ColdObservable_1.ColdObservable) {\r\n                    return values[x].messages;\r\n                }\r\n                return values[x];\r\n            };\r\n        var groupStart = -1;\r\n        for (var i = 0; i < len; i++) {\r\n            var frame = i * this.frameTimeFactor + frameOffset;\r\n            var notification = void 0;\r\n            var c = marbles[i];\r\n            switch (c) {\r\n                case '-':\r\n                case ' ':\r\n                    break;\r\n                case '(':\r\n                    groupStart = frame;\r\n                    break;\r\n                case ')':\r\n                    groupStart = -1;\r\n                    break;\r\n                case '|':\r\n                    notification = Notification_1.Notification.createComplete();\r\n                    break;\r\n                case '^':\r\n                    break;\r\n                case '#':\r\n                    notification = Notification_1.Notification.createError(errorValue || 'error');\r\n                    break;\r\n                default:\r\n                    notification = Notification_1.Notification.createNext(getValue(c));\r\n                    break;\r\n            }\r\n            if (notification) {\r\n                testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification: notification });\r\n            }\r\n        }\r\n        return testMessages;\r\n    };\r\n    return TestScheduler;\r\n}(VirtualTimeScheduler_1.VirtualTimeScheduler));\r\nexports.TestScheduler = TestScheduler;\r\n//# sourceMappingURL=TestScheduler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/testing/TestScheduler.js\n// module id = 1651\n// module chunks = 3","\"use strict\";\r\nvar root_1 = require('./root');\r\nvar RequestAnimationFrameDefinition = (function () {\r\n    function RequestAnimationFrameDefinition(root) {\r\n        if (root.requestAnimationFrame) {\r\n            this.cancelAnimationFrame = root.cancelAnimationFrame.bind(root);\r\n            this.requestAnimationFrame = root.requestAnimationFrame.bind(root);\r\n        }\r\n        else if (root.mozRequestAnimationFrame) {\r\n            this.cancelAnimationFrame = root.mozCancelAnimationFrame.bind(root);\r\n            this.requestAnimationFrame = root.mozRequestAnimationFrame.bind(root);\r\n        }\r\n        else if (root.webkitRequestAnimationFrame) {\r\n            this.cancelAnimationFrame = root.webkitCancelAnimationFrame.bind(root);\r\n            this.requestAnimationFrame = root.webkitRequestAnimationFrame.bind(root);\r\n        }\r\n        else if (root.msRequestAnimationFrame) {\r\n            this.cancelAnimationFrame = root.msCancelAnimationFrame.bind(root);\r\n            this.requestAnimationFrame = root.msRequestAnimationFrame.bind(root);\r\n        }\r\n        else if (root.oRequestAnimationFrame) {\r\n            this.cancelAnimationFrame = root.oCancelAnimationFrame.bind(root);\r\n            this.requestAnimationFrame = root.oRequestAnimationFrame.bind(root);\r\n        }\r\n        else {\r\n            this.cancelAnimationFrame = root.clearTimeout.bind(root);\r\n            this.requestAnimationFrame = function (cb) { return root.setTimeout(cb, 1000 / 60); };\r\n        }\r\n    }\r\n    return RequestAnimationFrameDefinition;\r\n}());\r\nexports.RequestAnimationFrameDefinition = RequestAnimationFrameDefinition;\r\nexports.AnimationFrame = new RequestAnimationFrameDefinition(root_1.root);\r\n//# sourceMappingURL=AnimationFrame.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/AnimationFrame.js\n// module id = 1652\n// module chunks = 3","\"use strict\";\r\nvar FastMap = (function () {\r\n    function FastMap() {\r\n        this.values = {};\r\n    }\r\n    FastMap.prototype.delete = function (key) {\r\n        this.values[key] = null;\r\n        return true;\r\n    };\r\n    FastMap.prototype.set = function (key, value) {\r\n        this.values[key] = value;\r\n        return this;\r\n    };\r\n    FastMap.prototype.get = function (key) {\r\n        return this.values[key];\r\n    };\r\n    FastMap.prototype.forEach = function (cb, thisArg) {\r\n        var values = this.values;\r\n        for (var key in values) {\r\n            if (values.hasOwnProperty(key) && values[key] !== null) {\r\n                cb.call(thisArg, values[key], key);\r\n            }\r\n        }\r\n    };\r\n    FastMap.prototype.clear = function () {\r\n        this.values = {};\r\n    };\r\n    return FastMap;\r\n}());\r\nexports.FastMap = FastMap;\r\n//# sourceMappingURL=FastMap.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/FastMap.js\n// module id = 1653\n// module chunks = 3","/**\r\nSome credit for this helper goes to http://github.com/YuzuJS/setImmediate\r\n*/\r\n\"use strict\";\r\nvar root_1 = require('./root');\r\nvar ImmediateDefinition = (function () {\r\n    function ImmediateDefinition(root) {\r\n        this.root = root;\r\n        if (root.setImmediate && typeof root.setImmediate === 'function') {\r\n            this.setImmediate = root.setImmediate.bind(root);\r\n            this.clearImmediate = root.clearImmediate.bind(root);\r\n        }\r\n        else {\r\n            this.nextHandle = 1;\r\n            this.tasksByHandle = {};\r\n            this.currentlyRunningATask = false;\r\n            // Don't get fooled by e.g. browserify environments.\r\n            if (this.canUseProcessNextTick()) {\r\n                // For Node.js before 0.9\r\n                this.setImmediate = this.createProcessNextTickSetImmediate();\r\n            }\r\n            else if (this.canUsePostMessage()) {\r\n                // For non-IE10 modern browsers\r\n                this.setImmediate = this.createPostMessageSetImmediate();\r\n            }\r\n            else if (this.canUseMessageChannel()) {\r\n                // For web workers, where supported\r\n                this.setImmediate = this.createMessageChannelSetImmediate();\r\n            }\r\n            else if (this.canUseReadyStateChange()) {\r\n                // For IE 6–8\r\n                this.setImmediate = this.createReadyStateChangeSetImmediate();\r\n            }\r\n            else {\r\n                // For older browsers\r\n                this.setImmediate = this.createSetTimeoutSetImmediate();\r\n            }\r\n            var ci = function clearImmediate(handle) {\r\n                delete clearImmediate.instance.tasksByHandle[handle];\r\n            };\r\n            ci.instance = this;\r\n            this.clearImmediate = ci;\r\n        }\r\n    }\r\n    ImmediateDefinition.prototype.identify = function (o) {\r\n        return this.root.Object.prototype.toString.call(o);\r\n    };\r\n    ImmediateDefinition.prototype.canUseProcessNextTick = function () {\r\n        return this.identify(this.root.process) === '[object process]';\r\n    };\r\n    ImmediateDefinition.prototype.canUseMessageChannel = function () {\r\n        return Boolean(this.root.MessageChannel);\r\n    };\r\n    ImmediateDefinition.prototype.canUseReadyStateChange = function () {\r\n        var document = this.root.document;\r\n        return Boolean(document && 'onreadystatechange' in document.createElement('script'));\r\n    };\r\n    ImmediateDefinition.prototype.canUsePostMessage = function () {\r\n        var root = this.root;\r\n        // The test against `importScripts` prevents this implementation from being installed inside a web worker,\r\n        // where `root.postMessage` means something completely different and can't be used for this purpose.\r\n        if (root.postMessage && !root.importScripts) {\r\n            var postMessageIsAsynchronous_1 = true;\r\n            var oldOnMessage = root.onmessage;\r\n            root.onmessage = function () {\r\n                postMessageIsAsynchronous_1 = false;\r\n            };\r\n            root.postMessage('', '*');\r\n            root.onmessage = oldOnMessage;\r\n            return postMessageIsAsynchronous_1;\r\n        }\r\n        return false;\r\n    };\r\n    // This function accepts the same arguments as setImmediate, but\r\n    // returns a function that requires no arguments.\r\n    ImmediateDefinition.prototype.partiallyApplied = function (handler) {\r\n        var args = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            args[_i - 1] = arguments[_i];\r\n        }\r\n        var fn = function result() {\r\n            var _a = result, handler = _a.handler, args = _a.args;\r\n            if (typeof handler === 'function') {\r\n                handler.apply(undefined, args);\r\n            }\r\n            else {\r\n                (new Function('' + handler))();\r\n            }\r\n        };\r\n        fn.handler = handler;\r\n        fn.args = args;\r\n        return fn;\r\n    };\r\n    ImmediateDefinition.prototype.addFromSetImmediateArguments = function (args) {\r\n        this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args);\r\n        return this.nextHandle++;\r\n    };\r\n    ImmediateDefinition.prototype.createProcessNextTickSetImmediate = function () {\r\n        var fn = function setImmediate() {\r\n            var instance = setImmediate.instance;\r\n            var handle = instance.addFromSetImmediateArguments(arguments);\r\n            instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle));\r\n            return handle;\r\n        };\r\n        fn.instance = this;\r\n        return fn;\r\n    };\r\n    ImmediateDefinition.prototype.createPostMessageSetImmediate = function () {\r\n        // Installs an event handler on `global` for the `message` event: see\r\n        // * https://developer.mozilla.org/en/DOM/window.postMessage\r\n        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\r\n        var root = this.root;\r\n        var messagePrefix = 'setImmediate$' + root.Math.random() + '$';\r\n        var onGlobalMessage = function globalMessageHandler(event) {\r\n            var instance = globalMessageHandler.instance;\r\n            if (event.source === root &&\r\n                typeof event.data === 'string' &&\r\n                event.data.indexOf(messagePrefix) === 0) {\r\n                instance.runIfPresent(+event.data.slice(messagePrefix.length));\r\n            }\r\n        };\r\n        onGlobalMessage.instance = this;\r\n        root.addEventListener('message', onGlobalMessage, false);\r\n        var fn = function setImmediate() {\r\n            var _a = setImmediate, messagePrefix = _a.messagePrefix, instance = _a.instance;\r\n            var handle = instance.addFromSetImmediateArguments(arguments);\r\n            instance.root.postMessage(messagePrefix + handle, '*');\r\n            return handle;\r\n        };\r\n        fn.instance = this;\r\n        fn.messagePrefix = messagePrefix;\r\n        return fn;\r\n    };\r\n    ImmediateDefinition.prototype.runIfPresent = function (handle) {\r\n        // From the spec: 'Wait until any invocations of this algorithm started before this one have completed.'\r\n        // So if we're currently running a task, we'll need to delay this invocation.\r\n        if (this.currentlyRunningATask) {\r\n            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\r\n            // 'too much recursion' error.\r\n            this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0);\r\n        }\r\n        else {\r\n            var task = this.tasksByHandle[handle];\r\n            if (task) {\r\n                this.currentlyRunningATask = true;\r\n                try {\r\n                    task();\r\n                }\r\n                finally {\r\n                    this.clearImmediate(handle);\r\n                    this.currentlyRunningATask = false;\r\n                }\r\n            }\r\n        }\r\n    };\r\n    ImmediateDefinition.prototype.createMessageChannelSetImmediate = function () {\r\n        var _this = this;\r\n        var channel = new this.root.MessageChannel();\r\n        channel.port1.onmessage = function (event) {\r\n            var handle = event.data;\r\n            _this.runIfPresent(handle);\r\n        };\r\n        var fn = function setImmediate() {\r\n            var _a = setImmediate, channel = _a.channel, instance = _a.instance;\r\n            var handle = instance.addFromSetImmediateArguments(arguments);\r\n            channel.port2.postMessage(handle);\r\n            return handle;\r\n        };\r\n        fn.channel = channel;\r\n        fn.instance = this;\r\n        return fn;\r\n    };\r\n    ImmediateDefinition.prototype.createReadyStateChangeSetImmediate = function () {\r\n        var fn = function setImmediate() {\r\n            var instance = setImmediate.instance;\r\n            var root = instance.root;\r\n            var doc = root.document;\r\n            var html = doc.documentElement;\r\n            var handle = instance.addFromSetImmediateArguments(arguments);\r\n            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\r\n            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\r\n            var script = doc.createElement('script');\r\n            script.onreadystatechange = function () {\r\n                instance.runIfPresent(handle);\r\n                script.onreadystatechange = null;\r\n                html.removeChild(script);\r\n                script = null;\r\n            };\r\n            html.appendChild(script);\r\n            return handle;\r\n        };\r\n        fn.instance = this;\r\n        return fn;\r\n    };\r\n    ImmediateDefinition.prototype.createSetTimeoutSetImmediate = function () {\r\n        var fn = function setImmediate() {\r\n            var instance = setImmediate.instance;\r\n            var handle = instance.addFromSetImmediateArguments(arguments);\r\n            instance.root.setTimeout(instance.partiallyApplied(instance.runIfPresent, handle), 0);\r\n            return handle;\r\n        };\r\n        fn.instance = this;\r\n        return fn;\r\n    };\r\n    return ImmediateDefinition;\r\n}());\r\nexports.ImmediateDefinition = ImmediateDefinition;\r\nexports.Immediate = new ImmediateDefinition(root_1.root);\r\n//# sourceMappingURL=Immediate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/Immediate.js\n// module id = 1654\n// module chunks = 3","\"use strict\";\r\nvar root_1 = require('./root');\r\nvar MapPolyfill_1 = require('./MapPolyfill');\r\nexports.Map = root_1.root.Map || (function () { return MapPolyfill_1.MapPolyfill; })();\r\n//# sourceMappingURL=Map.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/Map.js\n// module id = 1655\n// module chunks = 3","\"use strict\";\r\nvar MapPolyfill = (function () {\r\n    function MapPolyfill() {\r\n        this.size = 0;\r\n        this._values = [];\r\n        this._keys = [];\r\n    }\r\n    MapPolyfill.prototype.get = function (key) {\r\n        var i = this._keys.indexOf(key);\r\n        return i === -1 ? undefined : this._values[i];\r\n    };\r\n    MapPolyfill.prototype.set = function (key, value) {\r\n        var i = this._keys.indexOf(key);\r\n        if (i === -1) {\r\n            this._keys.push(key);\r\n            this._values.push(value);\r\n            this.size++;\r\n        }\r\n        else {\r\n            this._values[i] = value;\r\n        }\r\n        return this;\r\n    };\r\n    MapPolyfill.prototype.delete = function (key) {\r\n        var i = this._keys.indexOf(key);\r\n        if (i === -1) {\r\n            return false;\r\n        }\r\n        this._values.splice(i, 1);\r\n        this._keys.splice(i, 1);\r\n        this.size--;\r\n        return true;\r\n    };\r\n    MapPolyfill.prototype.clear = function () {\r\n        this._keys.length = 0;\r\n        this._values.length = 0;\r\n        this.size = 0;\r\n    };\r\n    MapPolyfill.prototype.forEach = function (cb, thisArg) {\r\n        for (var i = 0; i < this.size; i++) {\r\n            cb.call(thisArg, this._values[i], this._keys[i]);\r\n        }\r\n    };\r\n    return MapPolyfill;\r\n}());\r\nexports.MapPolyfill = MapPolyfill;\r\n//# sourceMappingURL=MapPolyfill.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/MapPolyfill.js\n// module id = 1656\n// module chunks = 3","\"use strict\";\r\nvar root_1 = require('./root');\r\nfunction minimalSetImpl() {\r\n    // THIS IS NOT a full impl of Set, this is just the minimum\r\n    // bits of functionality we need for this library.\r\n    return (function () {\r\n        function MinimalSet() {\r\n            this._values = [];\r\n        }\r\n        MinimalSet.prototype.add = function (value) {\r\n            if (!this.has(value)) {\r\n                this._values.push(value);\r\n            }\r\n        };\r\n        MinimalSet.prototype.has = function (value) {\r\n            return this._values.indexOf(value) !== -1;\r\n        };\r\n        Object.defineProperty(MinimalSet.prototype, \"size\", {\r\n            get: function () {\r\n                return this._values.length;\r\n            },\r\n            enumerable: true,\r\n            configurable: true\r\n        });\r\n        MinimalSet.prototype.clear = function () {\r\n            this._values.length = 0;\r\n        };\r\n        return MinimalSet;\r\n    }());\r\n}\r\nexports.minimalSetImpl = minimalSetImpl;\r\nexports.Set = root_1.root.Set || minimalSetImpl();\r\n//# sourceMappingURL=Set.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/Set.js\n// module id = 1657\n// module chunks = 3","\"use strict\";\r\nvar root_1 = require('./root');\r\nfunction assignImpl(target) {\r\n    var sources = [];\r\n    for (var _i = 1; _i < arguments.length; _i++) {\r\n        sources[_i - 1] = arguments[_i];\r\n    }\r\n    var len = sources.length;\r\n    for (var i = 0; i < len; i++) {\r\n        var source = sources[i];\r\n        for (var k in source) {\r\n            if (source.hasOwnProperty(k)) {\r\n                target[k] = source[k];\r\n            }\r\n        }\r\n    }\r\n    return target;\r\n}\r\nexports.assignImpl = assignImpl;\r\n;\r\nfunction getAssign(root) {\r\n    return root.Object.assign || assignImpl;\r\n}\r\nexports.getAssign = getAssign;\r\nexports.assign = getAssign(root_1.root);\r\n//# sourceMappingURL=assign.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/assign.js\n// module id = 1658\n// module chunks = 3","\"use strict\";\r\nfunction not(pred, thisArg) {\r\n    function notPred() {\r\n        return !(notPred.pred.apply(notPred.thisArg, arguments));\r\n    }\r\n    notPred.pred = pred;\r\n    notPred.thisArg = thisArg;\r\n    return notPred;\r\n}\r\nexports.not = not;\r\n//# sourceMappingURL=not.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/rxjs/util/not.js\n// module id = 1659\n// module chunks = 3","/*\r\n * Angular bootstraping\r\n */\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { decorateModuleRef } from './app/environment';\r\nimport { bootloader } from '@angularclass/hmr';\r\n/*\r\n * App Module\r\n * our top level module that holds all of our components\r\n */\r\nimport { AppModule } from './app';\r\n\r\n/*\r\n * Bootstrap our Angular app with a top level NgModule\r\n */\r\nexport function main(): Promise<any> {\r\n  return platformBrowserDynamic()\r\n    .bootstrapModule(AppModule)\r\n    .then(decorateModuleRef)\r\n    .catch(err => console.error(err));\r\n}\r\n\r\n// needed for hmr\r\n// in prod this is replace for document ready\r\nbootloader(main);\r\n\n\n\n// WEBPACK FOOTER //\n// node_modules/angular2-template-loader!./~/angular-router-loader/src?loader=system&genDir=compiled/src/app&aot=false!./src/main.browser.ts"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClTA;AAOA;AACA;AAAA;AAAA;AAAA;AAPA;AAQA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AAEA;;AACA;;AAAA;AACA;AACA;;;;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAhSA;AADA;AASA;AARA;AAAA;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACPA;AAAA;AAqCA;AAAA;AAAA;AArCA;AAwCA;AAIA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AA3GA;AADA;AAKA;AAJA;AAAA;;;;;;;;;;;AC1CA;AAuIA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AA1QA;;;;;;;;;;;;;;;;;;;;;ACKA;AAEA;AAAA;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;;;;;;AAMA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAKA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AACA;AAAA;AAGA;;;;AAIA;AACA;AACA;AACA;AAAA;AAGA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAtPA;AADA;;AACA;AAAA;;;;;;;;;;;;;;;ACPA;AACA;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACFA;;;;;;;AAOA;AAEA;AAMA;;AAEA;AACA;AARA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AA5PA;AADA;;AACA;AAAA;;;;;;;;ACXA;AACA;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTA;AA4DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AA/IA;;;;;;;;;ACLA;AACA;AACA;AACA;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzMA;AACA;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrEA;AACA;AACA;AACA;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClVA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;;;;;;ACHA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;;;;;ACLA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACYA;AA6BA;AAAA;AACA;AACA;AACA;AACA;AACA;AAlBA;AAOA;AAEA;AACA;AACA;AAQA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAlhBA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;AAAA;AAjBA;AALA;AACA;AACA;AACA;AACA;AA8BA;AACA;AACA;AACA;AACA;AACA;AAlCA;AAAA;;;;;;;;;;;;;;;;;;;;;ACdA;AAWA;AAcA;AACA;AAAA;AAAA;AAAA;AARA;AASA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AA9KA;AAAA;AAAA;AAAA;AAWA;AAAA;;AAAA;AAZA;AALA;AACA;AACA;AACA;AACA;AAgBA;AAfA;AAAA;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACtGA;;;;;;ACAA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACNA;AACA;AACA;;;;;;ACFA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzRA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACriBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACNA;AACA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAKA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAKA;AAEA;AAEA;;;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACjEA;AAAA;AACA;AAAA;AAAA;AADA;AAnBA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;;;;;;;;;;;;;;;;;;;;ACZA;AAmBA;AAAA;AAAA;AAAA;AAjBA;AASA;AAIA;AACA;AACA;AAGA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAtGA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AALA;AANA;AACA;AACA;AACA;AACA;AACA;AAoBA;AAnBA;AAAA;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACKA;AAYA;AACA;AAAA;AAXA;AACA;AACA;AASA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAzCA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AANA;AALA;AACA;AACA;AACA;AACA;AAcA;AAbA;AAAA;;;;;;;;;;;;;;;;;;;;ACAA;AASA;AAAA;AAPA;AAQA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AA7BA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AAIA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAPA;AALA;AACA;AACA;AACA;AACA;AAUA;AATA;AAAA;;;;;;;;;;;;;;;;;;;;;ACAA;AA+BA;AACA;AAAA;AAAA;AA/BA;AACA;AAIA;AACA;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAnIA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AAgBA;AAAA;AAAA;AAMA;AACA;AAAA;AAAA;AAGA;AA7BA;AANA;AACA;AACA;AACA;AACA;AAkCA;AAhCA;AAAA;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvBA;;AAEA;AACA;AAcA;AACA;AACA;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAEA;;;;;;;;;;;;;;;;;;;;ACtEA;AAsCA;AAAA;AAAA;AAAA;AAAA;AApCA;AAEA;AACA;AAMA;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAGA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AAAA;AApRA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AACA;AAAA;;AAAA;AALA;AALA;AACA;AACA;AACA;AACA;AAuCA;AAtCA;AAAA;;;;;;;;;;;;;;;;;;;;ACAA;AAaA;AAAA;AAAA;AAXA;AACA;AACA;AAMA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AA3JA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAJA;AALA;AACA;AACA;AACA;AACA;AAcA;AAbA;AAAA;;;;;;;;;;;;;;;;;;;;;ACEA;AAwBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAtBA;AAEA;AACA;AAoBA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;AAkBA;AAEA;;;;;;;;;;;;;;;;;;;;AAoBA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA;AAEA;AACA;AACA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AAEA;AAWA;AAAA;AA5dA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AACA;AAAA;;AAAA;AALA;AALA;AACA;AACA;AACA;AACA;AAyBA;AAxBA;AAAA;;;;;;;;;;;;;;;;;;;;;ACCA;AAgEA;AAAA;AAAA;AAAA;AAAA;AA9DA;AACA;AACA;AAIA;AACA;AACA;AACA;AAGA;AASA;AACA;AAGA;AACA;AAOA;AACA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAwBA;AAGA;;AAEA;AACA;;;;;;;;;;;;;;;;;AAiBA;AAKA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AASA;AAAA;AA/pBA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAQA;AAAA;AAAA;AAAA;AAcA;AAAA;AAAA;AAAA;AA1BA;AAJA;AACA;AACA;AACA;AAiEA;AAhEA;AAAA;;;;;;;;;;;;;;;;;;;;;ACNA;AAmBA;AAAA;AAAA;AAAA;AAjBA;AAEA;AACA;AAEA;AAaA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAEA;AAEA;AACA;AACA;AAKA;AAAA;AApJA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AACA;AAAA;;AAAA;AALA;AALA;AACA;AACA;AACA;AACA;AAoBA;AAnBA;AAAA;;;;;;;;;;;;;;;;;;;;ACGA;AA4BA;AAAA;AAAA;AA1BA;AAEA;AACA;AAOA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AA3QA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AACA;AAAA;;AAAA;AALA;AANA;AACA;AACA;AACA;AACA;AA8BA;AA5BA;AAAA;;;;;;;;;;;;;;;;;;;;;ACFA;AAgCA;AAAA;AAAA;AA9BA;AACA;AACA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAvOA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAJA;AALA;AACA;AACA;AACA;AACA;AAiCA;AAhCA;AAAA;;;;;;;;;;;;;;;;;;;;ACMA;AA4CA;AAAA;AAAA;AAAA;AA1CA;AACA;AACA;AAGA;AACA;AAIA;AACA;AAWA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAAA;AAhdA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAMA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAvBA;AALA;AACA;AACA;AACA;AACA;AA6CA;AA5CA;AAAA;;;;;;;;;;;;;;;;;;;;;ACFA;AA+BA;AAAA;AAAA;AAAA;AAAA;AA7BA;AACA;AACA;AAkBA;AACA;AASA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAAA;AA1VA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAIA;AAAA;AAAA;AAAA;AARA;AAJA;AACA;AACA;AACA;AAgCA;AA/BA;AAAA;;;;;;;;;;;;;;;;;;;;;ACAA;AASA;AAAA;AAAA;AAPA;AACA;AACA;AAMA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAGA;AAAA;AAjFA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AANA;AALA;AACA;AACA;AACA;AACA;AAUA;AATA;AAAA;;;;;;;;;;;;;;;;;;;;;ACDA;AAeA;AAAA;AAAA;AAbA;AACA;AACA;AAQA;AACA;AAGA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAAA;AA7EA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAIA;AAAA;AAAA;AAAA;AARA;AALA;AACA;AACA;AACA;AACA;AAgBA;AAfA;AAAA;;;;;;;;;;;;;;;;;;;;;ACFA;AAUA;AAAA;AARA;AACA;AACA;AAGA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAGA;AAAA;AAnEA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAJA;AALA;AACA;AACA;AACA;AACA;AAWA;AAVA;AAAA;;;;;;;;;;;;;;;;;;;;;ACRA;AASA;AAUA;AACA;AAAA;AAAA;AAJA;AAKA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAhKA;AAAA;AAAA;AAAA;AADA;AALA;AACA;AACA;AACA;AACA;AAYA;AAXA;AAAA;;;;;;;;;;;;;;;;;;;;;ACCA;AAOA;AAAA;AAAA;AALA;AAKA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AAAA;AAxDA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAGA;AAAA;AAAA;AAAA;AALA;AANA;AACA;AACA;AACA;AACA;AACA;AAQA;AAPA;AAAA;;;;;;;;;;;;;;;;;;;;;ACAA;AAyBA;AAAA;AAAA;AAAA;AArBA;AAKA;AACA;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAxIA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAgBA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AAtBA;AALA;AACA;AACA;AACA;AACA;AA0BA;AAzBA;AAAA;;;;;;;;;;;;;;;;;;;;;ACHA;AAyCA;AAAA;AAAA;AAAA;AAtCA;AACA;AAIA;AACA;AAQA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AA/TA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AALA;AALA;AACA;AACA;AACA;AACA;AA0CA;AAzCA;AAAA;;;;;;;;;;;;;;;;;;;;ACEA;AAsDA;AAAA;AAAA;AAAA;AAAA;AAnDA;AACA;AAGA;AACA;AACA;AAIA;AACA;AACA;AAYA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAOA;AACA;AAEA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AAEA;AACA;AAEA;AAEA;AAEA;AAEA;AAGA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAxdA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AALA;AALA;AACA;AACA;AACA;AACA;AAuDA;AAtDA;AAAA;;;;;;;;;;;;;;;;;;;;;ACCA;AAqBA;AAAA;AAAA;AAlBA;AAKA;AACA;AAYA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AAAA;AA5EA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAHA;AARA;AACA;AACA;AACA;AACA;AAyBA;AArBA;AAAA;;;;;;;;;;;;;;;;;;;;ACMA;AAiDA;AACA;AAAA;AAAA;AAAA;AAAA;AA/BA;AACA;AAOA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AAGA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAGA;AAAA;AAnUA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;;AAcA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAKA;AAAA;AAAA;AAAA;AAzBA;AAPA;AACA;AACA;AACA;AACA;AACA;AAoDA;AAlDA;AAAA;;;;;;;;;;;;;;;;;;;;;ACPA;AAwCA;AAAA;AAAA;AAAA;AAAA;AApCA;AACA;AAMA;AACA;AAIA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAzRA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AALA;AALA;AACA;AACA;AACA;AACA;AAyCA;AAxCA;AAAA;;;;;;;;;;;;;;;;;;;;ACOA;AA0CA;AACA;AAAA;AAAA;AAAA;AAAA;AAvCA;AAiBA;AAIA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AA1JA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAcA;AAEA;AAAA;;AAAA;AArBA;AAPA;AACA;AACA;AACA;AACA;AACA;AA6CA;AA3CA;AAAA;;;;;;;;;;;;;;;;;;;;;ACLA;AAyCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAlBA;AACA;AAGA;AACA;AAGA;AACA;AAUA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AAiBA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AA5mBA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAYA;AAMA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAxBA;AANA;AACA;AACA;AACA;AACA;AACA;AA0CA;AAzCA;AAAA;;;;;;;;;;;;;;;;;;;;ACKA;AAwDA;AACA;AAAA;AAAA;AAAA;AAAA;AApCA;AAOA;AACA;AACA;AAIA;AAWA;AAaA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;;;;AAIA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AA9RA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAcA;AAEA;AAAA;;AAAA;AAKA;AAAA;AAAA;AAAA;AA0BA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AArDA;AAPA;AACA;AACA;AACA;AACA;AACA;AA2DA;AAzDA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;AA6EA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AA1EA;AACA;AACA;AAoBA;AASA;AACA;AAEA;AAKA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAOA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;;;AACA;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;;;;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAGA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AA5nBA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAeA;AAOA;AAAA;;AAAA;AA6CA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AA5EA;AALA;AACA;AACA;AACA;AACA;AA8EA;AACA;AA9EA;AAAA;;;;;;;;;;;;;;;;;;;;;ACHA;AAsCA;AAAA;AAAA;AAnCA;AASA;AACA;AACA;AACA;AACA;AACA;AAcA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AA/VA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AANA;AAPA;AACA;AACA;AACA;AACA;AAyCA;AAtCA;AAAA;;;;;;;;;;;;;;;;;;;;;ACNA;AAuBA;AAAA;AAAA;AAAA;AApBA;AAKA;AACA;AAcA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AA/EA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAkBA;AAAA;;AAAA;AArBA;AALA;AACA;AACA;AACA;AACA;AAwBA;AAvBA;AAAA;;;;;;;;;;;;;;;;;;;;ACAA;AAqBA;AAAA;AAAA;AAlBA;AAKA;AACA;AAYA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AAAA;AA7LA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAHA;AALA;AACA;AACA;AACA;AACA;AAsBA;AArBA;AAAA;;;;;;;;;;;;;;;;;;;;ACUA;AAqCA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AApCA;AAIA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AAMA;AAMA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;AAoBA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAGA;AACA;AAEA;AAAA;AA9lBA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAiCA;AAAA;AAAA;AAAA;AAnCA;AALA;AACA;AACA;AACA;AACA;AAsCA;AACA;AAtCA;AAAA;;;;;;;;;;;;;;;;;;;;;ACRA;AAuBA;AAAA;AAAA;AApBA;AAKA;AACA;AACA;AACA;AAYA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AAGA;AAAA;AA1GA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AAJA;AALA;AACA;AACA;AACA;AACA;AAwBA;AAvBA;AAAA;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC51BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACrJA;AACA;AACA;AACA;;;;;;ACHA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;;;;;;ACAA;;;;;;ACAA;AACA;AACA;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC15BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1sBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5zBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjGA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACJA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACkBA;AAyBA;AAAA;AAAA;AAtBA;AACA;AAEA;AAcA;AACA;AAIA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAnLA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAcA;AAAA;AAAA;AAAA;AAlBA;AAPA;AACA;AACA;AACA;AACA;AACA;AACA;AA0BA;AAzBA;AAAA;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC/EA;AAeA;AAAA;AAAA;AAdA;AACA;AAOA;AACA;AAGA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AA5FA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAKA;AAAA;AAAA;AAAA;AAPA;AANA;AACA;AACA;AACA;AACA;AACA;AAgBA;AAfA;AAAA;;;;;;;;;;;;ACjBA;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAlDA;;;;;;;;;;;;;;;;;;;;AC+BA;AAgBA;AACA;AAAA;AACA;AACA;AACA;AAlBA;AACA;AAkBA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGA;AAAA;AAtTA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAIA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;AAAA;AAAA;AAEA;AAAA;;AAAA;AAZA;AANA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AApBA;AAAA;;;;;;;;;;;;;;;;;;;;;AClBA;AAUA;AACA;AAAA;AAAA;AATA;AACA;AACA;AACA;AAGA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAxEA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;AAAA;AAAA;AAPA;AANA;AACA;AACA;AACA;AACA;AAaA;AAXA;AAAA;;;;;;;;;;;;;;;;;;;;;;ACRA;AAuNA;AAtNA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA2JA;AACA;AACA;AA3JA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAGA;AAGA;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AAGA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AAAA;AA/NA;AADA;;AACA;AAAA;;;;;;;;;;;;;;;;;;ACoDA;AAAA;AACA;AAAA;AAAA;AADA;AAnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjOA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AA/BA;;;;;;;;;;;;;;;;;;;;ACqCA;AAsDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAhDA;AAEA;AACA;AAGA;AA2CA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAAA;AAvsBA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;;AAAA;AAqCA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AAnDA;AANA;AACA;AACA;AACA;AAEA;AAuDA;AAtDA;AAAA;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACnBA;;;;;;;;;;;;;;;;;;ACcA;AA8BA;AAAA;AAAA;AAAA;AA5BA;AAQA;AAqBA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AA1FA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AALA;AALA;AACA;AACA;AACA;AACA;AA+BA;AA9BA;AAAA;;;;;;;;;;;;;ACJA;AACA;;;;;;;;;;;;;;;;;;;;ACgBA;;AAEA;AAKA;AASA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;;;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAjOA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAPA;AAJA;AACA;AACA;AACA;AAUA;AATA;AAwOA;;;;;;;;;;;;;;;;;;;;ACtQA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AALA;AADA;AAEA;AADA;AAAA;;;;;;;;;;;;;;;;;ACsFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;ACnFA;;;AAGA;AAyBA;AAGA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AA/HA;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;;AACA;AAAA;;;;;;;;;;;;;;;;;;;;;ACRA;AACA;AAEA;AACA;AACA;AACA;AACA;AAQA;;AAEA;AAuBA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AArCA;AAtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AADA;AAAA;;;;;;;;;;;;;;;;;;;;AC7DA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAPA;AADA;;AACA;AAAA;AASA;AACA;AACA;AACA;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACJA;AAAA;AAMA;AAAA;AAAA;AANA;AAQA;AAAA;AAOA;AAAA;AAAA;AAPA;AASA;AAAA;AAEA;AAAA;AAAA;AAFA;AAGA;AAAA;AAMA;AAAA;AAAA;AANA;AAOA;AAAA;AAEA;AAAA;AAAA;AAFA;;;;;;;;;;;;;;;;;;;;ACpBA;AAGA;AAAA;AACA;AAEA;AAEA;AAEA;AACA;AAEA;AAAA;AAZA;AAAA;;AAAA;AADA;AANA;AACA;AACA;AACA;AACA;AAKA;AAHA;AAAA;;;;;;;;;;;;;;;;;ACmFA;AAAA;AACA;AAAA;AAAA;AADA;AA3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;;;;;;;;;;;;;;;;;;ACjFA;AAkBA;AAAA;AAAA;AAAA;AAAA;AAjBA;AACA;AASA;AACA;AAOA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAhEA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AACA;AAAA;;AAAA;AAZA;AALA;AACA;AACA;AACA;AACA;AAmBA;AAlBA;AAAA;;;;;;;;;;;ACZA;AAYA;AAVA;AACA;AACA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AArBA;;;;;;;;;;;ACAA;AAmCA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AApEA;AAsEA;AASA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAlBA;;;;;;;;;;;;;;;;;;;;ACnDA;AA0BA;AAAA;AAAA;AAAA;AAAA;AArBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAIA;AACA;AAIA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AA9EA;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA2BA;AA1BA;AAAA;;;;;;;;;;;;;;;;;;;;;ACAA;AAiCA;AAAA;AAAA;AAAA;AAAA;AA5BA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAIA;AACA;AAIA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAlFA;AADA;;AAKA;AATA;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkCA;AAjCA;AAAA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChCA;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACl7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACv6BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACn7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxcA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/jBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9wBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjGA;AACA;AACA;;;;;;ACFA;AACA;;;;;;ACDA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;;;;;;ACHA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACtBA;AACA;AACA;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACZA;AACA;AACA;;;;;;ACFA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACZA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChBA;;;;;;ACAA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACjCA;AACA;AACA;AACA;;;;;;ACHA;AACA;AACA;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrFA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACtwcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACttQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtlBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC5lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC5BA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC5BA;;;;;;ACAA;;;;;;ACAA;AACA;;;;;;ACDA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9KA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3CA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/CA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC/EA;;;;;;;ACAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzCA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClEA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrCA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/CA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxCA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACt4EA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChDA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5DA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3EA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvNA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChNA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","sourceRoot":""}